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

IWbemQuery

COM
IID81166f58-dd98-11d3-a120-00105a1f515a継承元IUnknown自前メソッド開始 vtbl3

メソッド 7

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

vtbl 3 HRESULT Empty()
vtbl 4 HRESULT SetLanguageFeatures(DWORD uFlags, DWORD uArraySize, DWORD* puFeatures)
uFlagsDWORDin言語機能設定の動作を制御するフラグを指定する。
uArraySizeDWORDinpuFeatures 配列の要素数を指定する。
puFeaturesDWORD*in設定する言語機能識別子の配列へのポインタである。
vtbl 5 HRESULT TestLanguageFeatures(DWORD uFlags, DWORD* uArraySize, DWORD* puFeatures)
uFlagsDWORDin言語機能テストの動作を制御するフラグを指定する。
uArraySizeDWORD*inoutpuFeatures 配列の容量を渡し、実際にサポートされている機能の個数を受け取る入出力である。
puFeaturesDWORD*outサポートされている言語機能識別子を受け取る配列へのポインタである。
vtbl 6 HRESULT Parse(LPWSTR pszLang, LPWSTR pszQuery, DWORD uFlags)
pszLangLPWSTRinクエリ言語の名前 (WQL など) を表す文字列である。
pszQueryLPWSTRin解析対象のクエリ文字列である。
uFlagsDWORDin解析動作を制御するフラグを指定する。
vtbl 7 HRESULT GetAnalysis(DWORD uAnalysisType, DWORD uFlags, void** pAnalysis)
uAnalysisTypeDWORDin取得する解析結果の種類を指定する。
uFlagsDWORDin解析取得の動作を制御するフラグを指定する。
pAnalysisvoid**out要求した解析結果オブジェクトへのポインタを受け取る出力先である。
vtbl 8 HRESULT FreeMemory(void* pMem)
pMemvoid*inGetAnalysis などで取得した解析結果のメモリを解放するため、そのポインタを指定する。
vtbl 9 HRESULT GetQueryInfo(DWORD uAnalysisType, DWORD uInfoId, DWORD uBufSize, void* pDestBuf)
uAnalysisTypeDWORDin対象とする解析の種類を指定する。
uInfoIdDWORDin取得する情報項目の識別子を指定する。
uBufSizeDWORDinpDestBuf バッファのサイズをバイト単位で指定する。
pDestBufvoid*out取得した情報を格納する出力バッファへのポインタである。

HSP用 COM定義

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

出力引数:
#define global IID_IWbemQuery "{81166F58-DD98-11D3-A120-00105A1F515A}"
#usecom global IWbemQuery IID_IWbemQuery "{EAC8A024-21E2-4523-AD73-A71A0AA2F56A}"
#comfunc global IWbemQuery_Empty                 3
#comfunc global IWbemQuery_SetLanguageFeatures   4 int,int,var
#comfunc global IWbemQuery_TestLanguageFeatures  5 int,var,var
#comfunc global IWbemQuery_Parse                 6 wstr,wstr,int
#comfunc global IWbemQuery_GetAnalysis           7 int,int,sptr
#comfunc global IWbemQuery_FreeMemory            8 sptr
#comfunc global IWbemQuery_GetQueryInfo          9 int,int,int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。