Класс 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
объект в объект HSTRING.
HRESULT CopyTo(
_Out_ HSTRING *str
) const throw();
str
HSTRING, получающий копию.
Этот метод вызывает функцию WindowsDuplicateString .
Извлекает значение базового дескриптора HSTRING.
HSTRING Get() const throw()
Значение базового дескриптора HSTRING.
Извлекает указатель на базовые строковые данные.
const wchar_t* GetRawBuffer(unsigned int* length) const;
Указатель длины на int
переменную, которая получает длину данных.
Указатель const
на базовые строковые данные.
Инициализирует новый экземпляр класса 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
объекта в текущий HStringReference
объект.
HStringReference& operator=(HStringReference&& other) throw()
other
Существующий объект HStringReference
.
Значение существующего другого объекта копируется в текущий HStringReference
объект, а затем уничтожается другой объект.
Указывает, равны ли два параметра.
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 равны; в противном случае .
Указывает, равны ли два параметра.
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
.
Указывает, меньше ли первый параметр, чем второй параметр.
inline bool operator<(
const HStringReference& lhs,
const HStringReference& rhs) throw()
lhs
Первый параметр для сравнения. lhs может быть ссылкой на объект HStringReference
.
rhs
Второй параметр для сравнения. rhs может быть ссылкой на объект HStringReference
.
true
Значение , если параметр lhs меньше параметра rhs; в противном случае false
.