IMFAttributes::GetItemByIndex 方法 (mfobjects.h)

检索指定索引处的属性。

语法

HRESULT GetItemByIndex(
  [in]      UINT32      unIndex,
  [out]     GUID        *pguidKey,
  [in, out] PROPVARIANT *pValue
);

参数

[in] unIndex

要检索的属性的索引。 若要获取属性数,请调用 IMFAttributes::GetCount

[out] pguidKey

接收标识此属性的 GUID。

[in, out] pValue

指向接收值的 PROPVARIANT 的指针。 此参数可以为 NULL。 如果它不为 NULL,则方法使用属性值的副本填充 PROPVARIANT 。 调用 PropVariantClear 以释放此方法分配的内存。

返回值

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

返回代码 说明
S_OK
方法成功。
E_INVALIDARG
索引无效。

注解

若要以线程安全的方式枚举对象的所有属性,请执行以下操作:

  1. 调用 IMFAttributes::LockStore 以防止另一个线程添加或删除属性。
  2. 调用 IMFAttributes::GetCount 查找属性数。
  3. 调用 GetItemByIndex 按索引获取每个属性。
  4. 调用 IMFAttributes::UnlockStore 以解锁属性存储。
如果安装了 Windows Media Format 11 SDK 可再发行组件,则此接口在以下平台上可用:
  • 具有 Service Pack 2 的 Windows XP (SP2) 及更高版本。
  • Windows XP Media Center Edition 2005 KB900325 (Windows XP Media Center Edition 2005) 和安装KB925766 (2006 年 10 月更新汇总的 Windows XP Media Center Edition) 。

要求

要求
最低受支持的客户端 Windows Vista [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2008 [桌面应用 | UWP 应用]
目标平台 Windows
标头 mfobjects.h (包括 Mfidl.h)
Library Mfuuid.lib

另请参阅

属性和属性

IMFAttributes