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
接收指向所请求接口的指针。 调用方必须释放接口。
返回值
此方法可以返回其中一个值。
返回代码 | 说明 |
---|---|
|
成功。 |
|
指定的句柄不是 Direct3D 设备句柄。 |
|
DXGI 设备管理器未初始化。 设备所有者必须调用 IMFDXGIDeviceManager::ResetDevice。 |
|
设备句柄无效。 |
|
如果指定 了 ID3D11VideoDevice ,并且创建的 D3D 设备使用的是参考光栅器或 WARP。 或者,它是硬件设备,你正在使用 Microsoft 基本显示适配器。 |
注解
如果该方法返回 MF_E_DXGI_NEW_VIDEO_DEVICE,请调用 IMFDXGIDeviceManager::CloseDeviceHandle 以关闭句柄,然后再次调用 OpenDeviceHandle 以获取新句柄。 IMFDXGIDeviceManager::ResetDevice 方法使所有打开的设备句柄失效。
有关详细信息,请参阅 支持 Media Foundation 中的 Direct3D 11 视频解码。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2012 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | mfobjects.h (包括 Mfidl.h) |