共用方式為


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 方法會使所有開啟的裝置句柄失效。

如需詳細資訊,請參閱 支援 Media Foundation 中的 Direct3D 11 影片譯碼

規格需求

需求
最低支援的用戶端 Windows 8 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2012 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 mfobjects.h (包含 Mfidl.h)

另請參閱

IMFDXGIDeviceManager