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

IWbemPathKeyList

COM
IID9ae62877-7544-4bb0-aa26-a13824659ed6継承元IUnknown自前メソッド開始 vtbl3

メソッド 10

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

vtbl 3 HRESULT GetCount(DWORD* puKeyCount)
puKeyCountDWORD*outキーリストに含まれるキーの個数を受け取る出力先である。
vtbl 4 HRESULT SetKey(LPWSTR wszName, DWORD uFlags, DWORD uCimType, void* pKeyVal)
wszNameLPWSTRin設定するキーの名前を表す文字列である。単一キーの場合は空文字列を指定できる。
uFlagsDWORDin操作の動作を制御するフラグを指定する。
uCimTypeDWORDinキー値の CIM 型を指定する。
pKeyValvoid*in設定するキー値を格納したバッファへのポインタである。
vtbl 5 HRESULT SetKey2(LPWSTR wszName, DWORD uFlags, DWORD uCimType, VARIANT* pKeyVal)
wszNameLPWSTRin設定するキーの名前を表す文字列である。単一キーの場合は空文字列を指定できる。
uFlagsDWORDin操作の動作を制御するフラグを指定する。
uCimTypeDWORDinキー値の CIM 型を指定する。
pKeyValVARIANT*in設定するキー値を格納した VARIANT へのポインタである。
vtbl 6 HRESULT GetKey(DWORD uKeyIx, DWORD uFlags, DWORD* puNameBufSize, LPWSTR pszKeyName, DWORD* puKeyValBufSize, void* pKeyVal, DWORD* puApparentCimType)
uKeyIxDWORDin取得するキーのインデックスを指定する。
uFlagsDWORDin取得動作を制御するフラグを指定する。
puNameBufSizeDWORD*inoutpszKeyName バッファのサイズ (文字数) を渡し、実際に必要または書き込まれたサイズを受け取る入出力である。
pszKeyNameLPWSTRoutoptional取得したキー名を格納するバッファへのポインタである。
puKeyValBufSizeDWORD*inoutpKeyVal バッファのサイズを渡し、実際に必要または書き込まれたサイズを受け取る入出力である。
pKeyValvoid*inout取得したキー値を格納するバッファへのポインタである。
puApparentCimTypeDWORD*out取得したキー値の見かけの CIM 型を受け取る出力先である。
vtbl 7 HRESULT GetKey2(DWORD uKeyIx, DWORD uFlags, DWORD* puNameBufSize, LPWSTR pszKeyName, VARIANT* pKeyValue, DWORD* puApparentCimType)
uKeyIxDWORDin取得するキーのインデックスを指定する。
uFlagsDWORDin取得動作を制御するフラグを指定する。
puNameBufSizeDWORD*inoutpszKeyName バッファのサイズ (文字数) を渡し、実際に必要または書き込まれたサイズを受け取る入出力である。
pszKeyNameLPWSTRoutoptional取得したキー名を格納するバッファへのポインタである。
pKeyValueVARIANT*inout取得したキー値を受け取る VARIANT へのポインタである。
puApparentCimTypeDWORD*out取得したキー値の見かけの CIM 型を受け取る出力先である。
vtbl 8 HRESULT RemoveKey(LPWSTR wszName, DWORD uFlags)
wszNameLPWSTRin削除するキーの名前を表す文字列である。
uFlagsDWORDin削除動作を制御するフラグを指定する。
vtbl 9 HRESULT RemoveAllKeys(DWORD uFlags)
uFlagsDWORDin全キー削除の動作を制御するフラグを指定する。
vtbl 10 HRESULT MakeSingleton(BYTE bSet)
bSetBYTEin対象を単一インスタンス (シングルトン) として扱うかを指定するブール値である。非ゼロで設定する。
vtbl 11 HRESULT GetInfo(DWORD uRequestedInfo, ULONGLONG* puResponse)
uRequestedInfoDWORDin取得する情報の種類を指定する。
puResponseULONGLONG*out要求した情報の値を受け取る出力先である。
vtbl 12 HRESULT GetText(INT lFlags, DWORD* puBuffLength, LPWSTR pszText)
lFlagsINTinテキスト生成の形式を制御するフラグを指定する。
puBuffLengthDWORD*inoutpszText バッファの長さ (文字数) を渡し、実際に必要または書き込まれた長さを受け取る入出力である。
pszTextLPWSTRout生成されたキーリストのテキスト表現を格納するバッファへのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IWbemPathKeyList "{9AE62877-7544-4BB0-AA26-A13824659ED6}"
#usecom global IWbemPathKeyList IID_IWbemPathKeyList "{}"
#comfunc global IWbemPathKeyList_GetCount       3 var
#comfunc global IWbemPathKeyList_SetKey         4 wstr,int,int,sptr
#comfunc global IWbemPathKeyList_SetKey2        5 wstr,int,int,var
#comfunc global IWbemPathKeyList_GetKey         6 int,int,var,var,var,sptr,var
#comfunc global IWbemPathKeyList_GetKey2        7 int,int,var,var,var,var
#comfunc global IWbemPathKeyList_RemoveKey      8 wstr,int
#comfunc global IWbemPathKeyList_RemoveAllKeys  9 int
#comfunc global IWbemPathKeyList_MakeSingleton  10 int
#comfunc global IWbemPathKeyList_GetInfo        11 int,var
#comfunc global IWbemPathKeyList_GetText        12 int,var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。