Win32 API 日本語リファレンス
ホームSystem.Wmi › ISWbemObject

ISWbemObject

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID76a6415a-cb41-11d1-8b02-00600806d9b6継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 25

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT Put_(INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObjectPath** objWbemObjectPath)
iFlagsINTin保存動作を制御するフラグを指定する(作成のみ、更新のみ等)。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemObjectPathISWbemObjectPath**out保存されたオブジェクトのパスを表す ISWbemObjectPath インターフェイスポインタを受け取る。
vtbl 8 HRESULT PutAsync_(IDispatch* objWbemSink, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
objWbemSinkIDispatch*in結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。
iFlagsINTin保存動作を制御するフラグを指定する(作成のみ、更新のみ等)。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 9 HRESULT Delete_(INT iFlags, IDispatch* objWbemNamedValueSet)
iFlagsINTin削除動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
vtbl 10 HRESULT DeleteAsync_(IDispatch* objWbemSink, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
objWbemSinkIDispatch*in結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。
iFlagsINTin削除動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 11 HRESULT Instances_(INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObjectSet** objWbemObjectSet)
iFlagsINTin列挙動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemObjectSetISWbemObjectSet**outこのクラスのインスタンスのコレクションを表す ISWbemObjectSet インターフェイスポインタを受け取る。
vtbl 12 HRESULT InstancesAsync_(IDispatch* objWbemSink, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
objWbemSinkIDispatch*in結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。
iFlagsINTin列挙動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 13 HRESULT Subclasses_(INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObjectSet** objWbemObjectSet)
iFlagsINTin列挙動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemObjectSetISWbemObjectSet**outこのクラスのサブクラスのコレクションを表す ISWbemObjectSet インターフェイスポインタを受け取る。
vtbl 14 HRESULT SubclassesAsync_(IDispatch* objWbemSink, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
objWbemSinkIDispatch*in結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。
iFlagsINTin列挙動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 15 HRESULT Associators_(LPWSTR strAssocClass, LPWSTR strResultClass, LPWSTR strResultRole, LPWSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, LPWSTR strRequiredAssocQualifier, LPWSTR strRequiredQualifier, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObjectSet** objWbemObjectSet)
strAssocClassLPWSTRin結果を指定した関連クラスを通じて関連付けられたものに限定する。
strResultClassLPWSTRin結果を指定したクラスのオブジェクトに限定する。
strResultRoleLPWSTRin結果を、関連において指定したロールを果たすオブジェクトに限定する。
strRoleLPWSTRinこのオブジェクトが関連において果たすロールで結果を限定する。
bClassesOnlyVARIANT_BOOLinTRUE の場合、関連オブジェクトそのものではなくクラス定義のみを返す。
bSchemaOnlyVARIANT_BOOLinTRUE の場合、実インスタンスではなくスキーマ(クラス)情報のみを返す。
strRequiredAssocQualifierLPWSTRin指定した修飾子を持つ関連クラスのみを結果に含める。
strRequiredQualifierLPWSTRin指定した修飾子を持つ結果オブジェクトのみを含める。
iFlagsINTin動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemObjectSetISWbemObjectSet**out関連付けられたオブジェクトのコレクションを表す ISWbemObjectSet インターフェイスポインタを受け取る。
vtbl 16 HRESULT AssociatorsAsync_(IDispatch* objWbemSink, LPWSTR strAssocClass, LPWSTR strResultClass, LPWSTR strResultRole, LPWSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, LPWSTR strRequiredAssocQualifier, LPWSTR strRequiredQualifier, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
objWbemSinkIDispatch*in結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。
strAssocClassLPWSTRin結果を指定した関連クラスを通じて関連付けられたものに限定する。
strResultClassLPWSTRin結果を指定したクラスのオブジェクトに限定する。
strResultRoleLPWSTRin結果を、関連において指定したロールを果たすオブジェクトに限定する。
strRoleLPWSTRinこのオブジェクトが関連において果たすロールで結果を限定する。
bClassesOnlyVARIANT_BOOLinTRUE の場合、関連オブジェクトそのものではなくクラス定義のみを返す。
bSchemaOnlyVARIANT_BOOLinTRUE の場合、実インスタンスではなくスキーマ(クラス)情報のみを返す。
strRequiredAssocQualifierLPWSTRin指定した修飾子を持つ関連クラスのみを結果に含める。
strRequiredQualifierLPWSTRin指定した修飾子を持つ結果オブジェクトのみを含める。
iFlagsINTin動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 17 HRESULT References_(LPWSTR strResultClass, LPWSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, LPWSTR strRequiredQualifier, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObjectSet** objWbemObjectSet)
strResultClassLPWSTRin結果を指定したクラスの関連オブジェクトに限定する。
strRoleLPWSTRinこのオブジェクトが関連において果たすロールで結果を限定する。
bClassesOnlyVARIANT_BOOLinTRUE の場合、関連オブジェクトそのものではなくクラス定義のみを返す。
bSchemaOnlyVARIANT_BOOLinTRUE の場合、実インスタンスではなくスキーマ(クラス)情報のみを返す。
strRequiredQualifierLPWSTRin指定した修飾子を持つ結果オブジェクトのみを含める。
iFlagsINTin動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemObjectSetISWbemObjectSet**outこのオブジェクトを参照する関連オブジェクトのコレクションを表す ISWbemObjectSet インターフェイスポインタを受け取る。
vtbl 18 HRESULT ReferencesAsync_(IDispatch* objWbemSink, LPWSTR strResultClass, LPWSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, LPWSTR strRequiredQualifier, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
objWbemSinkIDispatch*in結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。
strResultClassLPWSTRin結果を指定したクラスの関連オブジェクトに限定する。
strRoleLPWSTRinこのオブジェクトが関連において果たすロールで結果を限定する。
bClassesOnlyVARIANT_BOOLinTRUE の場合、関連オブジェクトそのものではなくクラス定義のみを返す。
bSchemaOnlyVARIANT_BOOLinTRUE の場合、実インスタンスではなくスキーマ(クラス)情報のみを返す。
strRequiredQualifierLPWSTRin指定した修飾子を持つ結果オブジェクトのみを含める。
iFlagsINTin動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 19 HRESULT ExecMethod_(LPWSTR strMethodName, IDispatch* objWbemInParameters, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObject** objWbemOutParameters)
strMethodNameLPWSTRin実行するメソッドの名前を指定する。
objWbemInParametersIDispatch*inメソッドの入力パラメータを格納したオブジェクトの IDispatch へのポインタである。入力が無ければ NULL を指定する。
iFlagsINTin動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemOutParametersISWbemObject**outメソッドの出力パラメータを格納したオブジェクトの ISWbemObject インターフェイスポインタを受け取る。
vtbl 20 HRESULT ExecMethodAsync_(IDispatch* objWbemSink, LPWSTR strMethodName, IDispatch* objWbemInParameters, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
objWbemSinkIDispatch*in結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。
strMethodNameLPWSTRin実行するメソッドの名前を指定する。
objWbemInParametersIDispatch*inメソッドの入力パラメータを格納したオブジェクトの IDispatch へのポインタである。入力が無ければ NULL を指定する。
iFlagsINTin動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 21 HRESULT Clone_(ISWbemObject** objWbemObject)
objWbemObjectISWbemObject**outこのオブジェクトの複製である ISWbemObject インターフェイスポインタを受け取る。
vtbl 22 HRESULT GetObjectText_(INT iFlags, LPWSTR* strObjectText)
iFlagsINTinテキスト生成動作を制御するフラグを指定する。
strObjectTextLPWSTR*outオブジェクトの MOF 形式テキスト表現を受け取る。
vtbl 23 HRESULT SpawnDerivedClass_(INT iFlags, ISWbemObject** objWbemObject)
iFlagsINTin予約済みである。0 を指定する。
objWbemObjectISWbemObject**outこのクラスを基底とする新しい派生クラスを表す ISWbemObject インターフェイスポインタを受け取る。
vtbl 24 HRESULT SpawnInstance_(INT iFlags, ISWbemObject** objWbemObject)
iFlagsINTin予約済みである。0 を指定する。
objWbemObjectISWbemObject**outこのクラスから生成された新しいインスタンスを表す ISWbemObject インターフェイスポインタを受け取る。
vtbl 25 HRESULT CompareTo_(IDispatch* objWbemObject, INT iFlags, VARIANT_BOOL* bResult)
objWbemObjectIDispatch*in比較対象のオブジェクトの IDispatch へのポインタである。
iFlagsINTin比較動作を制御するフラグを指定する。
bResultVARIANT_BOOL*out両オブジェクトが等しい場合に TRUE を受け取る。
vtbl 26 HRESULT get_Qualifiers_(ISWbemQualifierSet** objWbemQualifierSet)
objWbemQualifierSetISWbemQualifierSet**outこのオブジェクトの修飾子コレクションを表す ISWbemQualifierSet インターフェイスポインタを受け取る。
vtbl 27 HRESULT get_Properties_(ISWbemPropertySet** objWbemPropertySet)
objWbemPropertySetISWbemPropertySet**outこのオブジェクトのプロパティコレクションを表す ISWbemPropertySet インターフェイスポインタを受け取る。
vtbl 28 HRESULT get_Methods_(ISWbemMethodSet** objWbemMethodSet)
objWbemMethodSetISWbemMethodSet**outこのオブジェクトのメソッドコレクションを表す ISWbemMethodSet インターフェイスポインタを受け取る。
vtbl 29 HRESULT get_Derivation_(VARIANT* strClassNameArray)
strClassNameArrayVARIANT*outこのクラスの継承階層を示すクラス名の配列を格納した VARIANT を受け取る。
vtbl 30 HRESULT get_Path_(ISWbemObjectPath** objWbemObjectPath)
objWbemObjectPathISWbemObjectPath**outこのオブジェクトのパス情報を表す ISWbemObjectPath インターフェイスポインタを受け取る。
vtbl 31 HRESULT get_Security_(ISWbemSecurity** objWbemSecurity)
objWbemSecurityISWbemSecurity**outこのオブジェクトのセキュリティ設定を表す ISWbemSecurity インターフェイスポインタを受け取る。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_ISWbemObject "{76A6415A-CB41-11D1-8B02-00600806D9B6}"
#usecom global ISWbemObject IID_ISWbemObject "{}"
#comfunc global ISWbemObject_Put_                7 int,sptr,sptr
#comfunc global ISWbemObject_PutAsync_           8 sptr,int,sptr,sptr
#comfunc global ISWbemObject_Delete_             9 int,sptr
#comfunc global ISWbemObject_DeleteAsync_        10 sptr,int,sptr,sptr
#comfunc global ISWbemObject_Instances_          11 int,sptr,sptr
#comfunc global ISWbemObject_InstancesAsync_     12 sptr,int,sptr,sptr
#comfunc global ISWbemObject_Subclasses_         13 int,sptr,sptr
#comfunc global ISWbemObject_SubclassesAsync_    14 sptr,int,sptr,sptr
#comfunc global ISWbemObject_Associators_        15 wstr,wstr,wstr,wstr,int,int,wstr,wstr,int,sptr,sptr
#comfunc global ISWbemObject_AssociatorsAsync_   16 sptr,wstr,wstr,wstr,wstr,int,int,wstr,wstr,int,sptr,sptr
#comfunc global ISWbemObject_References_         17 wstr,wstr,int,int,wstr,int,sptr,sptr
#comfunc global ISWbemObject_ReferencesAsync_    18 sptr,wstr,wstr,int,int,wstr,int,sptr,sptr
#comfunc global ISWbemObject_ExecMethod_         19 wstr,sptr,int,sptr,sptr
#comfunc global ISWbemObject_ExecMethodAsync_    20 sptr,wstr,sptr,int,sptr,sptr
#comfunc global ISWbemObject_Clone_              21 sptr
#comfunc global ISWbemObject_GetObjectText_      22 int,var
#comfunc global ISWbemObject_SpawnDerivedClass_  23 int,sptr
#comfunc global ISWbemObject_SpawnInstance_      24 int,sptr
#comfunc global ISWbemObject_CompareTo_          25 sptr,int,var
#comfunc global ISWbemObject_get_Qualifiers_     26 sptr
#comfunc global ISWbemObject_get_Properties_     27 sptr
#comfunc global ISWbemObject_get_Methods_        28 sptr
#comfunc global ISWbemObject_get_Derivation_     29 var
#comfunc global ISWbemObject_get_Path_           30 sptr
#comfunc global ISWbemObject_get_Security_       31 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。