IMFSinkWriter::GetServiceForStream メソッド (mfreadwrite.h)
基になるメディア シンクまたはエンコーダーに対してインターフェイスのクエリを実行します。
構文
HRESULT GetServiceForStream(
[in] DWORD dwStreamIndex,
[in] REFGUID guidService,
[in] REFIID riid,
[out] LPVOID *ppvObject
);
パラメーター
[in] dwStreamIndex
クエリを実行するストリームの 0 から始まるインデックス。メディア シンク自体に対してクエリを実行するために MF_SINK_WRITER_MEDIASINK 。
[in] guidService
サービス識別子 GUID、または GUID_NULL。 値が GUID_NULLの場合、メソッドは QueryInterface を 呼び出して要求されたインターフェイスを取得します。 それ以外の場合、メソッドは IMFGetService::GetService を呼び出します。 サービス識別子の一覧については、「 サービス インターフェイス」を参照してください。
[in] riid
要求されているインターフェイスのインターフェイス識別子 (IID)。
[out] ppvObject
要求されたインターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。
戻り値
このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。
注釈
dwStreamIndex パラメーターが MF_SINK_WRITER_MEDIASINKと等しい場合、メソッドはメディア シンクからインターフェイスを取得しようとします。 それ以外の場合は、指定したインデックス位置にあるストリームのエンコーダーからインターフェイスを取得しようとします。 失敗した場合、またはエンコーダーが存在しない場合、メソッドはメディア シンク上のストリームからインターフェイスを取得しようとします。
シンクの入力と出力の種類が同じで圧縮されている場合は、エンコードが不要で、ビデオ エンコーダーがインスタンス化されない可能性があります。 その場合、 GetServiceForStream はMF_E_UNSUPPORTED_SERVICEを返します。
このインターフェイスは、Windows Vista のプラットフォーム更新プログラムの補足情報がインストールされている場合、Windows Vista で使用できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 用 Windows 7、Windows Vista およびプラットフォーム更新プログラムの補足 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | mfreadwrite.h |