// d3d10umddi.h
PFND3D11_1DDI_CREATEVIDEODECODER Pfnd3d111DdiCreatevideodecoder;
HRESULT Pfnd3d111DdiCreatevideodecoder(
D3D10DDI_HDEVICE unnamedParam1,
const D3D11_1DDIARG_CREATEVIDEODECODER *unnamedParam2,
D3D11_1DDI_HDECODE unnamedParam3,
D3D11_1DDI_HRTDECODE unnamedParam4
)
{...}
View the official Windows Driver Kit DDI referenceNo description available.
Creates a video decoder object.
unnamedParam1hDevice [in]
A handle to the display device (graphics context).
unnamedParam2pCreateData [in]
A pointer to a D3D11_1DDIARG_CREATEVIDEODECODER structure. This structure specifies the attributes of the video decoder object to be created.
unnamedParam3hDecode [in]
A handle to the driver's private data for the video decoder object.
unnamedParam4hRTDecode [in]
A handle to the video decoder object that the driver should use when it calls back into the runtime.
CreateVideoDecoder returns one of the following values:
| Return code | Description |
|---|---|
| S_OK | The video decoder object was created successfully. |
| D3DDDIERR_DEVICEREMOVED | The graphics adapter was removed. |
| E_OUTOFMEMORY | Memory was not available to complete the operation. |
The Microsoft Direct3D runtime calls CreateVideoDecoder after it has called the driver's CalcPrivateVideoDecoderSize to determine the size in bytes for the private data that the driver requires for the video decoder object. The runtime allocates the memory for this private data for the driver. The driver uses this memory to store private data that is related to the video decoder object.
When the runtime calls CreateVideoDecoder, it passes the handle to the private data memory in the hDecoder parameter. This handle is actually a pointer to the memory.
The driver must keep track of the handle to the display device that was used to create the cryptographic session. The driver should fail all subsequent calls that use this created cryptographic session, such as VideoDecoderBeginFrame, if the display device that is specified in those calls is different from the display device that was used to create the video decoder.
D3D11_1DDIARG_CREATEVIDEODECODER
NegotiateCryptoSessionKeyExchange