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

IWbemServices

COM
IID9556dc99-828c-11cf-a37e-00aa003240c7継承元IUnknown自前メソッド開始 vtbl3

メソッド 23

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT OpenNamespace(LPWSTR strNamespace, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemServices** ppWorkingNamespace, IWbemCallResult** ppResult)
strNamespaceLPWSTRin開く対象の名前空間 (現在の名前空間からの相対) を表す文字列である。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
ppWorkingNamespaceIWbemServices**inoutoptional開いた名前空間に対する IWbemServices を受け取る出力先である。
ppResultIWbemCallResult**inoutoptional半同期呼び出し時に結果を受け取る IWbemCallResult を受け取る出力先である。NULL を指定できる。
vtbl 4 HRESULT CancelAsyncCall(IWbemObjectSink* pSink)
pSinkIWbemObjectSink*inキャンセルする非同期呼び出しに渡したシンク (IWbemObjectSink) へのポインタである。
vtbl 5 HRESULT QueryObjectSink(WBEM_GENERIC_FLAG_TYPE lFlags, IWbemObjectSink** ppResponseHandler)
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
ppResponseHandlerIWbemObjectSink**outオブジェクトを送り込めるシンク (IWbemObjectSink) を受け取る出力先である。
vtbl 6 HRESULT GetObject(LPWSTR strObjectPath, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemClassObject** ppObject, IWbemCallResult** ppCallResult)
strObjectPathLPWSTRin取得対象のオブジェクトのパスを表す文字列である。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
ppObjectIWbemClassObject**inoutoptional取得したオブジェクト (IWbemClassObject) を受け取る出力先である。
ppCallResultIWbemCallResult**inoutoptional半同期呼び出し時に結果を受け取る IWbemCallResult を受け取る出力先である。NULL を指定できる。
vtbl 7 HRESULT GetObjectAsync(LPWSTR strObjectPath, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler)
strObjectPathLPWSTRin取得対象のオブジェクトのパスを表す文字列である。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
pResponseHandlerIWbemObjectSink*in結果を非同期に受け取るシンク (IWbemObjectSink) へのポインタである。
vtbl 8 HRESULT PutClass(IWbemClassObject* pObject, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemCallResult** ppCallResult)
pObjectIWbemClassObject*in作成または更新するクラス定義オブジェクトへのポインタである。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
ppCallResultIWbemCallResult**inoutoptional半同期呼び出し時に結果を受け取る IWbemCallResult を受け取る出力先である。NULL を指定できる。
vtbl 9 HRESULT PutClassAsync(IWbemClassObject* pObject, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler)
pObjectIWbemClassObject*in作成または更新するクラス定義オブジェクトへのポインタである。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
pResponseHandlerIWbemObjectSink*in結果を非同期に受け取るシンク (IWbemObjectSink) へのポインタである。
vtbl 10 HRESULT DeleteClass(LPWSTR strClass, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemCallResult** ppCallResult)
strClassLPWSTRin削除対象のクラス名を表す文字列である。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
ppCallResultIWbemCallResult**inoutoptional半同期呼び出し時に結果を受け取る IWbemCallResult を受け取る出力先である。NULL を指定できる。
vtbl 11 HRESULT DeleteClassAsync(LPWSTR strClass, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler)
strClassLPWSTRin削除対象のクラス名を表す文字列である。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
pResponseHandlerIWbemObjectSink*in結果を非同期に受け取るシンク (IWbemObjectSink) へのポインタである。
vtbl 12 HRESULT CreateClassEnum(LPWSTR strSuperclass, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IEnumWbemClassObject** ppEnum)
strSuperclassLPWSTRin列挙の基準とするスーパークラス名を表す文字列である。空文字列ですべてのクラスを対象にできる。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
ppEnumIEnumWbemClassObject**outクラスを列挙する IEnumWbemClassObject を受け取る出力先である。
vtbl 13 HRESULT CreateClassEnumAsync(LPWSTR strSuperclass, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler)
strSuperclassLPWSTRin列挙の基準とするスーパークラス名を表す文字列である。空文字列ですべてのクラスを対象にできる。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
pResponseHandlerIWbemObjectSink*in列挙結果を非同期に受け取るシンク (IWbemObjectSink) へのポインタである。
vtbl 14 HRESULT PutInstance(IWbemClassObject* pInst, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemCallResult** ppCallResult)
pInstIWbemClassObject*in作成または更新するインスタンスオブジェクトへのポインタである。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
ppCallResultIWbemCallResult**inoutoptional半同期呼び出し時に結果を受け取る IWbemCallResult を受け取る出力先である。NULL を指定できる。
vtbl 15 HRESULT PutInstanceAsync(IWbemClassObject* pInst, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler)
pInstIWbemClassObject*in作成または更新するインスタンスオブジェクトへのポインタである。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
pResponseHandlerIWbemObjectSink*in結果を非同期に受け取るシンク (IWbemObjectSink) へのポインタである。
vtbl 16 HRESULT DeleteInstance(LPWSTR strObjectPath, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemCallResult** ppCallResult)
strObjectPathLPWSTRin削除対象のインスタンスのパスを表す文字列である。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
ppCallResultIWbemCallResult**inoutoptional半同期呼び出し時に結果を受け取る IWbemCallResult を受け取る出力先である。NULL を指定できる。
vtbl 17 HRESULT DeleteInstanceAsync(LPWSTR strObjectPath, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler)
strObjectPathLPWSTRin削除対象のインスタンスのパスを表す文字列である。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
pResponseHandlerIWbemObjectSink*in結果を非同期に受け取るシンク (IWbemObjectSink) へのポインタである。
vtbl 18 HRESULT CreateInstanceEnum(LPWSTR strFilter, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IEnumWbemClassObject** ppEnum)
strFilterLPWSTRin列挙対象とするクラス名 (フィルター) を表す文字列である。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
ppEnumIEnumWbemClassObject**outインスタンスを列挙する IEnumWbemClassObject を受け取る出力先である。
vtbl 19 HRESULT CreateInstanceEnumAsync(LPWSTR strFilter, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler)
strFilterLPWSTRin列挙対象とするクラス名 (フィルター) を表す文字列である。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
pResponseHandlerIWbemObjectSink*in列挙結果を非同期に受け取るシンク (IWbemObjectSink) へのポインタである。
vtbl 20 HRESULT ExecQuery(LPWSTR strQueryLanguage, LPWSTR strQuery, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IEnumWbemClassObject** ppEnum)
strQueryLanguageLPWSTRinクエリ言語の名前 (WQL など) を表す文字列である。
strQueryLPWSTRin実行するクエリ文字列である。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
ppEnumIEnumWbemClassObject**outクエリ結果を列挙する IEnumWbemClassObject を受け取る出力先である。
vtbl 21 HRESULT ExecQueryAsync(LPWSTR strQueryLanguage, LPWSTR strQuery, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler)
strQueryLanguageLPWSTRinクエリ言語の名前 (WQL など) を表す文字列である。
strQueryLPWSTRin実行するクエリ文字列である。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
pResponseHandlerIWbemObjectSink*inクエリ結果を非同期に受け取るシンク (IWbemObjectSink) へのポインタである。
vtbl 22 HRESULT ExecNotificationQuery(LPWSTR strQueryLanguage, LPWSTR strQuery, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IEnumWbemClassObject** ppEnum)
strQueryLanguageLPWSTRinクエリ言語の名前 (WQL など) を表す文字列である。
strQueryLPWSTRin登録するイベント通知クエリ文字列である。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
ppEnumIEnumWbemClassObject**out通知イベントを列挙する IEnumWbemClassObject を受け取る出力先である。
vtbl 23 HRESULT ExecNotificationQueryAsync(LPWSTR strQueryLanguage, LPWSTR strQuery, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemObjectSink* pResponseHandler)
strQueryLanguageLPWSTRinクエリ言語の名前 (WQL など) を表す文字列である。
strQueryLPWSTRin登録するイベント通知クエリ文字列である。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
pResponseHandlerIWbemObjectSink*in通知イベントを非同期に受け取るシンク (IWbemObjectSink) へのポインタである。
vtbl 24 HRESULT ExecMethod(LPWSTR strObjectPath, LPWSTR strMethodName, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemClassObject* pInParams, IWbemClassObject** ppOutParams, IWbemCallResult** ppCallResult)
strObjectPathLPWSTRinメソッドを実行する対象オブジェクトのパスを表す文字列である。
strMethodNameLPWSTRin実行するメソッドの名前を表す文字列である。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
pInParamsIWbemClassObject*inメソッドの入力パラメーターを格納したオブジェクトへのポインタである。入力が無い場合は NULL を指定できる。
ppOutParamsIWbemClassObject**inoutoptionalメソッドの出力パラメーターを受け取るオブジェクトを受け取る出力先である。NULL を指定できる。
ppCallResultIWbemCallResult**inoutoptional半同期呼び出し時に結果を受け取る IWbemCallResult を受け取る出力先である。NULL を指定できる。
vtbl 25 HRESULT ExecMethodAsync(LPWSTR strObjectPath, LPWSTR strMethodName, WBEM_GENERIC_FLAG_TYPE lFlags, IWbemContext* pCtx, IWbemClassObject* pInParams, IWbemObjectSink* pResponseHandler)
strObjectPathLPWSTRinメソッドを実行する対象オブジェクトのパスを表す文字列である。
strMethodNameLPWSTRin実行するメソッドの名前を表す文字列である。
lFlagsWBEM_GENERIC_FLAG_TYPEin操作の動作を制御する WBEM_GENERIC_FLAG_TYPE フラグを指定する。
pCtxIWbemContext*in操作のコンテキスト情報を提供する IWbemContext へのポインタである。NULL を指定できる。
pInParamsIWbemClassObject*inメソッドの入力パラメーターを格納したオブジェクトへのポインタである。入力が無い場合は NULL を指定できる。
pResponseHandlerIWbemObjectSink*inメソッドの結果を非同期に受け取るシンク (IWbemObjectSink) へのポインタである。

