ホーム › System.ApplicationInstallationAndServicing › IValidate
IValidate
COMメソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
| szDatabase | LPWSTR | in | 検証対象として開く MSI データベースファイルのパス文字列へのポインタである。 |
| szCUBFile | LPWSTR | in | 検証規則を含む CUB (キューブ) ファイルのパス文字列へのポインタである。 |
vtbl 5 HRESULT CloseDatabase()
vtbl 6 HRESULT CloseCUB()
vtbl 7 HRESULT SetDisplay(LPDISPLAYVAL pDisplayFunction, void* pContext)
| pDisplayFunction | LPDISPLAYVAL | in | 検証メッセージを表示するために呼び出されるコールバック関数へのポインタである。 |
| pContext | void* | inout | 表示コールバックに渡されるユーザー定義コンテキストへのポインタである。 |
vtbl 8 HRESULT SetStatus(LPEVALCOMCALLBACK pStatusFunction, void* pContext)
| pStatusFunction | LPEVALCOMCALLBACK | in | 検証の進捗状況を受け取るために呼び出されるコールバック関数へのポインタである。 |
| pContext | void* | inout | 状態コールバックに渡されるユーザー定義コンテキストへのポインタである。 |
| wzICEs | LPWSTR | in | 実行する 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 指定が可能。