ホーム › System.Wmi › IWbemClassObject
IWbemClassObject
COMメソッド 24
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetQualifierSet(IWbemQualifierSet** ppQualSet)
| ppQualSet | IWbemQualifierSet** | out | オブジェクト全体に適用される修飾子セット (IWbemQualifierSet) を受け取る出力先である。 |
| wszName | LPWSTR | in | 取得するプロパティの名前を表す文字列である。 |
| lFlags | INT | in | 取得動作を制御するフラグを指定する。 |
| pVal | VARIANT* | inout | 取得したプロパティ値を受け取る VARIANT へのポインタである。不要な場合は NULL を指定できる。 |
| pType | INT* | outoptional | 取得したプロパティの CIM 型を受け取る出力先である。NULL を指定できる。 |
| plFlavor | INT* | outoptional | プロパティの発生元 (フレーバー) 情報を受け取る出力先である。NULL を指定できる。 |
| wszName | LPWSTR | in | 設定するプロパティの名前を表す文字列である。 |
| lFlags | INT | in | 設定動作を制御するフラグを指定する。 |
| pVal | VARIANT* | in | 設定するプロパティ値を格納した VARIANT へのポインタである。NULL は値を NULL にすることを意味する。 |
| Type | INT | in | 設定するプロパティの CIM 型を指定する。 |
| wszName | LPWSTR | in | 削除するプロパティの名前を表す文字列である。 |
vtbl 7 HRESULT GetNames(LPWSTR wszQualifierName, WBEM_CONDITION_FLAG_TYPE lFlags, VARIANT* pQualifierVal, SAFEARRAY** pNames)
| wszQualifierName | LPWSTR | in | フィルター条件とする修飾子名を表す文字列である。NULL を指定できる。 |
| lFlags | WBEM_CONDITION_FLAG_TYPE | in | 名前の絞り込み条件を制御する WBEM_CONDITION_FLAG_TYPE フラグを指定する。 |
| pQualifierVal | VARIANT* | in | フィルター対象の修飾子値を指定する VARIANT へのポインタである。NULL を指定できる。 |
| pNames | SAFEARRAY** | out | 条件に一致したプロパティ名を格納した SAFEARRAY を受け取る出力先である。 |
| lEnumFlags | INT | in | 列挙対象のプロパティを絞り込むフラグを指定する。 |
| lFlags | INT | in | 列挙の動作を制御するフラグを指定する。 |
| strName | LPWSTR* | inout | 次のプロパティの名前を受け取る出力先である。NULL を指定できる。 |
| pVal | VARIANT* | inout | 次のプロパティの値を受け取る VARIANT へのポインタである。NULL を指定できる。 |
| pType | INT* | inout | 次のプロパティの CIM 型を受け取る出力先である。NULL を指定できる。 |
| plFlavor | INT* | inout | 次のプロパティのフレーバー情報を受け取る出力先である。NULL を指定できる。 |
vtbl 10 HRESULT EndEnumeration()
vtbl 11 HRESULT GetPropertyQualifierSet(LPWSTR wszProperty, IWbemQualifierSet** ppQualSet)
| wszProperty | LPWSTR | in | 修飾子セットを取得する対象のプロパティ名を表す文字列である。 |
| ppQualSet | IWbemQualifierSet** | out | 当該プロパティの修飾子セット (IWbemQualifierSet) を受け取る出力先である。 |
vtbl 12 HRESULT Clone(IWbemClassObject** ppCopy)
| ppCopy | IWbemClassObject** | out | オブジェクトの複製 (IWbemClassObject) を受け取る出力先である。 |
| lFlags | INT | in | テキスト生成の形式を制御するフラグを指定する。 |
| pstrObjectText | LPWSTR* | out | オブジェクトの MOF 風テキスト表現を受け取る出力先である。 |
vtbl 14 HRESULT SpawnDerivedClass(INT lFlags, IWbemClassObject** ppNewClass)
| lFlags | INT | in | 派生クラス生成の動作を制御するフラグを指定する。 |
| ppNewClass | IWbemClassObject** | out | このクラスを親とする新しい派生クラスオブジェクトを受け取る出力先である。 |
vtbl 15 HRESULT SpawnInstance(INT lFlags, IWbemClassObject** ppNewInstance)
| lFlags | INT | in | インスタンス生成の動作を制御するフラグを指定する。 |
| ppNewInstance | IWbemClassObject** | out | このクラスの新しいインスタンスオブジェクトを受け取る出力先である。 |
vtbl 16 HRESULT CompareTo(WBEM_COMPARISON_FLAG lFlags, IWbemClassObject* pCompareTo)
| lFlags | WBEM_COMPARISON_FLAG | in | 比較の対象や条件を制御する WBEM_COMPARISON_FLAG を指定する。 |
| pCompareTo | IWbemClassObject* | in | 比較対象となる別の IWbemClassObject へのポインタである。 |
| wszName | LPWSTR | in | 発生元クラスを調べる対象のプロパティ名を表す文字列である。 |
| pstrClassName | LPWSTR* | out | 当該プロパティを最初に定義したクラスの名前を受け取る出力先である。 |
| strAncestor | LPWSTR | in | 継承関係を判定する基準となる祖先クラス名を表す文字列である。 |
vtbl 19 HRESULT GetMethod(LPWSTR wszName, INT lFlags, IWbemClassObject** ppInSignature, IWbemClassObject** ppOutSignature)
| wszName | LPWSTR | in | 取得するメソッドの名前を表す文字列である。 |
| lFlags | INT | in | 取得動作を制御するフラグを指定する。 |
| ppInSignature | IWbemClassObject** | out | メソッドの入力パラメーターを表すシグネチャオブジェクトを受け取る出力先である。NULL を指定できる。 |
| ppOutSignature | IWbemClassObject** | out | メソッドの出力パラメーターを表すシグネチャオブジェクトを受け取る出力先である。NULL を指定できる。 |
vtbl 20 HRESULT PutMethod(LPWSTR wszName, INT lFlags, IWbemClassObject* pInSignature, IWbemClassObject* pOutSignature)
| wszName | LPWSTR | in | 定義するメソッドの名前を表す文字列である。 |
| lFlags | INT | in | 定義動作を制御するフラグを指定する。 |
| pInSignature | IWbemClassObject* | in | メソッドの入力パラメーターを表すシグネチャオブジェクトへのポインタである。NULL を指定できる。 |
| pOutSignature | IWbemClassObject* | in | メソッドの出力パラメーターを表すシグネチャオブジェクトへのポインタである。NULL を指定できる。 |
| wszName | LPWSTR | in | 削除するメソッドの名前を表す文字列である。 |
| lEnumFlags | INT | in | メソッド列挙の対象を絞り込むフラグを指定する。 |
vtbl 23 HRESULT NextMethod(INT lFlags, LPWSTR* pstrName, IWbemClassObject** ppInSignature, IWbemClassObject** ppOutSignature)
| lFlags | INT | in | メソッド列挙の動作を制御するフラグを指定する。 |
| pstrName | LPWSTR* | inout | 次のメソッドの名前を受け取る出力先である。 |
| ppInSignature | IWbemClassObject** | out | 次のメソッドの入力シグネチャオブジェクトを受け取る出力先である。NULL を指定できる。 |
| ppOutSignature | IWbemClassObject** | out | 次のメソッドの出力シグネチャオブジェクトを受け取る出力先である。NULL を指定できる。 |
vtbl 24 HRESULT EndMethodEnumeration()
vtbl 25 HRESULT GetMethodQualifierSet(LPWSTR wszMethod, IWbemQualifierSet** ppQualSet)
| wszMethod | LPWSTR | in | 修飾子セットを取得する対象のメソッド名を表す文字列である。 |
| ppQualSet | IWbemQualifierSet** | out | 当該メソッドの修飾子セット (IWbemQualifierSet) を受け取る出力先である。 |
| wszMethodName | LPWSTR | in | 発生元クラスを調べる対象のメソッド名を表す文字列である。 |
| pstrClassName | LPWSTR* | 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 指定が可能。#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,sptr,sptr,sptr #comfunc global IWbemClassObject_Put 5 wstr,int,sptr,int #comfunc global IWbemClassObject_Delete 6 wstr #comfunc global IWbemClassObject_GetNames 7 wstr,int,sptr,sptr #comfunc global IWbemClassObject_BeginEnumeration 8 int #comfunc global IWbemClassObject_Next 9 int,sptr,sptr,sptr,sptr #comfunc global IWbemClassObject_EndEnumeration 10 #comfunc global IWbemClassObject_GetPropertyQualifierSet 11 wstr,sptr #comfunc global IWbemClassObject_Clone 12 sptr #comfunc global IWbemClassObject_GetObjectText 13 int,sptr #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,sptr #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,sptr,sptr,sptr #comfunc global IWbemClassObject_EndMethodEnumeration 24 #comfunc global IWbemClassObject_GetMethodQualifierSet 25 wstr,sptr #comfunc global IWbemClassObject_GetMethodOrigin 26 wstr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。