HStringReference 类
表示从现有字符串创建的 HSTRING。
语法
class HStringReference;
备注
新 HSTRING 中的后备缓冲区的生存期不由 Windows 运行时管理。 调用方在堆栈帧上分配源字符串,以避免堆分配并消除内存泄漏的风险。 此外,调用方必须确保源字符串在附加的 HSTRING 的生存期内保持不变。 有关详细信息,请参阅 WindowsCreateStringReference 函数。
成员
公共构造函数
名称 | 描述 |
---|---|
HStringReference::HStringReference | 初始化 HStringReference 类的新实例。 |
公共方法
成员 | 说明 |
---|---|
HStringReference::CopyTo | 将当前 HStringReference 对象复制到 HSTRING 对象。 |
HStringReference::Get | 检索基础 HSTRING 句柄的值。 |
HStringReference::GetRawBuffer | 检索指向基础字符串数据的指针。 |
公共运算符
“属性” | 描述 |
---|---|
HStringReference::operator= | 将另一个 HStringReference 对象的值移动到当前 HStringReference 对象。 |
HStringReference::operator== | 指示两个参数是否相等。 |
HStringReference::operator!= | 指示两个参数是否不相等。 |
HStringReference::operator< |
指示第一个参数是否小于第二个参数。 |
继承层次结构
HStringReference
要求
标头:corewrappers.h
命名空间:Microsoft::WRL::Wrappers
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;
参数
length 指向接收数据长度的 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 大于 sizeDest,则 len 设置为 sizeDest-1。
其他
另一个 HStringReference
对象。
备注
第一个构造函数初始化大小与参数 str 相同的新的 HStringReference
对象。
第二个构造函数初始化大小由参数 len 指定的新的 HStringReference
对象。
第三个构造函数将新的 HStringReference
对象初始化为 other 参数的值,然后销毁 other 参数。
HStringReference::operator=
将另一个 HStringReference
对象的值移动到当前 HStringReference
对象。
HStringReference& operator=(HStringReference&& other) throw()
参数
其他
一个现有的 HStringReference
对象。
备注
现有 other 对象的值将复制到当前 HStringReference
对象,然后将销毁 other 对象。
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 句柄。
返回值
如果 lhs 和 rhs 参数相等,则为 true
;否则为 false
。
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 句柄。
返回值
如果 lhs 和 rhs 参数不相等,则为 true
;否则为 false
。
HStringReference::operator<
指示第一个参数是否小于第二个参数。
inline bool operator<(
const HStringReference& lhs,
const HStringReference& rhs) throw()
参数
lhs
要比较的第一个参数。 lhs 可以是对 HStringReference
的引用。
rhs
要比较的第二个参数。 rhs 可以是对 HStringReference
的引用。
返回值
如果 lhs 参数小于 rhs 参数,则为 true
;否则为 false
。