HString 類別
使用RAII模式管理HSTRING存留期的協助程序類別。
語法
class HString;
備註
Windows 執行階段 可透過 HSTRING 句柄存取字串。 類別 HString
提供方便的函式和運算符,以簡化使用 HSTRING 句柄。 這個類別可以透過 RAII 模式處理其所擁有的 HSTRING 存留期。
成員
公用建構函式
名稱 | 描述 |
---|---|
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::Wrappers
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;
參數
length 接收數據長度之變數的指標 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
如果 lhs 和 rhs 參數相等,則為 ,否則為 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
如果 lhs 和 rhs 參數不相等,則為 ,否則為 false
。
HString::operator<
運算子
指出第一個參數是否小於第二個參數。
inline bool operator<(
const HString& lhs,
const HString& rhs) throw()
參數
lhs
要比較的第一個參數。 lhs 可以是 的 HString
參考。
rhs
要比較的第二個參數。 rhs 可以是 的 HString
參考。
傳回值
true
如果 lhs 參數小於 rhs 參數,則為 ,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
指派給目前HString
物件的 str 參數長度上限。
hstr
現有的 HString
物件。