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 リソースへの参照を保持する可能性があるため、メモリ リンクが発生する可能性があります。
 
pAttributes パラメーターは属性ストアを指定します。 属性ストアを作成するには、 MFCreateAttributes 関数を 呼び出します。 デバイスの種類 (オーディオまたはビデオ) を指定する MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE 属性を設定する必要があります。

オーディオ キャプチャ デバイスの場合は、必要に応じて次のいずれかの属性を設定します。

属性 説明
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

こちらもご覧ください

Media Foundation のオーディオ/ビデオ キャプチャ

デバイス属性のキャプチャ

MFCreateDeviceSourceActivate

メディア ファンデーション機能