Поделиться через


Метод IMFDXGIDeviceManager::GetVideoService (mfobjects.h)

Запрашивает интерфейс у устройства Microsoft Direct3D.

Синтаксис

HRESULT GetVideoService(
  [in]  HANDLE hDevice,
  [in]  REFIID riid,
  [out] void   **ppService
);

Параметры

[in] hDevice

Дескриптор для устройства Direct3D. Чтобы получить дескриптор устройства, вызовите IMFDXGIDeviceManager::OpenDeviceHandle.

[in] riid

Идентификатор IID запрошенного интерфейса. Устройство Direct3D поддерживает следующие интерфейсы:

  • ID3D11Device. Чтобы получить указатель на устройство Direct3D11, используйте IID_ID3D11Device в качестве riid.
  • ID3D11VideoDevice. Чтобы получить указатель на видеоустройство Direct3D11, используйте IID_ID3D11VideoDevice в качестве riid.

[out] ppService

Получает указатель на запрошенный интерфейс. Вызывающий объект должен освободить интерфейс .

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Код возврата Описание
S_OK
Успешно.
E_HANDLE
Указанный дескриптор не является дескриптором устройства Direct3D.
MF_E_DXGI_DEVICE_NOT_INITIALIZED
Диспетчер устройств DXGI не инициализирована. Владелец устройства должен вызвать IMFDXGIDeviceManager::ResetDevice.
MF_E_DXGI_NEW_VIDEO_DEVICE
Недопустимый дескриптор устройства.
E_NOINTERFACE
Если указан id3D11VideoDevice и созданное устройство D3D использует растеризатор ссылок или WARP. Или это аппаратное устройство, и вы используете Базовый видеоадаптер Microsoft.

Комментарии

Если метод возвращает MF_E_DXGI_NEW_VIDEO_DEVICE, вызовите метод IMFDXGIDeviceManager::CloseDeviceHandle , чтобы закрыть дескриптор, а затем снова вызовите OpenDeviceHandle , чтобы получить новый дескриптор. Метод IMFDXGIDeviceManager::ResetDevice делает недействительными все открытые дескрипторы устройств.

Дополнительные сведения см. в статье Поддержка декодирования видео Direct3D 11 в Media Foundation.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2012 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header mfobjects.h (включая Mfidl.h)

См. также раздел

IMFDXGIDeviceManager