ホーム › System.Wmi › ISWbemServices
ISWbemServices
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 19
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
vtbl 7 HRESULT Get(LPWSTR strObjectPath, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObject** objWbemObject)
| strObjectPath | LPWSTR | in | 取得する対象クラスまたはインスタンスのオブジェクトパスを指定する。 |
| iFlags | INT | in | 取得動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemObject | ISWbemObject** | out | 取得されたオブジェクトの ISWbemObject インターフェイスポインタを受け取る。 |
vtbl 8 HRESULT GetAsync(IDispatch* objWbemSink, LPWSTR strObjectPath, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
| objWbemSink | IDispatch* | in | 結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。 |
| strObjectPath | LPWSTR | in | 取得する対象クラスまたはインスタンスのオブジェクトパスを指定する。 |
| iFlags | INT | in | 取得動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemAsyncContext | IDispatch* | in | コールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。 |
| strObjectPath | LPWSTR | in | 削除する対象クラスまたはインスタンスのオブジェクトパスを指定する。 |
| iFlags | INT | in | 削除動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
vtbl 10 HRESULT DeleteAsync(IDispatch* objWbemSink, LPWSTR strObjectPath, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
| objWbemSink | IDispatch* | in | 結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。 |
| strObjectPath | LPWSTR | in | 削除する対象クラスまたはインスタンスのオブジェクトパスを指定する。 |
| iFlags | INT | in | 削除動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemAsyncContext | IDispatch* | in | コールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。 |
vtbl 11 HRESULT InstancesOf(LPWSTR strClass, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObjectSet** objWbemObjectSet)
| strClass | LPWSTR | in | インスタンスを列挙する対象クラスの名前を指定する。 |
| iFlags | INT | in | 列挙動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemObjectSet | ISWbemObjectSet** | out | 列挙されたインスタンスのコレクションを表す ISWbemObjectSet インターフェイスポインタを受け取る。 |
vtbl 12 HRESULT InstancesOfAsync(IDispatch* objWbemSink, LPWSTR strClass, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
| objWbemSink | IDispatch* | in | 結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。 |
| strClass | LPWSTR | in | インスタンスを列挙する対象クラスの名前を指定する。 |
| iFlags | INT | in | 列挙動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemAsyncContext | IDispatch* | in | コールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。 |
vtbl 13 HRESULT SubclassesOf(LPWSTR strSuperclass, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObjectSet** objWbemObjectSet)
| strSuperclass | LPWSTR | in | サブクラスを列挙する基底となるスーパークラスの名前を指定する。空の場合は最上位クラスを列挙する。 |
| iFlags | INT | in | 列挙動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemObjectSet | ISWbemObjectSet** | out | 列挙されたサブクラスのコレクションを表す ISWbemObjectSet インターフェイスポインタを受け取る。 |
vtbl 14 HRESULT SubclassesOfAsync(IDispatch* objWbemSink, LPWSTR strSuperclass, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
| objWbemSink | IDispatch* | in | 結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。 |
| strSuperclass | LPWSTR | in | サブクラスを列挙する基底となるスーパークラスの名前を指定する。空の場合は最上位クラスを列挙する。 |
| iFlags | INT | in | 列挙動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemAsyncContext | IDispatch* | in | コールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。 |
vtbl 15 HRESULT ExecQuery(LPWSTR strQuery, LPWSTR strQueryLanguage, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObjectSet** objWbemObjectSet)
| strQuery | LPWSTR | in | 実行するクエリのテキストを指定する。 |
| strQueryLanguage | LPWSTR | in | クエリ言語の名前(通常は "WQL")を指定する。 |
| iFlags | INT | in | クエリ動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemObjectSet | ISWbemObjectSet** | out | クエリ結果のオブジェクトコレクションを表す ISWbemObjectSet インターフェイスポインタを受け取る。 |
vtbl 16 HRESULT ExecQueryAsync(IDispatch* objWbemSink, LPWSTR strQuery, LPWSTR strQueryLanguage, INT lFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
| objWbemSink | IDispatch* | in | 結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。 |
| strQuery | LPWSTR | in | 実行するクエリのテキストを指定する。 |
| strQueryLanguage | LPWSTR | in | クエリ言語の名前(通常は "WQL")を指定する。 |
| lFlags | INT | in | クエリ動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemAsyncContext | IDispatch* | 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)
| strObjectPath | LPWSTR | in | 関連付けられたオブジェクトを検索する起点となるオブジェクトのパスを指定する。 |
| strAssocClass | LPWSTR | in | 結果を指定した関連クラスを通じて関連付けられたものに限定する。 |
| strResultClass | LPWSTR | in | 結果を指定したクラスのオブジェクトに限定する。 |
| strResultRole | LPWSTR | in | 結果を、関連において指定したロールを果たすオブジェクトに限定する。 |
| strRole | LPWSTR | in | 起点オブジェクトが関連において果たすロールで結果を限定する。 |
| bClassesOnly | VARIANT_BOOL | in | TRUE の場合、関連オブジェクトそのものではなくクラス定義のみを返す。 |
| bSchemaOnly | VARIANT_BOOL | in | TRUE の場合、実インスタンスではなくスキーマ(クラス)情報のみを返す。 |
| strRequiredAssocQualifier | LPWSTR | in | 指定した修飾子を持つ関連クラスのみを結果に含める。 |
| strRequiredQualifier | LPWSTR | in | 指定した修飾子を持つ結果オブジェクトのみを含める。 |
| iFlags | INT | in | 動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemObjectSet | ISWbemObjectSet** | 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)
| objWbemSink | IDispatch* | in | 結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。 |
| strObjectPath | LPWSTR | in | 関連付けられたオブジェクトを検索する起点となるオブジェクトのパスを指定する。 |
| strAssocClass | LPWSTR | in | 結果を指定した関連クラスを通じて関連付けられたものに限定する。 |
| strResultClass | LPWSTR | in | 結果を指定したクラスのオブジェクトに限定する。 |
| strResultRole | LPWSTR | in | 結果を、関連において指定したロールを果たすオブジェクトに限定する。 |
| strRole | LPWSTR | in | 起点オブジェクトが関連において果たすロールで結果を限定する。 |
| bClassesOnly | VARIANT_BOOL | in | TRUE の場合、関連オブジェクトそのものではなくクラス定義のみを返す。 |
| bSchemaOnly | VARIANT_BOOL | in | TRUE の場合、実インスタンスではなくスキーマ(クラス)情報のみを返す。 |
| strRequiredAssocQualifier | LPWSTR | in | 指定した修飾子を持つ関連クラスのみを結果に含める。 |
| strRequiredQualifier | LPWSTR | in | 指定した修飾子を持つ結果オブジェクトのみを含める。 |
| iFlags | INT | in | 動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemAsyncContext | IDispatch* | 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)
| strObjectPath | LPWSTR | in | 参照する関連オブジェクトを検索する起点となるオブジェクトのパスを指定する。 |
| strResultClass | LPWSTR | in | 結果を指定したクラスの関連オブジェクトに限定する。 |
| strRole | LPWSTR | in | 起点オブジェクトが関連において果たすロールで結果を限定する。 |
| bClassesOnly | VARIANT_BOOL | in | TRUE の場合、関連オブジェクトそのものではなくクラス定義のみを返す。 |
| bSchemaOnly | VARIANT_BOOL | in | TRUE の場合、実インスタンスではなくスキーマ(クラス)情報のみを返す。 |
| strRequiredQualifier | LPWSTR | in | 指定した修飾子を持つ結果オブジェクトのみを含める。 |
| iFlags | INT | in | 動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemObjectSet | ISWbemObjectSet** | 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)
| objWbemSink | IDispatch* | in | 結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。 |
| strObjectPath | LPWSTR | in | 参照する関連オブジェクトを検索する起点となるオブジェクトのパスを指定する。 |
| strResultClass | LPWSTR | in | 結果を指定したクラスの関連オブジェクトに限定する。 |
| strRole | LPWSTR | in | 起点オブジェクトが関連において果たすロールで結果を限定する。 |
| bClassesOnly | VARIANT_BOOL | in | TRUE の場合、関連オブジェクトそのものではなくクラス定義のみを返す。 |
| bSchemaOnly | VARIANT_BOOL | in | TRUE の場合、実インスタンスではなくスキーマ(クラス)情報のみを返す。 |
| strRequiredQualifier | LPWSTR | in | 指定した修飾子を持つ結果オブジェクトのみを含める。 |
| iFlags | INT | in | 動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemAsyncContext | IDispatch* | in | コールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。 |
vtbl 21 HRESULT ExecNotificationQuery(LPWSTR strQuery, LPWSTR strQueryLanguage, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemEventSource** objWbemEventSource)
| strQuery | LPWSTR | in | 実行するイベント通知クエリのテキストを指定する。 |
| strQueryLanguage | LPWSTR | in | クエリ言語の名前(通常は "WQL")を指定する。 |
| iFlags | INT | in | 動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemEventSource | ISWbemEventSource** | out | イベントを受信するためのイベントソースを表す ISWbemEventSource インターフェイスポインタを受け取る。 |
vtbl 22 HRESULT ExecNotificationQueryAsync(IDispatch* objWbemSink, LPWSTR strQuery, LPWSTR strQueryLanguage, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
| objWbemSink | IDispatch* | in | イベントを非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。 |
| strQuery | LPWSTR | in | 実行するイベント通知クエリのテキストを指定する。 |
| strQueryLanguage | LPWSTR | in | クエリ言語の名前(通常は "WQL")を指定する。 |
| iFlags | INT | in | 動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemAsyncContext | IDispatch* | in | コールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。 |
vtbl 23 HRESULT ExecMethod(LPWSTR strObjectPath, LPWSTR strMethodName, IDispatch* objWbemInParameters, INT iFlags, IDispatch* objWbemNamedValueSet, ISWbemObject** objWbemOutParameters)
| strObjectPath | LPWSTR | in | メソッドを実行する対象オブジェクトのパスを指定する。 |
| strMethodName | LPWSTR | in | 実行するメソッドの名前を指定する。 |
| objWbemInParameters | IDispatch* | in | メソッドの入力パラメータを格納したオブジェクトの IDispatch へのポインタである。入力が無ければ NULL を指定する。 |
| iFlags | INT | in | 動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemOutParameters | ISWbemObject** | out | メソッドの出力パラメータを格納したオブジェクトの ISWbemObject インターフェイスポインタを受け取る。 |
vtbl 24 HRESULT ExecMethodAsync(IDispatch* objWbemSink, LPWSTR strObjectPath, LPWSTR strMethodName, IDispatch* objWbemInParameters, INT iFlags, IDispatch* objWbemNamedValueSet, IDispatch* objWbemAsyncContext)
| objWbemSink | IDispatch* | in | 結果を非同期に受け取るシンクの IDispatch インターフェイスへのポインタである。 |
| strObjectPath | LPWSTR | in | メソッドを実行する対象オブジェクトのパスを指定する。 |
| strMethodName | LPWSTR | in | 実行するメソッドの名前を指定する。 |
| objWbemInParameters | IDispatch* | in | メソッドの入力パラメータを格納したオブジェクトの IDispatch へのポインタである。入力が無ければ NULL を指定する。 |
| iFlags | INT | in | 動作を制御するフラグを指定する。 |
| objWbemNamedValueSet | IDispatch* | in | 操作に使用するコンテキスト情報を含む SWbemNamedValueSet への IDispatch ポインタである。不要なら NULL を指定する。 |
| objWbemAsyncContext | IDispatch* | in | コールバックに引き継ぐ呼び出し側コンテキストの IDispatch へのポインタである。不要なら NULL を指定する。 |
vtbl 25 HRESULT get_Security_(ISWbemSecurity** objWbemSecurity)
| objWbemSecurity | ISWbemSecurity** | 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 不要)。