ICoreWebView2BrowserExtension
COMメソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からインデックス指定でCOMメソッドを呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT get_Id(LPWSTR* value)
| value | LPWSTR* | out | ブラウザ拡張機能の一意な ID を受け取る文字列ポインタである。 |
vtbl 4 HRESULT get_Name(LPWSTR* value)
| value | LPWSTR* | out | ブラウザ拡張機能の名前を受け取る文字列ポインタである。 |
vtbl 5 HRESULT Remove(ICoreWebView2BrowserExtensionRemoveCompletedHandler* handler)
| handler | ICoreWebView2BrowserExtensionRemoveCompletedHandler* | in | 拡張機能の削除完了を受け取る ICoreWebView2BrowserExtensionRemoveCompletedHandler へのポインタである。 |
vtbl 6 HRESULT get_IsEnabled(BOOL* value)
| value | BOOL* | out | 拡張機能が有効になっているかどうかを受け取る BOOL へのポインタである。 |
vtbl 7 HRESULT Enable(BOOL isEnabled, ICoreWebView2BrowserExtensionEnableCompletedHandler* handler)
| isEnabled | BOOL | in | 拡張機能を有効にするか無効にするかを指定する。 |
| handler | ICoreWebView2BrowserExtensionEnableCompletedHandler* | in | 有効/無効化の完了を受け取る ICoreWebView2BrowserExtensionEnableCompletedHandler へのポインタである。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。WebView2 のインターフェースは環境/ローダ経由で取得するため #usecom 末尾は "{}"。
出力引数:
#define global IID_ICoreWebView2BrowserExtension "{7EF7FFA0-FAC5-462C-B189-3D9EDBE575DA}" #usecom global ICoreWebView2BrowserExtension IID_ICoreWebView2BrowserExtension "{}" #comfunc global ICoreWebView2BrowserExtension_get_Id 3 var #comfunc global ICoreWebView2BrowserExtension_get_Name 4 var #comfunc global ICoreWebView2BrowserExtension_Remove 5 sptr #comfunc global ICoreWebView2BrowserExtension_get_IsEnabled 6 var #comfunc global ICoreWebView2BrowserExtension_Enable 7 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ICoreWebView2BrowserExtension "{7EF7FFA0-FAC5-462C-B189-3D9EDBE575DA}" #usecom global ICoreWebView2BrowserExtension IID_ICoreWebView2BrowserExtension "{}" #comfunc global ICoreWebView2BrowserExtension_get_Id 3 sptr #comfunc global ICoreWebView2BrowserExtension_get_Name 4 sptr #comfunc global ICoreWebView2BrowserExtension_Remove 5 sptr #comfunc global ICoreWebView2BrowserExtension_get_IsEnabled 6 sptr #comfunc global ICoreWebView2BrowserExtension_Enable 7 int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。