Partilhar via


Classe HStringReference

Representa um HSTRING criado a partir de uma cadeia de caracteres existente.

Sintaxe

class HStringReference;

Comentários

O tempo de vida do buffer de backup no novo HSTRING não é gerenciado pelo Windows Runtime. O chamador aloca uma cadeia de caracteres de origem no quadro de pilha para evitar uma alocação de heap e eliminar o risco de um vazamento de memória. Além disso, o chamador deve garantir que a cadeia de caracteres de origem permaneça inalterada durante o tempo de vida do HSTRING anexado. Para mais informações, consulte Função WindowsCreateStringReference.

Membros

Construtores públicos

Nome Descrição
HStringReference::HStringReference Inicializa uma nova instância da classe HStringReference.

Métodos públicos

Membro Descrição
HStringReference::CopyTo Copia o objeto atual HStringReference em um objeto HSTRING.
HStringReference::Get Recupera o valor do identificador HSTRING subjacente.
HStringReference::GetRawBuffer Recupera um ponteiro para os dados de cadeia de caracteres subjacentes.

Operadores públicos

Nome Descrição
HStringReference::operator= Move o valor de outro objeto HStringReference para o objeto HStringReference atual.
HStringReference::operator== Indica se os dois parâmetros são iguais.
HStringReference::operator!= Indica se os dois parâmetros não são iguais.
HStringReference::operator< Indica se o primeiro parâmetro é menor que o segundo parâmetro.

Hierarquia de herança

HStringReference

Requisitos

Cabeçalho: corewrappers.h

Namespace: Microsoft::WRL::Wrappers

HStringReference::CopyTo

Copia o objeto atual HStringReference em um objeto HSTRING.

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

Parâmetros

str
O HSTRING que recebe a cópia.

Comentários

Esse método chama a função WindowsDuplicateString.

HStringReference::Get

Recupera o valor do identificador HSTRING subjacente.

HSTRING Get() const throw()

Valor de retorno

O valor do identificador HSTRING subjacente.

HStringReference::GetRawBuffer

Recupera um ponteiro para os dados de cadeia de caracteres subjacentes.

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

Parâmetros

length Ponteiro para uma variável int que recebe o comprimento dos dados.

Valor de retorno

Um ponteiro const para os dados de cadeia de caracteres subjacentes.

HStringReference::HStringReference

Inicializa uma nova instância da 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();

Parâmetros

sizeDest
Um parâmetro de modelo que especifica o tamanho do buffer de destino HStringReference.

str
Uma referência a uma cadeia de caracteres largos.

len
O comprimento máximo do buffer de parâmetro str a ser usado nesta operação. Se o parâmetro len não for especificado, todo o parâmetro str será usado. Se len for maior que sizeDest, len será definido como sizeDest-1.

other
Outro objeto HStringReference.

Comentários

O primeiro construtor inicializa um novo objeto HStringReference do mesmo tamanho do str de parâmetro.

O segundo construtor inicializa um novo objeto HStringReference do tamanho especificado pelo parâmetro len.

O segundo construtor inicializa um novo objeto HStringReference no valor do outro parâmetro existente e, em seguida, destrói o outro parâmetro.

HStringReference::operator=

Move o valor de outro objeto HStringReference para o objeto HStringReference atual.

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

Parâmetros

other
Um objeto HStringReference existente.

Comentários

O valor do outro objeto existente é copiado para o objeto atual HStringReference e, em seguida, o outro objeto é destruído.

HStringReference::operator==

Indica se os dois parâmetros são iguais.

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

Parâmetros

lhs
O primeiro parâmetro a ser comparado. lhs pode ser um objeto HStringReference ou um identificador HSTRING.

rhs
O segundo parâmetro a ser comparado. rhs pode ser um objeto HStringReference ou um identificador HSTRING.

Valor de retorno

true se os parâmetros lhs e rhs forem iguais; caso contrário, false.

HStringReference::operator!=

Indica se os dois parâmetros não são iguais.

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

Parâmetros

lhs
O primeiro parâmetro a ser comparado. lhs pode ser um objeto HStringReference ou um identificador HSTRING.

rhs
O segundo parâmetro a ser comparado. rhs pode ser um objeto HStringReference ou um identificador HSTRING.

Valor de retorno

true se os parâmetros lhs e rhs não forem iguais; caso contrário, false.

HStringReference::operator<

Indica se o primeiro parâmetro é menor que o segundo parâmetro.

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

Parâmetros

lhs
O primeiro parâmetro a ser comparado. lhs pode ser uma referência a um HStringReference.

rhs
O segundo parâmetro a ser comparado. rhs pode ser uma referência a um HStringReference.

Valor de retorno

true se o parâmetro lhs for menor que o parâmetro rhs; caso contrário, false.