Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Вспомогательный класс для управления временем существования HSTRING с помощью шаблона RAII.
Синтаксис
class HString;
Замечания
Среда выполнения Windows предоставляет доступ к строкам через дескриптор HSTRING. Класс HString предоставляет удобные функции и операторы для упрощения использования дескрипторов HSTRING. Этот класс может обрабатывать время существования HSTRING, принадлежающее ему с помощью шаблона RAII.
Участники
Открытые конструкторы
| Имя | Описание |
|---|---|
| HString::HString | Инициализирует новый экземпляр класса HString. |
| HString::~HString | Уничтожает текущий HString экземпляр класса. |
Открытые методы
| Имя | Описание |
|---|---|
| HString::Attach | Связывает указанный HString объект с текущим HString объектом. |
| HString::CopyTo | Копирует текущий HString объект в объект HSTRING. |
| HString::D etach | Отсоединяет указанный HString объект от его базового значения. |
| HString::Get | Извлекает значение базового дескриптора HSTRING. |
| HString::GetAddressOf | Извлекает указатель на базовый дескриптор HSTRING. |
| HString::GetRawBuffer | Извлекает указатель на базовые строковые данные. |
| HString::IsValid | Указывает, является ли текущий HString объект допустимым. |
| HString::MakeReference |
HStringReference Создает объект из указанного параметра строки. |
| HString::Release | Удаляет базовое строковое значение и инициализирует текущий HString объект в пустое значение. |
| HString::Set | Задает значение текущего HString объекта заданной строкой или HString параметром. |
Открытые операторы
| Имя | Описание |
|---|---|
| HString::operator= | Перемещает значение другого HString объекта в текущий HString объект. |
| HString::operator== | Указывает, равны ли два параметра. |
| HString::operator!= | Указывает, равны ли два параметра. |
HString::operator< |
Указывает, меньше ли первый параметр, чем второй параметр. |
Иерархия наследования
HString
Требования
Заголовок: corewrappers.h
Пространство имен: Microsoft::WRL::Оболочки
HString::~HString
Уничтожает текущий HString экземпляр класса.
~HString() throw()
HString::Attach
Связывает указанный HString объект с текущим HString объектом.
void Attach(
HSTRING hstr
) throw()
Параметры
hstr
Существующий объект HString.
HString::CopyTo
Копирует текущий HString объект в объект HSTRING.
HRESULT CopyTo(
_Out_ HSTRING *str
) const throw();
Параметры
str
HSTRING, получающий копию.
Замечания
Этот метод вызывает функцию WindowsDuplicateString .
HString::D etach
Отсоединяет указанный HString объект от его базового значения.
HSTRING Detach() throw()
Возвращаемое значение
Базовое HString значение перед началом операции отсоединения.
HString::Get
Извлекает значение базового дескриптора HSTRING.
HSTRING Get() const throw()
Возвращаемое значение
Значение базового дескриптора HSTRING.
HString::GetAddressOf
Извлекает указатель на базовый дескриптор HSTRING.
HSTRING* GetAddressOf() throw()
Возвращаемое значение
Указатель на базовый дескриптор HSTRING.
Замечания
После этой операции строковое значение базового дескриптора HSTRING будет уничтожено.
HString::GetRawBuffer
Извлекает указатель на базовые строковые данные.
const wchar_t* GetRawBuffer(unsigned int* length) const;
Параметры
Указатель длины на int переменную, которая получает длину данных.
Возвращаемое значение
Указатель const на базовые строковые данные.
HString::HString
Инициализирует новый экземпляр класса HString.
HString() throw();
HString(HString&& other) throw();
Параметры
hstr
Дескриптор HSTRING.
other
Существующий объект HString.
Замечания
Первый конструктор инициализирует новый HString объект, пустой.
Второй конструктор инициализирует новый HString объект в значение существующего другого параметра, а затем уничтожает другой параметр.
HString::IsValid
Указывает, является ли текущий HString объект пустым или нет.
bool IsValid() const throw()
Параметры
true Значение , если текущий HString объект не пуст; в противном случае false.
HString::MakeReference
HStringReference Создает объект из указанного параметра строки.
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);
Параметры
sizeDest
Параметр шаблона, указывающий размер целевого HStringReference буфера.
str
Ссылка на строку с широким символом.
len
Максимальная длина буфера параметров str для использования в этой операции.
Если параметр len не указан, используется весь параметр str.
Возвращаемое значение
Объект HStringReference , значение которого совпадает с указанным параметром str .
Оператор HString::operator=
Перемещает значение другого HString объекта в текущий HString объект.
HString& operator=(HString&& other) throw()
Параметры
other
Существующий объект HString.
Замечания
Значение существующего другого объекта копируется в текущий HString объект, а затем уничтожается другой объект.
Оператор HString::operator==
Указывает, равны ли два параметра.
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()
Параметры
lhs
Первый параметр для сравнения.
lhs может быть HString объектом или HStringReference дескриптором HSTRING.
rhs
Второй параметр для сравнения.rhs может быть HString объектом или HStringReference дескриптором HSTRING.
Возвращаемое значение
true
false равны; в противном случае .
Оператор HString::operator!=
Указывает, равны ли два параметра.
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()
Параметры
lhs
Первый параметр для сравнения.
lhs может быть HString объектом или HStringReference дескриптором HSTRING.
rhs
Второй параметр для сравнения.rhs может быть HString объектом или HStringReference дескриптором HSTRING.
Возвращаемое значение
trueЗначение false.
Оператор HString::operator<
Указывает, меньше ли первый параметр, чем второй параметр.
inline bool operator<(
const HString& lhs,
const HString& rhs) throw()
Параметры
lhs
Первый параметр для сравнения.
lhs может быть ссылкой на объект HString.
rhs
Второй параметр для сравнения.
rhs может быть ссылкой на объект HString.
Возвращаемое значение
trueЗначение false
HString::Release
Удаляет базовое строковое значение и инициализирует текущий HString объект в пустое значение.
void Release() throw()
HString::Set
Задает значение текущего HString объекта заданной строкой или HString параметром.
HRESULT Set(
const wchar_t* str) throw();
HRESULT Set(
const wchar_t* str,
unsigned int len
) throw();
HRESULT Set(
const HSTRING& hstr
) throw();
Параметры
str
Строка расширенных символов.
len
Максимальная длина параметра str , назначенного текущему HString объекту.
hstr
Существующий объект HString.