HString-Klasse
Eine Hilfsklasse zum Verwalten der Lebensdauer eines HSTRING mithilfe des RAII-Musters.
Syntax
class HString;
Hinweise
Die Windows-Runtime ermöglicht den Zugriff auf Zeichenfolgen über HSTRING-Handles. Die HString
Klasse bietet Komfortfunktionen und Operatoren, um die Verwendung von HSTRING-Handles zu vereinfachen. Diese Klasse kann die Lebensdauer des HSTRING verarbeiten, das sie über ein RAII-Muster besitzt.
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
HString::HString | Initialisiert eine neue Instanz der HString -Klasse. |
HString::~HString | Zerstört die aktuelle Instanz der HString Klasse. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
HString::Attach | Ordnet das angegebene HString Objekt dem aktuellen HString Objekt zu. |
HString::CopyTo | Kopiert das aktuelle HString Objekt in ein HSTRING-Objekt. |
HString::D etach | Entfernt die Zuordnung des angegebenen HString Objekts vom zugrunde liegenden Wert. |
HString::Get | Ruft den Wert des zugrunde liegenden HSTRING-Handles ab. |
HString::GetAddressOf | Ruft einen Zeiger auf das zugrunde liegende HSTRING-Handle ab. |
HString::GetRawBuffer | Ruft einen Zeiger auf die zugrunde liegenden Zeichenfolgendaten ab. |
HString::IsValid | Gibt an, ob das aktuelle HString Objekt gültig ist. |
HString::MakeReference | Erstellt ein HStringReference Objekt aus einem angegebenen Zeichenfolgenparameter. |
HString::Release | Löscht den zugrunde liegenden Zeichenfolgenwert und initialisiert das aktuelle HString Objekt in einen leeren Wert. |
HString::Set | Legt den Wert des aktuellen HString Objekts auf die angegebene breite Zeichenfolge oder HString den angegebenen Parameter fest. |
Öffentliche Operatoren
Name | Beschreibung |
---|---|
HString::operator= | Verschiebt den Wert eines anderen HString Objekts in das aktuelle HString Objekt. |
HString::operator== | Gibt an, ob die zwei Parameter gleich sind. |
HString::operator!= | Gibt an, ob die zwei Parameter ungleich sind. |
HString::operator< |
Gibt an, ob der erste Parameter kleiner als der zweite Parameter ist. |
Vererbungshierarchie
HString
Anforderungen
Kopfzeile: corewrappers.h
Namespace: Microsoft::WRL::Wrapper
HString::~HString
Zerstört die aktuelle Instanz der HString
Klasse.
~HString() throw()
HString::Attach
Ordnet das angegebene HString
Objekt dem aktuellen HString
Objekt zu.
void Attach(
HSTRING hstr
) throw()
Parameter
hstr
Ein vorhandenes HString
-Objekt.
HString::CopyTo
Kopiert das aktuelle HString
Objekt in ein HSTRING-Objekt.
HRESULT CopyTo(
_Out_ HSTRING *str
) const throw();
Parameter
str
Das HSTRING, das die Kopie erhält.
Hinweise
Diese Methode ruft die WindowsDuplicateString-Funktion auf.
HString::D etach
Entfernt die Zuordnung des angegebenen HString
Objekts vom zugrunde liegenden Wert.
HSTRING Detach() throw()
Rückgabewert
Der zugrunde liegende HString
Wert, bevor der Vorgang zum Trennen gestartet wurde.
HString::Get
Ruft den Wert des zugrunde liegenden HSTRING-Handles ab.
HSTRING Get() const throw()
Rückgabewert
Der Wert des zugrunde liegenden HSTRING-Handles
HString::GetAddressOf
Ruft einen Zeiger auf das zugrunde liegende HSTRING-Handle ab.
HSTRING* GetAddressOf() throw()
Rückgabewert
Ein Zeiger auf das zugrunde liegende HSTRING-Handle.
Hinweise
Nach diesem Vorgang wird der Zeichenfolgenwert des zugrunde liegenden HSTRING-Handles zerstört.
HString::GetRawBuffer
Ruft einen Zeiger auf die zugrunde liegenden Zeichenfolgendaten ab.
const wchar_t* GetRawBuffer(unsigned int* length) const;
Parameter
length Pointer to an int
variable that receives the length of the data.
Rückgabewert
Ein const
Zeiger auf die zugrunde liegenden Zeichenfolgendaten.
HString::HString
Initialisiert eine neue Instanz der HString
-Klasse.
HString() throw();
HString(HString&& other) throw();
Parameter
hstr
Ein HSTRING-Handle.
sonstige
Ein vorhandenes HString
-Objekt.
Hinweise
Der erste Konstruktor initialisiert ein neues HString
Objekt, das leer ist.
Der zweite Konstruktor initialisiert ein neues HString
Objekt auf den Wert des vorhandenen anderen Parameters und zerstört dann den anderen Parameter.
HString::IsValid
Gibt an, ob das aktuelle HString
Objekt leer ist oder nicht.
bool IsValid() const throw()
Parameter
true
wenn das aktuelle HString
Objekt nicht leer ist; andernfalls false
.
HString::MakeReference
Erstellt ein HStringReference
Objekt aus einem angegebenen Zeichenfolgenparameter.
template<unsigned int sizeDest>
static HStringReference MakeReference(
wchar_t const (&str)[ sizeDest]);
template<unsigned int sizeDest>
static HStringReference MakeReference(
wchar_t const (&str)[sizeDest],
unsigned int len);
Parameter
sizeDest
Ein Vorlagenparameter, der die Größe des Zielpuffers HStringReference
angibt.
str
Ein Verweis auf eine breite Zeichenfolge.
len
Die maximale Länge des str-Parameterpuffers, der in diesem Vorgang verwendet werden soll. Wenn der len-Parameter nicht angegeben ist, wird der gesamte str-Parameter verwendet.
Rückgabewert
Ein HStringReference
Objekt, dessen Wert mit dem angegebenen str-Parameter identisch ist.
HString::operator= Operator
Verschiebt den Wert eines anderen HString
Objekts in das aktuelle HString
Objekt.
HString& operator=(HString&& other) throw()
Parameter
sonstige
Ein vorhandenes HString
-Objekt.
Hinweise
Der Wert des vorhandenen anderen Objekts wird in das aktuelle HString
Objekt kopiert, und dann wird das andere Objekt zerstört.
HString::operator== Operator
Gibt an, ob die zwei Parameter gleich sind.
inline bool operator==(
const HString& lhs,
const HString& rhs) throw()
inline bool operator==(
const HString& lhs,
const HStringReference& rhs) throw()
inline bool operator==(
const HStringReference& lhs,
const HString& rhs) throw()
inline bool operator==(
const HSTRING& lhs,
const HString& rhs) throw()
inline bool operator==(
const HString& lhs,
const HSTRING& rhs) throw()
Parameter
Lhs
Der erste zu vergleichende Parameter. lhs kann ein oder ein HString
Objekt oder HStringReference
ein HSTRING-Handle sein.
rhs
Der zweite zu vergleichende Parameter.rhs kann ein oder ein HString
Objekt oder HStringReference
ein HSTRING-Handle sein.
Rückgabewert
true
wenn die Parameter lhs und rhs gleich sind; andernfalls . false
HString::operator!= Operator
Gibt an, ob die zwei Parameter ungleich sind.
inline bool operator!=( const HString& lhs,
const HString& rhs) throw()
inline bool operator!=( const HStringReference& lhs,
const HString& rhs) throw()
inline bool operator!=( const HString& lhs,
const HStringReference& rhs) throw()
inline bool operator!=( const HSTRING& lhs,
const HString& rhs) throw()
inline bool operator!=( const HString& lhs,
const HSTRING& rhs) throw()
Parameter
Lhs
Der erste zu vergleichende Parameter. lhs kann ein oder ein HString
Objekt oder HStringReference
ein HSTRING-Handle sein.
rhs
Der zweite zu vergleichende Parameter.rhs kann ein oder ein HString
Objekt oder HStringReference
ein HSTRING-Handle sein.
Rückgabewert
true
wenn die Parameter lhs und rhs nicht gleich sind; andernfalls . false
HString::operator<
-Operator
Gibt an, ob der erste Parameter kleiner als der zweite Parameter ist.
inline bool operator<(
const HString& lhs,
const HString& rhs) throw()
Parameter
Lhs
Der erste zu vergleichende Parameter. lhs kann ein Verweis auf ein HString
.
rhs
Der zweite zu vergleichende Parameter. rhs kann ein Verweis auf ein HString
.
Rückgabewert
true
wenn der lhs-Parameter kleiner als der rhs-Parameter ist; andernfalls . false
HString::Release
Löscht den zugrunde liegenden Zeichenfolgenwert und initialisiert das aktuelle HString
Objekt in einen leeren Wert.
void Release() throw()
HString::Set
Legt den Wert des aktuellen HString
Objekts auf die angegebene breite Zeichenfolge oder HString
den angegebenen Parameter fest.
HRESULT Set(
const wchar_t* str) throw();
HRESULT Set(
const wchar_t* str,
unsigned int len
) throw();
HRESULT Set(
const HSTRING& hstr
) throw();
Parameter
str
Eine breite Zeichenfolge.
len
Die maximale Länge des str-Parameters , der dem aktuellen HString
Objekt zugewiesen ist.
hstr
Ein vorhandenes HString
-Objekt.