IMFAttributes::GetItem メソッド (mfobjects.h)

キーに関連付けられている値を取得します。

構文

HRESULT GetItem(
  [in]      REFGUID     guidKey,
  [in, out] PROPVARIANT *pValue
);

パラメーター

[in] guidKey

取得する値を識別する GUID。

[in, out] pValue

値を受け取る PROPVARIANT へのポインター。 メソッドは、値が見つかった場合に、格納されている値のコピーを PROPVARIANT に入力します。 PropVariantClear を呼び出して、このメソッドによって割り当てられたメモリを解放します。 このパラメーターは、NULL でもかまいません。 このパラメーターが NULL の場合、メソッドはキーを検索し、キーが見つかった場合はS_OKを返しますが、値はコピーしません。

戻り値

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

リターン コード 説明
S_OK
メソッドが成功しました。
MF_E_ATTRIBUTENOTFOUND
指定したキーが見つかりませんでした。

注釈

このインターフェイスは、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 の更新プログラムのロールアップ) がインストールされています。

次の例では、ある属性ストアから別の属性ストアに属性をコピーします。

HRESULT CopyAttribute(IMFAttributes *pFrom, IMFAttributes *pTo, REFGUID guidKey)
{
    PROPVARIANT val;

    HRESULT hr = pFrom->GetItem(guidKey, &val);

    if (SUCCEEDED(hr))
    {
        hr = pTo->SetItem(guidKey, val);
        PropVariantClear(&val);
    }
    else if (hr == MF_E_ATTRIBUTENOTFOUND)
    {
        hr = S_OK;
    }
    return hr;
}

要件

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

こちらもご覧ください

属性とプロパティ

IMFAttributes