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 を返します。 有効な値を次の表に示しますが、これ以外にもあります。
リターン コード | 説明 |
---|---|
|
メソッドが成功しました。 |
|
文字列の長さが大きすぎて UINT32 値に収まりません。 |
|
バッファーは、文字列を保持するのに十分な大きさではありません。 |
|
指定したキーが見つかりませんでした。 |
|
属性値は文字列ではありません。 |
注釈
また、文字列を保持するバッファーを割り当てる 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 |