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

IWbemContext

COM
IID44aca674-e8fc-11d0-a07c-00c04fb68820継承元IUnknown自前メソッド開始 vtbl3

メソッド 9

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

vtbl 3 HRESULT Clone(IWbemContext** ppNewCopy)
ppNewCopyIWbemContext**outこのコンテキストオブジェクトの複製である IWbemContext インターフェイスポインタを受け取る。
vtbl 4 HRESULT GetNames(INT lFlags, SAFEARRAY** pNames)
lFlagsINTin動作を制御するフラグを指定する。通常は 0 を指定する。
pNamesSAFEARRAY**outコンテキスト内に格納されている全名前を含む SAFEARRAY へのポインタを受け取る。
vtbl 5 HRESULT BeginEnumeration(INT lFlags)
lFlagsINTin列挙動作を制御するフラグを指定する。通常は 0 を指定する。
vtbl 6 HRESULT Next(INT lFlags, LPWSTR* pstrName, VARIANT* pValue)
lFlagsINTin列挙動作を制御するフラグを指定する。通常は 0 を指定する。
pstrNameLPWSTR*out列挙中の現在の値の名前を受け取る。呼び出し側が SysFreeString で解放する。
pValueVARIANT*out列挙中の現在の値を受け取る VARIANT へのポインタである。
vtbl 7 HRESULT EndEnumeration()
vtbl 8 HRESULT SetValue(LPWSTR wszName, INT lFlags, VARIANT* pValue)
wszNameLPWSTRin設定する値の名前を指定する文字列である。
lFlagsINTin動作を制御するフラグを指定する。通常は 0 を指定する。
pValueVARIANT*in設定する値を格納した VARIANT へのポインタである。
vtbl 9 HRESULT GetValue(LPWSTR wszName, INT lFlags, VARIANT* pValue)
wszNameLPWSTRin取得する値の名前を指定する文字列である。
lFlagsINTin動作を制御するフラグを指定する。通常は 0 を指定する。
pValueVARIANT*out指定した名前に対応する値を受け取る VARIANT へのポインタである。
vtbl 10 HRESULT DeleteValue(LPWSTR wszName, INT lFlags)
wszNameLPWSTRin削除する値の名前を指定する文字列である。
lFlagsINTin動作を制御するフラグを指定する。通常は 0 を指定する。
vtbl 11 HRESULT DeleteAll()

HSP用 COM定義

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

出力引数:
#define global IID_IWbemContext "{44ACA674-E8FC-11D0-A07C-00C04FB68820}"
#usecom global IWbemContext IID_IWbemContext "{674B6698-EE92-11D0-AD71-00C04FD8FDFF}"
#comfunc global IWbemContext_Clone             3 sptr
#comfunc global IWbemContext_GetNames          4 int,var
#comfunc global IWbemContext_BeginEnumeration  5 int
#comfunc global IWbemContext_Next              6 int,var,var
#comfunc global IWbemContext_EndEnumeration    7
#comfunc global IWbemContext_SetValue          8 wstr,int,var
#comfunc global IWbemContext_GetValue          9 wstr,int,var
#comfunc global IWbemContext_DeleteValue       10 wstr,int
#comfunc global IWbemContext_DeleteAll         11
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。