Класс 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
Значение false
.
HStringReference::operator<
Указывает, меньше ли первый параметр, чем второй параметр.
inline bool operator<(
const HStringReference& lhs,
const HStringReference& rhs) throw()
Параметры
lhs
Первый параметр для сравнения. lhs может быть ссылкой на объект HStringReference
.
rhs
Второй параметр для сравнения. rhs может быть ссылкой на объект HStringReference
.
Возвращаемое значение
true
Значение , если параметр lhs меньше параметра rhs; в противном случае false
.