次の方法で共有


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::Detach 指定した 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== 2 つのパラメーターが等しいかどうかを示します。
HString::operator!= 2 つのパラメーターが異なるかどうかを示します。
HString::operator< 1 つ目のパラメーターが 2 つ目のパラメーターより小さいかどうかを示します。

継承階層

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::Detach

指定した 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 オブジェクトを初期化します。

2 番目のコンストラクターは、新しい HString オブジェクトを既存の other パラメーターの値に初期化してから、other パラメーターを破棄します。

HString::IsValid

現在の HString オブジェクトが空かどうかを示します。

bool IsValid() const throw()

パラメーター

現在の HString オブジェクトが空でない場合は true。それ以外の場合は 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 パラメーター全体が使用されます。

戻り値

指定した str パラメーターと同じ値を持つ HStringReference オブジェクト。

HString::operator= 演算子

別の HString オブジェクトの値を現在の HString オブジェクトに移動します。

HString& operator=(HString&& other) throw()

パラメーター

other
既存の HString オブジェクトです。

解説

既存の other オブジェクトの値が現在の HString オブジェクトにコピーされてから、other オブジェクトが破棄されます。

HString::operator== 演算子

2 つのパラメーターが等しいかどうかを示します。

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
比較する最初のパラメーター。 lhsHString または HStringReference オブジェクトか、HSTRING ハンドルにすることができます。

rhs
比較する 2 番目のパラメーター。rhsHString または HStringReference オブジェクトか、HSTRING ハンドルにすることができます。

戻り値

lhs パラメーターと rhs パラメーターが等しい場合は true。それ以外の場合は false

HString::operator!= 演算子

2 つのパラメーターが異なるかどうかを示します。

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
比較する最初のパラメーター。 lhsHString または HStringReference オブジェクトか、HSTRING ハンドルにすることができます。

rhs
比較する 2 番目のパラメーター。rhsHString または HStringReference オブジェクトか、HSTRING ハンドルにすることができます。

戻り値

lhs パラメーターと rhs パラメーターが等しくない場合は true。それ以外の場合は false

HString::operator< 演算子

1 つ目のパラメーターが 2 つ目のパラメーターより小さいかどうかを示します。

inline bool operator<(
    const HString& lhs,
    const HString& rhs) throw()

パラメーター

lhs
比較する最初のパラメーター。 lhs は、HString の参照にすることができます。

rhs
比較する 2 番目のパラメーター。 rhs は、HString の参照にすることができます。

戻り値

lhs パラメーターが rhs パラメーターより小さい場合は 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
現在の HString オブジェクトに割り当てられている str パラメーターの最大の長さ。

hstr
既存の HString オブジェクトです。