IMFTransform::GetStreamIDs メソッド (mftransform.h)

この Media Foundation 変換 (MFT) の入力ストリームと出力ストリームのストリーム識別子を取得します。

構文

HRESULT GetStreamIDs(
  [in]  DWORD dwInputIDArraySize,
  [out] DWORD *pdwInputIDs,
  [in]  DWORD dwOutputIDArraySize,
  [out] DWORD *pdwOutputIDs
);

パラメーター

[in] dwInputIDArraySize

pdwInputIDs 配列内の要素の数。

[out] pdwInputIDs

呼び出し元によって割り当てられた配列へのポインター。 メソッドは、配列に入力ストリーム識別子を入力します。 配列のサイズは、少なくとも入力ストリームの数と等しい必要があります。 入力ストリームの数を取得するには、 IMFTransform::GetStreamCount を呼び出します。

呼び出し元が入力ストリームの数より大きい配列を渡す場合、MFT は余分な配列エントリに値を書き込む必要があります。

[in] dwOutputIDArraySize

pdwOutputIDs 配列内の要素の数。

[out] pdwOutputIDs

呼び出し元によって割り当てられた配列へのポインター。 メソッドは、配列に出力ストリーム識別子を入力します。 配列のサイズは、少なくとも出力ストリームの数と等しい必要があります。 出力ストリームの数を取得するには、 GetStreamCount を呼び出します。

呼び出し元が出力ストリームの数より大きい配列を渡す場合、MFT は余分な配列エントリに値を書き込む必要があります。

戻り値

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

リターン コード 説明
S_OK
メソッドが成功しました。
E_NOTIMPL
実装されていません。 「解説」を参照してください。
MF_E_BUFFERTOOSMALL
配列の一方または両方が小さすぎます。

解説

ストリーム識別子は、一部の MFT でストリームを追加または削除できるため、ストリームのインデックスが一意ではない可能性があるため、必要です。 そのため、ストリームを操作する IMFTransform メソッドはストリーム識別子を受け取ります。

このメソッドは、次の両方の条件に該当する場合に E_NOTIMPL を返すことができます。

  • 変換には固定数のストリームがあります。
  • ストリームの番号は 0 から n から 1 まで連続して行われます。n は入力ストリームまたは出力ストリームの数です。 つまり、最初の入力ストリームは 0、2 番目は 1 などです。最初の出力ストリームは 0、2 番目は 1 などです。
次のいずれかの条件に該当する場合は、このメソッドを実装する必要があります。
  • MFT では、出力ストリームを追加または削除できます。
  • MFT を使用すると、クライアントは入力ストリームを追加または削除できます。
  • ストリーム識別子は連続していません。
すべての入力ストリーム識別子は MFT 内で一意である必要があり、すべての出力ストリーム識別子は一意である必要があります。 ただし、入力ストリームと出力ストリームは同じ識別子を共有できます。

クライアントが入力ストリームを追加する場合、クライアントは識別子を割り当てるので、一意である限り、MFT は任意の識別子を許可する必要があります。 MFT によって出力ストリームが作成される場合、MFT によって識別子が割り当てられます。

規則により、MFT に固定入力ストリームが 1 つだけあり、1 つの固定出力ストリームがある場合は、識別子 0 を両方のストリームに割り当てる必要があります。

mftransform.h を含める前に MFT_UNIQUE_METHOD_NAMES が定義されている場合、このメソッドの名前は MFTGetStreamIDs に変更されます。 「ハイブリッド DMO/MFT オブジェクトの作成」を参照してください。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー mftransform.h
Library Mfuuid.lib

関連項目

IMFTransform

Media Foundation Transforms