Метод IDirect3DDeviceManager9::GetVideoService (dxva2api.h)
Возвращает интерфейс службы DirectX Video Acceleration (DXVA).
Синтаксис
HRESULT GetVideoService(
[in] HANDLE hDevice,
[in] REFIID riid,
[out] void **ppService
);
Параметры
[in] hDevice
Дескриптор для устройства Direct3D. Чтобы получить дескриптор устройства, вызовите IDirect3DeviceManager9::OpenDeviceHandle.
[in] riid
Идентификатор IID запрошенного интерфейса. Устройство Direct3D может поддерживать следующие интерфейсы службы DXVA:
[out] ppService
Получает указатель на запрошенный интерфейс. Вызывающий объект должен освободить интерфейс .
Возвращаемое значение
Метод возвращает HRESULT. Допустимые значения включают, но не ограничиваются, значения, приведенные в следующей таблице.
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
|
Недопустимый дескриптор устройства. |
|
Устройство Direct3D не поддерживает ускорение видео. |
|
Диспетчер устройств Direct3D не инициализирован. Владелец устройства должен вызвать IDirect3DDeviceManager9::ResetDevice. |
|
Указанный дескриптор не является дескриптором устройства Direct3D. |
Комментарии
Если метод возвращает DXVA2_E_NEW_VIDEO_DEVICE, вызовите IDirect3DeviceManager9::CloseDeviceHandle , чтобы закрыть дескриптор, а затем снова вызовите OpenDeviceHandle , чтобы получить новый дескриптор. Метод IDirect3DDeviceManager9::ResetDevice делает недействительными все открытые дескрипторы устройств.
Примеры
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;
}
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | dxva2api.h |