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

IWbemClassObject

COM
IIDdc12a681-737f-11cf-884d-00aa004b2e24継承元IUnknown自前メソッド開始 vtbl3

メソッド 24

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

vtbl 3 HRESULT GetQualifierSet(IWbemQualifierSet** ppQualSet)
ppQualSetIWbemQualifierSet**outオブジェクト全体に適用される修飾子セット (IWbemQualifierSet) を受け取る出力先である。
vtbl 4 HRESULT Get(LPWSTR wszName, INT lFlags, VARIANT* pVal, INT* pType, INT* plFlavor)
wszNameLPWSTRin取得するプロパティの名前を表す文字列である。
lFlagsINTin取得動作を制御するフラグを指定する。
pValVARIANT*inout取得したプロパティ値を受け取る VARIANT へのポインタである。不要な場合は NULL を指定できる。
pTypeINT*outoptional取得したプロパティの CIM 型を受け取る出力先である。NULL を指定できる。
plFlavorINT*outoptionalプロパティの発生元 (フレーバー) 情報を受け取る出力先である。NULL を指定できる。
vtbl 5 HRESULT Put(LPWSTR wszName, INT lFlags, VARIANT* pVal, INT Type)
wszNameLPWSTRin設定するプロパティの名前を表す文字列である。
lFlagsINTin設定動作を制御するフラグを指定する。
pValVARIANT*in設定するプロパティ値を格納した VARIANT へのポインタである。NULL は値を NULL にすることを意味する。
TypeINTin設定するプロパティの CIM 型を指定する。
vtbl 6 HRESULT Delete(LPWSTR wszName)
wszNameLPWSTRin削除するプロパティの名前を表す文字列である。
vtbl 7 HRESULT GetNames(LPWSTR wszQualifierName, WBEM_CONDITION_FLAG_TYPE lFlags, VARIANT* pQualifierVal, SAFEARRAY** pNames)
wszQualifierNameLPWSTRinフィルター条件とする修飾子名を表す文字列である。NULL を指定できる。
lFlagsWBEM_CONDITION_FLAG_TYPEin名前の絞り込み条件を制御する WBEM_CONDITION_FLAG_TYPE フラグを指定する。
pQualifierValVARIANT*inフィルター対象の修飾子値を指定する VARIANT へのポインタである。NULL を指定できる。
pNamesSAFEARRAY**out条件に一致したプロパティ名を格納した SAFEARRAY を受け取る出力先である。
vtbl 8 HRESULT BeginEnumeration(INT lEnumFlags)
lEnumFlagsINTin列挙対象のプロパティを絞り込むフラグを指定する。
vtbl 9 HRESULT Next(INT lFlags, LPWSTR* strName, VARIANT* pVal, INT* pType, INT* plFlavor)
lFlagsINTin列挙の動作を制御するフラグを指定する。
strNameLPWSTR*inout次のプロパティの名前を受け取る出力先である。NULL を指定できる。
pValVARIANT*inout次のプロパティの値を受け取る VARIANT へのポインタである。NULL を指定できる。
pTypeINT*inout次のプロパティの CIM 型を受け取る出力先である。NULL を指定できる。
plFlavorINT*inout次のプロパティのフレーバー情報を受け取る出力先である。NULL を指定できる。
vtbl 10 HRESULT EndEnumeration()
vtbl 11 HRESULT GetPropertyQualifierSet(LPWSTR wszProperty, IWbemQualifierSet** ppQualSet)
wszPropertyLPWSTRin修飾子セットを取得する対象のプロパティ名を表す文字列である。
ppQualSetIWbemQualifierSet**out当該プロパティの修飾子セット (IWbemQualifierSet) を受け取る出力先である。
vtbl 12 HRESULT Clone(IWbemClassObject** ppCopy)
ppCopyIWbemClassObject**outオブジェクトの複製 (IWbemClassObject) を受け取る出力先である。
vtbl 13 HRESULT GetObjectText(INT lFlags, LPWSTR* pstrObjectText)
lFlagsINTinテキスト生成の形式を制御するフラグを指定する。
pstrObjectTextLPWSTR*outオブジェクトの MOF 風テキスト表現を受け取る出力先である。
vtbl 14 HRESULT SpawnDerivedClass(INT lFlags, IWbemClassObject** ppNewClass)
lFlagsINTin派生クラス生成の動作を制御するフラグを指定する。
ppNewClassIWbemClassObject**outこのクラスを親とする新しい派生クラスオブジェクトを受け取る出力先である。
vtbl 15 HRESULT SpawnInstance(INT lFlags, IWbemClassObject** ppNewInstance)
lFlagsINTinインスタンス生成の動作を制御するフラグを指定する。
ppNewInstanceIWbemClassObject**outこのクラスの新しいインスタンスオブジェクトを受け取る出力先である。
vtbl 16 HRESULT CompareTo(WBEM_COMPARISON_FLAG lFlags, IWbemClassObject* pCompareTo)
lFlagsWBEM_COMPARISON_FLAGin比較の対象や条件を制御する WBEM_COMPARISON_FLAG を指定する。
pCompareToIWbemClassObject*in比較対象となる別の IWbemClassObject へのポインタである。
vtbl 17 HRESULT GetPropertyOrigin(LPWSTR wszName, LPWSTR* pstrClassName)
wszNameLPWSTRin発生元クラスを調べる対象のプロパティ名を表す文字列である。
pstrClassNameLPWSTR*out当該プロパティを最初に定義したクラスの名前を受け取る出力先である。
vtbl 18 HRESULT InheritsFrom(LPWSTR strAncestor)
strAncestorLPWSTRin継承関係を判定する基準となる祖先クラス名を表す文字列である。
vtbl 19 HRESULT GetMethod(LPWSTR wszName, INT lFlags, IWbemClassObject** ppInSignature, IWbemClassObject** ppOutSignature)
wszNameLPWSTRin取得するメソッドの名前を表す文字列である。
lFlagsINTin取得動作を制御するフラグを指定する。
ppInSignatureIWbemClassObject**outメソッドの入力パラメーターを表すシグネチャオブジェクトを受け取る出力先である。NULL を指定できる。
ppOutSignatureIWbemClassObject**outメソッドの出力パラメーターを表すシグネチャオブジェクトを受け取る出力先である。NULL を指定できる。
vtbl 20 HRESULT PutMethod(LPWSTR wszName, INT lFlags, IWbemClassObject* pInSignature, IWbemClassObject* pOutSignature)
wszNameLPWSTRin定義するメソッドの名前を表す文字列である。
lFlagsINTin定義動作を制御するフラグを指定する。
pInSignatureIWbemClassObject*inメソッドの入力パラメーターを表すシグネチャオブジェクトへのポインタである。NULL を指定できる。
pOutSignatureIWbemClassObject*inメソッドの出力パラメーターを表すシグネチャオブジェクトへのポインタである。NULL を指定できる。
vtbl 21 HRESULT DeleteMethod(LPWSTR wszName)
wszNameLPWSTRin削除するメソッドの名前を表す文字列である。
vtbl 22 HRESULT BeginMethodEnumeration(INT lEnumFlags)
lEnumFlagsINTinメソッド列挙の対象を絞り込むフラグを指定する。
vtbl 23 HRESULT NextMethod(INT lFlags, LPWSTR* pstrName, IWbemClassObject** ppInSignature, IWbemClassObject** ppOutSignature)
lFlagsINTinメソッド列挙の動作を制御するフラグを指定する。
pstrNameLPWSTR*inout次のメソッドの名前を受け取る出力先である。
ppInSignatureIWbemClassObject**out次のメソッドの入力シグネチャオブジェクトを受け取る出力先である。NULL を指定できる。
ppOutSignatureIWbemClassObject**out次のメソッドの出力シグネチャオブジェクトを受け取る出力先である。NULL を指定できる。
vtbl 24 HRESULT EndMethodEnumeration()
vtbl 25 HRESULT GetMethodQualifierSet(LPWSTR wszMethod, IWbemQualifierSet** ppQualSet)
wszMethodLPWSTRin修飾子セットを取得する対象のメソッド名を表す文字列である。
ppQualSetIWbemQualifierSet**out当該メソッドの修飾子セット (IWbemQualifierSet) を受け取る出力先である。
vtbl 26 HRESULT GetMethodOrigin(LPWSTR wszMethodName, LPWSTR* pstrClassName)
wszMethodNameLPWSTRin発生元クラスを調べる対象のメソッド名を表す文字列である。
pstrClassNameLPWSTR*out当該メソッドを最初に定義したクラスの名前を受け取る出力先である。

