10.0.26100.6584 → 10.0.26100.6901
64
Structs added
3
Structs removed
8
Structs modified
36
Functions added
14
Functions removed
2
Functions changed
Structs Added
64D3D12_FEATURE_DATA_APPLICATION_SPECIFIC_DRIVER_STATE
struct D3D12_FEATURE_DATA_APPLICATION_SPECIFIC_DRIVER_STATE { // size: 4 bytes, align: 4
BOOL Supported; // offset: 0, size: 32 bits
};
D3D12_FEATURE_DATA_BYTECODE_BYPASS_HASH_SUPPORTED
struct D3D12_FEATURE_DATA_BYTECODE_BYPASS_HASH_SUPPORTED { // size: 4 bytes, align: 4
BOOL Supported; // offset: 0, size: 32 bits
};
D3D12_FEATURE_DATA_SHADERCACHE_ABI_SUPPORT
struct D3D12_FEATURE_DATA_SHADERCACHE_ABI_SUPPORT { // size: 544 bytes, align: 8
WCHAR[128] szAdapterFamily; // offset: 0, size: 4096 bits
UINT64 MinimumABISupportVersion; // offset: 4096, size: 64 bits
UINT64 MaximumABISupportVersion; // offset: 4160, size: 64 bits
D3D12_VERSION_NUMBER CompilerVersion; // offset: 4224, size: 64 bits
D3D12_VERSION_NUMBER ApplicationProfileVersion; // offset: 4288, size: 64 bits
};
D3D12_RAYTRACING_GEOMETRY_OMM_LINKAGE_DESC
struct D3D12_RAYTRACING_GEOMETRY_OMM_LINKAGE_DESC { // size: 32 bytes, align: 8
D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE OpacityMicromapIndexBuffer; // offset: 0, size: 128 bits
DXGI_FORMAT OpacityMicromapIndexFormat; // offset: 128, size: 32 bits
UINT OpacityMicromapBaseLocation; // offset: 160, size: 32 bits
D3D12_GPU_VIRTUAL_ADDRESS OpacityMicromapArray; // offset: 192, size: 64 bits
};
D3D12_RAYTRACING_GEOMETRY_OMM_TRIANGLES_DESC
struct D3D12_RAYTRACING_GEOMETRY_OMM_TRIANGLES_DESC { // size: 16 bytes, align: 8
const D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC * pTriangles; // offset: 0, size: 64 bits
const D3D12_RAYTRACING_GEOMETRY_OMM_LINKAGE_DESC * pOmmLinkage; // offset: 64, size: 64 bits
};
D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC
struct D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC { // size: 40 bytes, align: 8
UINT NumOmmHistogramEntries; // offset: 0, size: 32 bits
const D3D12_RAYTRACING_OPACITY_MICROMAP_HISTOGRAM_ENTRY * pOmmHistogram; // offset: 64, size: 64 bits
D3D12_GPU_VIRTUAL_ADDRESS InputBuffer; // offset: 128, size: 64 bits
D3D12_GPU_VIRTUAL_ADDRESS_AND_STRIDE PerOmmDescs; // offset: 192, size: 128 bits
};
D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE_DESC
struct D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_CURRENT_SIZE_DESC { // size: 8 bytes, align: 8
UINT64 CurrentSizeInBytes; // offset: 0, size: 64 bits
};
D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_DESC
struct D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_DESC { // size: 16 bytes, align: 8
D3D12_GPU_VIRTUAL_ADDRESS DestBuffer; // offset: 0, size: 64 bits
D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TYPE InfoType; // offset: 64, size: 32 bits
};
D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC
struct D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_POSTBUILD_INFO_TOOLS_VISUALIZATION_DESC { // size: 8 bytes, align: 8
UINT64 DecodedSizeInBytes; // offset: 0, size: 64 bits
};
D3D12_RAYTRACING_OPACITY_MICROMAP_DESC
struct D3D12_RAYTRACING_OPACITY_MICROMAP_DESC { // size: 8 bytes, align: 4
UINT ByteOffset; // offset: 0, size: 32 bits
UINT SubdivisionLevel; // offset: 32, size: 16 bits
D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT Format; // offset: 48, size: 16 bits
};
D3D12_RAYTRACING_OPACITY_MICROMAP_HISTOGRAM_ENTRY
struct D3D12_RAYTRACING_OPACITY_MICROMAP_HISTOGRAM_ENTRY { // size: 12 bytes, align: 4
UINT Count; // offset: 0, size: 32 bits
UINT SubdivisionLevel; // offset: 32, size: 32 bits
D3D12_RAYTRACING_OPACITY_MICROMAP_FORMAT Format; // offset: 64, size: 32 bits
};
D3D12_RAYTRACING_SERIALIZED_BLOCK
struct D3D12_RAYTRACING_SERIALIZED_BLOCK { // size: 16 bytes, align: 8
D3D12_RAYTRACING_SERIALIZED_BLOCK_TYPE Type; // offset: 0, size: 32 bits
UINT64 NumBlockPointersAfterHeader; // offset: 64, size: 64 bits
};
D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER1
struct D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER1 { // size: 56 bytes, align: 8
D3D12_SERIALIZED_DATA_DRIVER_MATCHING_IDENTIFIER DriverMatchingIdentifier; // offset: 0, size: 256 bits
UINT64 SerializedSizeInBytesIncludingHeader; // offset: 256, size: 64 bits
UINT64 DeserializedSizeInBytes; // offset: 320, size: 64 bits
UINT NumBottomLevelAccelerationStructurePointersAfterHeader; // offset: 384, size: 32 bits
UINT NumBlocks; // offset: 384, size: 32 bits
D3D12_SERIALIZED_RAYTRACING_ACCELERATION_STRUCTURE_HEADER_POSTAMBLE_TYPE HeaderPostambleType; // offset: 416, size: 32 bits
};
D3D12_VERSION_NUMBER
union D3D12_VERSION_NUMBER { // size: 8 bytes, align: 8
UINT64 Version; // offset: 0, size: 64 bits
UINT16[4] VersionParts; // offset: 0, size: 64 bits
};
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1
struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1 { // size: 96 bytes, align: 4
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS SupportFlags; // offset: 0, size: 32 bits
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MinLumaCodingUnitSize; // offset: 32, size: 32 bits
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_CUSIZE MaxLumaCodingUnitSize; // offset: 64, size: 32 bits
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MinLumaTransformUnitSize; // offset: 96, size: 32 bits
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_HEVC_TUSIZE MaxLumaTransformUnitSize; // offset: 128, size: 32 bits
UCHAR max_transform_hierarchy_depth_inter; // offset: 160, size: 8 bits
UCHAR max_transform_hierarchy_depth_intra; // offset: 168, size: 8 bits
UINT allowed_diff_cu_chroma_qp_offset_depth_values; // offset: 192, size: 32 bits
UINT allowed_log2_sao_offset_scale_luma_values; // offset: 224, size: 32 bits
UINT allowed_log2_sao_offset_scale_chroma_values; // offset: 256, size: 32 bits
UINT allowed_log2_max_transform_skip_block_size_minus2_values; // offset: 288, size: 32 bits
UINT allowed_chroma_qp_offset_list_len_minus1_values; // offset: 320, size: 32 bits
UINT[6] allowed_cb_qp_offset_list_values; // offset: 352, size: 192 bits
UINT[6] allowed_cr_qp_offset_list_values; // offset: 544, size: 192 bits
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC_FLAGS1 SupportFlags1; // offset: 736, size: 32 bits
};
D3D_SHADER_CACHE_APPLICATION_DESC
struct D3D_SHADER_CACHE_APPLICATION_DESC { // size: 40 bytes, align: 8
const wchar_t * pExeFilename; // offset: 0, size: 64 bits
const wchar_t * pName; // offset: 64, size: 64 bits
D3D_VERSION_NUMBER Version; // offset: 128, size: 64 bits
const wchar_t * pEngineName; // offset: 192, size: 64 bits
D3D_VERSION_NUMBER EngineVersion; // offset: 256, size: 64 bits
};
D3D_SHADER_CACHE_COMPILER_PROPERTIES
struct D3D_SHADER_CACHE_COMPILER_PROPERTIES { // size: 288 bytes, align: 8
wchar_t[128] szAdapterFamily; // offset: 0, size: 2048 bits
UINT64 MinimumABISupportVersion; // offset: 2048, size: 64 bits
UINT64 MaximumABISupportVersion; // offset: 2112, size: 64 bits
D3D_VERSION_NUMBER CompilerVersion; // offset: 2176, size: 64 bits
D3D_VERSION_NUMBER ApplicationProfileVersion; // offset: 2240, size: 64 bits
};
D3D_SHADER_CACHE_PSDB_PROPERTIES
struct D3D_SHADER_CACHE_PSDB_PROPERTIES { // size: 16 bytes, align: 8
const wchar_t * pAdapterFamily; // offset: 0, size: 64 bits
const wchar_t * pPsdbPath; // offset: 64, size: 64 bits
};
D3D_VERSION_NUMBER
union D3D_VERSION_NUMBER { // size: 8 bytes, align: 8
UINT64 Version; // offset: 0, size: 64 bits
UINT16[4] VersionParts; // offset: 0, size: 64 bits
};
DirectMLWebNNCreatorID
struct DirectMLWebNNCreatorID { // size: 8 bytes, align: 8
struct DirectMLWebNNCreatorIDVtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (3)
HRESULT (*)(DirectMLWebNNCreatorID *, const IID *const, void **) QueryInterface;
ULONG (*)(DirectMLWebNNCreatorID *) AddRef;
ULONG (*)(DirectMLWebNNCreatorID *) Release;
DirectMLWebNNCreatorIDVtbl
struct DirectMLWebNNCreatorIDVtbl { // size: 24 bytes, align: 8
HRESULT (*)(DirectMLWebNNCreatorID *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(DirectMLWebNNCreatorID *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(DirectMLWebNNCreatorID *) Release; // offset: 128, size: 64 bits
};
EXPERIMENTAL_IPluginAuthenticator
struct EXPERIMENTAL_IPluginAuthenticator { // size: 8 bytes, align: 8
struct EXPERIMENTAL_IPluginAuthenticatorVtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (6)
HRESULT (*)(EXPERIMENTAL_IPluginAuthenticator *, const IID *const, void **) QueryInterface;
ULONG (*)(EXPERIMENTAL_IPluginAuthenticator *) AddRef;
ULONG (*)(EXPERIMENTAL_IPluginAuthenticator *) Release;
HRESULT (*)(EXPERIMENTAL_IPluginAuthenticator *, EXPERIMENTAL_PCWEBAUTHN_PLUGIN_OPERATION_REQUEST, EXPERIMENTAL_PWEBAUTHN_PLUGIN_OPERATION_RESPONSE *) EXPERIMENTAL_PluginMakeCredential;
HRESULT (*)(EXPERIMENTAL_IPluginAuthenticator *, EXPERIMENTAL_PCWEBAUTHN_PLUGIN_OPERATION_REQUEST, EXPERIMENTAL_PWEBAUTHN_PLUGIN_OPERATION_RESPONSE *) EXPERIMENTAL_PluginGetAssertion;
HRESULT (*)(EXPERIMENTAL_IPluginAuthenticator *, EXPERIMENTAL_PCWEBAUTHN_PLUGIN_CANCEL_OPERATION_REQUEST) EXPERIMENTAL_PluginCancelOperation;
EXPERIMENTAL_IPluginAuthenticatorVtbl
struct EXPERIMENTAL_IPluginAuthenticatorVtbl { // size: 48 bytes, align: 8
HRESULT (*)(EXPERIMENTAL_IPluginAuthenticator *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(EXPERIMENTAL_IPluginAuthenticator *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(EXPERIMENTAL_IPluginAuthenticator *) Release; // offset: 128, size: 64 bits
HRESULT (*)(EXPERIMENTAL_IPluginAuthenticator *, EXPERIMENTAL_PCWEBAUTHN_PLUGIN_OPERATION_REQUEST, EXPERIMENTAL_PWEBAUTHN_PLUGIN_OPERATION_RESPONSE *) EXPERIMENTAL_PluginMakeCredential; // offset: 192, size: 64 bits
HRESULT (*)(EXPERIMENTAL_IPluginAuthenticator *, EXPERIMENTAL_PCWEBAUTHN_PLUGIN_OPERATION_REQUEST, EXPERIMENTAL_PWEBAUTHN_PLUGIN_OPERATION_RESPONSE *) EXPERIMENTAL_PluginGetAssertion; // offset: 256, size: 64 bits
HRESULT (*)(EXPERIMENTAL_IPluginAuthenticator *, EXPERIMENTAL_PCWEBAUTHN_PLUGIN_CANCEL_OPERATION_REQUEST) EXPERIMENTAL_PluginCancelOperation; // offset: 320, size: 64 bits
};
ID3D12DSRDeviceFactory
struct ID3D12DSRDeviceFactory { // size: 8 bytes, align: 8
struct ID3D12DSRDeviceFactoryVtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (4)
HRESULT (*)(ID3D12DSRDeviceFactory *, const IID *const, void **) QueryInterface;
ULONG (*)(ID3D12DSRDeviceFactory *) AddRef;
ULONG (*)(ID3D12DSRDeviceFactory *) Release;
HRESULT (*)(ID3D12DSRDeviceFactory *, ID3D12Device *, UINT, const IID *const, void **) CreateDSRDevice;
ID3D12DSRDeviceFactoryVtbl
struct ID3D12DSRDeviceFactoryVtbl { // size: 32 bytes, align: 8
HRESULT (*)(ID3D12DSRDeviceFactory *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(ID3D12DSRDeviceFactory *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(ID3D12DSRDeviceFactory *) Release; // offset: 128, size: 64 bits
HRESULT (*)(ID3D12DSRDeviceFactory *, ID3D12Device *, UINT, const IID *const, void **) CreateDSRDevice; // offset: 192, size: 64 bits
};
ID3D12DeviceTools
struct ID3D12DeviceTools { // size: 8 bytes, align: 8
struct ID3D12DeviceToolsVtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (4)
HRESULT (*)(ID3D12DeviceTools *, const IID *const, void **) QueryInterface;
ULONG (*)(ID3D12DeviceTools *) AddRef;
ULONG (*)(ID3D12DeviceTools *) Release;
void (*)(ID3D12DeviceTools *, D3D12_GPU_VIRTUAL_ADDRESS) SetNextAllocationAddress;
ID3D12DeviceTools1
struct ID3D12DeviceTools1 { // size: 8 bytes, align: 8
struct ID3D12DeviceTools1Vtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (6)
HRESULT (*)(ID3D12DeviceTools1 *, const IID *const, void **) QueryInterface;
ULONG (*)(ID3D12DeviceTools1 *) AddRef;
ULONG (*)(ID3D12DeviceTools1 *) Release;
void (*)(ID3D12DeviceTools1 *, D3D12_GPU_VIRTUAL_ADDRESS) SetNextAllocationAddress;
HRESULT (*)(ID3D12DeviceTools1 *, ID3DBlob **) GetApplicationSpecificDriverState;
D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_STATUS (*)(ID3D12DeviceTools1 *) GetApplicationSpecificDriverBlobStatus;
ID3D12DeviceTools1Vtbl
struct ID3D12DeviceTools1Vtbl { // size: 48 bytes, align: 8
HRESULT (*)(ID3D12DeviceTools1 *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(ID3D12DeviceTools1 *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(ID3D12DeviceTools1 *) Release; // offset: 128, size: 64 bits
void (*)(ID3D12DeviceTools1 *, D3D12_GPU_VIRTUAL_ADDRESS) SetNextAllocationAddress; // offset: 192, size: 64 bits
HRESULT (*)(ID3D12DeviceTools1 *, ID3DBlob **) GetApplicationSpecificDriverState; // offset: 256, size: 64 bits
D3D12_APPLICATION_SPECIFIC_DRIVER_BLOB_STATUS (*)(ID3D12DeviceTools1 *) GetApplicationSpecificDriverBlobStatus; // offset: 320, size: 64 bits
};
ID3D12DeviceToolsVtbl
struct ID3D12DeviceToolsVtbl { // size: 32 bytes, align: 8
HRESULT (*)(ID3D12DeviceTools *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(ID3D12DeviceTools *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(ID3D12DeviceTools *) Release; // offset: 128, size: 64 bits
void (*)(ID3D12DeviceTools *, D3D12_GPU_VIRTUAL_ADDRESS) SetNextAllocationAddress; // offset: 192, size: 64 bits
};
ID3D12GBVDiagnostics
struct ID3D12GBVDiagnostics { // size: 8 bytes, align: 8
struct ID3D12GBVDiagnosticsVtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (9)
HRESULT (*)(ID3D12GBVDiagnostics *, const IID *const, void **) QueryInterface;
ULONG (*)(ID3D12GBVDiagnostics *) AddRef;
ULONG (*)(ID3D12GBVDiagnostics *) Release;
HRESULT (*)(ID3D12GBVDiagnostics *, ID3D12Resource *, int *, UINT) GetGBVEntireSubresourceStatesData;
HRESULT (*)(ID3D12GBVDiagnostics *, ID3D12Resource *, UINT, int *) GetGBVSubresourceState;
HRESULT (*)(ID3D12GBVDiagnostics *, ID3D12Resource *, int *) GetGBVResourceUniformState;
HRESULT (*)(ID3D12GBVDiagnostics *, ID3D12Resource *, D3D12_RESOURCE_DESC *, UINT32 *, UINT32 *) GetGBVResourceInfo;
void (*)(ID3D12GBVDiagnostics *) GBVReserved0;
void (*)(ID3D12GBVDiagnostics *) GBVReserved1;
ID3D12GBVDiagnosticsVtbl
struct ID3D12GBVDiagnosticsVtbl { // size: 72 bytes, align: 8
HRESULT (*)(ID3D12GBVDiagnostics *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(ID3D12GBVDiagnostics *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(ID3D12GBVDiagnostics *) Release; // offset: 128, size: 64 bits
HRESULT (*)(ID3D12GBVDiagnostics *, ID3D12Resource *, int *, UINT) GetGBVEntireSubresourceStatesData; // offset: 192, size: 64 bits
HRESULT (*)(ID3D12GBVDiagnostics *, ID3D12Resource *, UINT, int *) GetGBVSubresourceState; // offset: 256, size: 64 bits
HRESULT (*)(ID3D12GBVDiagnostics *, ID3D12Resource *, int *) GetGBVResourceUniformState; // offset: 320, size: 64 bits
HRESULT (*)(ID3D12GBVDiagnostics *, ID3D12Resource *, D3D12_RESOURCE_DESC *, UINT32 *, UINT32 *) GetGBVResourceInfo; // offset: 384, size: 64 bits
void (*)(ID3D12GBVDiagnostics *) GBVReserved0; // offset: 448, size: 64 bits
void (*)(ID3D12GBVDiagnostics *) GBVReserved1; // offset: 512, size: 64 bits
};
ID3D12PageableTools
struct ID3D12PageableTools { // size: 8 bytes, align: 8
struct ID3D12PageableToolsVtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (4)
HRESULT (*)(ID3D12PageableTools *, const IID *const, void **) QueryInterface;
ULONG (*)(ID3D12PageableTools *) AddRef;
ULONG (*)(ID3D12PageableTools *) Release;
HRESULT (*)(ID3D12PageableTools *, D3D12_GPU_VIRTUAL_ADDRESS_RANGE *) GetAllocation;
ID3D12PageableToolsVtbl
struct ID3D12PageableToolsVtbl { // size: 32 bytes, align: 8
HRESULT (*)(ID3D12PageableTools *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(ID3D12PageableTools *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(ID3D12PageableTools *) Release; // offset: 128, size: 64 bits
HRESULT (*)(ID3D12PageableTools *, D3D12_GPU_VIRTUAL_ADDRESS_RANGE *) GetAllocation; // offset: 192, size: 64 bits
};
ID3D12Tools1
struct ID3D12Tools1 { // size: 8 bytes, align: 8
struct ID3D12Tools1Vtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (7)
HRESULT (*)(ID3D12Tools1 *, const IID *const, void **) QueryInterface;
ULONG (*)(ID3D12Tools1 *) AddRef;
ULONG (*)(ID3D12Tools1 *) Release;
void (*)(ID3D12Tools1 *, BOOL) EnableShaderInstrumentation;
BOOL (*)(ID3D12Tools1 *) ShaderInstrumentationEnabled;
HRESULT (*)(ID3D12Tools1 *, D3D12_GPU_VIRTUAL_ADDRESS_RANGE *, UINT) ReserveGPUVARangesAtCreate;
void (*)(ID3D12Tools1 *) ClearReservedGPUVARangesList;
ID3D12Tools1Vtbl
struct ID3D12Tools1Vtbl { // size: 56 bytes, align: 8
HRESULT (*)(ID3D12Tools1 *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(ID3D12Tools1 *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(ID3D12Tools1 *) Release; // offset: 128, size: 64 bits
void (*)(ID3D12Tools1 *, BOOL) EnableShaderInstrumentation; // offset: 192, size: 64 bits
BOOL (*)(ID3D12Tools1 *) ShaderInstrumentationEnabled; // offset: 256, size: 64 bits
HRESULT (*)(ID3D12Tools1 *, D3D12_GPU_VIRTUAL_ADDRESS_RANGE *, UINT) ReserveGPUVARangesAtCreate; // offset: 320, size: 64 bits
void (*)(ID3D12Tools1 *) ClearReservedGPUVARangesList; // offset: 384, size: 64 bits
};
ID3D12Tools2
struct ID3D12Tools2 { // size: 8 bytes, align: 8
struct ID3D12Tools2Vtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (8)
HRESULT (*)(ID3D12Tools2 *, const IID *const, void **) QueryInterface;
ULONG (*)(ID3D12Tools2 *) AddRef;
ULONG (*)(ID3D12Tools2 *) Release;
void (*)(ID3D12Tools2 *, BOOL) EnableShaderInstrumentation;
BOOL (*)(ID3D12Tools2 *) ShaderInstrumentationEnabled;
HRESULT (*)(ID3D12Tools2 *, D3D12_GPU_VIRTUAL_ADDRESS_RANGE *, UINT) ReserveGPUVARangesAtCreate;
void (*)(ID3D12Tools2 *) ClearReservedGPUVARangesList;
HRESULT (*)(ID3D12Tools2 *, int *, ID3DBlob *) SetApplicationSpecificDriverState;
ID3D12Tools2Vtbl
struct ID3D12Tools2Vtbl { // size: 64 bytes, align: 8
HRESULT (*)(ID3D12Tools2 *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(ID3D12Tools2 *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(ID3D12Tools2 *) Release; // offset: 128, size: 64 bits
void (*)(ID3D12Tools2 *, BOOL) EnableShaderInstrumentation; // offset: 192, size: 64 bits
BOOL (*)(ID3D12Tools2 *) ShaderInstrumentationEnabled; // offset: 256, size: 64 bits
HRESULT (*)(ID3D12Tools2 *, D3D12_GPU_VIRTUAL_ADDRESS_RANGE *, UINT) ReserveGPUVARangesAtCreate; // offset: 320, size: 64 bits
void (*)(ID3D12Tools2 *) ClearReservedGPUVARangesList; // offset: 384, size: 64 bits
HRESULT (*)(ID3D12Tools2 *, int *, ID3DBlob *) SetApplicationSpecificDriverState; // offset: 448, size: 64 bits
};
ID3DShaderCacheApplication
struct ID3DShaderCacheApplication { // size: 8 bytes, align: 8
struct ID3DShaderCacheApplicationVtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (12)
HRESULT (*)(ID3DShaderCacheApplication *, const IID *const, void **) QueryInterface;
ULONG (*)(ID3DShaderCacheApplication *) AddRef;
ULONG (*)(ID3DShaderCacheApplication *) Release;
HRESULT (*)(ID3DShaderCacheApplication *, const wchar_t **) GetExePath;
HRESULT (*)(ID3DShaderCacheApplication *, D3D_SHADER_CACHE_APPLICATION_DESC *) GetDesc;
HRESULT (*)(ID3DShaderCacheApplication *, const wchar_t *, const wchar_t *, UINT, const D3D_SHADER_CACHE_PSDB_PROPERTIES *, const IID *const, void **) RegisterComponent;
HRESULT (*)(ID3DShaderCacheApplication *, ID3DShaderCacheComponent *) RemoveComponent;
UINT (*)(ID3DShaderCacheApplication *) GetComponentCount;
HRESULT (*)(ID3DShaderCacheApplication *, UINT, const IID *const, void **) GetComponent;
UINT (*)(ID3DShaderCacheApplication *, D3D_SHADER_CACHE_TARGET_FLAGS) GetPrecompileTargetCount;
HRESULT (*)(ID3DShaderCacheApplication *, UINT, D3D_SHADER_CACHE_COMPILER_PROPERTIES *, D3D_SHADER_CACHE_TARGET_FLAGS) GetPrecompileTargets;
HRESULT (*)(ID3DShaderCacheApplication *, const wchar_t **) GetInstallerName;
ID3DShaderCacheApplicationVtbl
struct ID3DShaderCacheApplicationVtbl { // size: 96 bytes, align: 8
HRESULT (*)(ID3DShaderCacheApplication *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(ID3DShaderCacheApplication *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(ID3DShaderCacheApplication *) Release; // offset: 128, size: 64 bits
HRESULT (*)(ID3DShaderCacheApplication *, const wchar_t **) GetExePath; // offset: 192, size: 64 bits
HRESULT (*)(ID3DShaderCacheApplication *, D3D_SHADER_CACHE_APPLICATION_DESC *) GetDesc; // offset: 256, size: 64 bits
HRESULT (*)(ID3DShaderCacheApplication *, const wchar_t *, const wchar_t *, UINT, const D3D_SHADER_CACHE_PSDB_PROPERTIES *, const IID *const, void **) RegisterComponent; // offset: 320, size: 64 bits
HRESULT (*)(ID3DShaderCacheApplication *, ID3DShaderCacheComponent *) RemoveComponent; // offset: 384, size: 64 bits
UINT (*)(ID3DShaderCacheApplication *) GetComponentCount; // offset: 448, size: 64 bits
HRESULT (*)(ID3DShaderCacheApplication *, UINT, const IID *const, void **) GetComponent; // offset: 512, size: 64 bits
UINT (*)(ID3DShaderCacheApplication *, D3D_SHADER_CACHE_TARGET_FLAGS) GetPrecompileTargetCount; // offset: 576, size: 64 bits
HRESULT (*)(ID3DShaderCacheApplication *, UINT, D3D_SHADER_CACHE_COMPILER_PROPERTIES *, D3D_SHADER_CACHE_TARGET_FLAGS) GetPrecompileTargets; // offset: 640, size: 64 bits
HRESULT (*)(ID3DShaderCacheApplication *, const wchar_t **) GetInstallerName; // offset: 704, size: 64 bits
};
ID3DShaderCacheComponent
struct ID3DShaderCacheComponent { // size: 8 bytes, align: 8
struct ID3DShaderCacheComponentVtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (8)
HRESULT (*)(ID3DShaderCacheComponent *, const IID *const, void **) QueryInterface;
ULONG (*)(ID3DShaderCacheComponent *) AddRef;
ULONG (*)(ID3DShaderCacheComponent *) Release;
HRESULT (*)(ID3DShaderCacheComponent *, const wchar_t **) GetComponentName;
HRESULT (*)(ID3DShaderCacheComponent *, const wchar_t **) GetStateObjectDatabasePath;
HRESULT (*)(ID3DShaderCacheComponent *, const wchar_t *, const wchar_t **) GetPrecompiledCachePath;
UINT (*)(ID3DShaderCacheComponent *) GetPrecompiledShaderDatabaseCount;
HRESULT (*)(ID3DShaderCacheComponent *, UINT, D3D_SHADER_CACHE_PSDB_PROPERTIES *) GetPrecompiledShaderDatabases;
ID3DShaderCacheComponentVtbl
struct ID3DShaderCacheComponentVtbl { // size: 64 bytes, align: 8
HRESULT (*)(ID3DShaderCacheComponent *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(ID3DShaderCacheComponent *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(ID3DShaderCacheComponent *) Release; // offset: 128, size: 64 bits
HRESULT (*)(ID3DShaderCacheComponent *, const wchar_t **) GetComponentName; // offset: 192, size: 64 bits
HRESULT (*)(ID3DShaderCacheComponent *, const wchar_t **) GetStateObjectDatabasePath; // offset: 256, size: 64 bits
HRESULT (*)(ID3DShaderCacheComponent *, const wchar_t *, const wchar_t **) GetPrecompiledCachePath; // offset: 320, size: 64 bits
UINT (*)(ID3DShaderCacheComponent *) GetPrecompiledShaderDatabaseCount; // offset: 384, size: 64 bits
HRESULT (*)(ID3DShaderCacheComponent *, UINT, D3D_SHADER_CACHE_PSDB_PROPERTIES *) GetPrecompiledShaderDatabases; // offset: 448, size: 64 bits
};
ID3DShaderCacheExplorer
struct ID3DShaderCacheExplorer { // size: 8 bytes, align: 8
struct ID3DShaderCacheExplorerVtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (4)
HRESULT (*)(ID3DShaderCacheExplorer *, const IID *const, void **) QueryInterface;
ULONG (*)(ID3DShaderCacheExplorer *) AddRef;
ULONG (*)(ID3DShaderCacheExplorer *) Release;
HRESULT (*)(ID3DShaderCacheExplorer *, const wchar_t *, const IID *const, void **) GetApplicationFromExePath;
ID3DShaderCacheExplorerVtbl
struct ID3DShaderCacheExplorerVtbl { // size: 32 bytes, align: 8
HRESULT (*)(ID3DShaderCacheExplorer *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(ID3DShaderCacheExplorer *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(ID3DShaderCacheExplorer *) Release; // offset: 128, size: 64 bits
HRESULT (*)(ID3DShaderCacheExplorer *, const wchar_t *, const IID *const, void **) GetApplicationFromExePath; // offset: 192, size: 64 bits
};
ID3DShaderCacheInstaller
struct ID3DShaderCacheInstaller { // size: 8 bytes, align: 8
struct ID3DShaderCacheInstallerVtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (14)
HRESULT (*)(ID3DShaderCacheInstaller *, const IID *const, void **) QueryInterface;
ULONG (*)(ID3DShaderCacheInstaller *) AddRef;
ULONG (*)(ID3DShaderCacheInstaller *) Release;
HRESULT (*)(ID3DShaderCacheInstaller *) RegisterDriverUpdateListener;
HRESULT (*)(ID3DShaderCacheInstaller *) UnregisterDriverUpdateListener;
HRESULT (*)(ID3DShaderCacheInstaller *, SC_HANDLE) RegisterServiceDriverUpdateTrigger;
HRESULT (*)(ID3DShaderCacheInstaller *, SC_HANDLE) UnregisterServiceDriverUpdateTrigger;
HRESULT (*)(ID3DShaderCacheInstaller *, const wchar_t *, const D3D_SHADER_CACHE_APPLICATION_DESC *, const IID *const, void **) RegisterApplication;
HRESULT (*)(ID3DShaderCacheInstaller *, ID3DShaderCacheApplication *) RemoveApplication;
UINT (*)(ID3DShaderCacheInstaller *) GetApplicationCount;
HRESULT (*)(ID3DShaderCacheInstaller *, UINT, const IID *const, void **) GetApplication;
HRESULT (*)(ID3DShaderCacheInstaller *) ClearAllState;
UINT (*)(ID3DShaderCacheInstaller *) GetMaxPrecompileTargetCount;
HRESULT (*)(ID3DShaderCacheInstaller *, const D3D_SHADER_CACHE_APPLICATION_DESC *, UINT *, D3D_SHADER_CACHE_COMPILER_PROPERTIES *, D3D_SHADER_CACHE_TARGET_FLAGS) GetPrecompileTargets;
ID3DShaderCacheInstallerClient
struct ID3DShaderCacheInstallerClient { // size: 8 bytes, align: 8
struct ID3DShaderCacheInstallerClientVtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (3)
HRESULT (*)(ID3DShaderCacheInstallerClient *, SIZE_T *, wchar_t *) GetInstallerName;
D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE (*)(ID3DShaderCacheInstallerClient *) GetInstallerScope;
HRESULT (*)(ID3DShaderCacheInstallerClient *, ID3DShaderCacheInstaller *) HandleDriverUpdate;
ID3DShaderCacheInstallerClientVtbl
struct ID3DShaderCacheInstallerClientVtbl { // size: 24 bytes, align: 8
HRESULT (*)(ID3DShaderCacheInstallerClient *, SIZE_T *, wchar_t *) GetInstallerName; // offset: 0, size: 64 bits
D3D_SHADER_CACHE_APP_REGISTRATION_SCOPE (*)(ID3DShaderCacheInstallerClient *) GetInstallerScope; // offset: 64, size: 64 bits
HRESULT (*)(ID3DShaderCacheInstallerClient *, ID3DShaderCacheInstaller *) HandleDriverUpdate; // offset: 128, size: 64 bits
};
ID3DShaderCacheInstallerFactory
struct ID3DShaderCacheInstallerFactory { // size: 8 bytes, align: 8
struct ID3DShaderCacheInstallerFactoryVtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (5)
HRESULT (*)(ID3DShaderCacheInstallerFactory *, const IID *const, void **) QueryInterface;
ULONG (*)(ID3DShaderCacheInstallerFactory *) AddRef;
ULONG (*)(ID3DShaderCacheInstallerFactory *) Release;
HRESULT (*)(ID3DShaderCacheInstallerFactory *, ID3DShaderCacheInstallerClient *, const IID *const, void **) CreateInstaller;
HRESULT (*)(ID3DShaderCacheInstallerFactory *, int *, const IID *const, void **) CreateExplorer;
ID3DShaderCacheInstallerFactoryVtbl
struct ID3DShaderCacheInstallerFactoryVtbl { // size: 40 bytes, align: 8
HRESULT (*)(ID3DShaderCacheInstallerFactory *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(ID3DShaderCacheInstallerFactory *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(ID3DShaderCacheInstallerFactory *) Release; // offset: 128, size: 64 bits
HRESULT (*)(ID3DShaderCacheInstallerFactory *, ID3DShaderCacheInstallerClient *, const IID *const, void **) CreateInstaller; // offset: 192, size: 64 bits
HRESULT (*)(ID3DShaderCacheInstallerFactory *, int *, const IID *const, void **) CreateExplorer; // offset: 256, size: 64 bits
};
ID3DShaderCacheInstallerVtbl
struct ID3DShaderCacheInstallerVtbl { // size: 112 bytes, align: 8
HRESULT (*)(ID3DShaderCacheInstaller *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(ID3DShaderCacheInstaller *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(ID3DShaderCacheInstaller *) Release; // offset: 128, size: 64 bits
HRESULT (*)(ID3DShaderCacheInstaller *) RegisterDriverUpdateListener; // offset: 192, size: 64 bits
HRESULT (*)(ID3DShaderCacheInstaller *) UnregisterDriverUpdateListener; // offset: 256, size: 64 bits
HRESULT (*)(ID3DShaderCacheInstaller *, SC_HANDLE) RegisterServiceDriverUpdateTrigger; // offset: 320, size: 64 bits
HRESULT (*)(ID3DShaderCacheInstaller *, SC_HANDLE) UnregisterServiceDriverUpdateTrigger; // offset: 384, size: 64 bits
HRESULT (*)(ID3DShaderCacheInstaller *, const wchar_t *, const D3D_SHADER_CACHE_APPLICATION_DESC *, const IID *const, void **) RegisterApplication; // offset: 448, size: 64 bits
HRESULT (*)(ID3DShaderCacheInstaller *, ID3DShaderCacheApplication *) RemoveApplication; // offset: 512, size: 64 bits
UINT (*)(ID3DShaderCacheInstaller *) GetApplicationCount; // offset: 576, size: 64 bits
HRESULT (*)(ID3DShaderCacheInstaller *, UINT, const IID *const, void **) GetApplication; // offset: 640, size: 64 bits
HRESULT (*)(ID3DShaderCacheInstaller *) ClearAllState; // offset: 704, size: 64 bits
UINT (*)(ID3DShaderCacheInstaller *) GetMaxPrecompileTargetCount; // offset: 768, size: 64 bits
HRESULT (*)(ID3DShaderCacheInstaller *, const D3D_SHADER_CACHE_APPLICATION_DESC *, UINT *, D3D_SHADER_CACHE_COMPILER_PROPERTIES *, D3D_SHADER_CACHE_TARGET_FLAGS) GetPrecompileTargets; // offset: 832, size: 64 bits
};
IPluginAuthenticator
struct IPluginAuthenticator { // size: 8 bytes, align: 8
struct IPluginAuthenticatorVtbl * lpVtbl; // offset: 0, size: 64 bits
};
Vtable methods (7)
HRESULT (*)(IPluginAuthenticator *, const IID *const, void **) QueryInterface;
ULONG (*)(IPluginAuthenticator *) AddRef;
ULONG (*)(IPluginAuthenticator *) Release;
HRESULT (*)(IPluginAuthenticator *, PCWEBAUTHN_PLUGIN_OPERATION_REQUEST, PWEBAUTHN_PLUGIN_OPERATION_RESPONSE) MakeCredential;
HRESULT (*)(IPluginAuthenticator *, PCWEBAUTHN_PLUGIN_OPERATION_REQUEST, PWEBAUTHN_PLUGIN_OPERATION_RESPONSE) GetAssertion;
HRESULT (*)(IPluginAuthenticator *, PCWEBAUTHN_PLUGIN_CANCEL_OPERATION_REQUEST) CancelOperation;
HRESULT (*)(IPluginAuthenticator *, PLUGIN_LOCK_STATUS *) GetLockStatus;
IPluginAuthenticatorVtbl
struct IPluginAuthenticatorVtbl { // size: 56 bytes, align: 8
HRESULT (*)(IPluginAuthenticator *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(IPluginAuthenticator *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(IPluginAuthenticator *) Release; // offset: 128, size: 64 bits
HRESULT (*)(IPluginAuthenticator *, PCWEBAUTHN_PLUGIN_OPERATION_REQUEST, PWEBAUTHN_PLUGIN_OPERATION_RESPONSE) MakeCredential; // offset: 192, size: 64 bits
HRESULT (*)(IPluginAuthenticator *, PCWEBAUTHN_PLUGIN_OPERATION_REQUEST, PWEBAUTHN_PLUGIN_OPERATION_RESPONSE) GetAssertion; // offset: 256, size: 64 bits
HRESULT (*)(IPluginAuthenticator *, PCWEBAUTHN_PLUGIN_CANCEL_OPERATION_REQUEST) CancelOperation; // offset: 320, size: 64 bits
HRESULT (*)(IPluginAuthenticator *, PLUGIN_LOCK_STATUS *) GetLockStatus; // offset: 384, size: 64 bits
};
KSMIDILOOPED_EVENT2
struct KSMIDILOOPED_EVENT2 { // size: 16 bytes, align: 8
HANDLE WriteEvent; // offset: 0, size: 64 bits
HANDLE ReadEvent; // offset: 64, size: 64 bits
};
_EXPERIMENTAL_WEBAUTHN_PLUGIN_CANCEL_OPERATION_REQUEST
struct _EXPERIMENTAL_WEBAUTHN_PLUGIN_CANCEL_OPERATION_REQUEST { // size: 32 bytes, align: 8
GUID transactionId; // offset: 0, size: 128 bits
DWORD cbRequestSignature; // offset: 128, size: 32 bits
byte * pbRequestSignature; // offset: 192, size: 64 bits
};
_EXPERIMENTAL_WEBAUTHN_PLUGIN_OPERATION_RESPONSE
struct _EXPERIMENTAL_WEBAUTHN_PLUGIN_OPERATION_RESPONSE { // size: 16 bytes, align: 8
DWORD cbEncodedResponse; // offset: 0, size: 32 bits
byte * pbEncodedResponse; // offset: 64, size: 64 bits
};
_EXPERIMENTAL_WINBIO_CONNECTED_SENSOR
struct _EXPERIMENTAL_WINBIO_CONNECTED_SENSOR { // size: 8 bytes, align: 4
WINBIO_BIOMETRIC_TYPE biometricType; // offset: 0, size: 32 bits
BOOL isEnhancedSignInSecurityCapable; // offset: 32, size: 32 bits
};
_WEBAUTHN_AUTHENTICATOR_DETAILS_LIST
struct _WEBAUTHN_AUTHENTICATOR_DETAILS_LIST { // size: 16 bytes, align: 8
DWORD cAuthenticatorDetails; // offset: 0, size: 32 bits
PWEBAUTHN_AUTHENTICATOR_DETAILS * ppAuthenticatorDetails; // offset: 64, size: 64 bits
};
_WEBAUTHN_AUTHENTICATOR_DETAILS_OPTIONS
struct _WEBAUTHN_AUTHENTICATOR_DETAILS_OPTIONS { // size: 4 bytes, align: 4
DWORD dwVersion; // offset: 0, size: 32 bits
};
_WEBAUTHN_CTAPCBOR_AUTHENTICATOR_OPTIONS
struct _WEBAUTHN_CTAPCBOR_AUTHENTICATOR_OPTIONS { // size: 16 bytes, align: 4
DWORD dwVersion; // offset: 0, size: 32 bits
LONG lUp; // offset: 32, size: 32 bits
LONG lUv; // offset: 64, size: 32 bits
LONG lRequireResidentKey; // offset: 96, size: 32 bits
};
_WEBAUTHN_PLUGIN_ADD_AUTHENTICATOR_OPTIONS
struct _WEBAUTHN_PLUGIN_ADD_AUTHENTICATOR_OPTIONS { // size: 72 bytes, align: 8
LPCWSTR pwszAuthenticatorName; // offset: 0, size: 64 bits
const IID *const rclsid; // offset: 64, size: 64 bits
LPCWSTR pwszPluginRpId; // offset: 128, size: 64 bits
LPCWSTR pwszLightThemeLogoSvg; // offset: 192, size: 64 bits
LPCWSTR pwszDarkThemeLogoSvg; // offset: 256, size: 64 bits
DWORD cbAuthenticatorInfo; // offset: 320, size: 32 bits
const BYTE * pbAuthenticatorInfo; // offset: 384, size: 64 bits
DWORD cSupportedRpIds; // offset: 448, size: 32 bits
const LPCWSTR * ppwszSupportedRpIds; // offset: 512, size: 64 bits
};
_WEBAUTHN_PLUGIN_CANCEL_OPERATION_REQUEST
struct _WEBAUTHN_PLUGIN_CANCEL_OPERATION_REQUEST { // size: 32 bytes, align: 8
GUID transactionId; // offset: 0, size: 128 bits
DWORD cbRequestSignature; // offset: 128, size: 32 bits
byte * pbRequestSignature; // offset: 192, size: 64 bits
};
_WEBAUTHN_PLUGIN_CREDENTIAL_DETAILS
struct _WEBAUTHN_PLUGIN_CREDENTIAL_DETAILS { // size: 64 bytes, align: 8
DWORD cbCredentialId; // offset: 0, size: 32 bits
const BYTE * pbCredentialId; // offset: 64, size: 64 bits
LPCWSTR pwszRpId; // offset: 128, size: 64 bits
LPCWSTR pwszRpName; // offset: 192, size: 64 bits
DWORD cbUserId; // offset: 256, size: 32 bits
const BYTE * pbUserId; // offset: 320, size: 64 bits
LPCWSTR pwszUserName; // offset: 384, size: 64 bits
LPCWSTR pwszUserDisplayName; // offset: 448, size: 64 bits
};
_WEBAUTHN_PLUGIN_OPERATION_RESPONSE
struct _WEBAUTHN_PLUGIN_OPERATION_RESPONSE { // size: 16 bytes, align: 8
DWORD cbEncodedResponse; // offset: 0, size: 32 bits
byte * pbEncodedResponse; // offset: 64, size: 64 bits
};
_WEBAUTHN_PLUGIN_UPDATE_AUTHENTICATOR_DETAILS
struct _WEBAUTHN_PLUGIN_UPDATE_AUTHENTICATOR_DETAILS { // size: 72 bytes, align: 8
LPCWSTR pwszAuthenticatorName; // offset: 0, size: 64 bits
const IID *const rclsid; // offset: 64, size: 64 bits
const IID *const rclsidNew; // offset: 128, size: 64 bits
LPCWSTR pwszLightThemeLogoSvg; // offset: 192, size: 64 bits
LPCWSTR pwszDarkThemeLogoSvg; // offset: 256, size: 64 bits
DWORD cbAuthenticatorInfo; // offset: 320, size: 32 bits
const BYTE * pbAuthenticatorInfo; // offset: 384, size: 64 bits
DWORD cSupportedRpIds; // offset: 448, size: 32 bits
const LPCWSTR * ppwszSupportedRpIds; // offset: 512, size: 64 bits
};
_inputQPSettings
struct _inputQPSettings { // size: 24 bytes, align: 4
UINT32 minBlockSize; // offset: 0, size: 32 bits
UINT32 maxBlockSize; // offset: 32, size: 32 bits
UINT32 stepsBlockSize; // offset: 64, size: 32 bits
eAVEncVideoQPMapElementDataType dataType; // offset: 96, size: 32 bits
INT16 minValue; // offset: 128, size: 16 bits
INT16 maxValue; // offset: 144, size: 16 bits
UINT16 step; // offset: 160, size: 16 bits
};
Structs Removed
3_EXPERIMENTAL2_WEBAUTHN_PLUGIN_ADD_AUTHENTICATOR_OPTIONS
struct _EXPERIMENTAL2_WEBAUTHN_PLUGIN_ADD_AUTHENTICATOR_OPTIONS { // size: 72 bytes, align: 8
LPCWSTR pwszAuthenticatorName; // offset: 0, size: 64 bits
const IID *const rclsid; // offset: 64, size: 64 bits
LPCWSTR pwszPluginRpId; // offset: 128, size: 64 bits
LPCWSTR pwszLightThemeLogoSvg; // offset: 192, size: 64 bits
LPCWSTR pwszDarkThemeLogoSvg; // offset: 256, size: 64 bits
DWORD cbAuthenticatorInfo; // offset: 320, size: 32 bits
const BYTE * pbAuthenticatorInfo; // offset: 384, size: 64 bits
DWORD cSupportedRpIds; // offset: 448, size: 32 bits
const LPCWSTR * ppwszSupportedRpIds; // offset: 512, size: 64 bits
};
_EXPERIMENTAL2_WEBAUTHN_PLUGIN_CREDENTIAL_DETAILS
struct _EXPERIMENTAL2_WEBAUTHN_PLUGIN_CREDENTIAL_DETAILS { // size: 64 bytes, align: 8
DWORD cbCredentialId; // offset: 0, size: 32 bits
const BYTE * pbCredentialId; // offset: 64, size: 64 bits
LPCWSTR pwszRpId; // offset: 128, size: 64 bits
LPCWSTR pwszRpName; // offset: 192, size: 64 bits
DWORD cbUserId; // offset: 256, size: 32 bits
const BYTE * pbUserId; // offset: 320, size: 64 bits
LPCWSTR pwszUserName; // offset: 384, size: 64 bits
LPCWSTR pwszUserDisplayName; // offset: 448, size: 64 bits
};
_EXPERIMENTAL2_WEBAUTHN_PLUGIN_UPDATE_AUTHENTICATOR_DETAILS
struct _EXPERIMENTAL2_WEBAUTHN_PLUGIN_UPDATE_AUTHENTICATOR_DETAILS { // size: 72 bytes, align: 8
LPCWSTR pwszAuthenticatorName; // offset: 0, size: 64 bits
const IID *const rclsid; // offset: 64, size: 64 bits
const IID *const rclsidNew; // offset: 128, size: 64 bits
LPCWSTR pwszLightThemeLogoSvg; // offset: 192, size: 64 bits
LPCWSTR pwszDarkThemeLogoSvg; // offset: 256, size: 64 bits
DWORD cbAuthenticatorInfo; // offset: 320, size: 32 bits
const BYTE * pbAuthenticatorInfo; // offset: 384, size: 64 bits
DWORD cSupportedRpIds; // offset: 448, size: 32 bits
const LPCWSTR * ppwszSupportedRpIds; // offset: 512, size: 64 bits
};
Structs Modified
8D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS
Before
struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS { // size: 24 bytes, align: 8
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type; // offset: 0, size: 32 bits
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags; // offset: 32, size: 32 bits
UINT NumDescs; // offset: 64, size: 32 bits
D3D12_ELEMENTS_LAYOUT DescsLayout; // offset: 96, size: 32 bits
D3D12_GPU_VIRTUAL_ADDRESS InstanceDescs; // offset: 128, size: 64 bits
const D3D12_RAYTRACING_GEOMETRY_DESC * pGeometryDescs; // offset: 128, size: 64 bits
const D3D12_RAYTRACING_GEOMETRY_DESC *const * ppGeometryDescs; // offset: 128, size: 64 bits
};
After
struct D3D12_BUILD_RAYTRACING_ACCELERATION_STRUCTURE_INPUTS { // size: 24 bytes, align: 8
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_TYPE Type; // offset: 0, size: 32 bits
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_BUILD_FLAGS Flags; // offset: 32, size: 32 bits
UINT NumDescs; // offset: 64, size: 32 bits
D3D12_ELEMENTS_LAYOUT DescsLayout; // offset: 96, size: 32 bits
D3D12_GPU_VIRTUAL_ADDRESS InstanceDescs; // offset: 128, size: 64 bits
const D3D12_RAYTRACING_GEOMETRY_DESC * pGeometryDescs; // offset: 128, size: 64 bits
const D3D12_RAYTRACING_GEOMETRY_DESC *const * ppGeometryDescs; // offset: 128, size: 64 bits
const D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC * pOpacityMicromapArrayDesc; // offset: 128, size: 64 bits
};
Changes
-
Added field
const D3D12_RAYTRACING_OPACITY_MICROMAP_ARRAY_DESC * pOpacityMicromapArrayDescat offset 128 bits (64 bits).
D3D12_MULTI_NODE_CPU_INPUT
Before
struct D3D12_MULTI_NODE_CPU_INPUT { // size: 24 bytes, align: 8
UINT NumNodeInputs; // offset: 0, size: 32 bits
D3D12_NODE_CPU_INPUT * pNodeInputs; // offset: 64, size: 64 bits
UINT64 NodeInputStrideInBytes; // offset: 128, size: 64 bits
};
After
struct D3D12_MULTI_NODE_CPU_INPUT { // size: 24 bytes, align: 8
UINT NumNodeInputs; // offset: 0, size: 32 bits
const D3D12_NODE_CPU_INPUT * pNodeInputs; // offset: 64, size: 64 bits
UINT64 NodeInputStrideInBytes; // offset: 128, size: 64 bits
};
Changes
-
Changed
pNodeInputstype fromD3D12_NODE_CPU_INPUT *toconst D3D12_NODE_CPU_INPUT *.
D3D12_NODE_CPU_INPUT
Before
struct D3D12_NODE_CPU_INPUT { // size: 24 bytes, align: 8
UINT EntrypointIndex; // offset: 0, size: 32 bits
UINT NumRecords; // offset: 32, size: 32 bits
void * pRecords; // offset: 64, size: 64 bits
UINT64 RecordStrideInBytes; // offset: 128, size: 64 bits
};
After
struct D3D12_NODE_CPU_INPUT { // size: 24 bytes, align: 8
UINT EntrypointIndex; // offset: 0, size: 32 bits
UINT NumRecords; // offset: 32, size: 32 bits
const void * pRecords; // offset: 64, size: 64 bits
UINT64 RecordStrideInBytes; // offset: 128, size: 64 bits
};
Changes
-
Changed
pRecordstype fromvoid *toconst void *.
D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC
Before
struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC { // size: 16 bytes, align: 8
UINT64 SerializedSizeInBytes; // offset: 0, size: 64 bits
UINT64 NumBottomLevelAccelerationStructurePointers; // offset: 64, size: 64 bits
};
After
struct D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC { // size: 16 bytes, align: 8
UINT64 SerializedSizeInBytes; // offset: 0, size: 64 bits
UINT64 NumBottomLevelAccelerationStructurePointers; // offset: 64, size: 64 bits
UINT64 NumBottomLevelAccelerationStructureHeaderAndPointerListPairs; // offset: 64, size: 64 bits
};
Changes
-
Added field
UINT64 NumBottomLevelAccelerationStructureHeaderAndPointerListPairsat offset 64 bits (64 bits).
D3D12_RAYTRACING_GEOMETRY_DESC
Before
struct D3D12_RAYTRACING_GEOMETRY_DESC { // size: 56 bytes, align: 8
D3D12_RAYTRACING_GEOMETRY_TYPE Type; // offset: 0, size: 32 bits
D3D12_RAYTRACING_GEOMETRY_FLAGS Flags; // offset: 32, size: 32 bits
D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC Triangles; // offset: 64, size: 384 bits
D3D12_RAYTRACING_GEOMETRY_AABBS_DESC AABBs; // offset: 64, size: 192 bits
};
After
struct D3D12_RAYTRACING_GEOMETRY_DESC { // size: 56 bytes, align: 8
D3D12_RAYTRACING_GEOMETRY_TYPE Type; // offset: 0, size: 32 bits
D3D12_RAYTRACING_GEOMETRY_FLAGS Flags; // offset: 32, size: 32 bits
D3D12_RAYTRACING_GEOMETRY_TRIANGLES_DESC Triangles; // offset: 64, size: 384 bits
D3D12_RAYTRACING_GEOMETRY_AABBS_DESC AABBs; // offset: 64, size: 192 bits
D3D12_RAYTRACING_GEOMETRY_OMM_TRIANGLES_DESC OmmTriangles; // offset: 64, size: 128 bits
};
Changes
-
Added field
D3D12_RAYTRACING_GEOMETRY_OMM_TRIANGLES_DESC OmmTrianglesat offset 64 bits (128 bits).
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT
Before
struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT { // size: 16 bytes, align: 8
UINT DataSize; // offset: 0, size: 32 bits
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264 * pH264Support; // offset: 64, size: 64 bits
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC * pHEVCSupport; // offset: 64, size: 64 bits
D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT * pAV1Support; // offset: 64, size: 64 bits
};
After
struct D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT { // size: 16 bytes, align: 8
UINT DataSize; // offset: 0, size: 32 bits
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_H264 * pH264Support; // offset: 64, size: 64 bits
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC * pHEVCSupport; // offset: 64, size: 64 bits
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1 * pHEVCSupport1; // offset: 64, size: 64 bits
D3D12_VIDEO_ENCODER_AV1_CODEC_CONFIGURATION_SUPPORT * pAV1Support; // offset: 64, size: 64 bits
};
Changes
-
Added field
D3D12_VIDEO_ENCODER_CODEC_CONFIGURATION_SUPPORT_HEVC1 * pHEVCSupport1at offset 64 bits (64 bits).
D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA
Before
struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA { // size: 16 bytes, align: 8
UINT DataSize; // offset: 0, size: 32 bits
D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264 * pH264PicData; // offset: 64, size: 64 bits
D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC * pHEVCPicData; // offset: 64, size: 64 bits
D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA * pAV1PicData; // offset: 64, size: 64 bits
};
After
struct D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA { // size: 16 bytes, align: 8
UINT DataSize; // offset: 0, size: 32 bits
D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_H264 * pH264PicData; // offset: 64, size: 64 bits
D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC * pHEVCPicData; // offset: 64, size: 64 bits
D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1 * pHEVCPicData1; // offset: 64, size: 64 bits
D3D12_VIDEO_ENCODER_AV1_PICTURE_CONTROL_CODEC_DATA * pAV1PicData; // offset: 64, size: 64 bits
};
Changes
-
Added field
D3D12_VIDEO_ENCODER_PICTURE_CONTROL_CODEC_DATA_HEVC1 * pHEVCPicData1at offset 64 bits (64 bits).
ID3D12WorkGraphPropertiesVtbl
Before
struct ID3D12WorkGraphPropertiesVtbl { // size: 120 bytes, align: 8
HRESULT (*)(ID3D12WorkGraphProperties *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(ID3D12WorkGraphProperties *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(ID3D12WorkGraphProperties *) Release; // offset: 128, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *) GetNumWorkGraphs; // offset: 192, size: 64 bits
LPCWSTR (*)(ID3D12WorkGraphProperties *, UINT) GetProgramName; // offset: 256, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *, LPCWSTR) GetWorkGraphIndex; // offset: 320, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *, UINT) GetNumNodes; // offset: 384, size: 64 bits
D3D12_NODE_ID *(*)(ID3D12WorkGraphProperties *, D3D12_NODE_ID *, UINT, UINT) GetNodeID; // offset: 448, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *, UINT, D3D12_NODE_ID) GetNodeIndex; // offset: 512, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *, UINT, UINT) GetNodeLocalRootArgumentsTableIndex; // offset: 576, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *, UINT) GetNumEntrypoints; // offset: 640, size: 64 bits
D3D12_NODE_ID *(*)(ID3D12WorkGraphProperties *, D3D12_NODE_ID *, UINT, UINT) GetEntrypointID; // offset: 704, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *, UINT, D3D12_NODE_ID) GetEntrypointIndex; // offset: 768, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *, UINT, UINT) GetEntrypointRecordSizeInBytes; // offset: 832, size: 64 bits
void (*)(ID3D12WorkGraphProperties *, UINT, D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS *) GetWorkGraphMemoryRequirements; // offset: 896, size: 64 bits
};
After
struct ID3D12WorkGraphPropertiesVtbl { // size: 128 bytes, align: 8
HRESULT (*)(ID3D12WorkGraphProperties *, const IID *const, void **) QueryInterface; // offset: 0, size: 64 bits
ULONG (*)(ID3D12WorkGraphProperties *) AddRef; // offset: 64, size: 64 bits
ULONG (*)(ID3D12WorkGraphProperties *) Release; // offset: 128, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *) GetNumWorkGraphs; // offset: 192, size: 64 bits
LPCWSTR (*)(ID3D12WorkGraphProperties *, UINT) GetProgramName; // offset: 256, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *, LPCWSTR) GetWorkGraphIndex; // offset: 320, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *, UINT) GetNumNodes; // offset: 384, size: 64 bits
D3D12_NODE_ID *(*)(ID3D12WorkGraphProperties *, D3D12_NODE_ID *, UINT, UINT) GetNodeID; // offset: 448, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *, UINT, D3D12_NODE_ID) GetNodeIndex; // offset: 512, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *, UINT, UINT) GetNodeLocalRootArgumentsTableIndex; // offset: 576, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *, UINT) GetNumEntrypoints; // offset: 640, size: 64 bits
D3D12_NODE_ID *(*)(ID3D12WorkGraphProperties *, D3D12_NODE_ID *, UINT, UINT) GetEntrypointID; // offset: 704, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *, UINT, D3D12_NODE_ID) GetEntrypointIndex; // offset: 768, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *, UINT, UINT) GetEntrypointRecordSizeInBytes; // offset: 832, size: 64 bits
void (*)(ID3D12WorkGraphProperties *, UINT, D3D12_WORK_GRAPH_MEMORY_REQUIREMENTS *) GetWorkGraphMemoryRequirements; // offset: 896, size: 64 bits
UINT (*)(ID3D12WorkGraphProperties *, UINT, UINT) GetEntrypointRecordAlignmentInBytes; // offset: 960, size: 64 bits
};
Changes
- Size changed from 120 to 128 bytes.
-
Added field
UINT (*)(ID3D12WorkGraphProperties *, UINT, UINT) GetEntrypointRecordAlignmentInBytesat offset 960 bits (64 bits).
Functions Added
36HRESULT D3D12CreateVersionedRootSignatureDeserializerFromSubobjectInLibrary(int pSrcData, SIZE_T SrcDataSizeInBytes, LPCWSTR RootSignatureSubobjectName, const IID *const pRootSignatureDeserializerInterface, void ** ppRootSignatureDeserializer);
HRESULT EXPERIMENTAL_WebAuthNPluginUnregisterStatusChangeCallback(DWORD * pdwRegister);
HRESULT EXPERIMENTAL_WinBioAreEnhancedSignInSecurityRequirementsMet(BOOL * AreRequirementsMet);
HRESULT EXPERIMENTAL_WinBioGetConnectedSensors(SIZE_T * SensorCount, EXPERIMENTAL_WINBIO_CONNECTED_SENSOR ** ConnectedSensors);
HRESULT EXPERIMENTAL_WinBioGetEnhancedSignInSecurityEnrolledFactors(WINBIO_IDENTITY * Identity, WINBIO_BIOMETRIC_TYPE * EnhancedSignInSecurityEnrolledFactors);
HRESULT EXPERIMENTAL_WinBioGetEnhancedSignInSecurityStateSource(WINBIO_POLICY_SOURCE * Source);
HRESULT EXPERIMENTAL_WinBioIsDeviceEnhancedSignInSecurityCapable(BOOL * IsCapable);
HRESULT EXPERIMENTAL_WinBioIsDeviceEnhancedSignInSecurityEnabled(BOOL * IsEnabled);
HRESULT GetApiSetModuleBaseName(PCSTR contractName, UINT32 bufferLength, PWSTR moduleBaseName, UINT32 * actualNameLength);
BOOL WTSIsIsolationSession(int pbIsolationSession);
HRESULT WebAuthNDecodeGetAssertionRequest(DWORD cbEncoded, const BYTE * pbEncoded, PWEBAUTHN_CTAPCBOR_GET_ASSERTION_REQUEST * ppGetAssertionRequest);
HRESULT WebAuthNDecodeMakeCredentialRequest(DWORD cbEncoded, const BYTE * pbEncoded, PWEBAUTHN_CTAPCBOR_MAKE_CREDENTIAL_REQUEST * ppMakeCredentialRequest);
HRESULT WebAuthNEncodeGetAssertionResponse(PCWEBAUTHN_CTAPCBOR_GET_ASSERTION_RESPONSE pGetAssertionResponse, DWORD * pcbResp, int (int *) _Outptr_result_buffer_maybenull_);
HRESULT WebAuthNEncodeMakeCredentialResponse(int pCredentialAttestation, DWORD * pcbResp, int (int *) _Outptr_result_buffer_maybenull_);
void WebAuthNFreeAuthenticatorList(PWEBAUTHN_AUTHENTICATOR_DETAILS_LIST pAuthenticatorDetailsList);
void WebAuthNFreeDecodedGetAssertionRequest(PWEBAUTHN_CTAPCBOR_GET_ASSERTION_REQUEST pGetAssertionRequest);
void WebAuthNFreeDecodedMakeCredentialRequest(PWEBAUTHN_CTAPCBOR_MAKE_CREDENTIAL_REQUEST pMakeCredentialRequest);
HRESULT WebAuthNGetAuthenticatorList(PCWEBAUTHN_AUTHENTICATOR_DETAILS_OPTIONS pWebAuthNGetAuthenticatorListOptions, PWEBAUTHN_AUTHENTICATOR_DETAILS_LIST * ppAuthenticatorDetailsList);
HRESULT WebAuthNPluginAddAuthenticator(PCWEBAUTHN_PLUGIN_ADD_AUTHENTICATOR_OPTIONS pPluginAddAuthenticatorOptions, PWEBAUTHN_PLUGIN_ADD_AUTHENTICATOR_RESPONSE * ppPluginAddAuthenticatorResponse);
HRESULT WebAuthNPluginAuthenticatorAddCredentials(const IID *const rclsid, DWORD cCredentialDetails, PCWEBAUTHN_PLUGIN_CREDENTIAL_DETAILS pCredentialDetails);
void WebAuthNPluginAuthenticatorFreeCredentialDetailsArray(DWORD cCredentialDetails, PWEBAUTHN_PLUGIN_CREDENTIAL_DETAILS pCredentialDetailsArray);
HRESULT WebAuthNPluginAuthenticatorGetAllCredentials(const IID *const rclsid, DWORD * pcCredentialDetails, int (int *) _Outptr_result_buffer_maybenull_);
HRESULT WebAuthNPluginAuthenticatorRemoveAllCredentials(const IID *const rclsid);
HRESULT WebAuthNPluginAuthenticatorRemoveCredentials(const IID *const rclsid, DWORD cCredentialDetails, PCWEBAUTHN_PLUGIN_CREDENTIAL_DETAILS pCredentialDetails);
void WebAuthNPluginFreeAddAuthenticatorResponse(PWEBAUTHN_PLUGIN_ADD_AUTHENTICATOR_RESPONSE pPluginAddAuthenticatorResponse);
void WebAuthNPluginFreePublicKeyResponse(int pbOpSignPubKey);
void WebAuthNPluginFreeUserVerificationResponse(int ppbResponse);
HRESULT WebAuthNPluginGetAuthenticatorState(const IID *const rclsid, AUTHENTICATOR_STATE * pluginAuthenticatorState);
HRESULT WebAuthNPluginGetOperationSigningPublicKey(const IID *const rclsid, DWORD * pcbOpSignPubKey, int (int *) _Outptr_result_buffer_maybenull_);
HRESULT WebAuthNPluginGetUserVerificationCount(const IID *const rclsid, DWORD * pdwVerificationCount);
HRESULT WebAuthNPluginGetUserVerificationPublicKey(const IID *const rclsid, DWORD * pcbPublicKey, int * ppbPublicKey);
HRESULT WebAuthNPluginPerformUserVerification(PCWEBAUTHN_PLUGIN_USER_VERIFICATION_REQUEST pPluginUserVerification, DWORD * pcbResponse, int (int *) _Outptr_result_bytebuffer_maybenull_);
HRESULT WebAuthNPluginRegisterStatusChangeCallback(WEBAUTHN_PLUGIN_STATUS_CHANGE_CALLBACK callback, void * context, const IID *const rclsid, DWORD * pdwRegister);
HRESULT WebAuthNPluginRemoveAuthenticator(const IID *const rclsid);
HRESULT WebAuthNPluginUnregisterStatusChangeCallback(DWORD * pdwRegister);
HRESULT WebAuthNPluginUpdateAuthenticatorDetails(PCWEBAUTHN_PLUGIN_UPDATE_AUTHENTICATOR_DETAILS pPluginUpdateAuthenticatorDetails);
Functions Removed
14HRESULT EXPERIMENTAL2_WebAuthNPluginAddAuthenticator(EXPERIMENTAL2_PCWEBAUTHN_PLUGIN_ADD_AUTHENTICATOR_OPTIONS pPluginAddAuthenticatorOptions, EXPERIMENTAL_PWEBAUTHN_PLUGIN_ADD_AUTHENTICATOR_RESPONSE * ppPluginAddAuthenticatorResponse);
HRESULT EXPERIMENTAL2_WebAuthNPluginAuthenticatorAddCredentials(const IID *const rclsid, DWORD cCredentialDetails, EXPERIMENTAL2_PCWEBAUTHN_PLUGIN_CREDENTIAL_DETAILS pCredentialDetails);
void EXPERIMENTAL2_WebAuthNPluginAuthenticatorFreeCredentialDetailsArray(DWORD cCredentialDetails, EXPERIMENTAL2_PWEBAUTHN_PLUGIN_CREDENTIAL_DETAILS pCredentialDetailsArray);
HRESULT EXPERIMENTAL2_WebAuthNPluginAuthenticatorGetAllCredentials(const IID *const rclsid, DWORD * pcCredentialDetails, int (int *) _Outptr_result_buffer_maybenull_);
HRESULT EXPERIMENTAL2_WebAuthNPluginAuthenticatorRemoveAllCredentials(const IID *const rclsid);
HRESULT EXPERIMENTAL2_WebAuthNPluginAuthenticatorRemoveCredentials(const IID *const rclsid, DWORD cCredentialDetails, EXPERIMENTAL2_PCWEBAUTHN_PLUGIN_CREDENTIAL_DETAILS pCredentialDetails);
void EXPERIMENTAL2_WebAuthNPluginFreeUserVerificationResponse(int ppbResponse);
HRESULT EXPERIMENTAL2_WebAuthNPluginGetAuthenticatorState(const IID *const rclsid, EXPERIMENTAL2_PLUGIN_AUTHENTICATOR_STATE * pluginAuthenticatorState);
HRESULT EXPERIMENTAL2_WebAuthNPluginGetOperationSigningPublicKey(const IID *const rclsid, DWORD * cbOpSignPubKey, int (int *) _Outptr_result_buffer_maybenull_);
HRESULT EXPERIMENTAL2_WebAuthNPluginGetUserVerificationCount(const IID *const pluginClsid, DWORD * pdwVerificationCount);
HRESULT EXPERIMENTAL2_WebAuthNPluginGetUserVerificationPublicKey(const IID *const pluginClsid, DWORD * pcbPublicKey, int * ppbPublicKey);
HRESULT EXPERIMENTAL2_WebAuthNPluginPerformUserVerification(EXPERIMENTAL2_PCWEBAUTHN_PLUGIN_USER_VERIFICATION_REQUEST pPluginUserVerification, DWORD * pcbResponse, int (int *) _Outptr_result_bytebuffer_maybenull_);
HRESULT EXPERIMENTAL2_WebAuthNPluginRemoveAuthenticator(const IID *const rclsid);
HRESULT EXPERIMENTAL2_WebAuthNPluginUpdateAuthenticatorDetails(EXPERIMENTAL2_PCWEBAUTHN_PLUGIN_UPDATE_AUTHENTICATOR_DETAILS pPluginUpdateAuthenticatorDetails);
Functions Changed
2EXPERIMENTAL_WebAuthNEncodeGetAssertionResponse
Before
HRESULT EXPERIMENTAL_WebAuthNEncodeGetAssertionResponse(EXPERIMENTAL_PCWEBAUTHN_CTAPCBOR_GET_ASSERTION_RESPONSE pGetAssertionResponse, DWORD * pcbResp, int (int *) _Outptr_result_buffer_maybenull_);
After
HRESULT EXPERIMENTAL_WebAuthNEncodeGetAssertionResponse(EXPERIMENTAL_PCWEBAUTHN_CTAPCBOR_GET_ASSERTION_RESPONSE pGetAssertionResponse, DWORD * pcbResp, int (int *) _Outptr_result_buffer_maybenull_);
EXPERIMENTAL_WebAuthNPluginRegisterStatusChangeCallback
Before
HRESULT EXPERIMENTAL_WebAuthNPluginRegisterStatusChangeCallback(EXPERIMENTAL_WebAuthNPluginStatusChangeCallback callback, const IID *const pluginClsId);
After
HRESULT EXPERIMENTAL_WebAuthNPluginRegisterStatusChangeCallback(EXPERIMENTAL_WEBAUTHN_PLUGIN_STATUS_CHANGE_CALLBACK callback, void * context, const IID *const rclsid, DWORD * pdwRegister);