HString, classe

Classe d’assistance pour la gestion de la durée de vie d’un HSTRING à l’aide du modèle RAII.

Syntaxe

class HString;

Notes

Windows Runtime fournit l’accès aux chaînes via des handles HSTRING . La HString classe fournit des fonctions et des opérateurs pratiques pour simplifier l’utilisation de handles HSTRING. Cette classe peut gérer la durée de vie du HSTRING qu’elle possède via un modèle RAII.

Membres

Constructeurs publics

Nom Description
HString ::HString Initialise une nouvelle instance de la classe HString.
HString ::~HString Détruit l’instance actuelle de la HString classe.

Méthodes publiques

Nom Description
HString ::Attach Associe l’objet spécifié HString à l’objet actif HString .
HString ::CopyTo Copie l’objet actuel HString dans un objet HSTRING.
HString ::D etach Dissocie l’objet spécifié HString de sa valeur sous-jacente.
HString ::Get Récupère la valeur du handle HSTRING sous-jacent.
HString ::GetAddressOf Récupère un pointeur vers le handle HSTRING sous-jacent.
HString ::GetRawBuffer Récupère un pointeur vers les données de chaîne sous-jacentes.
HString ::IsValid Indique si l’objet actuel HString est valide.
HString ::MakeReference Crée un objet à partir d’un HStringReference paramètre de chaîne spécifié.
HString ::Release Supprime la valeur de chaîne sous-jacente et initialise l’objet actuel HString à une valeur vide.
HString ::Set Définit la valeur de l’objet actuel HString sur la chaîne ou HString le paramètre de caractère large spécifié.

Opérateurs publics

Nom Description
HString ::operator= Déplace la valeur d’un autre HString objet vers l’objet actuel HString .
HString ::operator== Indique si les deux paramètres sont égaux.
HString ::operator != Indique si les deux paramètres ne sont pas égaux.
HString::operator< Indique si le premier paramètre est inférieur au deuxième paramètre.

Hiérarchie d'héritage

HString

Spécifications

En-tête : corewrappers.h

Espace de noms : Microsoft ::WRL ::Wrappers

HString ::~HString

Détruit l’instance actuelle de la HString classe.

~HString() throw()

HString ::Attach

Associe l’objet spécifié HString à l’objet actif HString .

void Attach(
       HSTRING hstr
       ) throw()

Paramètres

hstr
Objet HString existant.

HString ::CopyTo

Copie l’objet actuel HString dans un objet HSTRING.

HRESULT CopyTo(
   _Out_ HSTRING *str
   ) const throw();

Paramètres

str
HSTRING qui reçoit la copie.

Notes

Cette méthode appelle la fonction WindowsDuplicateString .

HString ::D etach

Dissocie l’objet spécifié HString de sa valeur sous-jacente.

HSTRING Detach() throw()

Valeur de retour

Valeur sous-jacente HString avant le démarrage de l’opération de détachement.

HString ::Get

Récupère la valeur du handle HSTRING sous-jacent.

HSTRING Get() const throw()

Valeur de retour

Valeur du handle HSTRING sous-jacent

HString ::GetAddressOf

Récupère un pointeur vers le handle HSTRING sous-jacent.

HSTRING* GetAddressOf() throw()

Valeur de retour

Pointeur vers le handle HSTRING sous-jacent.

Notes

Après cette opération, la valeur de chaîne du handle HSTRING sous-jacent est détruite.

HString ::GetRawBuffer

Récupère un pointeur vers les données de chaîne sous-jacentes.

const wchar_t* GetRawBuffer(unsigned int* length) const;

Paramètres

pointeur de longueur vers une int variable qui reçoit la longueur des données.

Valeur de retour

Pointeur const vers les données de chaîne sous-jacentes.

HString ::HString

Initialise une nouvelle instance de la classe HString.

HString() throw();
HString(HString&& other) throw();

Paramètres

hstr
Handle HSTRING.

other
Objet HString existant.

Notes

Le premier constructeur initialise un nouvel HString objet vide.

Le deuxième constructeur initialise un nouvel HString objet à la valeur de l’autre paramètre existant, puis détruit l’autre paramètre.

HString ::IsValid

Indique si l’objet actuel HString est vide ou non.

bool IsValid() const throw()

Paramètres

true si l’objet actuel HString n’est pas vide ; sinon, false.

HString ::MakeReference

Crée un objet à partir d’un HStringReference paramètre de chaîne spécifié.

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);

Paramètres

sizeDest
Paramètre de modèle qui spécifie la taille de la mémoire tampon de destination HStringReference .

str
Référence à une chaîne à caractères larges.

len
Longueur maximale de la mémoire tampon de paramètre str à utiliser dans cette opération. Si le paramètre len n’est pas spécifié, le paramètre str entier est utilisé.

Valeur de retour

Objet HStringReference dont la valeur est identique au paramètre str spécifié.

HString ::operator=, opérateur

Déplace la valeur d’un autre HString objet vers l’objet actuel HString .

HString& operator=(HString&& other) throw()

Paramètres

other
Objet HString existant.

Notes

La valeur de l’autre objet existant est copiée dans l’objet actuelHString, puis l’autre objet est détruit.

HString ::operator==, opérateur

Indique si les deux paramètres sont égaux.

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()

Paramètres

Lhs
Premier paramètre à comparer. lhs peut être un ou HStringReference un HString objet, ou un handle HSTRING.

rhs
Deuxième paramètre à comparer.rhs peut être un ou HStringReference un HString objet, ou un handle HSTRING.

Valeur de retour

true si les paramètres lhs et rhs sont égaux ; sinon, false.

HString ::operator !=, opérateur

Indique si les deux paramètres ne sont pas égaux.

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()

Paramètres

Lhs
Premier paramètre à comparer. lhs peut être un ou HStringReference un HString objet, ou un handle HSTRING.

rhs
Deuxième paramètre à comparer.rhs peut être un ou HStringReference un HString objet, ou un handle HSTRING.

Valeur de retour

true si les paramètres lhs et rhs ne sont pas égaux ; sinon, false.

HString::operator<, opérateur

Indique si le premier paramètre est inférieur au deuxième paramètre.

inline bool operator<(
    const HString& lhs,
    const HString& rhs) throw()

Paramètres

Lhs
Premier paramètre à comparer. lhs peut être une référence à un HString.

rhs
Deuxième paramètre à comparer. rhs peut être une référence à un HString.

Valeur de retour

true si le paramètre lhs est inférieur au paramètre rhs ; sinon, false.

HString ::Release

Supprime la valeur de chaîne sous-jacente et intialise l’objet actuel HString à une valeur vide.

void Release() throw()

HString ::Set

Définit la valeur de l’objet actuel HString sur la chaîne ou HString le paramètre de caractère large spécifié.

HRESULT Set(
          const wchar_t* str) throw();
HRESULT Set(
          const wchar_t* str,
          unsigned int len
           ) throw();
HRESULT Set(
          const HSTRING& hstr
           ) throw();

Paramètres

str
Chaîne à caractères larges.

len
Longueur maximale du paramètre str affecté à l’objet actuel HString .

hstr
Objet HString existant.