Método IDirect3DDeviceManager9::GetVideoService (dxva2api.h)
Obtiene una interfaz de servicio de Aceleración de vídeo DirectX (DXVA).
Sintaxis
HRESULT GetVideoService(
[in] HANDLE hDevice,
[in] REFIID riid,
[out] void **ppService
);
Parámetros
[in] hDevice
Identificador de un dispositivo Direct3D. Para obtener un identificador de dispositivo, llame a IDirect3DDeviceManager9::OpenDeviceHandle.
[in] riid
Identificador de interfaz (IID) de la interfaz solicitada. El dispositivo Direct3D podría admitir las siguientes interfaces de servicio DXVA:
[out] ppService
Recibe un puntero a la interfaz solicitada. El autor de la llamada debe liberar la interfaz .
Valor devuelto
El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.
Código devuelto | Descripción |
---|---|
|
El método se ha llevado a cabo de forma correcta. |
|
El identificador del dispositivo no es válido. |
|
El dispositivo Direct3D no admite la aceleración de vídeo. |
|
El administrador de dispositivos direct3D no se inicializó. El propietario del dispositivo debe llamar a IDirect3DDeviceManager9::ResetDevice. |
|
El identificador especificado no es un identificador de dispositivo Direct3D. |
Comentarios
Si el método devuelve DXVA2_E_NEW_VIDEO_DEVICE, llame a IDirect3DDeviceManager9::CloseDeviceHandle para cerrar el identificador y, a continuación, llame a OpenDeviceHandle de nuevo para obtener un nuevo identificador. El método IDirect3DDeviceManager9::ResetDevice invalida todos los identificadores de dispositivo abiertos.
Ejemplos
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;
}
Requisitos
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | dxva2api.h |
Consulte también
Direct3D Administrador de dispositivos