Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erstellt einen HSTRING-Wert aus dem angegebenen HSTRING_BUFFER.
Syntax
HRESULT WindowsPromoteStringBuffer(
HSTRING_BUFFER bufferHandle,
HSTRING *string
);
Parameter
bufferHandle
Typ: [in] HSTRING_BUFFER
Der Puffer, der für den neuen HSTRING verwendet werden soll. Sie müssen die WindowsPreallocateStringBuffer-Funktion verwenden, um die HSTRING_BUFFER zu erstellen.
string
Typ: [out] HSTRING*
Das neu erstellte HSTRING , das den Inhalt von bufferHandle enthält.
Rückgabewert
Typ: HRESULT
Diese Funktion kann einen dieser Werte zurückgeben.
| Rückgabecode | BESCHREIBUNG |
|---|---|
|
Der HSTRING wurde erfolgreich erstellt. |
|
string ist NULL. |
|
bufferHandle wurde nicht durch Aufrufen der WindowsPreallocateStringBuffer-Funktion erstellt, oder der Aufrufer hat das beendende NULL-Zeichen in bufferHandle überschrieben. |
Hinweise
Verwenden Sie die WindowsPromoteStringBuffer-Funktion , um einen neuen HSTRING aus einem HSTRING_BUFFER zu erstellen. Durch Aufrufen der WindowsPromoteStringBuffer-Funktion wird der veränderliche Puffer in einen unveränderlichen HSTRING konvertiert. Verwenden Sie die WindowsPreallocateStringBuffer-Funktion , um die HSTRING_BUFFER zu erstellen.
Wenn der WindowsPromoteStringBuffer-Aufruf fehlschlägt, können Sie die WindowsDeleteStringBuffer-Funktion aufrufen, um den veränderlichen Puffer zu verwerfen.
Jeder Aufruf der WindowsPromoteStringBuffer-Funktion muss mit einem entsprechenden Aufruf von WindowsDeleteString abgeglichen werden.
Beispiele
Im folgenden Codebeispiel wird die Verwendung der WindowsPromoteStringBuffer-Funktion veranschaulicht.
#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);
}
}
}
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) | Windows 8 [Desktop-Apps | UWP-Apps] |
| Unterstützte Mindestversion (Server) | Windows Server 2012 [Desktop-Apps | UWP-Apps] |
| Zielplattform | Windows |
| Kopfzeile | winstring.h |
| Bibliothek | RuntimeObject.lib |
| DLL | ComBase.dll |