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

IValidate

COM
IIDe482e5c6-e31e-4143-a2e6-dbc3d8e4b8d3継承元IUnknown自前メソッド開始 vtbl3

メソッド 7

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

vtbl 3 HRESULT OpenDatabase(LPWSTR szDatabase)
szDatabaseLPWSTRin検証対象として開く MSI データベースファイルのパス文字列へのポインタである。
vtbl 4 HRESULT OpenCUB(LPWSTR szCUBFile)
szCUBFileLPWSTRin検証規則を含む CUB (キューブ) ファイルのパス文字列へのポインタである。
vtbl 5 HRESULT CloseDatabase()
vtbl 6 HRESULT CloseCUB()
vtbl 7 HRESULT SetDisplay(LPDISPLAYVAL pDisplayFunction, void* pContext)
pDisplayFunctionLPDISPLAYVALin検証メッセージを表示するために呼び出されるコールバック関数へのポインタである。
pContextvoid*inout表示コールバックに渡されるユーザー定義コンテキストへのポインタである。
vtbl 8 HRESULT SetStatus(LPEVALCOMCALLBACK pStatusFunction, void* pContext)
pStatusFunctionLPEVALCOMCALLBACKin検証の進捗状況を受け取るために呼び出されるコールバック関数へのポインタである。
pContextvoid*inout状態コールバックに渡されるユーザー定義コンテキストへのポインタである。
vtbl 9 HRESULT Validate(LPWSTR wzICEs)
wzICEsLPWSTRin実行する ICE (内部整合性評価) の名前を列挙した文字列へのポインタである。

HSP用 COM定義

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

#define global IID_IValidate "{E482E5C6-E31E-4143-A2E6-DBC3D8E4B8D3}"
#usecom global IValidate IID_IValidate "{}"
#comfunc global IValidate_OpenDatabase   3 wstr
#comfunc global IValidate_OpenCUB        4 wstr
#comfunc global IValidate_CloseDatabase  5
#comfunc global IValidate_CloseCUB       6
#comfunc global IValidate_SetDisplay     7 sptr,sptr
#comfunc global IValidate_SetStatus      8 sptr,sptr
#comfunc global IValidate_Validate       9 wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。