ホーム › System.Wmi › IWbemPropertyProvider
IWbemPropertyProvider
COMメソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetProperty(INT lFlags, LPWSTR strLocale, LPWSTR strClassMapping, LPWSTR strInstMapping, LPWSTR strPropMapping, VARIANT* pvValue)
| lFlags | INT | in | 動作を制御するフラグを指定する。通常は 0 を指定する。 |
| strLocale | LPWSTR | in | 要求するロケールを示す文字列を指定する。 |
| strClassMapping | LPWSTR | in | プロパティが属するクラスのマッピング文字列を指定する。 |
| strInstMapping | LPWSTR | in | 対象インスタンスのマッピング文字列を指定する。 |
| strPropMapping | LPWSTR | in | 取得するプロパティのマッピング文字列を指定する。 |
| pvValue | VARIANT* | out | 取得したプロパティ値を受け取る VARIANT へのポインタである。 |
vtbl 4 HRESULT PutProperty(INT lFlags, LPWSTR strLocale, LPWSTR strClassMapping, LPWSTR strInstMapping, LPWSTR strPropMapping, VARIANT* pvValue)
| lFlags | INT | in | 動作を制御するフラグを指定する。通常は 0 を指定する。 |
| strLocale | LPWSTR | in | 要求するロケールを示す文字列を指定する。 |
| strClassMapping | LPWSTR | in | プロパティが属するクラスのマッピング文字列を指定する。 |
| strInstMapping | LPWSTR | in | 対象インスタンスのマッピング文字列を指定する。 |
| strPropMapping | LPWSTR | in | 設定するプロパティのマッピング文字列を指定する。 |
| pvValue | VARIANT* | in | 設定するプロパティ値を格納した VARIANT へのポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IWbemPropertyProvider "{CE61E841-65BC-11D0-B6BD-00AA003240C7}" #usecom global IWbemPropertyProvider IID_IWbemPropertyProvider "{}" #comfunc global IWbemPropertyProvider_GetProperty 3 int,wstr,wstr,wstr,wstr,var #comfunc global IWbemPropertyProvider_PutProperty 4 int,wstr,wstr,wstr,wstr,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_IWbemPropertyProvider "{CE61E841-65BC-11D0-B6BD-00AA003240C7}" #usecom global IWbemPropertyProvider IID_IWbemPropertyProvider "{}" #comfunc global IWbemPropertyProvider_GetProperty 3 int,wstr,wstr,wstr,wstr,sptr #comfunc global IWbemPropertyProvider_PutProperty 4 int,wstr,wstr,wstr,wstr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。