HStringReference, classe

Représente un HSTRING créé à partir d’une chaîne existante.

Syntaxe

class HStringReference;

Notes

La durée de vie de la mémoire tampon de stockage dans le nouveau HSTRING n’est pas gérée par Windows Runtime. L’appelant alloue une chaîne source sur le frame de pile pour éviter une allocation de tas et éliminer le risque d’une fuite de mémoire. En outre, l’appelant doit s’assurer que la chaîne source reste inchangée pendant la durée de vie du HSTRING attaché. Pour plus d’informations, consultez la fonction WindowsCreateStringReference.

Membres

Constructeurs publics

Nom Description
HStringReference ::HStringReference Initialise une nouvelle instance de la classe HStringReference.

Méthodes publiques

Membre Description
HStringReference ::CopyTo Copie l’objet actuel HStringReference dans un objet HSTRING.
HStringReference ::Get Récupère la valeur du handle HSTRING sous-jacent.
HStringReference ::GetRawBuffer Récupère un pointeur vers les données de chaîne sous-jacentes.

Opérateurs publics

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

Hiérarchie d'héritage

HStringReference

Spécifications

En-tête : corewrappers.h

Espace de noms : Microsoft ::WRL ::Wrappers

HStringReference ::CopyTo

Copie l’objet actuel HStringReference 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 .

HStringReference ::Get

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

HSTRING Get() const throw()

Valeur de retour

Valeur du handle HSTRING sous-jacent.

HStringReference ::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.

HStringReference ::HStringReference

Initialise une nouvelle instance de la classe HStringReference.

template<unsigned int sizeDest>
HStringReference(wchar_t const (&str)[ sizeDest]) throw();

template<unsigned int sizeDest>
HStringReference(wchar_t const (&str)[ sizeDest],
                 unsigned int len) throw();

HStringReference(HStringReference&& other) throw();

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é. Si len est supérieur à sizeDest, len est défini sur sizeDest-1.

other
Autre HStringReference objet.

Notes

Le premier constructeur initialise un nouvel HStringReference objet dont la taille est identique à la str de paramètre.

Le deuxième constructeur initialise un nouvel HStringReference objet que la taille specifeid par len de paramètre.

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

HStringReference ::operator=

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

HStringReference& operator=(HStringReference&& other) throw()

Paramètres

other
Objet HStringReference existant.

Notes

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

HStringReference ::operator==

Indique si les deux paramètres sont égaux.

inline bool operator==(
               const HStringReference& lhs,
               const HStringReference& rhs) throw()

inline bool operator==(
               const HSTRING& lhs,
               const HStringReference& rhs) throw()

inline bool operator==(
               const HStringReference& lhs,
               const HSTRING& rhs) throw()

Paramètres

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

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

Valeur de retour

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

HStringReference ::operator !=

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

inline bool operator!=(
               const HStringReference& lhs,
               const HStringReference& rhs) throw()

inline bool operator!=(
               const HSTRING& lhs,
               const HStringReference& rhs) throw()

inline bool operator!=(
               const HStringReference& lhs,
               const HSTRING& rhs) throw()

Paramètres

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

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

Valeur de retour

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

HStringReference::operator<

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

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

Paramètres

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

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

Valeur de retour

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