Freigeben über


HSTRING

Ein Handle für eine Windows-Runtime Zeichenfolge.

typedef HSTRING__* HSTRING;

Bemerkungen

Verwenden Sie HSTRING, um unveränderliche Zeichenfolgen im Windows-Runtime darzustellen.

JavaScript und andere Sprachen wie C# und Microsoft Visual Basic können Zeichenfolgen verwenden, die mithilfe von HSTRING dargestellt werden. Die folgende Tabelle zeigt, wie ein HSTRING in anderen Sprachen dargestellt wird.

Programmiersprache Zeichenfolgendarstellung
C++/WinRT winrt::hstring-Klasse
Visual C++-Komponentenerweiterungen (C++/CX) Platform::String-Klasse
JavaScript String-Objekt
.NET Framework System.String-Klasse

 

Das HSTRING-Handle ist ein Standardhandletyp. Semantisch stellt ein HSTRING mit dem Wert NULL die leere Zeichenfolge dar, die aus null Inhaltszeichen und einem beendenden NULL-Zeichen besteht. Wenn Sie eine Zeichenfolge über WindowsCreateString mit null Zeichen erstellen, wird der Handlewert NULL erzeugt. Beim Aufrufen von WindowsGetStringRawBuffer mit dem Wert NULL wird ein Zeiger auf eine leere Zeichenfolge gefolgt von dem NUL-Endzeichen zurückgegeben. Es ist kein eindeutiger Wert vorhanden, um einen HSTRING darzustellen, der nicht initialisiert ist.

Rufen Sie die WindowsCreateString-Funktion auf, um einen neuen HSTRING zu erstellen, und rufen Sie die WindowsDeleteString-Funktion auf, um den Verweis auf den Sicherungszeichenfolgenspeicher freizugeben. Rufen Sie die WindowsCreateStringReference-Funktion auf, um einen Zeichenfolgenverweis zu erstellen, der auch als Fast-Pass-Zeichenfolge bezeichnet wird.

Kopieren Sie einen HSTRING , indem Sie die WindowsDuplicateString-Funktion aufrufen.

Verketten Sie zwei Zeichenfolgen, indem Sie die WindowsConcatString-Funktion aufrufen.

Greifen Sie auf den Sicherungszeichenfolgenspeicher zu, indem Sie die WindowsGetStringRawBuffer-Funktion aufrufen.

HSTRING kann eingebettete NUL-Zeichen speichern und verwenden. Verwenden Sie die WindowsStringHasEmbeddedNull-Funktion , um nach eingebetteten NUL-Zeichen zu suchen, bevor Sie Funktionen verwenden, die zu unerwarteten Ergebnissen führen können. Beispielsweise verwenden die meisten Windows-Funktionen LPCWSTR als Eingabeparameter, und sie berechnen die Länge der Zeichenfolge nur, bis die erste NUL gefunden wird.

Die Unterstützungszeichenfolge muss unveränderlich bleiben und null beendet werden. Wenn beim Aufrufen von Code mithilfe der WindowsCreateStringReference-Funktion ein Zeichenfolgenverweis erstellt wird, ist der Arbeitsspeicher, der die Darstellung der unterstützenden Zeichenfolge enthält, im Besitz des Aufrufers. Die Windows-Runtime basiert auf dem Inhalt der ursprünglichen Zeichenfolge, um unverändert zu bleiben. Beim Übergeben eines Zeichenfolgenverweiss an den Windows-Runtime liegt es in der Verantwortung des Aufrufers sicherzustellen, dass sich der Inhalt der Zeichenfolge nicht ändert und die NUL für die Dauer des Aufrufs beendet wird. Die Windows-Runtime gibt alle Verweise auf den Zeichenfolgenverweis frei, wenn der Aufruf zurückgibt.

Wenn Sie einen HSTRING-Parameter als Out-Parameter erhalten, empfiehlt es sich, das Handle auf NULL festzulegen, wenn Sie damit fertig sind.

Rufen Sie die WindowsPreallocateStringBuffer-Funktion auf, um einen veränderlichen Zeichenfolgenpuffer zuzuweisen, mit dem Sie einen unveränderlichen HSTRING erstellen können. Wenn Sie das Auffüllen des Puffers abgeschlossen haben, rufen Sie die WindowsPromoteStringBuffer-Funktion auf, um den HSTRING zu erstellen. Dieses zweiphasige Konstruktionsmuster ermöglicht Funktionen, die einem "Zeichenfolgen-Generator" ähneln.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 8
Unterstützte Mindestversion (Server)
Windows Server 2012
Header
Hstring.h

Siehe auch

WindowsCreateString

WindowsDeleteString

WindowsDuplicateString

WindowsPreallocateStringBuffer