Поделиться через


Класс HStringReference

Представляет HSTRING, созданный из существующей строки.

Синтаксис

class HStringReference;

Замечания

Время существования резервного буфера в новом HSTRING не управляется среда выполнения Windows. Вызывающий объект выделяет исходную строку в кадре стека, чтобы избежать выделения кучи и устранить риск утечки памяти. Кроме того, вызывающий объект должен убедиться, что исходная строка остается неизменной в течение времени существования присоединенного HSTRING. Дополнительные сведения см. в функции WindowsCreateStringReference.

Участники

Открытые конструкторы

Имя Описание
HStringReference::HStringReference Инициализирует новый экземпляр класса HStringReference.

Открытые методы

Элемент Description
HStringReference::CopyTo Копирует текущий HStringReference объект в объект HSTRING.
HStringReference::Get Извлекает значение базового дескриптора HSTRING.
HStringReference::GetRawBuffer Извлекает указатель на базовые строковые данные.

Открытые операторы

Имя Описание
HStringReference::operator= Перемещает значение другого HStringReference объекта в текущий HStringReference объект.
HStringReference::operator== Указывает, равны ли два параметра.
HStringReference::operator!= Указывает, равны ли два параметра.
HStringReference::operator< Указывает, меньше ли первый параметр, чем второй параметр.

Иерархия наследования

HStringReference

Требования

Заголовок: corewrappers.h

Пространство имен: Microsoft::WRL::Оболочки

HStringReference::CopyTo

Копирует текущий HStringReference объект в объект HSTRING.

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

Параметры

str
HSTRING, получающий копию.

Замечания

Этот метод вызывает функцию WindowsDuplicateString .

HStringReference::Get

Извлекает значение базового дескриптора HSTRING.

HSTRING Get() const throw()

Возвращаемое значение

Значение базового дескриптора HSTRING.

HStringReference::GetRawBuffer

Извлекает указатель на базовые строковые данные.

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

Параметры

Указатель длины на int переменную, которая получает длину данных.

Возвращаемое значение

Указатель const на базовые строковые данные.

HStringReference::HStringReference

Инициализирует новый экземпляр класса 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();

Параметры

sizeDest
Параметр шаблона, указывающий размер целевого HStringReference буфера.

str
Ссылка на строку с широким символом.

len
Максимальная длина буфера параметров str для использования в этой операции. Если параметр len не указан, используется весь параметр str. Если len больше размераDest, len имеет значение sizeDest-1.

other
Другой HStringReference объект.

Замечания

Первый конструктор инициализирует новый HStringReference объект, который тот же размер, что и str параметра.

Второй конструктор инициализирует новый HStringReference объект, который определяет размер по параметру len.

Третий конструктор инициализирует новый HStringReference объект в значение другого параметра, а затем уничтожает другой параметр.

HStringReference::operator=

Перемещает значение другого HStringReference объекта в текущий HStringReference объект.

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

Параметры

other
Существующий объект HStringReference.

Замечания

Значение существующего другого объекта копируется в текущий HStringReference объект, а затем уничтожается другой объект.

HStringReference::operator==

Указывает, равны ли два параметра.

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

Параметры

lhs
Первый параметр для сравнения. lhs может быть объектом или дескриптором HStringReference HSTRING.

rhs
Второй параметр для сравнения. rhs может быть HStringReference объектом или дескриптором HSTRING.

Возвращаемое значение

trueЗначение , falseесли параметры lhs и rhs равны; в противном случае .

HStringReference::operator!=

Указывает, равны ли два параметра.

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

Параметры

lhs
Первый параметр для сравнения. lhs может быть объектом или дескриптором HStringReference HSTRING.

rhs
Второй параметр для сравнения. rhs может быть HStringReference объектом или дескриптором HSTRING.

Возвращаемое значение

trueЗначение />, если параметры lhs и rhs не равны; в противном случае false.

HStringReference::operator<

Указывает, меньше ли первый параметр, чем второй параметр.

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

Параметры

lhs
Первый параметр для сравнения. lhs может быть ссылкой на объект HStringReference.

rhs
Второй параметр для сравнения. rhs может быть ссылкой на объект HStringReference.

Возвращаемое значение

trueЗначение , если параметр lhs меньше параметра rhs; в противном случае false.