Функция WindowsPromoteStringBuffer (winstring.h)
Создает HSTRING из указанного HSTRING_BUFFER.
Синтаксис
HRESULT WindowsPromoteStringBuffer(
HSTRING_BUFFER bufferHandle,
HSTRING *string
);
Параметры
bufferHandle
Тип: [in] HSTRING_BUFFER
Буфер, используемый для нового объекта HSTRING. Для создания HSTRING_BUFFER необходимо использовать функцию WindowsPreallocateStringBuffer.
string
Тип: [out] HSTRING*
Созданный объект HSTRING , содержащий содержимое bufferHandle.
Возвращаемое значение
Тип: HRESULT
Эта функция может возвращать одно из этих значений.
Код возврата | Описание |
---|---|
|
HSTRING успешно создан. |
|
строка имеет значение NULL. |
|
bufferHandle не был создан путем вызова функции WindowsPreallocateStringBuffer или вызывающий объект перезаписал завершающий символ NULL в bufferHandle. |
Комментарии
Используйте функцию WindowsPromoteStringBuffer , чтобы создать HSTRING на основе HSTRING_BUFFER. Вызов функции WindowsPromoteStringBuffer преобразует изменяемый буфер в неизменяемый HSTRING. Используйте функцию WindowsPreallocateStringBuffer для создания HSTRING_BUFFER.
Если вызов WindowsPromoteStringBuffer завершается сбоем , можно вызвать функцию WindowsDeleteStringBuffer , чтобы отменить изменяемый буфер.
Каждый вызов функции WindowsPromoteStringBuffer должен соответствовать соответствующему вызову WindowsDeleteString.
Примеры
В следующем примере кода показано, как использовать функцию WindowsPromoteStringBuffer .
#include <winstring.h>
int main()
{
HSTRING hString = NULL;
HSTRING_BUFFER hStringBuffer = NULL;
PWSTR strBuffer = NULL;
HRESULT hr = WindowsPreallocateStringBuffer(10, &strBuffer, &hStringBuffer);
if (SUCCEEDED(hr))
{
// Fill in the buffer
hr = WindowsPromoteStringBuffer(hStringBuffer, &hString);
if (SUCCEEDED(hr))
{
WindowsDeleteString(hString);
}
else
{
WindowsDeleteStringBuffer(hStringBuffer);
}
}
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2012 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | winstring.h |
Библиотека | RuntimeObject.lib |
DLL | ComBase.dll |