IWbemObjectTextSrc
COM公式ドキュメント
IWbemObjectTextSrc インターフェイスは、IWbemClassObject のインスタンスをさまざまなテキスト形式との間で相互変換するために使用します。
メソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
IWbemObjectTextSrc::GetText メソッドは、IWbemClassObject オブジェクトのテキスト表現 (たとえば XML 表現) を作成します。
| lFlags | INT | in | 予約済みです。0L を指定する必要があります。 |
| pObj | IWbemClassObject* | in | テキスト形式で表現するオブジェクトへの参照。このパラメーターに NULL を指定することはできません。 |
| uObjTextFormat | DWORD | in | オブジェクトの表現に使用するテキスト形式の定義。このパラメーターに指定できる値の詳細については、「解説」を参照してください。 WMI_OBJ_TEXT_CIM_DTD_2_0 (1 (0x1))CIM DTD バージョン 2.0 に対応する DTD を使用します。 WMI_OBJ_TEXT_WMI_DTD_2_0 (2 (0x2))CIM DTD バージョン 2.0 に対応する WMI DTD を使用します。この値を使用すると、埋め込みオブジェクトやスコープなど、WMI 固有の拡張機能が有効になります。 WMI_OBJ_TEXT_WMI_EXT1 (3 (0x3))将来の使用のために予約されています。 WMI_OBJ_TEXT_WMI_EXT2 (4 (0x4))将来の使用のために予約されています。 WMI_OBJ_TEXT_WMI_EXT3 (5 (0x5))将来の使用のために予約されています。 WMI_OBJ_TEXT_WMI_EXT4 (6 (0x6))将来の使用のために予約されています。 WMI_OBJ_TEXT_WMI_EXT5 (7 (0x7))将来の使用のために予約されています。 WMI_OBJ_TEXT_WMI_EXT6 (8 (0x8))将来の使用のために予約されています。 WMI_OBJ_TEXT_WMI_EXT7 (9 (0x9))将来の使用のために予約されています。 WMI_OBJ_TEXT_WMI_EXT8 (10 (0xA))将来の使用のために予約されています。 WMI_OBJ_TEXT_WMI_EXT9 (11 (0xB))将来の使用のために予約されています。 WMI_OBJ_TEXT_WMI_EXT10 (12 (0xC))将来の使用のために予約されています。 WMI_OBJ_TEXT_LAST (13 (0xD))将来の使用のために予約されています。 |
| pCtx | IWbemContext* | in | 省略可能です。操作用のコンテキストオブジェクト。コンテキストオブジェクトを使用すると、オブジェクトのどの部分をテキストで表現するか (たとえば、テキスト表現に修飾子を含めるかどうか) を指定できます。コンテキストオブジェクトには次の省略可能な値を設定できます。 LocalOnly (VT_BOOL)TRUE の場合、ローカルに定義されたプロパティとメソッドのみが生成される XML に含まれます。既定値は FALSE です。 IncludeQualifiers (VT_BOOL)TRUE の場合、クラス、インスタンス、プロパティ、メソッドの修飾子が出力に含まれます。既定値は FALSE です。 PathLevel (VT_I4)既定値は 0 (ゼロ) です。 指定できる値は次のとおりです。
ExcludeSystemProperties (VT_BOOL)TRUE の場合、__NAMESPACE などのシステムプロパティは出力に含まれません。既定値は FALSE です。 IncludeClassOrigin (VT_BOOL)TRUE の場合、PROPERTY 要素および METHOD 要素にクラス起源 (class origin) 属性が設定されます。既定値は FALSE です。 |
| strText | LPWSTR* | out | オブジェクトのテキスト表現。strText の使用が終わったら、SysFreeString を使用して文字列を解放する必要があります。 |
戻り値
このメソッドは、メソッド呼び出しの状態を示す HRESULT を返します。次に、HRESULT に含まれる値を示します。
解説(Remarks)
詳細については、 Representing Objects in XML を参照してください。
| lFlags | INT | in | 動作を制御するフラグを指定する。通常は 0 を指定する。 |
| strText | LPWSTR | in | オブジェクトを生成する元となるテキスト表現を指定する。 |
| uObjTextFormat | DWORD | in | 入力テキストの形式を指定する(WMI_OBJ_TEXT_CIM_DTD_2_0 または WMI_OBJ_TEXT_WMI_DTD_2_0)。 |
| pCtx | IWbemContext* | in | 操作に使用する IWbemContext へのポインタである。不要なら NULL を指定する。 |
| pNewObj | IWbemClassObject** | out | テキストから生成された新しいオブジェクトの IWbemClassObject インターフェイスポインタを受け取る。 |
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IWbemObjectTextSrc "{BFBF883A-CAD7-11D3-A11B-00105A1F515A}" #usecom global IWbemObjectTextSrc IID_IWbemObjectTextSrc "{8D1C559D-84F0-4BB3-A7D5-56A7435A9BA6}" #comfunc global IWbemObjectTextSrc_GetText 3 int,sptr,int,sptr,var #comfunc global IWbemObjectTextSrc_CreateFromText 4 int,wstr,int,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IWbemObjectTextSrc "{BFBF883A-CAD7-11D3-A11B-00105A1F515A}" #usecom global IWbemObjectTextSrc IID_IWbemObjectTextSrc "{8D1C559D-84F0-4BB3-A7D5-56A7435A9BA6}" #comfunc global IWbemObjectTextSrc_GetText 3 int,sptr,int,sptr,sptr #comfunc global IWbemObjectTextSrc_CreateFromText 4 int,wstr,int,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。