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

キーに関連付けられているワイド文字列を取得します。

構文

HRESULT GetString(
  [in]  REFGUID guidKey,
  [out] LPWSTR  pwszValue,
  [in]  UINT32  cchBufSize,
  [out] UINT32  *pcchLength
);

パラメーター

[in] guidKey

取得する値を識別する GUID。 属性の種類は MF_ATTRIBUTE_STRINGする必要があります。

[out] pwszValue

呼び出し元によって割り当てられたワイド文字配列へのポインター。 配列は、終端 の NULL 文字を含め、文字列を保持するのに十分な大きさである必要があります。 キーが見つかり、値が文字列型の場合、メソッドは文字列をこのバッファーにコピーします。 文字列の長さを調べるには、 IMFAttributes::GetStringLength を呼び出します。

[in] cchBufSize

pwszValue 配列のサイズ (文字数)。 この値には、終端の NULL 文字が含まれます。

[out] pcchLength

終端の NULL 文字を除き、文字列内の文字数を受け取ります。 このパラメーターは、NULL でもかまいません。

戻り値

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

リターン コード 説明
S_OK
メソッドが成功しました。
E_OUTOFMEMORY
文字列の長さが大きすぎて UINT32 値に収まりません。
E_NOT_SUFFICIENT_BUFFER
バッファーは、文字列を保持するのに十分な大きさではありません。
MF_E_ATTRIBUTENOTFOUND
指定したキーが見つかりませんでした。
MF_E_INVALIDTYPE
属性値は文字列ではありません。

注釈

また、文字列を保持するバッファーを割り当てる IMFAttributes::GetAllocatedString メソッドを使用することもできます。

このインターフェイスは、Windows Media Format 11 SDK 再頒布可能コンポーネントがインストールされている場合、次のプラットフォームで使用できます。

  • Service Pack 2 (SP2) 以降の Windows XP。
  • Windows XP Media Center Edition 2005 と KB900325 (Windows XP Media Center Edition 2005) とKB925766 (2006 年 10 月 Windows XP Media Center Edition の更新プログラムのロールアップ) がインストールされています。

次のコード例は、値が文字列である属性を取得する方法を示しています。

HRESULT AttributeGetString(IMFAttributes *pAttributes)
{
    HRESULT hr = S_OK;
    UINT32 cchLength = 0;
    WCHAR *pString = NULL;

    hr = pAttributes->GetStringLength(MY_ATTRIBUTE, &cchLength);
    
    if (SUCCEEDED(hr))
    {
        pString = new WCHAR[cchLength + 1];
        if (pString == NULL)
        {
            hr = E_OUTOFMEMORY;
        }
    }

    if (SUCCEEDED(hr))
    {
        hr = pAttributes->GetString(
            MY_ATTRIBUTE, pString, cchLength + 1, &cchLength);
    }

    if (pString)
    {
        delete [] pString;
    }
    return hr;
}

要件

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

こちらもご覧ください

属性とプロパティ

IMFAttributes

MF_ATTRIBUTE_TYPE