次の方法で共有


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

指定したストリームとインデックスの種類のインデックス設定を取得します。

構文

HRESULT GetIndexStatus(
  [in]      ASF_INDEX_IDENTIFIER *pIndexIdentifier,
  [out]     BOOL                 *pfIsIndexed,
  [out]     BYTE                 *pbIndexDescriptor,
  [in, out] DWORD                *pcbIndexDescriptor
);

パラメーター

[in] pIndexIdentifier

状態を取得するストリーム番号とインデックスの種類を含む ASF_INDEX_IDENTIFIER 構造体へのポインター。

[out] pfIsIndexed

pIndexIdentifier によって記述されたインデックスが作成されたかどうかを指定するブール値を取得する変数。

[out] pbIndexDescriptor

インデックス記述子を受け取るバッファー。 インデックス記述子は 、ASF_INDEX_DESCRIPTOR 構造体で構成され、必要に応じてインデックス固有のデータが続きます。

[in, out] pcbIndexDescriptor

入力時に、 pbIndexDescriptor が指すバッファーのサイズをバイト単位で指定します。 pbIndexDescriptorNULL の場合、値は 0 にすることができます。 出力時に、 はインデックス記述子のサイズをバイト単位で受け取ります。

戻り値

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

リターン コード 説明
S_OK
メソッドが成功しました。
MF_E_BUFFERTOOSMALL
pcbIndexDescriptor で指定されたバッファー サイズが小さすぎます。

注釈

既存の ASF インデックスを読み取る場合は、このメソッドを呼び出す前に IMFASFIndexer::SetIndexByteStreams を呼び出します。

ストリームのインデックスが存在し、 pcbIndexDescriptor に渡される値が pbIndexDescriptor バッファーの必要なサイズより小さい場合、メソッドはMF_E_BUFFERTOOSMALLを返します。 必要なバッファー サイズは 、pcbIndexDescriptor パラメーターで返されます。

指定したストリームのインデックスがない場合、メソッドは pfIsIndexed パラメーターで FALSE を返します。

要件

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

こちらもご覧ください

ASF Index オブジェクト

IMFASFIndexer