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

IHlinkBrowseContext

COM
IID79eac9c7-baf9-11ce-8c82-00aa004ba90b継承元IUnknown自前メソッド開始 vtbl3

メソッド 14

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

vtbl 3 HRESULT Register(DWORD reserved, IUnknown* piunk, IMoniker* pimk, DWORD* pdwRegister)
reservedDWORDin予約済みパラメータであり、0 を指定する。
piunkIUnknown*in登録するオブジェクトの IUnknown インターフェイスへのポインタである。
pimkIMoniker*in登録するオブジェクトを識別するモニカ(IMoniker)へのポインタである。
pdwRegisterDWORD*out登録を識別するために返される登録 ID(クッキー)を受け取る変数へのポインタである。
vtbl 4 HRESULT GetObject(IMoniker* pimk, BOOL fBindIfRootRegistered, IUnknown** ppiunk)
pimkIMoniker*in取得するオブジェクトを識別するモニカ(IMoniker)へのポインタである。
fBindIfRootRegisteredBOOLinルートが登録済みの場合にバインドを行うかどうかを指定する。
ppiunkIUnknown**out取得したオブジェクトの IUnknown インターフェイスを受け取るポインタである。
vtbl 5 HRESULT Revoke(DWORD dwRegister)
dwRegisterDWORDin登録解除する対象を識別する登録 ID(クッキー)を指定する。
vtbl 6 HRESULT SetBrowseWindowInfo(HLBWINFO* phlbwi)
phlbwiHLBWINFO*in設定するブラウズウィンドウの情報を格納した HLBWINFO 構造体へのポインタである。
vtbl 7 HRESULT GetBrowseWindowInfo(HLBWINFO* phlbwi)
phlbwiHLBWINFO*outブラウズウィンドウの情報を受け取る HLBWINFO 構造体へのポインタである。
vtbl 8 HRESULT SetInitialHlink(IMoniker* pimkTarget, LPWSTR pwzLocation, LPWSTR pwzFriendlyName)
pimkTargetIMoniker*in初期ハイパーリンクのターゲットを表すモニカ(IMoniker)へのポインタである。
pwzLocationLPWSTRinターゲット内の位置(アンカー)を示す文字列を指定する。位置が不要な場合は NULL を指定できる。
pwzFriendlyNameLPWSTRin初期ハイパーリンクのフレンドリ名を指定する。
vtbl 9 HRESULT OnNavigateHlink(DWORD grfHLNF, IMoniker* pimkTarget, LPWSTR pwzLocation, LPWSTR pwzFriendlyName, DWORD* puHLID)
grfHLNFDWORDinナビゲーションの動作を制御する HLNF フラグを指定する。
pimkTargetIMoniker*inナビゲート先のターゲットを表すモニカ(IMoniker)へのポインタである。
pwzLocationLPWSTRinターゲット内の位置(アンカー)を示す文字列を指定する。位置が不要な場合は NULL を指定できる。
pwzFriendlyNameLPWSTRinナビゲート先のフレンドリ名を指定する。
puHLIDDWORD*outナビゲーションスタックに追加されたハイパーリンクの ID を受け取る変数へのポインタである。
vtbl 10 HRESULT UpdateHlink(DWORD uHLID, IMoniker* pimkTarget, LPWSTR pwzLocation, LPWSTR pwzFriendlyName)
uHLIDDWORDin更新対象のハイパーリンクを識別する ID を指定する。
pimkTargetIMoniker*in更新後のターゲットを表すモニカ(IMoniker)へのポインタである。
pwzLocationLPWSTRin更新後のターゲット内位置(アンカー)を示す文字列を指定する。位置が不要な場合は NULL を指定できる。
pwzFriendlyNameLPWSTRin更新後のフレンドリ名を指定する。
vtbl 11 HRESULT EnumNavigationStack(DWORD dwReserved, DWORD grfHLFNAMEF, IEnumHLITEM** ppienumhlitem)
dwReservedDWORDin予約済みパラメータであり、0 を指定する。
grfHLFNAMEFDWORDinフレンドリ名の取得方法を制御する HLFNAMEF フラグを指定する。
ppienumhlitemIEnumHLITEM**outナビゲーションスタックを列挙する IEnumHLITEM インターフェイスを受け取るポインタである。
vtbl 12 HRESULT QueryHlink(DWORD grfHLQF, DWORD uHLID)
grfHLQFDWORDin問い合わせ内容を示す HLQF フラグを指定する。
uHLIDDWORDin問い合わせ対象のハイパーリンクを識別する ID を指定する。
vtbl 13 HRESULT GetHlink(DWORD uHLID, IHlink** ppihl)
uHLIDDWORDin取得するハイパーリンクを識別する ID を指定する。
ppihlIHlink**out取得したハイパーリンクを表す IHlink インターフェイスを受け取るポインタである。
vtbl 14 HRESULT SetCurrentHlink(DWORD uHLID)
uHLIDDWORDin現在のハイパーリンクとして設定する対象を識別する ID を指定する。
vtbl 15 HRESULT Clone(IUnknown* piunkOuter, GUID* riid, IUnknown** ppiunkObj)
piunkOuterIUnknown*inアグリゲーションを行う際の外側オブジェクトの IUnknown へのポインタである。アグリゲーションしない場合は NULL を指定する。
riidGUID*in取得するインターフェイスの識別子(IID/GUID)へのポインタである。
ppiunkObjIUnknown**out複製したブラウズコンテキストの要求インターフェイスを受け取るポインタである。
vtbl 16 HRESULT Close(DWORD reserved)
reservedDWORDin予約済みパラメータであり、0 を指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IHlinkBrowseContext "{79EAC9C7-BAF9-11CE-8C82-00AA004BA90B}"
#usecom global IHlinkBrowseContext IID_IHlinkBrowseContext "{}"
#comfunc global IHlinkBrowseContext_Register             3 int,sptr,sptr,var
#comfunc global IHlinkBrowseContext_GetObject            4 sptr,int,sptr
#comfunc global IHlinkBrowseContext_Revoke               5 int
#comfunc global IHlinkBrowseContext_SetBrowseWindowInfo  6 var
#comfunc global IHlinkBrowseContext_GetBrowseWindowInfo  7 var
#comfunc global IHlinkBrowseContext_SetInitialHlink      8 sptr,wstr,wstr
#comfunc global IHlinkBrowseContext_OnNavigateHlink      9 int,sptr,wstr,wstr,var
#comfunc global IHlinkBrowseContext_UpdateHlink          10 int,sptr,wstr,wstr
#comfunc global IHlinkBrowseContext_EnumNavigationStack  11 int,int,sptr
#comfunc global IHlinkBrowseContext_QueryHlink           12 int,int
#comfunc global IHlinkBrowseContext_GetHlink             13 int,sptr
#comfunc global IHlinkBrowseContext_SetCurrentHlink      14 int
#comfunc global IHlinkBrowseContext_Clone                15 sptr,var,sptr
#comfunc global IHlinkBrowseContext_Close                16 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。