IMFASFStreamConfig::GetPayloadExtension メソッド (wmcontainer.h)

既存のペイロード拡張機能に関する情報を取得します。

構文

HRESULT GetPayloadExtension(
  [in]      WORD  wPayloadExtensionNumber,
  [out]     GUID  *pguidExtensionSystemID,
  [out]     WORD  *pcbExtensionDataSize,
  [out]     BYTE  *pbExtensionSystemInfo,
  [in, out] DWORD *pcbExtensionSystemInfo
);

パラメーター

[in] wPayloadExtensionNumber

ペイロード拡張インデックス。 有効なインデックスの範囲は 0 から、 IMFASFStreamConfig::GetPayloadExtensionCount を呼び出して取得した拡張機能の数より 1 つ小さくなります。

[out] pguidExtensionSystemID

ペイロード拡張機能を識別する GUID を受け取ります。 定義済みのペイロード拡張機能の一覧については、「 ASF ペイロード拡張機能 GUID」を参照してください。 アプリケーションでは、カスタム ペイロード拡張機能を定義することもできます。

[out] pcbExtensionDataSize

拡張機能の各サンプルに追加されたバイト数を受け取ります。

[out] pbExtensionSystemInfo

この拡張システムに関する情報を受け取るバッファーへのポインター。 この情報はすべてのサンプルで同じであり、(各サンプルには含まれません) コンテンツ ヘッダーに格納されます。 このパラメーターは、NULL でもかまいません。 バッファーの必要なサイズを見つけるには、このパラメーターを NULL に設定します。サイズは pcbExtensionSystemInfo で返されます。

[in, out] pcbExtensionSystemInfo

入力時に、 pbExtensionSystemInfo が指すバッファーのサイズを指定します。 出力時に、 pbExtensionSystemInfo バッファーの必要なサイズをバイト単位で受け取ります。

戻り値

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

リターン コード 説明
S_OK
メソッドが成功しました。
E_INVALIDARG
引数が無効です。
MF_E_BUFFERTOOSMALL
pbExtensionSystemInfo で指定されたバッファーが小さすぎます。
MF_E_INVALIDINDEX
wPayloadExtensionNumber パラメーターが範囲外です。

要件

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

こちらもご覧ください

IMFASFStreamConfig

IMFASFStreamConfig::AddPayloadExtension

IMFASFStreamConfig::GetPayloadExtensionCount