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

ISWbemServices

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

メソッド 19

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

vtbl 7 HRESULT Get(LPWSTR strObjectPath, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObject** objWbemObject)
strObjectPathLPWSTRin取得する対象クラスまたはインスタンスのオブジェクトパスを指定する。
iFlagsINTin取得動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemObjectISWbemObject**out取得されたオブジェクトの ISWbemObject インターフェイスポインタを受け取る。
vtbl 8 HRESULT GetAsync(IDispatch* objWbemSink, LPWSTR strObjectPath, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
objWbemSinkIDispatch*in結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。
strObjectPathLPWSTRin取得する対象クラスまたはインスタンスのオブジェクトパスを指定する。
iFlagsINTin取得動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 9 HRESULT Delete(LPWSTR strObjectPath, INT iFlags, IDispatch* objWbemNamedValueSet)
strObjectPathLPWSTRin削除する対象クラスまたはインスタンスのオブジェクトパスを指定する。
iFlagsINTin削除動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
vtbl 10 HRESULT DeleteAsync(IDispatch* objWbemSink, LPWSTR strObjectPath, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
objWbemSinkIDispatch*in結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。
strObjectPathLPWSTRin削除する対象クラスまたはインスタンスのオブジェクトパスを指定する。
iFlagsINTin削除動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 11 HRESULT InstancesOf(LPWSTR strClass, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObjectSet** objWbemObjectSet)
strClassLPWSTRinインスタンスを列挙する対象クラスの名前を指定する。
iFlagsINTin列挙動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemObjectSetISWbemObjectSet**out列挙されたインスタンスのコレクションを表す ISWbemObjectSet インターフェイスポインタを受け取る。
vtbl 12 HRESULT InstancesOfAsync(IDispatch* objWbemSink, LPWSTR strClass, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
objWbemSinkIDispatch*in結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。
strClassLPWSTRinインスタンスを列挙する対象クラスの名前を指定する。
iFlagsINTin列挙動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 13 HRESULT SubclassesOf(LPWSTR strSuperclass, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObjectSet** objWbemObjectSet)
strSuperclassLPWSTRinサブクラスを列挙する基底となるスーパークラスの名前を指定する。空の場合は最上位クラスを列挙する。
iFlagsINTin列挙動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemObjectSetISWbemObjectSet**out列挙されたサブクラスのコレクションを表す ISWbemObjectSet インターフェイスポインタを受け取る。
vtbl 14 HRESULT SubclassesOfAsync(IDispatch* objWbemSink, LPWSTR strSuperclass, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
objWbemSinkIDispatch*in結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。
strSuperclassLPWSTRinサブクラスを列挙する基底となるスーパークラスの名前を指定する。空の場合は最上位クラスを列挙する。
iFlagsINTin列挙動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 15 HRESULT ExecQuery(LPWSTR strQuery, LPWSTR strQueryLanguage, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObjectSet** objWbemObjectSet)
strQueryLPWSTRin実行するクエリのテキストを指定する。
strQueryLanguageLPWSTRinクエリ言語の名前(通常は "WQL")を指定する。
iFlagsINTinクエリ動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemObjectSetISWbemObjectSet**outクエリ結果のオブジェクトコレクションを表す ISWbemObjectSet インターフェイスポインタを受け取る。
vtbl 16 HRESULT ExecQueryAsync(IDispatch* objWbemSink, LPWSTR strQuery, LPWSTR strQueryLanguage, INT lFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
objWbemSinkIDispatch*in結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。
strQueryLPWSTRin実行するクエリのテキストを指定する。
strQueryLanguageLPWSTRinクエリ言語の名前(通常は "WQL")を指定する。
lFlagsINTinクエリ動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 17 HRESULT AssociatorsOf(LPWSTR strObjectPath, LPWSTR strAssocClass, LPWSTR strResultClass, LPWSTR strResultRole, LPWSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, LPWSTR strRequiredAssocQualifier, LPWSTR strRequiredQualifier, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObjectSet** objWbemObjectSet)
strObjectPathLPWSTRin関連付けられたオブジェクトを検索する起点となるオブジェクトのパスを指定する。
strAssocClassLPWSTRin結果を指定した関連クラスを通じて関連付けられたものに限定する。
strResultClassLPWSTRin結果を指定したクラスのオブジェクトに限定する。
strResultRoleLPWSTRin結果を、関連において指定したロールを果たすオブジェクトに限定する。
strRoleLPWSTRin起点オブジェクトが関連において果たすロールで結果を限定する。
bClassesOnlyVARIANT_BOOLinTRUE の場合、関連オブジェクトそのものではなくクラス定義のみを返す。
bSchemaOnlyVARIANT_BOOLinTRUE の場合、実インスタンスではなくスキーマ(クラス)情報のみを返す。
strRequiredAssocQualifierLPWSTRin指定した修飾子を持つ関連クラスのみを結果に含める。
strRequiredQualifierLPWSTRin指定した修飾子を持つ結果オブジェクトのみを含める。
iFlagsINTin動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemObjectSetISWbemObjectSet**out関連付けられたオブジェクトのコレクションを表す ISWbemObjectSet インターフェイスポインタを受け取る。
vtbl 18 HRESULT AssociatorsOfAsync(IDispatch* objWbemSink, LPWSTR strObjectPath, 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 インターフェイスへのポインタである。
strObjectPathLPWSTRin関連付けられたオブジェクトを検索する起点となるオブジェクトのパスを指定する。
strAssocClassLPWSTRin結果を指定した関連クラスを通じて関連付けられたものに限定する。
strResultClassLPWSTRin結果を指定したクラスのオブジェクトに限定する。
strResultRoleLPWSTRin結果を、関連において指定したロールを果たすオブジェクトに限定する。
strRoleLPWSTRin起点オブジェクトが関連において果たすロールで結果を限定する。
bClassesOnlyVARIANT_BOOLinTRUE の場合、関連オブジェクトそのものではなくクラス定義のみを返す。
bSchemaOnlyVARIANT_BOOLinTRUE の場合、実インスタンスではなくスキーマ(クラス)情報のみを返す。
strRequiredAssocQualifierLPWSTRin指定した修飾子を持つ関連クラスのみを結果に含める。
strRequiredQualifierLPWSTRin指定した修飾子を持つ結果オブジェクトのみを含める。
iFlagsINTin動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 19 HRESULT ReferencesTo(LPWSTR strObjectPath, LPWSTR strResultClass, LPWSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, LPWSTR strRequiredQualifier, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObjectSet** objWbemObjectSet)
strObjectPathLPWSTRin参照する関連オブジェクトを検索する起点となるオブジェクトのパスを指定する。
strResultClassLPWSTRin結果を指定したクラスの関連オブジェクトに限定する。
strRoleLPWSTRin起点オブジェクトが関連において果たすロールで結果を限定する。
bClassesOnlyVARIANT_BOOLinTRUE の場合、関連オブジェクトそのものではなくクラス定義のみを返す。
bSchemaOnlyVARIANT_BOOLinTRUE の場合、実インスタンスではなくスキーマ(クラス)情報のみを返す。
strRequiredQualifierLPWSTRin指定した修飾子を持つ結果オブジェクトのみを含める。
iFlagsINTin動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemObjectSetISWbemObjectSet**out起点を参照する関連オブジェクトのコレクションを表す ISWbemObjectSet インターフェイスポインタを受け取る。
vtbl 20 HRESULT ReferencesToAsync(IDispatch* objWbemSink, LPWSTR strObjectPath, LPWSTR strResultClass, LPWSTR strRole, VARIANT_BOOL bClassesOnly, VARIANT_BOOL bSchemaOnly, LPWSTR strRequiredQualifier, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
objWbemSinkIDispatch*in結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。
strObjectPathLPWSTRin参照する関連オブジェクトを検索する起点となるオブジェクトのパスを指定する。
strResultClassLPWSTRin結果を指定したクラスの関連オブジェクトに限定する。
strRoleLPWSTRin起点オブジェクトが関連において果たすロールで結果を限定する。
bClassesOnlyVARIANT_BOOLinTRUE の場合、関連オブジェクトそのものではなくクラス定義のみを返す。
bSchemaOnlyVARIANT_BOOLinTRUE の場合、実インスタンスではなくスキーマ(クラス)情報のみを返す。
strRequiredQualifierLPWSTRin指定した修飾子を持つ結果オブジェクトのみを含める。
iFlagsINTin動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 21 HRESULT ExecNotificationQuery(LPWSTR strQuery, LPWSTR strQueryLanguage, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemEventSource** objWbemEventSource)
strQueryLPWSTRin実行するイベント通知クエリのテキストを指定する。
strQueryLanguageLPWSTRinクエリ言語の名前(通常は "WQL")を指定する。
iFlagsINTin動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemEventSourceISWbemEventSource**outイベントを受信するためのイベントソースを表す ISWbemEventSource インターフェイスポインタを受け取る。
vtbl 22 HRESULT ExecNotificationQueryAsync(IDispatch* objWbemSink, LPWSTR strQuery, LPWSTR strQueryLanguage, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
objWbemSinkIDispatch*inイベントを非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。
strQueryLPWSTRin実行するイベント通知クエリのテキストを指定する。
strQueryLanguageLPWSTRinクエリ言語の名前(通常は "WQL")を指定する。
iFlagsINTin動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 23 HRESULT ExecMethod(LPWSTR strObjectPath, LPWSTR strMethodName, IDispatch* objWbemInParameters, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObject** objWbemOutParameters)
strObjectPathLPWSTRinメソッドを実行する対象オブジェクトのパスを指定する。
strMethodNameLPWSTRin実行するメソッドの名前を指定する。
objWbemInParametersIDispatch*inメソッドの入力パラメータを格納したオブジェクトの IDispatch へのポインタである。入力が無ければ NULL を指定する。
iFlagsINTin動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemOutParametersISWbemObject**outメソッドの出力パラメータを格納したオブジェクトの ISWbemObject インターフェイスポインタを受け取る。
vtbl 24 HRESULT ExecMethodAsync(IDispatch* objWbemSink, LPWSTR strObjectPath, LPWSTR strMethodName, IDispatch* objWbemInParameters, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
objWbemSinkIDispatch*in結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。
strObjectPathLPWSTRinメソッドを実行する対象オブジェクトのパスを指定する。
strMethodNameLPWSTRin実行するメソッドの名前を指定する。
objWbemInParametersIDispatch*inメソッドの入力パラメータを格納したオブジェクトの IDispatch へのポインタである。入力が無ければ NULL を指定する。
iFlagsINTin動作を制御するフラグを指定する。
objWbemNamedValueSetIDispatch*in操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。
objWbemAsyncContextIDispatch*inコールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。
vtbl 25 HRESULT get_Security_(ISWbemSecurity** objWbemSecurity)
objWbemSecurityISWbemSecurity**outこのサービスオブジェクトのセキュリティ設定を表す ISWbemSecurity インターフェイスポインタを受け取る。

HSP用 COM定義

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

#define global IID_ISWbemServices "{76A6415C-CB41-11D1-8B02-00600806D9B6}"
#usecom global ISWbemServices IID_ISWbemServices "{}"
#comfunc global ISWbemServices_Get                         7 wstr,int,sptr,sptr
#comfunc global ISWbemServices_GetAsync                    8 sptr,wstr,int,sptr,sptr
#comfunc global ISWbemServices_Delete                      9 wstr,int,sptr
#comfunc global ISWbemServices_DeleteAsync                 10 sptr,wstr,int,sptr,sptr
#comfunc global ISWbemServices_InstancesOf                 11 wstr,int,sptr,sptr
#comfunc global ISWbemServices_InstancesOfAsync            12 sptr,wstr,int,sptr,sptr
#comfunc global ISWbemServices_SubclassesOf                13 wstr,int,sptr,sptr
#comfunc global ISWbemServices_SubclassesOfAsync           14 sptr,wstr,int,sptr,sptr
#comfunc global ISWbemServices_ExecQuery                   15 wstr,wstr,int,sptr,sptr
#comfunc global ISWbemServices_ExecQueryAsync              16 sptr,wstr,wstr,int,sptr,sptr
#comfunc global ISWbemServices_AssociatorsOf               17 wstr,wstr,wstr,wstr,wstr,int,int,wstr,wstr,int,sptr,sptr
#comfunc global ISWbemServices_AssociatorsOfAsync          18 sptr,wstr,wstr,wstr,wstr,wstr,int,int,wstr,wstr,int,sptr,sptr
#comfunc global ISWbemServices_ReferencesTo                19 wstr,wstr,wstr,int,int,wstr,int,sptr,sptr
#comfunc global ISWbemServices_ReferencesToAsync           20 sptr,wstr,wstr,wstr,int,int,wstr,int,sptr,sptr
#comfunc global ISWbemServices_ExecNotificationQuery       21 wstr,wstr,int,sptr,sptr
#comfunc global ISWbemServices_ExecNotificationQueryAsync  22 sptr,wstr,wstr,int,sptr,sptr
#comfunc global ISWbemServices_ExecMethod                  23 wstr,wstr,sptr,int,sptr,sptr
#comfunc global ISWbemServices_ExecMethodAsync             24 sptr,wstr,wstr,sptr,int,sptr,sptr
#comfunc global ISWbemServices_get_Security_               25 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。