CreateVideoProcessor routine

Creates a video processor object.


HRESULT APIENTRY* CreateVideoProcessor(
  _In_       D3D10DDI_HDEVICE                   hDevice,
  _In_       D3D11_1DDI_HVIDEOPROCESSOR         hVideoProcessor,
  _In_       D3D11_1DDI_HRTVIDEOPROCESSOR       hRTVideoProcessor


hDevice [in]

A handle to the display device (graphics context).

pCreateData [in]

A pointer to a D3D11_1DDIARG_CREATEVIDEOPROCESSOR structure. This structure specifies the attributes of the video processor object to be created.

hVideoProcessor [in]

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

hRTVideoProcessor [in]

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

Return value

CreateVideoProcessor returns one of the following values:

Return codeDescription

The video processor object was created successfully.


The graphics adapter was removed.


Memory was not available to complete the operation.



The CreateVideoProcessor function creates a video processor object that contains specific capabilities and state. Multiple video processor objects can exist at the same time, each with its own unique state.

The Direct3D runtime calls CreateVideoProcessor after it has called the driver's CalcPrivateVideoProcessorSize to determine the size in bytes for the private data that the driver requires for the video processor 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 processor object.

When the runtime calls CreateVideoProcessor, it passes the handle to the private data memory in the hProcessor parameter. This handle is actually a pointer to the memory.


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