IDirectXVideoDecoder::GetCreationParameters method

Retrieves the parameters that were used to create this device.


HRESULT GetCreationParameters(
  [out] GUID                      *pDeviceGuid,
  [out] DXVA2_VideoDesc           *pVideoDesc,
  [out] DXVA2_ConfigPictureDecode *pConfig,
  [out] IDirect3DSurface9         ***pppDecoderRenderTargets,
  [out] UINT                      *pNumSurfaces


pDeviceGuid [out]

Receives the device GUID. This parameter can be NULL.

pVideoDesc [out]

Pointer to a DXVA2_VideoDesc structure that receives a description of the video format. This parameter can be NULL.

pConfig [out]

Pointer to a DXVA2_ConfigPictureDecode structure structure that receives the decoder configuration. This parameter can be NULL.

pppDecoderRenderTargets [out]

Receives an array of IDirect3DSurface9 interface pointers. These pointers represent the decoder render targets. The method allocates the memory for the array and calls AddRef on each of the pointers. The caller must release the pointers and call CoTaskMemFree to free the memory for the array. This parameter can be NULL.

pNumSurfaces [out]

Receives the number of elements in the pppDecoderRenderTargets array. This parameter can be NULL.

Return value

The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return codeDescription

The method succeeded.


Invalid argument. At least one parameter must be non-NULL.



You can set any parameter to NULL if you are not interested in the result. At least one parameter must be non-NULL.

If you specify a non-NULL value for pppDecoderRenderTargets (to receive the render target surfaces), then pNumSurfaces cannot be NULL, because it receives the size of the array returned in pppDecoderRenderTargets.


Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]



See also

DirectX Video Acceleration 2.0