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-Parameteridentisch 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

truewenn 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

truewenn 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

truewenn 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.