Windows Runtime Cpp Windowsランタイムテンプレートライブラリ 新しいページはコチラ
提供: yonewiki
(→ComPtr スマートポインタによる文字列オブジェクト生成) |
|||
210行: | 210行: | ||
続行するには何かキーを押してください . . . | 続行するには何かキーを押してください . . . | ||
+ | |||
+ | |||
+ | === '''HString::MakeReference(pStr).Get() 静的メンバ関数''' === | ||
+ | [[Windows Runtime Cpp Windowsランタイムテンプレートライブラリ#ComPtr スマートポインタによる文字列オブジェクト生成|前項のサンプル]]に登場したHStringクラスの静的メンバ関数MakeReferenceを使うと文字列を参照するオブジェクトが生成されます。 | ||
+ | *'''HString::MakeReference(文字列先頭アドレス変数or L"" 文字列リテラル指定).Get()''' | ||
+ | 上記のようにして、ネイティブなC++文字列変数からHString型の文字列の参照をオブジェクトとして作ることができます。 | ||
+ | :第一引数:文字列の先頭アドレス変数 L""のようなワイド文字列のリテラルを指定しても同じことです。サンプルでは27行目で使われていて、ヘッダファイルで定義されているRuntimeClass_Windows_UI_Xaml_ApplicationというキーワードでL"RuntimeClass.Windows.UI.Xaml.Application"が指定されているような感じになっています。 | ||
+ | |||
+ | |||
+ | === '''ComPtr <IApplication> Obj.GetAddressOf()''' === | ||
+ | [[Windows Runtime Cpp Windowsランタイムテンプレートライブラリ#ComPtr スマートポインタによる文字列オブジェクト生成|前項のサンプル]]に登場したComPtrの< >テンプレート(例ではIApplicationクラス)によって定義されたオブジェクト(例ではObj)のメソッドGetAddressOf()関数によってObjのアドレスを返却する関数となっています。 | ||
+ | *'''ComPtr <IApplication> Obj.GetAddressOf()''' | ||
+ | :引数はありません。 | ||
+ | RoActivateInstanceなどオブジェクトのアドレスを引数として必要とする関数を使うときに便利なメソッドとなります。 | ||
+ | |||
+ | |||
+ | === '''ComPtr <IApplication> Obj.Get()''' === | ||
+ | [[Windows Runtime Cpp Windowsランタイムテンプレートライブラリ#ComPtr スマートポインタによる文字列オブジェクト生成|前項のサンプル]]に登場したComPtrの< >テンプレート(例ではIApplicationクラス)によって定義されたオブジェクト(例ではObj)のメソッドGet()関数によってObjのオブジェクトを返却する関数となっています。 | ||
+ | *'''ComPtr <IApplication> Obj.Get()''' | ||
+ | :引数はありません。 | ||
+ | サンプルでは38行目に使われています。ObjはIApplicationオブジェクトのアドレスを保持している変数ですので、IApplicationクラスのメンバ関数GetRuntimeClassNameを[[C -> アロー演算子|アロー演算子]]を使って指定できています。 | ||
+ | |||
+ | === '''文字列の設定 HString Obj.GetAddressOf()''' === | ||
+ | [[Windows Runtime Cpp Windowsランタイムテンプレートライブラリ#文字列 HString|前項のサンプル]]のとおりの使い方です。 | ||
+ | *(HString型オブジェクト)'''.GetAddressOf()'''; | ||
+ | 上記のようにして文字列値の先頭アドレスを取得できます。引数としてHString型の先頭アドレスが必要な場合に便利です。 | ||
+ | :引数はありません。 | ||
+ | サンプルでは38行目に使われています。このようにCOMテンプレートで準備されているメソッドと同じ名前で統一されています。すべてのメソッドを少しづつ紹介したいとは思いますが、めちゃくちゃ多いので、全部紹介するまでに他のこともやらんといかんし、たぶん…先に管理人の命が尽きる気がします。 | ||
+ | |||
+ | |||
+ | [[Windows Runtime Cpp]]へ戻る |