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 指向的缓冲区的大小(以字节为单位)。 如果 pbIndexDescriptor 为 NULL,则该值可以为 。 在输出时,接收索引描述符的大小(以字节为单位)。

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。
MF_E_BUFFERTOOSMALL
在dexDescriptor 中指定的缓冲区大小太小。

注解

若要读取现有的 ASF 索引,请在调用此方法之前调用 IMFASFIndexer::SetIndexByteStreams

如果流存在索引,并且传入 到MF_E_BUFFERTOOSMALL的 pbIndexDescriptor 缓冲区的值小于所需的 pbIndexDescriptor 缓冲区大小。 所需的缓冲区大小在 板IndexDescriptor 参数中返回。

如果指定流没有索引,该方法在 pfIsIndexed 参数中返回 FALSE

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 wmcontainer.h
Library Mfuuid.lib

另请参阅

ASF 索引对象

IMFASFIndexer