IShellUIHelper2
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 16
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
| URL | LPWSTR | in | 追加する検索プロバイダー記述(OpenSearch)の URL を指定する。 |
vtbl 21 HRESULT RunOnceShown()
vtbl 22 HRESULT SkipRunOnce()
vtbl 23 HRESULT CustomizeSettings(VARIANT_BOOL fSQM, VARIANT_BOOL fPhishing, LPWSTR bstrLocale)
| fSQM | VARIANT_BOOL | in | ソフトウェア品質指標(SQM)への参加を有効にするかどうかを示す VARIANT_BOOL を指定する。 |
| fPhishing | VARIANT_BOOL | in | フィッシング/不審サイト フィルターを有効にするかどうかを示す VARIANT_BOOL を指定する。 |
| bstrLocale | LPWSTR | in | 適用するロケールを示す文字列を指定する。 |
vtbl 24 HRESULT SqmEnabled(VARIANT_BOOL* pfEnabled)
| pfEnabled | VARIANT_BOOL* | out | SQM への参加が有効かどうかを受け取る VARIANT_BOOL へのポインタである。 |
vtbl 25 HRESULT PhishingEnabled(VARIANT_BOOL* pfEnabled)
| pfEnabled | VARIANT_BOOL* | out | フィッシング フィルターが有効かどうかを受け取る VARIANT_BOOL へのポインタである。 |
| pbstrUri | LPWSTR* | out | ブランド画像の URI を表す文字列を受け取るポインタである。 |
vtbl 27 HRESULT SkipTabsWelcome()
vtbl 28 HRESULT DiagnoseConnection()
vtbl 29 HRESULT CustomizeClearType(VARIANT_BOOL fSet)
| fSet | VARIANT_BOOL | in | ClearType を有効にするかどうかを示す VARIANT_BOOL を指定する。 |
| URL | LPWSTR | in | インストール状態を調べる検索プロバイダーの URL を指定する。 |
| pdwResult | DWORD* | out | 検索プロバイダーのインストール状態を示す結果値を受け取る DWORD へのポインタである。 |
vtbl 31 HRESULT IsSearchMigrated(VARIANT_BOOL* pfMigrated)
| pfMigrated | VARIANT_BOOL* | out | 検索設定が移行済みかどうかを受け取る VARIANT_BOOL へのポインタである。 |
| pbstrName | LPWSTR* | out | 既定の検索プロバイダーの名前を表す文字列を受け取るポインタである。 |
vtbl 33 HRESULT RunOnceRequiredSettingsComplete(VARIANT_BOOL fComplete)
| fComplete | VARIANT_BOOL | in | 初回起動時の必須設定が完了したかどうかを示す VARIANT_BOOL を指定する。 |
vtbl 34 HRESULT RunOnceHasShown(VARIANT_BOOL* pfShown)
| pfShown | VARIANT_BOOL* | out | 初回起動画面が既に表示されたかどうかを受け取る VARIANT_BOOL へのポインタである。 |
| pbstrUrl | LPWSTR* | out | 検索ガイドの URL を表す文字列を受け取るポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IShellUIHelper2 "{A7FE6EDA-1932-4281-B881-87B31B8BC52C}" #usecom global IShellUIHelper2 IID_IShellUIHelper2 "{64AB4BB7-111E-11D1-8F79-00C04FC2FBE1}" #comfunc global IShellUIHelper2_AddSearchProvider 20 wstr #comfunc global IShellUIHelper2_RunOnceShown 21 #comfunc global IShellUIHelper2_SkipRunOnce 22 #comfunc global IShellUIHelper2_CustomizeSettings 23 int,int,wstr #comfunc global IShellUIHelper2_SqmEnabled 24 var #comfunc global IShellUIHelper2_PhishingEnabled 25 var #comfunc global IShellUIHelper2_BrandImageUri 26 var #comfunc global IShellUIHelper2_SkipTabsWelcome 27 #comfunc global IShellUIHelper2_DiagnoseConnection 28 #comfunc global IShellUIHelper2_CustomizeClearType 29 int #comfunc global IShellUIHelper2_IsSearchProviderInstalled 30 wstr,var #comfunc global IShellUIHelper2_IsSearchMigrated 31 var #comfunc global IShellUIHelper2_DefaultSearchProvider 32 var #comfunc global IShellUIHelper2_RunOnceRequiredSettingsComplete 33 int #comfunc global IShellUIHelper2_RunOnceHasShown 34 var #comfunc global IShellUIHelper2_SearchGuideUrl 35 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_IShellUIHelper2 "{A7FE6EDA-1932-4281-B881-87B31B8BC52C}" #usecom global IShellUIHelper2 IID_IShellUIHelper2 "{64AB4BB7-111E-11D1-8F79-00C04FC2FBE1}" #comfunc global IShellUIHelper2_AddSearchProvider 20 wstr #comfunc global IShellUIHelper2_RunOnceShown 21 #comfunc global IShellUIHelper2_SkipRunOnce 22 #comfunc global IShellUIHelper2_CustomizeSettings 23 int,int,wstr #comfunc global IShellUIHelper2_SqmEnabled 24 sptr #comfunc global IShellUIHelper2_PhishingEnabled 25 sptr #comfunc global IShellUIHelper2_BrandImageUri 26 sptr #comfunc global IShellUIHelper2_SkipTabsWelcome 27 #comfunc global IShellUIHelper2_DiagnoseConnection 28 #comfunc global IShellUIHelper2_CustomizeClearType 29 int #comfunc global IShellUIHelper2_IsSearchProviderInstalled 30 wstr,sptr #comfunc global IShellUIHelper2_IsSearchMigrated 31 sptr #comfunc global IShellUIHelper2_DefaultSearchProvider 32 sptr #comfunc global IShellUIHelper2_RunOnceRequiredSettingsComplete 33 int #comfunc global IShellUIHelper2_RunOnceHasShown 34 sptr #comfunc global IShellUIHelper2_SearchGuideUrl 35 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。