ICoreWebView2Frame3
COMメソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からインデックス指定でCOMメソッドを呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 24 HRESULT add_PermissionRequested(ICoreWebView2FramePermissionRequestedEventHandler* eventHandler, EventRegistrationToken* token)
| eventHandler | ICoreWebView2FramePermissionRequestedEventHandler* | in | フレーム内でのアクセス許可要求を受け取るイベントハンドラへのポインタである。 |
| token | EventRegistrationToken* | out | 登録したハンドラを後で解除するためのトークンを受け取る。 |
vtbl 25 HRESULT remove_PermissionRequested(EventRegistrationToken token)
| token | EventRegistrationToken | in | add_PermissionRequested で取得した登録トークンを指定し、対応するイベントハンドラを解除する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。WebView2 のインターフェースは環境/ローダ経由で取得するため #usecom 末尾は "{}"。
出力引数:
#define global IID_ICoreWebView2Frame3 "{B50D82CC-CC28-481D-9614-CB048895E6A0}" #usecom global ICoreWebView2Frame3 IID_ICoreWebView2Frame3 "{}" #comfunc global ICoreWebView2Frame3_add_PermissionRequested 24 sptr,var #comfunc global ICoreWebView2Frame3_remove_PermissionRequested 25 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ICoreWebView2Frame3 "{B50D82CC-CC28-481D-9614-CB048895E6A0}" #usecom global ICoreWebView2Frame3 IID_ICoreWebView2Frame3 "{}" #comfunc global ICoreWebView2Frame3_add_PermissionRequested 24 sptr,sptr #comfunc global ICoreWebView2Frame3_remove_PermissionRequested 25 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。