CreateVideoDecoder routine

Creates a video decoder object.


HRESULT APIENTRY* CreateVideoDecoder(
  _In_       D3D10DDI_HDEVICE                 hDevice,
  _In_ const D3D11_1DDIARG_CREATEVIDEODECODER *pCreateData,
  _In_       D3D11_1DDI_HDECODE               hDecoder,
  _In_       D3D11_1DDI_HRTDECODE             hRTDecode


hDevice [in]

A handle to the display device (graphics context).

pCreateData [in]

A pointer to a D3D11_1DDIARG_CREATEVIDEODECODER structure. This structure specifies the attributes of the video decoder object to be created.

hDecoder [in]

A handle to the driver's private data for the video decoder object. For more information, see the Remarks section.

hRTDecode [in]

A handle to the video decoder object that the driver should use when it calls back into the runtime.

Return value

CreateVideoDecoder returns one of the following values:

Return codeDescription

The video decoder object was created successfully.


The graphics adapter was removed.


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.


Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012

Target platform


D3d10umddi.h (include D3d10umddi.h)

See also




Send comments about this topic to Microsoft