MFCreateDeviceSource 関数 (mfidl.h)
ハードウェア キャプチャ デバイスのメディア ソースを作成します。
構文
HRESULT MFCreateDeviceSource(
[in] IMFAttributes *pAttributes,
[out] IMFMediaSource **ppSource
);
パラメーター
[in] pAttributes
デバイスの選択に使用される属性ストアの IMFAttributes インターフェイスへのポインター。 「解説」を参照してください。
[out] ppSource
メディア ソースの IMFMediaSource インターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。
戻り値
この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。
注釈
大事なキャプチャ デバイスが不要になったら、MFCreateDeviceSource を呼び出して取得した IMFMediaSource オブジェクトで Shutdown を呼び出して、デバイスをシャットダウンする必要があります。 Shutdown の呼び出しに失敗すると、Shutdown が呼び出されるまでシステムが IMFMediaSource リソースへの参照を保持する可能性があるため、メモリ リンクが発生する可能性があります。
オーディオ キャプチャ デバイスの場合は、必要に応じて次のいずれかの属性を設定します。
属性 | 説明 |
---|---|
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID | オーディオ キャプチャ デバイスのオーディオ エンドポイント ID を指定します。 |
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ROLE |
デバイス ロールを指定します。 この属性が設定されている場合、この関数は、そのデバイス ロールの既定のオーディオ キャプチャ デバイスを使用します。
この属性を MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID 属性と組み合わせないでください。 |
どちらの属性も指定しない場合、関数は eCommunications ロールの既定のオーディオ キャプチャ デバイスを選択します。
ビデオ キャプチャ デバイスの場合は、次の属性を設定する必要があります。
属性 | 説明 |
---|---|
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK | デバイスへのシンボリック リンクを指定します。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | mfidl.h |
Library | Mf.lib |
[DLL] | Mf.dll |