IMFDXGIDeviceManager::GetVideoService メソッド (mfobjects.h)
インターフェイスについて Microsoft Direct3D デバイスに対してクエリを実行します。
構文
HRESULT GetVideoService(
[in] HANDLE hDevice,
[in] REFIID riid,
[out] void **ppService
);
パラメーター
[in] hDevice
Direct3D デバイスへのハンドル。 デバイス ハンドルを取得するには、 IMFDXGIDeviceManager::OpenDeviceHandle を呼び出します。
[in] riid
要求したインターフェイスのインターフェイス ID (IID: Interface Identifier)。 Direct3D デバイスでは、次のインターフェイスがサポートされています。
- ID3D11Device。 Direct3D11 デバイスへのポインターを取得するには、riid として IID_ID3D11Deviceを使用します。
- ID3D11VideoDevice。 Direct3D11 ビデオ デバイスへのポインターを取得するには、riid として IID_ID3D11VideoDeviceを使用します。
[out] ppService
要求されたインターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
指定したハンドルは Direct3D デバイス ハンドルではありません。 |
|
DXGI デバイス マネージャーが初期化されませんでした。 デバイスの所有者は、 IMFDXGIDeviceManager::ResetDevice を呼び出す必要があります。 |
|
デバイス ハンドルが無効です。 |
|
ID3D11VideoDevice が指定され、作成された D3D デバイスが参照ラスタライザーまたは WARP を使用している場合。 または、ハードウェア デバイスであり、Microsoft Basic ディスプレイ アダプターを使用しています。 |
注釈
メソッドが 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 を含む) |