IHlinkTarget
COMメソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT SetBrowseContext(IHlinkBrowseContext* pihlbc)
| pihlbc | IHlinkBrowseContext* | in | このターゲットに設定するブラウズコンテキスト(IHlinkBrowseContext)へのポインタである。 |
vtbl 4 HRESULT GetBrowseContext(IHlinkBrowseContext** ppihlbc)
| ppihlbc | IHlinkBrowseContext** | out | このターゲットのブラウズコンテキスト(IHlinkBrowseContext)を受け取るポインタである。 |
| grfHLNF | DWORD | in | ナビゲーションの動作を制御する HLNF フラグを指定する。 |
| pwzJumpLocation | LPWSTR | in | ターゲット内でジャンプする位置(アンカー)を示す文字列を指定する。先頭にナビゲートする場合は NULL を指定できる。 |
| pwzLocation | LPWSTR | in | モニカを取得する対象のターゲット内位置を示す文字列を指定する。 |
| dwAssign | DWORD | in | モニカを新規に割り当てるかどうかを制御する OLEGETMONIKER 値を指定する。 |
| ppimkLocation | IMoniker** | out | 指定位置に対応するモニカ(IMoniker)を受け取るポインタである。 |
| pwzLocation | LPWSTR | in | フレンドリ名を取得する対象のターゲット内位置を示す文字列を指定する。 |
| ppwzFriendlyName | LPWSTR* | out | 指定位置のフレンドリ名文字列を受け取るポインタである。呼び出し側が CoTaskMemFree で解放する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IHlinkTarget "{79EAC9C4-BAF9-11CE-8C82-00AA004BA90B}" #usecom global IHlinkTarget IID_IHlinkTarget "{}" #comfunc global IHlinkTarget_SetBrowseContext 3 sptr #comfunc global IHlinkTarget_GetBrowseContext 4 sptr #comfunc global IHlinkTarget_Navigate 5 int,wstr #comfunc global IHlinkTarget_GetMoniker 6 wstr,int,sptr #comfunc global IHlinkTarget_GetFriendlyName 7 wstr,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IHlinkTarget "{79EAC9C4-BAF9-11CE-8C82-00AA004BA90B}" #usecom global IHlinkTarget IID_IHlinkTarget "{}" #comfunc global IHlinkTarget_SetBrowseContext 3 sptr #comfunc global IHlinkTarget_GetBrowseContext 4 sptr #comfunc global IHlinkTarget_Navigate 5 int,wstr #comfunc global IHlinkTarget_GetMoniker 6 wstr,int,sptr #comfunc global IHlinkTarget_GetFriendlyName 7 wstr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。