次の方法で共有


MFGetTopoNodeCurrentType 関数 (mfidl.h)

トポロジ ノードに関連付けられているストリームのメディアの種類を取得します。

構文

HRESULT MFGetTopoNodeCurrentType(
        IMFTopologyNode *pNode,
        DWORD           dwStreamIndex,
        BOOL            fOutput,
  [out] IMFMediaType    **ppType
);

パラメーター

pNode

IMFTopologyNode インターフェイスへのポインター。

dwStreamIndex

クエリを実行するストリームの識別子。 このパラメーターは、次のように解釈されます。

  • 変換ノード: 値は、入力ストリームまたは出力ストリームの 0 から始まるインデックスです。
  • その他のすべてのノードの種類: 値は 0 である必要があります。

fOutput

TRUE の場合、関数は出力型を取得します。FALSE の場合、関数は入力型を取得します。 このパラメーターは、次のように解釈されます。

  • 出力ノード: 値は TRUE である必要があります。
  • ソース ノード: 値は FALSE である必要があります。
  • Tee ノード: 値は無視されます。
  • 変換ノード: 値が TRUE の場合、 dwStreamIndex パラメーターは出力ストリームのインデックスです。 それ以外の場合、 dwStreamIndex は入力ストリームのインデックスです。

[out] ppType

IMFMediaType インターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。

戻り値

関数は HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード 説明
S_OK
メソッドが成功しました。
MF_E_INVALIDSTREAMNUMBER
ストリーム インデックスが無効です。

解説

この関数は、トポロジ ノードに関連付けられているオブジェクトから実際のメディアの種類を取得します。 pNode パラメーターは、完全に解決されたトポロジに属するノードを指定する必要があります。 ノードが部分トポロジに属している場合、関数はおそらく失敗します。

Tee ノードには、クエリ対象のオブジェクトが関連付けられません。 Tee ノードの場合、関数はノードの入力の種類 (使用可能な場合) を取得します。 それ以外の場合、使用可能な入力タイプがない場合、この関数はノードのプライマリ出力ストリームのメディア・タイプを取得します。 プライマリ出力ストリームは、 MF_TOPONODE_PRIMARYOUTPUT 属性によって識別されます。

要件

   
サポートされている最小のクライアント Windows 7 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mfidl.h
Library Mf.lib
[DLL] Mf.dll

関連項目

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