Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Извлекает строку расширенных символов, связанную с ключом.
Синтаксис
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 , который выделяет буфер для хранения строки.
Этот интерфейс доступен на следующих платформах, если установлены распространяемые компоненты пакета SDK формата 11 для Windows Media:
- Windows XP с пакетом обновления 2 (SP2) и более поздних версий.
- Windows XP Media Center Edition 2005 с установленным KB900325 (Windows XP Media Center Edition 2005) и KB925766 (накопительный пакет обновления для Windows XP Media Center Edition за октябрь 2006 г.).
Примеры
В следующем примере кода показано, как получить атрибут, значение которого является строкой.
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 |
| Header | mfobjects.h (включая Mfidl.h) |
| Библиотека | Mfuuid.lib |