| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Program Files (x86)/Windows Kits/10/Include/10.0.19041.0/um/ |
Upload File : |
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// D3D11.4 IDL
//
// Contains interface definitions for the D3D11.4 API.
//
// Copyright (C) Microsoft Corporation
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
import "oaidl.idl";
import "ocidl.idl";
import "dxgi1_5.idl";
import "d3dcommon.idl";
import "d3d11_3.idl"; //
cpp_quote( "#ifdef __cplusplus" )
cpp_quote( "}" ) // extern C
cpp_quote( "#endif" )
cpp_quote( "#include \"d3d11_3.h\" //") //
cpp_quote( "#ifdef __cplusplus" )
cpp_quote( "extern \"C\"{" )
cpp_quote( "#endif" )
#pragma region App Family
cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)")
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Device4
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[ uuid( 8992ab71-02e6-4b8d-ba48-b056dcda42c4 ), object, local, pointer_default( unique ) ]
interface ID3D11Device4
: ID3D11Device3
{
HRESULT RegisterDeviceRemovedEvent(
[annotation("_In_")] HANDLE hEvent,
[annotation("_Out_")] DWORD* pdwCookie
);
void UnregisterDeviceRemoved( [annotation("_In_")] DWORD dwCookie );
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Device5
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[ uuid( 8ffde202-a0e7-45df-9e01-e837801b5ea0 ), object, local, pointer_default( unique ) ]
interface ID3D11Device5
: ID3D11Device4
{
HRESULT OpenSharedFence(
[annotation("_In_")] HANDLE hFence,
[annotation("_In_")] REFIID ReturnedInterface,
[annotation("_COM_Outptr_opt_")] void ** ppFence
);
HRESULT CreateFence(
[annotation("_In_")] UINT64 InitialValue,
[annotation("_In_")] D3D11_FENCE_FLAG Flags,
[annotation("_In_")] REFIID ReturnedInterface,
[annotation("_COM_Outptr_opt_")] void ** ppFence
);
};
//==================================================================================================================================
//
// Multithread Interface
//
//==================================================================================================================================
[ uuid( 9B7E4E00-342C-4106-A19F-4F2704F689F0 ), object, local, pointer_default( unique ) ]
interface ID3D11Multithread
: IUnknown
{
void Enter();
void Leave();
BOOL SetMultithreadProtected( [annotation("_In_")] BOOL bMTProtect );
BOOL GetMultithreadProtected();
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// VideoContext2
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[uuid(C4E7374C-6243-4D1B-AE87-52B4F740E261), object, local, pointer_default(unique)]
interface ID3D11VideoContext2
: ID3D11VideoContext1
{
void VideoProcessorSetOutputHDRMetaData(
[annotation("_In_")] ID3D11VideoProcessor* pVideoProcessor,
[annotation("_In_")] DXGI_HDR_METADATA_TYPE Type,
[annotation("_In_")] UINT Size,
[annotation("_In_reads_bytes_opt_(Size)")] const void* pHDRMetaData
);
void VideoProcessorGetOutputHDRMetaData(
[annotation("_In_")] ID3D11VideoProcessor* pVideoProcessor,
[annotation("_Out_")] DXGI_HDR_METADATA_TYPE* pType,
[annotation("_In_")] UINT Size,
[annotation("_Out_writes_bytes_opt_(Size)")] void* pMetaData
);
void VideoProcessorSetStreamHDRMetaData(
[annotation("_In_")] ID3D11VideoProcessor* pVideoProcessor,
[annotation("_In_")] UINT StreamIndex,
[annotation("_In_")] DXGI_HDR_METADATA_TYPE Type,
[annotation("_In_")] UINT Size,
[annotation("_In_reads_bytes_opt_(Size)")] const void* pHDRMetaData
);
void VideoProcessorGetStreamHDRMetaData(
[annotation("_In_")] ID3D11VideoProcessor* pVideoProcessor,
[annotation("_In_")] UINT StreamIndex,
[annotation("_Out_")] DXGI_HDR_METADATA_TYPE* pType,
[annotation("_In_")] UINT Size,
[annotation("_Out_writes_bytes_opt_(Size)")] void* pMetaData
);
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// VideoDevice2
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
typedef enum D3D11_FEATURE_VIDEO
{
D3D11_FEATURE_VIDEO_DECODER_HISTOGRAM = 0,
} D3D11_FEATURE_VIDEO;
typedef enum D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT
{
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_Y = 0,
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_U = 1,
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_V = 2,
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_R = 0,
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_G = 1,
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_B = 2,
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_A = 3,
} D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT;
typedef enum D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS
{
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_NONE = 0x0,
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_Y = (1 << D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_Y),
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_U = (1 << D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_U),
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_V = (1 << D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_V),
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_R = (1 << D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_R),
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_G = (1 << D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_G),
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_B = (1 << D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_B),
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAG_A = (1 << D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_A),
} D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS;
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS );")
typedef struct D3D11_FEATURE_DATA_VIDEO_DECODER_HISTOGRAM
{
D3D11_VIDEO_DECODER_DESC DecoderDesc; // in
D3D11_VIDEO_DECODER_HISTOGRAM_COMPONENT_FLAGS Components; // out
UINT BinCount; // out
UINT CounterBitDepth; // out
} D3D11_FEATURE_DATA_VIDEO_DECODER_HISTOGRAM;
typedef enum D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS
{
D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAG_NONE = 0x0,
} D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS;
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS );")
[uuid(59C0CB01-35F0-4A70-8F67-87905C906A53), object, local, pointer_default(unique)]
interface ID3D11VideoDevice2
: ID3D11VideoDevice1
{
HRESULT CheckFeatureSupport(
D3D11_FEATURE_VIDEO Feature,
[annotation("_Out_writes_bytes_(FeatureSupportDataSize)")] void* pFeatureSupportData,
UINT FeatureSupportDataSize
);
HRESULT NegotiateCryptoSessionKeyExchangeMT(
[annotation("_In_")] ID3D11CryptoSession* pCryptoSession,
[annotation("_In_")] D3D11_CRYPTO_SESSION_KEY_EXCHANGE_FLAGS flags,
[annotation("_In_")] UINT DataSize,
[annotation("_Inout_updates_bytes_(DataSize)")] void* pData);
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// VideoContext3
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
typedef struct D3D11_VIDEO_DECODER_BUFFER_DESC2
{
D3D11_VIDEO_DECODER_BUFFER_TYPE BufferType;
UINT DataOffset;
UINT DataSize;
[annotation("_Field_size_opt_(IVSize)")] void* pIV;
UINT IVSize;
[annotation("_Field_size_opt_(SubSampleMappingCount)")] D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK* pSubSampleMappingBlock;
UINT SubSampleMappingCount;
UINT cBlocksStripeEncrypted;
UINT cBlocksStripeClear;
} D3D11_VIDEO_DECODER_BUFFER_DESC2;
[uuid(A9E2FAA0-CB39-418F-A0B7-D8AAD4DE672E), object, local, pointer_default(unique)]
interface ID3D11VideoContext3
: ID3D11VideoContext2
{
HRESULT DecoderBeginFrame1(
[annotation("_In_")] ID3D11VideoDecoder* pDecoder,
[annotation("_In_")] ID3D11VideoDecoderOutputView* pView,
UINT ContentKeySize,
[annotation("_In_reads_bytes_opt_(ContentKeySize)")] const void* pContentKey,
[annotation("_In_range_(0, D3D11_4_VIDEO_DECODER_MAX_HISTOGRAM_COMPONENTS)")] UINT NumComponentHistograms,
[annotation("_In_reads_opt_(NumComponentHistograms)")] const UINT* pHistogramOffsets,
[annotation("_In_reads_opt_(NumComponentHistograms)")] ID3D11Buffer* const* ppHistogramBuffers
);
HRESULT SubmitDecoderBuffers2(
[annotation("_In_")] ID3D11VideoDecoder* pDecoder,
[annotation("_In_")] UINT NumBuffers,
[annotation("_In_reads_(NumBuffers)")] const D3D11_VIDEO_DECODER_BUFFER_DESC2* pBufferDesc);
};
typedef struct D3D11_FEATURE_DATA_D3D11_OPTIONS4
{
BOOL ExtendedNV12SharedTextureSupported;
} D3D11_FEATURE_DATA_D3D11_OPTIONS4;
cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */")
#pragma endregion
cpp_quote( "DEFINE_GUID(IID_ID3D11Device4,0x8992ab71,0x02e6,0x4b8d,0xba,0x48,0xb0,0x56,0xdc,0xda,0x42,0xc4);" )
cpp_quote( "DEFINE_GUID(IID_ID3D11Device5,0x8ffde202,0xa0e7,0x45df,0x9e,0x01,0xe8,0x37,0x80,0x1b,0x5e,0xa0);" )
cpp_quote( "DEFINE_GUID(IID_ID3D11Multithread,0x9B7E4E00,0x342C,0x4106,0xA1,0x9F,0x4F,0x27,0x04,0xF6,0x89,0xF0);" )
cpp_quote( "DEFINE_GUID(IID_ID3D11VideoContext2,0xC4E7374C,0x6243,0x4D1B,0xAE,0x87,0x52,0xB4,0xF7,0x40,0xE2,0x61);" )
cpp_quote( "DEFINE_GUID(IID_ID3D11VideoDevice2,0x59C0CB01,0x35F0,0x4A70,0x8F,0x67,0x87,0x90,0x5C,0x90,0x6A,0x53);" )
cpp_quote( "DEFINE_GUID(IID_ID3D11VideoContext3,0xA9E2FAA0,0xCB39,0x418F,0xA0,0xB7,0xD8,0xAA,0xD4,0xDE,0x67,0x2E);" )