次の方法で共有


IMFSequencerSource::GetPresentationContext メソッド (mfidl.h)

プレゼンテーション記述子を、関連付けられているシーケンサー要素識別子と、それが表すトポロジにマップします。

構文

HRESULT GetPresentationContext(
  [in]  IMFPresentationDescriptor *pPD,
  [out] MFSequencerElementId      *pId,
  [out] IMFTopology               **ppTopology
);

パラメーター

[in] pPD

プレゼンテーション記述子の IMFPresentationDescriptor インターフェイスへのポインター。

[out] pId

シーケンサー要素識別子を受け取ります。 この値は、アプリケーションが IMFSequencerSource::AppendTopology を呼び出すときに、シーケンサー ソースによって割り当てられます。 このパラメーターは省略可能であり、 NULL にすることができます

[out] ppTopology

アプリケーションがシーケンサー ソースに追加した元のトポロジの IMFTopology インターフェイスへのポインターを受け取ります。 呼び出し元はインターフェイスを解放する必要があります。 シーケンサー ソースが次のプレゼンテーションに切り替わった場合、このパラメーターは NULL 値を受け取ることができます。 このパラメーターは省略可能であり、 NULL にすることができます

戻り値

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

リターン コード 説明
S_OK
メソッドが成功しました。
E_INVALIDARG
プレゼンテーション記述子が無効です。
MF_S_SEQUENCER_CONTEXT_CANCELED
このセグメントは取り消されました。

解説

ppTopology で返されるトポロジは、アプリケーションが AppendTopology で指定した元のトポロジです。 このトポロジのソース ノードには、ネイティブ ソースへのポインターが含まれています。 メディア セッションでこのトポロジをキューに登録しないでください。 代わりに、 IMFMediaSourceTopologyProvider::GetMediaSourceTopology を呼び出して、シーケンサー ソースの変更されたトポロジを取得します。 変更されたトポロジのソース ノードには、ネイティブ ソースではなく、シーケンサー ソースへのポインターが含まれています。

要件

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

関連項目

IMFSequencerSource

Sequencer ソース