Classe HString

Classe helper per la gestione della durata di un HSTRING usando il modello RAII.

Sintassi

class HString;

Osservazioni:

Windows Runtime fornisce l'accesso alle stringhe tramite handle HSTRING . La HString classe fornisce funzioni e operatori pratici per semplificare l'uso degli handle HSTRING. Questa classe può gestire la durata dell'HSTRING di proprietà tramite un modello RAII.

Membri

Costruttori pubblici

Name Descrizione
HString::HString Inizializza una nuova istanza della classe HString.
HString::~HString Elimina definitivamente l'istanza corrente della HString classe .

Metodi pubblici

Name Descrizione
HString::Attach Associa l'oggetto specificato HString all'oggetto corrente HString .
HString::CopyTo Copia l'oggetto corrente HString in un oggetto HSTRING.
HString::D etach Annulla l'associazione dell'oggetto specificato HString dal valore sottostante.
HString::Get Recupera il valore dell'handle HSTRING sottostante.
HString::GetAddressOf Recupera un puntatore all'handle HSTRING sottostante.
HString::GetRawBuffer Recupera un puntatore ai dati stringa sottostanti.
HString::IsValid Indica se l'oggetto corrente HString è valido.
HString::MakeReference Crea un HStringReference oggetto da un parametro stringa specificato.
HString::Release Elimina il valore stringa sottostante e inizializza l'oggetto corrente HString in un valore vuoto.
HString::Set Imposta il valore dell'oggetto corrente HString sulla stringa o HString sul parametro di caratteri wide specificato.

Operatori pubblici

Name Descrizione
HString::operator= Sposta il valore di un altro HString oggetto nell'oggetto corrente HString .
HString::operator== Indica se i due parametri sono uguali.
HString::operator!= Indica se i due parametri non sono uguali.
HString::operator< Indica se il primo parametro è minore del secondo parametro.

Gerarchia di ereditarietà

HString

Requisiti

Intestazione: corewrappers.h

Spazio dei nomi: Microsoft::WRL::Wrappers

HString::~HString

Elimina definitivamente l'istanza corrente della HString classe .

~HString() throw()

HString::Attach

Associa l'oggetto specificato HString all'oggetto corrente HString .

void Attach(
       HSTRING hstr
       ) throw()

Parametri

hstr
Oggetto HString esistente.

HString::CopyTo

Copia l'oggetto corrente HString in un oggetto HSTRING.

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

Parametri

str
HSTRING che riceve la copia.

Osservazioni:

Questo metodo chiama la funzione WindowsDuplicateString .

HString::D etach

Annulla l'associazione dell'oggetto specificato HString dal valore sottostante.

HSTRING Detach() throw()

Valore restituito

Valore sottostante HString prima dell'avvio dell'operazione di scollegamento.

HString::Get

Recupera il valore dell'handle HSTRING sottostante.

HSTRING Get() const throw()

Valore restituito

Valore dell'handle HSTRING sottostante

HString::GetAddressOf

Recupera un puntatore all'handle HSTRING sottostante.

HSTRING* GetAddressOf() throw()

Valore restituito

Puntatore all'handle HSTRING sottostante.

Osservazioni:

Dopo questa operazione, il valore stringa dell'handle HSTRING sottostante viene eliminato definitivamente.

HString::GetRawBuffer

Recupera un puntatore ai dati stringa sottostanti.

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

Parametri

length Puntatore a una int variabile che riceve la lunghezza dei dati.

Valore restituito

Puntatore const ai dati stringa sottostanti.

HString::HString

Inizializza una nuova istanza della classe HString.

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

Parametri

hstr
Handle HSTRING.

other
Oggetto HString esistente.

Osservazioni:

Il primo costruttore inizializza un nuovo HString oggetto vuoto.

Il secondo costruttore inizializza un nuovo HString oggetto sul valore dell'altro parametro esistente e quindi elimina definitivamente l'altro parametro.

HString::IsValid

Indica se l'oggetto corrente HString è vuoto o meno.

bool IsValid() const throw()

Parametri

true se l'oggetto corrente HString non è vuoto; in caso contrario, false.

HString::MakeReference

Crea un HStringReference oggetto da un parametro stringa specificato.

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

Parametri

sizeDest
Parametro di modello che specifica le dimensioni del buffer di destinazione HStringReference .

str
Riferimento a una stringa di caratteri wide.

len
Lunghezza massima del buffer dei parametri str da usare in questa operazione. Se il parametro len non viene specificato, viene usato l'intero parametro str .

Valore restituito

Oggetto HStringReference il cui valore è uguale al parametro str specificato.

Operatore HString::operator=

Sposta il valore di un altro HString oggetto nell'oggetto corrente HString .

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

Parametri

other
Oggetto HString esistente.

Osservazioni:

Il valore dell'altro oggetto esistente viene copiato nell'oggetto corrente HString e quindi l'altrooggetto viene eliminato definitivamente.

Operatore HString::operator==

Indica se i due parametri sono uguali.

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

Parametri

Lhs
Primo parametro da confrontare. lhs può essere un HString oggetto o HStringReference o un handle HSTRING.

rhs
Secondo parametro da confrontare.rhs può essere un HString oggetto o HStringReference o un handle HSTRING.

Valore restituito

true se i parametri lhs e rhs sono uguali; in caso contrario, false.

Operatore HString::operator!=

Indica se i due parametri non sono uguali.

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

Parametri

Lhs
Primo parametro da confrontare. lhs può essere un HString oggetto o HStringReference o un handle HSTRING.

rhs
Secondo parametro da confrontare.rhs può essere un HString oggetto o HStringReference o un handle HSTRING.

Valore restituito

true se i parametri lhs e rhs non sono uguali; in caso contrario, false.

Operatore HString::operator<

Indica se il primo parametro è minore del secondo parametro.

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

Parametri

Lhs
Primo parametro da confrontare. lhs può essere un riferimento a un oggetto HString.

rhs
Secondo parametro da confrontare. rhs può essere un riferimento a un oggetto HString.

Valore restituito

true se il parametro lhs è minore del parametro rhs ; in caso contrario, false.

HString::Release

Elimina il valore stringa sottostante e inizializza l'oggetto corrente HString in un valore vuoto.

void Release() throw()

HString::Set

Imposta il valore dell'oggetto corrente HString sulla stringa o HString sul parametro di caratteri wide specificato.

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

Parametri

str
Stringa di caratteri wide.

len
Lunghezza massima del parametro str assegnato all'oggetto corrente HString .

hstr
Oggetto HString esistente.