HSP用 COM定義

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

出力引数:
#define global IID_IWbemClassObject "{DC12A681-737F-11CF-884D-00AA004B2E24}"
#usecom global IWbemClassObject IID_IWbemClassObject "{}"
#comfunc global IWbemClassObject_GetQualifierSet          3 sptr
#comfunc global IWbemClassObject_Get                      4 wstr,int,var,var,var
#comfunc global IWbemClassObject_Put                      5 wstr,int,var,int
#comfunc global IWbemClassObject_Delete                   6 wstr
#comfunc global IWbemClassObject_GetNames                 7 wstr,int,var,var
#comfunc global IWbemClassObject_BeginEnumeration         8 int
#comfunc global IWbemClassObject_Next                     9 int,var,var,var,var
#comfunc global IWbemClassObject_EndEnumeration           10
#comfunc global IWbemClassObject_GetPropertyQualifierSet  11 wstr,sptr
#comfunc global IWbemClassObject_Clone                    12 sptr
#comfunc global IWbemClassObject_GetObjectText            13 int,var
#comfunc global IWbemClassObject_SpawnDerivedClass        14 int,sptr
#comfunc global IWbemClassObject_SpawnInstance            15 int,sptr
#comfunc global IWbemClassObject_CompareTo                16 int,sptr
#comfunc global IWbemClassObject_GetPropertyOrigin        17 wstr,var
#comfunc global IWbemClassObject_InheritsFrom             18 wstr
#comfunc global IWbemClassObject_GetMethod                19 wstr,int,sptr,sptr
#comfunc global IWbemClassObject_PutMethod                20 wstr,int,sptr,sptr
#comfunc global IWbemClassObject_DeleteMethod             21 wstr
#comfunc global IWbemClassObject_BeginMethodEnumeration   22 int
#comfunc global IWbemClassObject_NextMethod               23 int,var,sptr,sptr
#comfunc global IWbemClassObject_EndMethodEnumeration     24
#comfunc global IWbemClassObject_GetMethodQualifierSet    25 wstr,sptr
#comfunc global IWbemClassObject_GetMethodOrigin          26 wstr,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。