| 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.1 IDL
//
// Contains interface definitions for the D3D11.1 API.
//
// Copyright (C) Microsoft Corporation
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
import "oaidl.idl";
import "ocidl.idl";
import "dxgi1_2.idl";
import "d3dcommon.idl";
import "d3d11.idl"; //
cpp_quote( "#ifdef __cplusplus" )
cpp_quote( "}" ) // extern C
cpp_quote( "#endif" )
cpp_quote( "#include \"d3d11.h\" //") //
cpp_quote( "#ifdef __cplusplus" )
cpp_quote( "extern \"C\"{" )
cpp_quote( "#endif" )
typedef enum D3D11_COPY_FLAGS
{
D3D11_COPY_NO_OVERWRITE = 0x00000001,
D3D11_COPY_DISCARD = 0x00000002,
} D3D11_COPY_FLAGS;
typedef enum D3D11_LOGIC_OP
{
// Operation:
// (s == PS output, d = RTV contents)
D3D11_LOGIC_OP_CLEAR = 0, // 0
D3D11_LOGIC_OP_SET, // 1
D3D11_LOGIC_OP_COPY, // s
D3D11_LOGIC_OP_COPY_INVERTED, // ~s
D3D11_LOGIC_OP_NOOP, // d
D3D11_LOGIC_OP_INVERT, // ~d
D3D11_LOGIC_OP_AND, // s & d
D3D11_LOGIC_OP_NAND, // ~(s & d)
D3D11_LOGIC_OP_OR, // s | d
D3D11_LOGIC_OP_NOR, // ~(s | d)
D3D11_LOGIC_OP_XOR, // s ^ d
D3D11_LOGIC_OP_EQUIV, // ~(s ^ d)
D3D11_LOGIC_OP_AND_REVERSE, // s & ~d
D3D11_LOGIC_OP_AND_INVERTED, // ~s & d
D3D11_LOGIC_OP_OR_REVERSE, // s | ~d
D3D11_LOGIC_OP_OR_INVERTED, // ~s | d
} D3D11_LOGIC_OP;
typedef struct D3D11_RENDER_TARGET_BLEND_DESC1
{
BOOL BlendEnable;
BOOL LogicOpEnable; // LogicOpEnable and BlendEnable can't both be true
D3D11_BLEND SrcBlend;
D3D11_BLEND DestBlend;
D3D11_BLEND_OP BlendOp;
D3D11_BLEND SrcBlendAlpha;
D3D11_BLEND DestBlendAlpha;
D3D11_BLEND_OP BlendOpAlpha;
D3D11_LOGIC_OP LogicOp; // applies to RGBA
UINT8 RenderTargetWriteMask; // D3D11_COLOR_WRITE_ENABLE
} D3D11_RENDER_TARGET_BLEND_DESC1;
typedef struct D3D11_BLEND_DESC1
{
BOOL AlphaToCoverageEnable; // relevant to multisample antialiasing only
BOOL IndependentBlendEnable; // if FALSE, then replicate the first entry in RenderTarget array to other entries
D3D11_RENDER_TARGET_BLEND_DESC1 RenderTarget[D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT];
} D3D11_BLEND_DESC1;
cpp_quote( "/* Note, the array size for RenderTarget[] above is D3D11_SIMULTANEOUS_RENDERTARGET_COUNT. ")
cpp_quote( " IDL processing/generation of this header replaces the define; this comment is merely explaining what happened. */" )
cpp_quote( "#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )" )
cpp_quote( "}" ) // extern C
cpp_quote( "struct CD3D11_BLEND_DESC1 : public D3D11_BLEND_DESC1" )
cpp_quote( "{" )
cpp_quote( " CD3D11_BLEND_DESC1() = default;" )
cpp_quote( " explicit CD3D11_BLEND_DESC1( const D3D11_BLEND_DESC1& o ) :" )
cpp_quote( " D3D11_BLEND_DESC1( o )" )
cpp_quote( " {}" )
cpp_quote( " explicit CD3D11_BLEND_DESC1( CD3D11_DEFAULT )" )
cpp_quote( " {" )
cpp_quote( " AlphaToCoverageEnable = FALSE;" )
cpp_quote( " IndependentBlendEnable = FALSE;" )
cpp_quote( " const D3D11_RENDER_TARGET_BLEND_DESC1 defaultRenderTargetBlendDesc =" )
cpp_quote( " {" )
cpp_quote( " FALSE,FALSE," )
cpp_quote( " D3D11_BLEND_ONE, D3D11_BLEND_ZERO, D3D11_BLEND_OP_ADD," )
cpp_quote( " D3D11_BLEND_ONE, D3D11_BLEND_ZERO, D3D11_BLEND_OP_ADD," )
cpp_quote( " D3D11_LOGIC_OP_NOOP," )
cpp_quote( " D3D11_COLOR_WRITE_ENABLE_ALL," )
cpp_quote( " };" )
cpp_quote( " for (UINT i = 0; i < D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT; ++i)" )
cpp_quote( " RenderTarget[ i ] = defaultRenderTargetBlendDesc;" )
cpp_quote( " }" )
cpp_quote( " ~CD3D11_BLEND_DESC1() {}" )
cpp_quote( "};" )
cpp_quote( "extern \"C\"{" )
cpp_quote( "#endif" )
[ uuid(cc86fabe-da55-401d-85e7-e3c9de2877e9), object, local, pointer_default( unique ) ]
interface ID3D11BlendState1
: ID3D11BlendState
{
void GetDesc1( [annotation("_Out_")] D3D11_BLEND_DESC1* pDesc );
};
typedef struct D3D11_RASTERIZER_DESC1
{
D3D11_FILL_MODE FillMode;
D3D11_CULL_MODE CullMode;
BOOL FrontCounterClockwise;
INT DepthBias;
FLOAT DepthBiasClamp;
FLOAT SlopeScaledDepthBias;
BOOL DepthClipEnable;
BOOL ScissorEnable;
BOOL MultisampleEnable;
BOOL AntialiasedLineEnable;
UINT ForcedSampleCount;
} D3D11_RASTERIZER_DESC1;
cpp_quote( "#if !defined( D3D11_NO_HELPERS ) && defined( __cplusplus )" )
cpp_quote( "}" ) // extern C
cpp_quote( "struct CD3D11_RASTERIZER_DESC1 : public D3D11_RASTERIZER_DESC1" )
cpp_quote( "{" )
cpp_quote( " CD3D11_RASTERIZER_DESC1() = default;" )
cpp_quote( " explicit CD3D11_RASTERIZER_DESC1( const D3D11_RASTERIZER_DESC1& o ) :" )
cpp_quote( " D3D11_RASTERIZER_DESC1( o )" )
cpp_quote( " {}" )
cpp_quote( " explicit CD3D11_RASTERIZER_DESC1( CD3D11_DEFAULT )" )
cpp_quote( " {" )
cpp_quote( " FillMode = D3D11_FILL_SOLID;" )
cpp_quote( " CullMode = D3D11_CULL_BACK;" )
cpp_quote( " FrontCounterClockwise = FALSE;" )
cpp_quote( " DepthBias = D3D11_DEFAULT_DEPTH_BIAS;" )
cpp_quote( " DepthBiasClamp = D3D11_DEFAULT_DEPTH_BIAS_CLAMP;" )
cpp_quote( " SlopeScaledDepthBias = D3D11_DEFAULT_SLOPE_SCALED_DEPTH_BIAS;" )
cpp_quote( " DepthClipEnable = TRUE;" )
cpp_quote( " ScissorEnable = FALSE;" )
cpp_quote( " MultisampleEnable = FALSE;" )
cpp_quote( " AntialiasedLineEnable = FALSE;" )
cpp_quote( " ForcedSampleCount = 0;" )
cpp_quote( " }" )
cpp_quote( " explicit CD3D11_RASTERIZER_DESC1(" )
cpp_quote( " D3D11_FILL_MODE fillMode," )
cpp_quote( " D3D11_CULL_MODE cullMode," )
cpp_quote( " BOOL frontCounterClockwise," )
cpp_quote( " INT depthBias," )
cpp_quote( " FLOAT depthBiasClamp," )
cpp_quote( " FLOAT slopeScaledDepthBias," )
cpp_quote( " BOOL depthClipEnable," )
cpp_quote( " BOOL scissorEnable," )
cpp_quote( " BOOL multisampleEnable," )
cpp_quote( " BOOL antialiasedLineEnable, " )
cpp_quote( " UINT forcedSampleCount )" )
cpp_quote( " {" )
cpp_quote( " FillMode = fillMode;" )
cpp_quote( " CullMode = cullMode;" )
cpp_quote( " FrontCounterClockwise = frontCounterClockwise;" )
cpp_quote( " DepthBias = depthBias;" )
cpp_quote( " DepthBiasClamp = depthBiasClamp;" )
cpp_quote( " SlopeScaledDepthBias = slopeScaledDepthBias;" )
cpp_quote( " DepthClipEnable = depthClipEnable;" )
cpp_quote( " ScissorEnable = scissorEnable;" )
cpp_quote( " MultisampleEnable = multisampleEnable;" )
cpp_quote( " AntialiasedLineEnable = antialiasedLineEnable;" )
cpp_quote( " ForcedSampleCount = forcedSampleCount;" )
cpp_quote( " }" )
cpp_quote( " ~CD3D11_RASTERIZER_DESC1() {}" )
cpp_quote( "};" )
cpp_quote( "extern \"C\"{" )
cpp_quote( "#endif" )
[ uuid(1217d7a6-5039-418c-b042-9cbe256afd6e), object, local, pointer_default( unique ) ]
interface ID3D11RasterizerState1
: ID3D11RasterizerState
{
void GetDesc1( [annotation("_Out_")] D3D11_RASTERIZER_DESC1* pDesc );
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// DeviceContextState
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
typedef enum D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG
{
D3D11_1_CREATE_DEVICE_CONTEXT_STATE_SINGLETHREADED = 0x1,
} D3D11_1_CREATE_DEVICE_CONTEXT_STATE_FLAG;
[ uuid( 5c1e0d8a-7c23-48f9-8c59-a92958ceff11 ), object, local, pointer_default( unique ) ]
interface ID3DDeviceContextState
: ID3D11DeviceChild
{
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// DeviceContext
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[ uuid( bb2c6faa-b5fb-4082-8e6b-388b8cfa90e1 ), object, local, pointer_default( unique ) ]
interface ID3D11DeviceContext1
: ID3D11DeviceContext
{
void CopySubresourceRegion1(
[annotation("_In_")] ID3D11Resource* pDstResource,
[annotation("_In_")] UINT DstSubresource,
[annotation("_In_")] UINT DstX,
[annotation("_In_")] UINT DstY,
[annotation("_In_")] UINT DstZ,
[annotation("_In_")] ID3D11Resource* pSrcResource,
[annotation("_In_")] UINT SrcSubresource,
[annotation("_In_opt_")] const D3D11_BOX* pSrcBox,
[annotation("_In_")] UINT CopyFlags );
void UpdateSubresource1(
[annotation("_In_")] ID3D11Resource* pDstResource,
[annotation("_In_")] UINT DstSubresource,
[annotation("_In_opt_")] const D3D11_BOX* pDstBox,
[annotation("_In_")] const void* pSrcData,
[annotation("_In_")] UINT SrcRowPitch,
[annotation("_In_")] UINT SrcDepthPitch,
[annotation("_In_")] UINT CopyFlags );
void DiscardResource(
[annotation("_In_")] ID3D11Resource* pResource
);
void DiscardView (
[annotation("_In_")] ID3D11View* pResourceView
);
void VSSetConstantBuffers1(
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )")]
UINT StartSlot,
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )")]
UINT NumBuffers,
[annotation("_In_reads_opt_(NumBuffers)")] ID3D11Buffer*const* ppConstantBuffers,
[annotation("_In_reads_opt_(NumBuffers)")] const UINT* pFirstConstant,
[annotation("_In_reads_opt_(NumBuffers)")] const UINT* pNumConstants );
void HSSetConstantBuffers1(
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )")]
UINT StartSlot,
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )")]
UINT NumBuffers,
[annotation("_In_reads_opt_(NumBuffers)")] ID3D11Buffer*const* ppConstantBuffers,
[annotation("_In_reads_opt_(NumBuffers)")] const UINT* pFirstConstant,
[annotation("_In_reads_opt_(NumBuffers)")] const UINT* pNumConstants );
void DSSetConstantBuffers1(
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )")]
UINT StartSlot,
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )")]
UINT NumBuffers,
[annotation("_In_reads_opt_(NumBuffers)")] ID3D11Buffer*const* ppConstantBuffers,
[annotation("_In_reads_opt_(NumBuffers)")] const UINT* pFirstConstant,
[annotation("_In_reads_opt_(NumBuffers)")] const UINT* pNumConstants );
void GSSetConstantBuffers1(
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )")]
UINT StartSlot,
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )")]
UINT NumBuffers,
[annotation("_In_reads_opt_(NumBuffers)")] ID3D11Buffer*const* ppConstantBuffers,
[annotation("_In_reads_opt_(NumBuffers)")] const UINT* pFirstConstant,
[annotation("_In_reads_opt_(NumBuffers)")] const UINT* pNumConstants );
void PSSetConstantBuffers1(
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )")]
UINT StartSlot,
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )")]
UINT NumBuffers,
[annotation("_In_reads_opt_(NumBuffers)")] ID3D11Buffer*const* ppConstantBuffers,
[annotation("_In_reads_opt_(NumBuffers)")] const UINT* pFirstConstant,
[annotation("_In_reads_opt_(NumBuffers)")] const UINT* pNumConstants );
void CSSetConstantBuffers1(
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )")]
UINT StartSlot,
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )")]
UINT NumBuffers,
[annotation("_In_reads_opt_(NumBuffers)")] ID3D11Buffer*const* ppConstantBuffers,
[annotation("_In_reads_opt_(NumBuffers)")] const UINT* pFirstConstant,
[annotation("_In_reads_opt_(NumBuffers)")] const UINT* pNumConstants );
void VSGetConstantBuffers1(
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )")]
UINT StartSlot,
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )")]
UINT NumBuffers,
[annotation("_Out_writes_opt_(NumBuffers)")] ID3D11Buffer** ppConstantBuffers,
[annotation("_Out_writes_opt_(NumBuffers)")] UINT* pFirstConstant,
[annotation("_Out_writes_opt_(NumBuffers)")] UINT* pNumConstants );
void HSGetConstantBuffers1(
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )")]
UINT StartSlot,
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )")]
UINT NumBuffers,
[annotation("_Out_writes_opt_(NumBuffers)")] ID3D11Buffer** ppConstantBuffers,
[annotation("_Out_writes_opt_(NumBuffers)")] UINT* pFirstConstant,
[annotation("_Out_writes_opt_(NumBuffers)")] UINT* pNumConstants );
void DSGetConstantBuffers1(
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )")]
UINT StartSlot,
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )")]
UINT NumBuffers,
[annotation("_Out_writes_opt_(NumBuffers)")] ID3D11Buffer** ppConstantBuffers,
[annotation("_Out_writes_opt_(NumBuffers)")] UINT* pFirstConstant,
[annotation("_Out_writes_opt_(NumBuffers)")] UINT* pNumConstants );
void GSGetConstantBuffers1(
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )")]
UINT StartSlot,
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )")]
UINT NumBuffers,
[annotation("_Out_writes_opt_(NumBuffers)")] ID3D11Buffer** ppConstantBuffers,
[annotation("_Out_writes_opt_(NumBuffers)")] UINT* pFirstConstant,
[annotation("_Out_writes_opt_(NumBuffers)")] UINT* pNumConstants );
void PSGetConstantBuffers1(
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )")]
UINT StartSlot,
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )")]
UINT NumBuffers,
[annotation("_Out_writes_opt_(NumBuffers)")] ID3D11Buffer** ppConstantBuffers,
[annotation("_Out_writes_opt_(NumBuffers)")] UINT* pFirstConstant,
[annotation("_Out_writes_opt_(NumBuffers)")] UINT* pNumConstants );
void CSGetConstantBuffers1(
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - 1 )")]
UINT StartSlot,
[annotation("_In_range_( 0, D3D11_COMMONSHADER_CONSTANT_BUFFER_API_SLOT_COUNT - StartSlot )")]
UINT NumBuffers,
[annotation("_Out_writes_opt_(NumBuffers)")] ID3D11Buffer** ppConstantBuffers,
[annotation("_Out_writes_opt_(NumBuffers)")] UINT* pFirstConstant,
[annotation("_Out_writes_opt_(NumBuffers)")] UINT* pNumConstants );
void SwapDeviceContextState(
[annotation("_In_")] ID3DDeviceContextState* pState,
[annotation("_Outptr_opt_")] ID3DDeviceContextState** ppPreviousState );
void ClearView(
[annotation("_In_")] ID3D11View* pView,
[annotation("_In_")] const FLOAT Color[ 4 ],
[annotation("_In_reads_opt_(NumRects)")] const D3D11_RECT* pRect,
UINT NumRects );
void DiscardView1 (
[annotation("_In_")] ID3D11View* pResourceView,
[annotation("_In_reads_opt_(NumRects)")] const D3D11_RECT* pRects,
UINT NumRects
);
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// VideoDecoder
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
typedef struct D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK
{
UINT ClearSize;
UINT EncryptedSize;
} D3D11_VIDEO_DECODER_SUB_SAMPLE_MAPPING_BLOCK;
typedef struct D3D11_VIDEO_DECODER_BUFFER_DESC1
{
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;
} D3D11_VIDEO_DECODER_BUFFER_DESC1;
typedef struct D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION
{
ID3D11CryptoSession* pCryptoSession;
UINT BlobSize;
[annotation("_Field_size_opt_(BlobSize)")] void* pBlob;
GUID* pKeyInfoId;
UINT PrivateDataSize;
[annotation("_Field_size_opt_(PrivateDataSize)")] void* pPrivateData;
} D3D11_VIDEO_DECODER_BEGIN_FRAME_CRYPTO_SESSION;
typedef enum D3D11_VIDEO_DECODER_CAPS
{
D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE = 0x1,
D3D11_VIDEO_DECODER_CAPS_NON_REAL_TIME = 0x02,
D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_DYNAMIC = 0x04,
D3D11_VIDEO_DECODER_CAPS_DOWNSAMPLE_REQUIRED = 0x08,
D3D11_VIDEO_DECODER_CAPS_UNSUPPORTED = 0x10,
} D3D11_VIDEO_DECODER_CAPS;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// VideoProcessor
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
typedef enum D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS
{
D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_ROTATION = 0x01,
D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_RESIZE = 0x02,
D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_MULTIPLANE_OVERLAY_COLOR_SPACE_CONVERSION = 0x04,
D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINT_TRIPLE_BUFFER_OUTPUT = 0x08,
} D3D11_VIDEO_PROCESSOR_BEHAVIOR_HINTS;
typedef struct D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT
{
BOOL Enable;
UINT Width;
UINT Height;
DXGI_FORMAT Format;
} D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// CryptoSession
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
typedef enum D3D11_CRYPTO_SESSION_STATUS
{
D3D11_CRYPTO_SESSION_STATUS_OK = 0,
D3D11_CRYPTO_SESSION_STATUS_KEY_LOST = 1,
D3D11_CRYPTO_SESSION_STATUS_KEY_AND_CONTENT_LOST = 2
} D3D11_CRYPTO_SESSION_STATUS;
typedef struct D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA
{
UINT PrivateDataSize;
UINT HWProtectionDataSize;
BYTE pbInput[4];
} D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA;
typedef struct D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA
{
UINT PrivateDataSize;
UINT MaxHWProtectionDataSize;
UINT HWProtectionDataSize;
UINT64 TransportTime;
UINT64 ExecutionTime;
BYTE pbOutput[4];
} D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA;
typedef struct D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA
{
UINT HWProtectionFunctionID;
D3D11_KEY_EXCHANGE_HW_PROTECTION_INPUT_DATA *pInputData;
D3D11_KEY_EXCHANGE_HW_PROTECTION_OUTPUT_DATA *pOutputData;
HRESULT Status;
} D3D11_KEY_EXCHANGE_HW_PROTECTION_DATA;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// VideoSample
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
typedef struct D3D11_VIDEO_SAMPLE_DESC
{
UINT Width;
UINT Height;
DXGI_FORMAT Format;
DXGI_COLOR_SPACE_TYPE ColorSpace;
} D3D11_VIDEO_SAMPLE_DESC;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// VideoContext1
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[uuid(A7F026DA-A5F8-4487-A564-15E34357651E), object, local, pointer_default(unique)]
interface ID3D11VideoContext1
: ID3D11VideoContext
{
HRESULT SubmitDecoderBuffers1(
[annotation("_In_")] ID3D11VideoDecoder* pDecoder,
[annotation("_In_")] UINT NumBuffers,
[annotation("_In_reads_(NumBuffers)")] const D3D11_VIDEO_DECODER_BUFFER_DESC1* pBufferDesc);
HRESULT GetDataForNewHardwareKey(
[annotation("_In_")] ID3D11CryptoSession* pCryptoSession,
[annotation("_In_")] UINT PrivateInputSize,
[annotation("_In_reads_(PrivateInputSize)")] const void* pPrivatInputData,
[annotation("_Out_")] UINT64* pPrivateOutputData);
HRESULT CheckCryptoSessionStatus(
[annotation("_In_")] ID3D11CryptoSession* pCryptoSession,
[annotation("_Out_")] D3D11_CRYPTO_SESSION_STATUS* pStatus);
HRESULT DecoderEnableDownsampling(
[annotation("_In_")] ID3D11VideoDecoder* pDecoder,
[annotation("_In_")] DXGI_COLOR_SPACE_TYPE InputColorSpace,
[annotation("_In_")] const D3D11_VIDEO_SAMPLE_DESC* pOutputDesc,
[annotation("_In_")] UINT ReferenceFrameCount);
HRESULT DecoderUpdateDownsampling(
[annotation("_In_")] ID3D11VideoDecoder* pDecoder,
[annotation("_In_")] const D3D11_VIDEO_SAMPLE_DESC* pOutputDesc);
void VideoProcessorSetOutputColorSpace1(
[annotation("_In_")] ID3D11VideoProcessor* pVideoProcessor,
[annotation("_In_")] DXGI_COLOR_SPACE_TYPE ColorSpace);
void VideoProcessorSetOutputShaderUsage(
[annotation("_In_")] ID3D11VideoProcessor* pVideoProcessor,
[annotation("_In_")] BOOL ShaderUsage);
void VideoProcessorGetOutputColorSpace1(
[annotation("_In_")] ID3D11VideoProcessor* pVideoProcessor,
[annotation("_Out_")] DXGI_COLOR_SPACE_TYPE* pColorSpace);
void VideoProcessorGetOutputShaderUsage(
[annotation("_In_")] ID3D11VideoProcessor* pVideoProcessor,
[annotation("_Out_")] BOOL* pShaderUsage);
void VideoProcessorSetStreamColorSpace1(
[annotation("_In_")] ID3D11VideoProcessor* pVideoProcessor,
[annotation("_In_")] UINT StreamIndex,
[annotation("_In_")] DXGI_COLOR_SPACE_TYPE ColorSpace);
void VideoProcessorSetStreamMirror(
[annotation("_In_")] ID3D11VideoProcessor* pVideoProcessor,
[annotation("_In_")] UINT StreamIndex,
[annotation("_In_")] BOOL Enable,
[annotation("_In_")] BOOL FlipHorizontal,
[annotation("_In_")] BOOL FlipVertical);
void VideoProcessorGetStreamColorSpace1(
[annotation("_In_")] ID3D11VideoProcessor* pVideoProcessor,
[annotation("_In_")] UINT StreamIndex,
[annotation("_Out_")] DXGI_COLOR_SPACE_TYPE* pColorSpace);
void VideoProcessorGetStreamMirror(
[annotation("_In_")] ID3D11VideoProcessor* pVideoProcessor,
[annotation("_In_")] UINT StreamIndex,
[annotation("_Out_")] BOOL* pEnable,
[annotation("_Out_")] BOOL* pFlipHorizontal,
[annotation("_Out_")] BOOL* pFlipVertical);
HRESULT VideoProcessorGetBehaviorHints(
[annotation("_In_")] ID3D11VideoProcessor* pVideoProcessor,
[annotation("_In_")] UINT OutputWidth,
[annotation("_In_")] UINT OutputHeight,
[annotation("_In_")] DXGI_FORMAT OutputFormat,
[annotation("_In_")] UINT StreamCount,
[annotation("_In_reads_(StreamCount)")] const D3D11_VIDEO_PROCESSOR_STREAM_BEHAVIOR_HINT *pStreams,
[annotation("_Out_")] UINT* pBehaviorHints);
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Device
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[uuid(29DA1D51-1321-4454-804B-F5FC9F861F0F), object, local, pointer_default(unique)]
interface ID3D11VideoDevice1
: ID3D11VideoDevice
{
HRESULT GetCryptoSessionPrivateDataSize(
[annotation("_In_")] const GUID* pCryptoType,
[annotation("_In_opt_")] const GUID* pDecoderProfile,
[annotation("_In_")] const GUID* pKeyExchangeType,
[annotation("_Out_")] UINT* pPrivateInputSize,
[annotation("_Out_")] UINT* pPrivateOutputSize);
HRESULT GetVideoDecoderCaps(
[annotation("_In_")] const GUID* pDecoderProfile,
[annotation("_In_")] UINT SampleWidth,
[annotation("_In_")] UINT SampleHeight,
[annotation("_In_")] const DXGI_RATIONAL* pFrameRate,
[annotation("_In_")] UINT BitRate,
[annotation("_In_opt_")] const GUID* pCryptoType,
[annotation("_Out_")] UINT* pDecoderCaps);
HRESULT CheckVideoDecoderDownsampling(
[annotation("_In_")] const D3D11_VIDEO_DECODER_DESC* pInputDesc,
[annotation("_In_")] DXGI_COLOR_SPACE_TYPE InputColorSpace,
[annotation("_In_")] const D3D11_VIDEO_DECODER_CONFIG* pInputConfig,
[annotation("_In_")] const DXGI_RATIONAL* pFrameRate,
[annotation("_In_")] const D3D11_VIDEO_SAMPLE_DESC* pOutputDesc,
[annotation("_Out_")] BOOL* pSupported,
[annotation("_Out_")] BOOL* pRealTimeHint);
HRESULT RecommendVideoDecoderDownsampleParameters(
[annotation("_In_")] const D3D11_VIDEO_DECODER_DESC* pInputDesc,
[annotation("_In_")] DXGI_COLOR_SPACE_TYPE InputColorSpace,
[annotation("_In_")] const D3D11_VIDEO_DECODER_CONFIG* pInputConfig,
[annotation("_In_")] const DXGI_RATIONAL* pFrameRate,
[annotation("_Out_")] D3D11_VIDEO_SAMPLE_DESC* pRecommendedOutputDesc);
};
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// VideoProcessorEnum
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
[uuid(465217F2-5568-43CF-B5B9-F61D54531CA1), object, local, pointer_default(unique)]
interface ID3D11VideoProcessorEnumerator1
: ID3D11VideoProcessorEnumerator
{
HRESULT CheckVideoProcessorFormatConversion(
[annotation("_In_")] DXGI_FORMAT InputFormat,
[annotation("_In_")] DXGI_COLOR_SPACE_TYPE InputColorSpace,
[annotation("_In_")] DXGI_FORMAT OutputFormat,
[annotation("_In_")] DXGI_COLOR_SPACE_TYPE OutputColorSpace,
[annotation("_Out_")] BOOL* pSupported);
};
[ uuid( a04bfb29-08ef-43d6-a49c-a9bdbdcbe686 ), object, local, pointer_default( unique ) ]
interface ID3D11Device1
: ID3D11Device
{
void GetImmediateContext1( [annotation("_Outptr_")] ID3D11DeviceContext1** ppImmediateContext );
HRESULT CreateDeferredContext1(
UINT ContextFlags, // Reserved parameter; must be 0
[annotation("_COM_Outptr_opt_")] ID3D11DeviceContext1** ppDeferredContext );
HRESULT CreateBlendState1(
[annotation("_In_")] const D3D11_BLEND_DESC1* pBlendStateDesc,
[annotation("_COM_Outptr_opt_")] ID3D11BlendState1** ppBlendState );
HRESULT CreateRasterizerState1(
[annotation("_In_")] const D3D11_RASTERIZER_DESC1* pRasterizerDesc,
[annotation("_COM_Outptr_opt_")] ID3D11RasterizerState1** ppRasterizerState );
HRESULT CreateDeviceContextState(
UINT Flags,
[annotation("_In_reads_( FeatureLevels )")] const D3D_FEATURE_LEVEL*pFeatureLevels,
UINT FeatureLevels,
UINT SDKVersion,
REFIID EmulatedInterface,
[annotation("_Out_opt_")] D3D_FEATURE_LEVEL * pChosenFeatureLevel,
[annotation("_Out_opt_")] ID3DDeviceContextState** ppContextState );
HRESULT OpenSharedResource1(
[annotation("_In_")] HANDLE hResource,
[annotation("_In_")] REFIID returnedInterface,
[annotation("_COM_Outptr_")] void** ppResource);
HRESULT OpenSharedResourceByName(
[annotation("_In_")] LPCWSTR lpName,
[annotation("_In_")] DWORD dwDesiredAccess,
[annotation("_In_")] REFIID returnedInterface,
[annotation("_COM_Outptr_")] void** ppResource);
};
[ uuid( b2daad8b-03d4-4dbf-95eb-32ab4b63d0ab ), object, local, pointer_default( unique ) ]
interface ID3DUserDefinedAnnotation
: IUnknown
{
INT BeginEvent(
[annotation("_In_")] LPCWSTR Name );
INT EndEvent( void );
void SetMarker(
[annotation("_In_")] LPCWSTR Name );
BOOL GetStatus( void );
};
cpp_quote( "DEFINE_GUID(IID_ID3D11BlendState1,0xcc86fabe,0xda55,0x401d,0x85,0xe7,0xe3,0xc9,0xde,0x28,0x77,0xe9);" )
cpp_quote( "DEFINE_GUID(IID_ID3D11RasterizerState1,0x1217d7a6,0x5039,0x418c,0xb0,0x42,0x9c,0xbe,0x25,0x6a,0xfd,0x6e);" )
cpp_quote( "DEFINE_GUID(IID_ID3DDeviceContextState,0x5c1e0d8a,0x7c23,0x48f9,0x8c,0x59,0xa9,0x29,0x58,0xce,0xff,0x11);" )
cpp_quote( "DEFINE_GUID(IID_ID3D11DeviceContext1,0xbb2c6faa,0xb5fb,0x4082,0x8e,0x6b,0x38,0x8b,0x8c,0xfa,0x90,0xe1);" )
cpp_quote( "DEFINE_GUID(IID_ID3D11VideoContext1,0xA7F026DA,0xA5F8,0x4487,0xA5,0x64,0x15,0xE3,0x43,0x57,0x65,0x1E);" )
cpp_quote( "DEFINE_GUID(IID_ID3D11VideoDevice1,0x29DA1D51,0x1321,0x4454,0x80,0x4B,0xF5,0xFC,0x9F,0x86,0x1F,0x0F);" )
cpp_quote( "DEFINE_GUID(IID_ID3D11VideoProcessorEnumerator1,0x465217F2,0x5568,0x43CF,0xB5,0xB9,0xF6,0x1D,0x54,0x53,0x1C,0xA1);" )
cpp_quote( "DEFINE_GUID(IID_ID3D11Device1,0xa04bfb29,0x08ef,0x43d6,0xa4,0x9c,0xa9,0xbd,0xbd,0xcb,0xe6,0x86);" )
cpp_quote( "DEFINE_GUID(IID_ID3DUserDefinedAnnotation,0xb2daad8b,0x03d4,0x4dbf,0x95,0xeb,0x32,0xab,0x4b,0x63,0xd0,0xab);" )