Win32 API 日本語リファレンス
ホームUI.Shell › IShellUIHelper7

IShellUIHelper7

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

メソッド 9

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

vtbl 88 HRESULT SetExperimentalFlag(LPWSTR bstrFlagString, VARIANT_BOOL vfFlag)
bstrFlagStringLPWSTRin設定する実験的フラグの名前を指定する。
vfFlagVARIANT_BOOLinフラグに設定する有効/無効の値を示す VARIANT_BOOL を指定する。
vtbl 89 HRESULT GetExperimentalFlag(LPWSTR bstrFlagString, VARIANT_BOOL* vfFlag)
bstrFlagStringLPWSTRin取得する実験的フラグの名前を指定する。
vfFlagVARIANT_BOOL*outフラグの現在値を受け取る VARIANT_BOOL へのポインタである。
vtbl 90 HRESULT SetExperimentalValue(LPWSTR bstrValueString, DWORD dwValue)
bstrValueStringLPWSTRin設定する実験的値の名前を指定する。
dwValueDWORDin実験的値に設定する数値を指定する。
vtbl 91 HRESULT GetExperimentalValue(LPWSTR bstrValueString, DWORD* pdwValue)
bstrValueStringLPWSTRin取得する実験的値の名前を指定する。
pdwValueDWORD*out実験的値の現在値を受け取る DWORD へのポインタである。
vtbl 92 HRESULT ResetAllExperimentalFlagsAndValues()
vtbl 93 HRESULT GetNeedIEAutoLaunchFlag(LPWSTR bstrUrl, VARIANT_BOOL* flag)
bstrUrlLPWSTRin判定対象とするサイトの URL を指定する。
flagVARIANT_BOOL*outそのサイトで Internet Explorer の自動起動が必要かどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 94 HRESULT SetNeedIEAutoLaunchFlag(LPWSTR bstrUrl, VARIANT_BOOL flag)
bstrUrlLPWSTRin設定対象とするサイトの URL を指定する。
flagVARIANT_BOOLinそのサイトで Internet Explorer の自動起動を必要とするかどうかを示す VARIANT_BOOL を指定する。
vtbl 95 HRESULT HasNeedIEAutoLaunchFlag(LPWSTR bstrUrl, VARIANT_BOOL* exists)
bstrUrlLPWSTRin判定対象とするサイトの URL を指定する。
existsVARIANT_BOOL*outそのサイトに対する IE 自動起動フラグが設定されているかどうかを受け取る VARIANT_BOOL へのポインタである。
vtbl 96 HRESULT LaunchIE(LPWSTR bstrUrl, VARIANT_BOOL automated)
bstrUrlLPWSTRinInternet Explorer で開く URL を指定する。
automatedVARIANT_BOOLin起動が自動化されたものかどうかを示す VARIANT_BOOL を指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IShellUIHelper7 "{60E567C8-9573-4AB2-A264-637C6C161CB1}"
#usecom global IShellUIHelper7 IID_IShellUIHelper7 "{64AB4BB7-111E-11D1-8F79-00C04FC2FBE1}"
#comfunc global IShellUIHelper7_SetExperimentalFlag                 88 wstr,int
#comfunc global IShellUIHelper7_GetExperimentalFlag                 89 wstr,var
#comfunc global IShellUIHelper7_SetExperimentalValue                90 wstr,int
#comfunc global IShellUIHelper7_GetExperimentalValue                91 wstr,var
#comfunc global IShellUIHelper7_ResetAllExperimentalFlagsAndValues  92
#comfunc global IShellUIHelper7_GetNeedIEAutoLaunchFlag             93 wstr,var
#comfunc global IShellUIHelper7_SetNeedIEAutoLaunchFlag             94 wstr,int
#comfunc global IShellUIHelper7_HasNeedIEAutoLaunchFlag             95 wstr,var
#comfunc global IShellUIHelper7_LaunchIE                            96 wstr,int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。