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) |