HSP用 COM定義

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

#define global IID_IWbemServices "{9556DC99-828C-11CF-A37E-00AA003240C7}"
#usecom global IWbemServices IID_IWbemServices "{}"
#comfunc global IWbemServices_OpenNamespace               3 wstr,int,sptr,sptr,sptr
#comfunc global IWbemServices_CancelAsyncCall             4 sptr
#comfunc global IWbemServices_QueryObjectSink             5 int,sptr
#comfunc global IWbemServices_GetObject                   6 wstr,int,sptr,sptr,sptr
#comfunc global IWbemServices_GetObjectAsync              7 wstr,int,sptr,sptr
#comfunc global IWbemServices_PutClass                    8 sptr,int,sptr,sptr
#comfunc global IWbemServices_PutClassAsync               9 sptr,int,sptr,sptr
#comfunc global IWbemServices_DeleteClass                 10 wstr,int,sptr,sptr
#comfunc global IWbemServices_DeleteClassAsync            11 wstr,int,sptr,sptr
#comfunc global IWbemServices_CreateClassEnum             12 wstr,int,sptr,sptr
#comfunc global IWbemServices_CreateClassEnumAsync        13 wstr,int,sptr,sptr
#comfunc global IWbemServices_PutInstance                 14 sptr,int,sptr,sptr
#comfunc global IWbemServices_PutInstanceAsync            15 sptr,int,sptr,sptr
#comfunc global IWbemServices_DeleteInstance              16 wstr,int,sptr,sptr
#comfunc global IWbemServices_DeleteInstanceAsync         17 wstr,int,sptr,sptr
#comfunc global IWbemServices_CreateInstanceEnum          18 wstr,int,sptr,sptr
#comfunc global IWbemServices_CreateInstanceEnumAsync     19 wstr,int,sptr,sptr
#comfunc global IWbemServices_ExecQuery                   20 wstr,wstr,int,sptr,sptr
#comfunc global IWbemServices_ExecQueryAsync              21 wstr,wstr,int,sptr,sptr
#comfunc global IWbemServices_ExecNotificationQuery       22 wstr,wstr,int,sptr,sptr
#comfunc global IWbemServices_ExecNotificationQueryAsync  23 wstr,wstr,int,sptr,sptr
#comfunc global IWbemServices_ExecMethod                  24 wstr,wstr,int,sptr,sptr,sptr,sptr
#comfunc global IWbemServices_ExecMethodAsync             25 wstr,wstr,int,sptr,sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。