IDirect3DDeviceManager9::GetVideoService method (dxva2api.h)
Gets a DirectX Video Acceleration (DXVA) service interface.
Syntax
HRESULT GetVideoService(
[in] HANDLE hDevice,
[in] REFIID riid,
[out] void **ppService
);
Parameters
[in] hDevice
A handle to a Direct3D device. To get a device handle, call IDirect3DDeviceManager9::OpenDeviceHandle.
[in] riid
The interface identifier (IID) of the requested interface. The Direct3D device might support the following DXVA service interfaces:
[out] ppService
Receives a pointer to the requested interface. The caller must release the interface.
Return value
The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.
Return code | Description |
---|---|
|
The method succeeded. |
|
The device handle is invalid. |
|
The Direct3D device does not support video acceleration. |
|
The Direct3D device manager was not initialized. The owner of the device must call IDirect3DDeviceManager9::ResetDevice. |
|
The specified handle is not a Direct3D device handle. |
Remarks
If the method returns DXVA2_E_NEW_VIDEO_DEVICE, call IDirect3DDeviceManager9::CloseDeviceHandle to close the handle and then call OpenDeviceHandle again to get a new handle. The IDirect3DDeviceManager9::ResetDevice method invalidates all open device handles.
Examples
HRESULT GetVideoProcessorService(
IDirect3DDeviceManager9 *pDeviceManager,
IDirectXVideoProcessorService **ppVPService
)
{
*ppVPService = NULL;
HANDLE hDevice;
HRESULT hr = pDeviceManager->OpenDeviceHandle(&hDevice);
if (SUCCEEDED(hr))
{
// Get the video processor service
HRESULT hr2 = pDeviceManager->GetVideoService(
hDevice,
IID_PPV_ARGS(ppVPService)
);
// Close the device handle.
hr = pDeviceManager->CloseDeviceHandle(hDevice);
if (FAILED(hr2))
{
hr = hr2;
}
}
if (FAILED(hr))
{
SafeRelease(ppVPService);
}
return hr;
}
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Target Platform | Windows |
Header | dxva2api.h |