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

IUpdateSearcher

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID8f45abf1-f9ae-4b95-a933-f0f66e5056ea継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 18

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_CanAutomaticallyUpgradeService(VARIANT_BOOL* retval)
retvalVARIANT_BOOL*out更新エージェントが必要に応じて自身を自動アップグレードできるかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 8 HRESULT put_CanAutomaticallyUpgradeService(VARIANT_BOOL value)
valueVARIANT_BOOLin更新エージェントが必要に応じて自身を自動アップグレードできるかどうかを指定する VARIANT_BOOL を渡す。
vtbl 9 HRESULT get_ClientApplicationID(LPWSTR* retval)
retvalLPWSTR*out検索を実行するクライアント アプリケーションの識別子を受け取る文字列ポインタである。
vtbl 10 HRESULT put_ClientApplicationID(LPWSTR value)
valueLPWSTRin検索を実行するクライアント アプリケーションの識別子を指定する文字列を渡す。
vtbl 11 HRESULT get_IncludePotentiallySupersededUpdates(VARIANT_BOOL* retval)
retvalVARIANT_BOOL*out新しい更新プログラムに置き換えられた可能性がある更新プログラムも検索結果に含めるかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 12 HRESULT put_IncludePotentiallySupersededUpdates(VARIANT_BOOL value)
valueVARIANT_BOOLin新しい更新プログラムに置き換えられた可能性がある更新プログラムも検索結果に含めるかどうかを指定する VARIANT_BOOL を渡す。
vtbl 13 HRESULT get_ServerSelection(ServerSelection* retval)
retvalServerSelection*out検索に使用する更新ソースのサーバー選択種別(ServerSelection)を受け取るポインタである。
vtbl 14 HRESULT put_ServerSelection(ServerSelection value)
valueServerSelectionin検索に使用する更新ソースのサーバー選択種別(ServerSelection)を指定する。
vtbl 15 HRESULT BeginSearch(LPWSTR criteria, IUnknown* onCompleted, VARIANT state, ISearchJob** retval)
criteriaLPWSTRin検索対象を絞り込む条件式(検索クエリ文字列)を指定する。
onCompletedIUnknown*in検索完了時に呼び出されるコールバック(ISearchCompletedCallback を実装した IUnknown)を渡す。不要な場合は NULL を指定できる。
stateVARIANTinコールバックに引き渡す呼び出し元定義の状態オブジェクトを VARIANT として渡す。
retvalISearchJob**out開始された非同期検索ジョブ(ISearchJob)を受け取るポインタである。
vtbl 16 HRESULT EndSearch(ISearchJob* searchJob, ISearchResult** retval)
searchJobISearchJob*inBeginSearch で開始した検索ジョブ(ISearchJob)を渡す。
retvalISearchResult**out完了した検索の結果(ISearchResult)を受け取るポインタである。
vtbl 17 HRESULT EscapeString(LPWSTR unescaped, LPWSTR* retval)
unescapedLPWSTRinエスケープ前の文字列を渡す。検索条件で使用するためにエスケープ処理する。
retvalLPWSTR*outエスケープ処理後の文字列を受け取るポインタである。
vtbl 18 HRESULT QueryHistory(INT startIndex, INT count, IUpdateHistoryEntryCollection** retval)
startIndexINTin取得を開始する履歴エントリの 0 から始まるインデックスを指定する。
countINTin取得する履歴エントリの最大件数を指定する。
retvalIUpdateHistoryEntryCollection**out取得した更新履歴エントリのコレクション(IUpdateHistoryEntryCollection)を受け取るポインタである。
vtbl 19 HRESULT Search(LPWSTR criteria, ISearchResult** retval)
criteriaLPWSTRin検索対象を絞り込む条件式(検索クエリ文字列)を指定する。
retvalISearchResult**out同期検索の結果(ISearchResult)を受け取るポインタである。
vtbl 20 HRESULT get_Online(VARIANT_BOOL* retval)
retvalVARIANT_BOOL*out検索をオンライン(更新サーバーに接続して実行)で行うかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 21 HRESULT put_Online(VARIANT_BOOL value)
valueVARIANT_BOOLin検索をオンライン(更新サーバーに接続して実行)で行うかどうかを指定する VARIANT_BOOL を渡す。
vtbl 22 HRESULT GetTotalHistoryCount(INT* retval)
retvalINT*out更新履歴に記録されているエントリの総数を受け取る INT へのポインタである。
vtbl 23 HRESULT get_ServiceID(LPWSTR* retval)
retvalLPWSTR*out検索に使用する更新サービスの識別子(GUID 文字列)を受け取る文字列ポインタである。
vtbl 24 HRESULT put_ServiceID(LPWSTR value)
valueLPWSTRin検索に使用する更新サービスの識別子(GUID 文字列)を指定する文字列を渡す。

HSP用 COM定義

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

出力引数:
#define global IID_IUpdateSearcher "{8F45ABF1-F9AE-4B95-A933-F0F66E5056EA}"
#usecom global IUpdateSearcher IID_IUpdateSearcher "{B699E5E8-67FF-4177-88B0-3684A3388BFB}"
#comfunc global IUpdateSearcher_get_CanAutomaticallyUpgradeService       7 var
#comfunc global IUpdateSearcher_put_CanAutomaticallyUpgradeService       8 int
#comfunc global IUpdateSearcher_get_ClientApplicationID                  9 var
#comfunc global IUpdateSearcher_put_ClientApplicationID                  10 wstr
#comfunc global IUpdateSearcher_get_IncludePotentiallySupersededUpdates  11 var
#comfunc global IUpdateSearcher_put_IncludePotentiallySupersededUpdates  12 int
#comfunc global IUpdateSearcher_get_ServerSelection                      13 var
#comfunc global IUpdateSearcher_put_ServerSelection                      14 int
#comfunc global IUpdateSearcher_BeginSearch                              15 wstr,sptr,int,sptr
#comfunc global IUpdateSearcher_EndSearch                                16 sptr,sptr
#comfunc global IUpdateSearcher_EscapeString                             17 wstr,var
#comfunc global IUpdateSearcher_QueryHistory                             18 int,int,sptr
#comfunc global IUpdateSearcher_Search                                   19 wstr,sptr
#comfunc global IUpdateSearcher_get_Online                               20 var
#comfunc global IUpdateSearcher_put_Online                               21 int
#comfunc global IUpdateSearcher_GetTotalHistoryCount                     22 var
#comfunc global IUpdateSearcher_get_ServiceID                            23 var
#comfunc global IUpdateSearcher_put_ServiceID                            24 wstr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。