Función WindowsPromoteStringBuffer (winstring.h)
Crea un HSTRING a partir del HSTRING_BUFFER especificado.
Sintaxis
HRESULT WindowsPromoteStringBuffer(
HSTRING_BUFFER bufferHandle,
HSTRING *string
);
Parámetros
bufferHandle
Tipo: [in] HSTRING_BUFFER
Búfer que se va a usar para el nuevo HSTRING. Debe usar la función WindowsPreallocateStringBuffer para crear el HSTRING_BUFFER.
string
Tipo: [out] HSTRING*
HSTRING recién creado que contiene el contenido de bufferHandle.
Valor devuelto
Tipo: HRESULT
Esta función puede devolver uno de estos valores.
Código devuelto | Descripción |
---|---|
|
HSTRING se creó correctamente. |
|
string es NULL. |
|
bufferHandle no se creó llamando a la función WindowsPreallocateStringBuffer o el autor de la llamada ha sobrescribido el carácter NULL de terminación en bufferHandle. |
Comentarios
Usa la función WindowsPromoteStringBuffer para crear un nuevo HSTRING a partir de un HSTRING_BUFFER. Al llamar a la función WindowsPromoteStringBuffer , se convierte el búfer mutable en un HSTRING inmutable. Use la función WindowsPreallocateStringBuffer para crear el HSTRING_BUFFER.
Si se produce un error en la llamada a WindowsPromoteStringBuffer , puedes llamar a la función WindowsDeleteStringBuffer para descartar el búfer mutable.
Cada llamada a la función WindowsPromoteStringBuffer debe coincidir con una llamada correspondiente a WindowsDeleteString.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar la función 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);
}
}
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | winstring.h |
Library | RuntimeObject.lib |
Archivo DLL | ComBase.dll |