次の方法で共有


IMFASFIndexer::GenerateIndexEntries メソッド (wmcontainer.h)

ファイルの ASF パケットを受け入れ、それらのインデックス エントリを作成します。

構文

HRESULT GenerateIndexEntries(
  [in] IMFSample *pIASFPacketSample
);

パラメーター

[in] pIASFPacketSample

ASF パケットを含むメディア サンプルの IMFSample インターフェイスへのポインター。

戻り値

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

リターン コード 説明
S_OK
メソッドが成功しました。
E_INVALIDARG
渡された引数は NULL です
MF_E_NOT_INITIALIZED
インデクサーが初期化されていません。

解説

ASF インデクサーは、ファイルのインデックスを内部的に作成します。 インデックスを IMFASFIndexer::CommitIndex でコミットし、IMFASFIndexer::GetCompletedIndex を呼び出してインデックス エントリをメディア バッファーに書き込むことで、インデクサーに送信されるすべてのデータ パケットのインデックスを取得できます。 インデックスを保持するのに十分な大きさのバッファーを割り当てることができるようにインデックスのサイズを決定するには、 IMFASFIndexer::GetIndexWriteSpace を呼び出します。

このメソッドがインデックス エントリを作成すると、 IMFASFIndexer::GetSeekPositionForValue ですぐに使用できます。

pIASFPacketSample で指定されたメディア サンプルは、1 つの ASF パケットを含むバッファーを保持する必要があります。 IMFASFMultiplexer::GetNextPacket メソッドを呼び出して、ASF マルチプレクサーからサンプルを取得します。

インデックスを書き込む場合にのみ、インデックスの読み取り中にこのメソッドを使用することはできません。

要件

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

関連項目

ASF Index オブジェクト

IMFASFIndexer