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 再頒布可能コンポーネントがインストールされている場合、次のプラットフォームで使用できます。
  • Windows XP Service Pack 2 (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