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 可轉散發元件,此介面可在下列平臺上使用:
- Windows XP with Service Pack 2 (SP2) 和更新版本。
- 已安裝 Windows XP Media Center Edition 2005 KB900325 (Windows XP Media Center 版本 2005) 和 KB925766 (2006 年 10 月更新匯總) 。
範例
下列程式代碼範例示範如何取得其值為字串的屬性。
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 (include Mfidl.h) |
程式庫 | Mfuuid.lib |