diff --git a/burgernotes-app b/burgernotes-app
index 2eec0c6..591c5b1 100755
Binary files a/burgernotes-app and b/burgernotes-app differ
diff --git a/go.mod b/go.mod
index 837a0cb..b5af947 100644
--- a/go.mod
+++ b/go.mod
@@ -3,3 +3,4 @@ module hectabit.org/burgernotes-app
go 1.22.2
require github.com/arzumify/webview_go-4.1 v0.0.0-20240425153857-cdb51de8ba32 // indirect
+replace github.com/arzumify/webview_go-4.1 v0.0.0-20240425153857-cdb51de8ba32 => "./webkit-4.1"
diff --git a/webkit-4.1/.gitignore b/webkit-4.1/.gitignore
new file mode 100644
index 0000000..66fd13c
--- /dev/null
+++ b/webkit-4.1/.gitignore
@@ -0,0 +1,15 @@
+# Binaries for programs and plugins
+*.exe
+*.exe~
+*.dll
+*.so
+*.dylib
+
+# Test binary, built with `go test -c`
+*.test
+
+# Output of the go coverage tool, specifically when used with LiteIDE
+*.out
+
+# Dependency directories (remove the comment below to include it)
+# vendor/
diff --git a/webkit-4.1/CHANGELOG.md b/webkit-4.1/CHANGELOG.md
new file mode 100644
index 0000000..a43b081
--- /dev/null
+++ b/webkit-4.1/CHANGELOG.md
@@ -0,0 +1,15 @@
+# Changelog
+
+### Migrating from v0.1.1 to v0.10.0
+
+1. `Webview.Open()` has been removed. Use other webview APIs to create a window, open a link and run main UI loop.
+2. `Webview.Debug()` and `webview.Debugf()` have been removed. Use your favorite logging library to debug webview apps.
+3. `Webview.Settings` struct has been removed. Title, URL and size are controlled via other API setters and can be updated at any time, not only when webview is created.
+4. `Webview.Loop()` has been removed. Use `Run()` instead.
+5. `WebView.Run()`, `WebView.Terminate()`, `WebView.SetTitle()`, `WebView.Dispatch()` stayed the same.
+6. `WebView.Exit()` has been renamed to `WebView.Destroy()`
+7. `WebView.SetColor()` and `WebView.SetFullScreen()` have been removed. Use `Window()` to get native window handle and probably write some Cgo code to adjust native window to your taste.
+8. `Webview.Dialog` has been removed. But it is likely to be brought back as a standalone module.
+9. `WebView.Eval()` remained the same.
+10. `WebView.InjectCSS()` has been removed. Use eval to inject style tag with CSS inside.
+11. `WebView.Bind()` kept the name, but changed the semantics. Only functions can be bound. Not the structs, like in Lorca.
diff --git a/webkit-4.1/LICENSE b/webkit-4.1/LICENSE
new file mode 100644
index 0000000..5115fc1
--- /dev/null
+++ b/webkit-4.1/LICENSE
@@ -0,0 +1,22 @@
+MIT License
+
+Copyright (c) 2017 Serge Zaitsev
+Copyright (c) 2020 webview
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/webkit-4.1/README.md b/webkit-4.1/README.md
new file mode 100644
index 0000000..7c94dec
--- /dev/null
+++ b/webkit-4.1/README.md
@@ -0,0 +1,51 @@
+# webview_go-4.1
+
+[![GoDoc](https://godoc.org/github.com/arzumify/webview_go-4.1?status.svg)](https://godoc.org/github.com/arzumify/webview_go-4.1)
+[![Go Report Card](https://goreportcard.com/badge/github.com/arzumify/webview_go-4.1)](https://goreportcard.com/report/github.com/webview/webview_go)
+
+Go language binding for the [webview library][webview], for webkitgtk-4.1.
+This is entirely backwards compatible with webview_go 4.0, and needs only a dependency replacement.
+
+> [!NOTE]
+> Versions <= 0.1.1 are available in the [old repository][webview].
+
+### Getting Started
+
+See [Go package documentation][go-docs] for the Go API documentation, or simply read the source code.
+
+Start with creating a new directory structure for your project.
+
+```sh
+mkdir my-project && cd my-project
+```
+
+Create a new Go module.
+
+```sh
+go mod init example.com/app
+```
+
+Save one of the example programs into your project directory.
+
+```sh
+curl -sSLo main.go "https://raw.githubusercontent.com/arzumify/webview_go-4.1/master/examples/basic/main.go"
+```
+
+Install dependencies.
+
+```sh
+go get github.com/webview/webview_go
+```
+
+Build the example. On Windows, add `-ldflags="-H windowsgui"` to the command line.
+
+```sh
+go build
+```
+
+### Notes
+
+Calling `Eval()` or `Dispatch()` before `Run()` does not work because the webview instance has only been configured and not yet started.
+
+[go-docs]: https://pkg.go.dev/github.com/arzumify/webview_go-4.1
+[webview]: https://github.com/webview/webview
diff --git a/webkit-4.1/examples/basic/main.go b/webkit-4.1/examples/basic/main.go
new file mode 100644
index 0000000..6b96c81
--- /dev/null
+++ b/webkit-4.1/examples/basic/main.go
@@ -0,0 +1,12 @@
+package main
+
+import webview "github.com/webview/webview_go"
+
+func main() {
+ w := webview.New(false)
+ defer w.Destroy()
+ w.SetTitle("Basic Example")
+ w.SetSize(480, 320, webview.HintNone)
+ w.SetHtml("Thanks for using webview!")
+ w.Run()
+}
diff --git a/webkit-4.1/examples/bind/main.go b/webkit-4.1/examples/bind/main.go
new file mode 100644
index 0000000..3374f84
--- /dev/null
+++ b/webkit-4.1/examples/bind/main.go
@@ -0,0 +1,38 @@
+package main
+
+import webview "github.com/webview/webview_go"
+
+const html = `Tap me
+
You tapped 0 time(s).
+`
+
+type IncrementResult struct {
+ Count uint `json:"count"`
+}
+
+func main() {
+ var count uint = 0
+ w := webview.New(false)
+ defer w.Destroy()
+ w.SetTitle("Bind Example")
+ w.SetSize(480, 320, webview.HintNone)
+
+ // A binding that increments a value and immediately returns the new value.
+ w.Bind("increment", func() IncrementResult {
+ count++
+ return IncrementResult{Count: count}
+ })
+
+ w.SetHtml(html)
+ w.Run()
+}
diff --git a/webkit-4.1/glue.c b/webkit-4.1/glue.c
new file mode 100644
index 0000000..835f8e6
--- /dev/null
+++ b/webkit-4.1/glue.c
@@ -0,0 +1,36 @@
+#include "webview.h"
+
+#include
+#include
+
+struct binding_context {
+ webview_t w;
+ uintptr_t index;
+};
+
+void _webviewDispatchGoCallback(void *);
+void _webviewBindingGoCallback(webview_t, char *, char *, uintptr_t);
+
+static void _webview_dispatch_cb(webview_t w, void *arg) {
+ _webviewDispatchGoCallback(arg);
+}
+
+static void _webview_binding_cb(const char *id, const char *req, void *arg) {
+ struct binding_context *ctx = (struct binding_context *) arg;
+ _webviewBindingGoCallback(ctx->w, (char *)id, (char *)req, ctx->index);
+}
+
+void CgoWebViewDispatch(webview_t w, uintptr_t arg) {
+ webview_dispatch(w, _webview_dispatch_cb, (void *)arg);
+}
+
+void CgoWebViewBind(webview_t w, const char *name, uintptr_t index) {
+ struct binding_context *ctx = calloc(1, sizeof(struct binding_context));
+ ctx->w = w;
+ ctx->index = index;
+ webview_bind(w, name, _webview_binding_cb, (void *)ctx);
+}
+
+void CgoWebViewUnbind(webview_t w, const char *name) {
+ webview_unbind(w, name);
+}
diff --git a/webkit-4.1/go.mod b/webkit-4.1/go.mod
new file mode 100644
index 0000000..1cf382b
--- /dev/null
+++ b/webkit-4.1/go.mod
@@ -0,0 +1,3 @@
+module github.com/arzumify/webview_go-4.1
+
+go 1.13
diff --git a/webkit-4.1/go.sum b/webkit-4.1/go.sum
new file mode 100644
index 0000000..e69de29
diff --git a/webkit-4.1/libs/mswebview2/LICENSE b/webkit-4.1/libs/mswebview2/LICENSE
new file mode 100644
index 0000000..45f0297
--- /dev/null
+++ b/webkit-4.1/libs/mswebview2/LICENSE
@@ -0,0 +1,27 @@
+Copyright (C) Microsoft Corporation. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * The name of Microsoft Corporation, or the names of its contributors
+may not be used to endorse or promote products derived from this
+software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\ No newline at end of file
diff --git a/webkit-4.1/libs/mswebview2/include/WebView2.h b/webkit-4.1/libs/mswebview2/include/WebView2.h
new file mode 100644
index 0000000..99b6236
--- /dev/null
+++ b/webkit-4.1/libs/mswebview2/include/WebView2.h
@@ -0,0 +1,23568 @@
+
+
+/* this ALWAYS GENERATED file contains the definitions for the interfaces */
+
+
+ /* File created by MIDL compiler version 8.xx.xxxx */
+/* at a redacted point in time
+ */
+/* Compiler settings for ../../edge_embedded_browser/client/win/current/webview2.idl:
+ Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx
+ protocol : dce , ms_ext, c_ext, robust
+ error checks: allocation ref bounds_check enum stub_data
+ VC __declspec() decoration level:
+ __declspec(uuid()), __declspec(selectany), __declspec(novtable)
+ DECLSPEC_UUID(), MIDL_INTERFACE()
+*/
+/* @@MIDL_FILE_HEADING( ) */
+
+#pragma warning( disable: 4049 ) /* more than 64k source lines */
+
+
+/* verify that the version is high enough to compile this file*/
+#ifndef __REQUIRED_RPCNDR_H_VERSION__
+#define __REQUIRED_RPCNDR_H_VERSION__ 475
+#endif
+
+#include "rpc.h"
+#include "rpcndr.h"
+
+#ifndef __RPCNDR_H_VERSION__
+#error this stub requires an updated version of
+#endif /* __RPCNDR_H_VERSION__ */
+
+
+#ifndef __webview2_h__
+#define __webview2_h__
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+#pragma once
+#endif
+
+/* Forward Declarations */
+
+#ifndef __ICoreWebView2AcceleratorKeyPressedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2AcceleratorKeyPressedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2AcceleratorKeyPressedEventArgs ICoreWebView2AcceleratorKeyPressedEventArgs;
+
+#endif /* __ICoreWebView2AcceleratorKeyPressedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2AcceleratorKeyPressedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2AcceleratorKeyPressedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2AcceleratorKeyPressedEventHandler ICoreWebView2AcceleratorKeyPressedEventHandler;
+
+#endif /* __ICoreWebView2AcceleratorKeyPressedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_FWD_DEFINED__
+#define __ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_FWD_DEFINED__
+typedef interface ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler;
+
+#endif /* __ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_FWD_DEFINED__
+#define __ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_FWD_DEFINED__
+typedef interface ICoreWebView2CallDevToolsProtocolMethodCompletedHandler ICoreWebView2CallDevToolsProtocolMethodCompletedHandler;
+
+#endif /* __ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CapturePreviewCompletedHandler_FWD_DEFINED__
+#define __ICoreWebView2CapturePreviewCompletedHandler_FWD_DEFINED__
+typedef interface ICoreWebView2CapturePreviewCompletedHandler ICoreWebView2CapturePreviewCompletedHandler;
+
+#endif /* __ICoreWebView2CapturePreviewCompletedHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_FWD_DEFINED__
+#define __ICoreWebView2_FWD_DEFINED__
+typedef interface ICoreWebView2 ICoreWebView2;
+
+#endif /* __ICoreWebView2_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_2_FWD_DEFINED__
+#define __ICoreWebView2_2_FWD_DEFINED__
+typedef interface ICoreWebView2_2 ICoreWebView2_2;
+
+#endif /* __ICoreWebView2_2_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_3_FWD_DEFINED__
+#define __ICoreWebView2_3_FWD_DEFINED__
+typedef interface ICoreWebView2_3 ICoreWebView2_3;
+
+#endif /* __ICoreWebView2_3_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_4_FWD_DEFINED__
+#define __ICoreWebView2_4_FWD_DEFINED__
+typedef interface ICoreWebView2_4 ICoreWebView2_4;
+
+#endif /* __ICoreWebView2_4_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_5_FWD_DEFINED__
+#define __ICoreWebView2_5_FWD_DEFINED__
+typedef interface ICoreWebView2_5 ICoreWebView2_5;
+
+#endif /* __ICoreWebView2_5_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_6_FWD_DEFINED__
+#define __ICoreWebView2_6_FWD_DEFINED__
+typedef interface ICoreWebView2_6 ICoreWebView2_6;
+
+#endif /* __ICoreWebView2_6_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_7_FWD_DEFINED__
+#define __ICoreWebView2_7_FWD_DEFINED__
+typedef interface ICoreWebView2_7 ICoreWebView2_7;
+
+#endif /* __ICoreWebView2_7_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_8_FWD_DEFINED__
+#define __ICoreWebView2_8_FWD_DEFINED__
+typedef interface ICoreWebView2_8 ICoreWebView2_8;
+
+#endif /* __ICoreWebView2_8_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_9_FWD_DEFINED__
+#define __ICoreWebView2_9_FWD_DEFINED__
+typedef interface ICoreWebView2_9 ICoreWebView2_9;
+
+#endif /* __ICoreWebView2_9_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_10_FWD_DEFINED__
+#define __ICoreWebView2_10_FWD_DEFINED__
+typedef interface ICoreWebView2_10 ICoreWebView2_10;
+
+#endif /* __ICoreWebView2_10_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2BasicAuthenticationRequestedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2BasicAuthenticationRequestedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2BasicAuthenticationRequestedEventArgs ICoreWebView2BasicAuthenticationRequestedEventArgs;
+
+#endif /* __ICoreWebView2BasicAuthenticationRequestedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2BasicAuthenticationRequestedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2BasicAuthenticationRequestedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2BasicAuthenticationRequestedEventHandler ICoreWebView2BasicAuthenticationRequestedEventHandler;
+
+#endif /* __ICoreWebView2BasicAuthenticationRequestedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2BasicAuthenticationResponse_FWD_DEFINED__
+#define __ICoreWebView2BasicAuthenticationResponse_FWD_DEFINED__
+typedef interface ICoreWebView2BasicAuthenticationResponse ICoreWebView2BasicAuthenticationResponse;
+
+#endif /* __ICoreWebView2BasicAuthenticationResponse_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2BrowserProcessExitedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2BrowserProcessExitedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2BrowserProcessExitedEventArgs ICoreWebView2BrowserProcessExitedEventArgs;
+
+#endif /* __ICoreWebView2BrowserProcessExitedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2BrowserProcessExitedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2BrowserProcessExitedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2BrowserProcessExitedEventHandler ICoreWebView2BrowserProcessExitedEventHandler;
+
+#endif /* __ICoreWebView2BrowserProcessExitedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2BytesReceivedChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2BytesReceivedChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2BytesReceivedChangedEventHandler ICoreWebView2BytesReceivedChangedEventHandler;
+
+#endif /* __ICoreWebView2BytesReceivedChangedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CompositionController_FWD_DEFINED__
+#define __ICoreWebView2CompositionController_FWD_DEFINED__
+typedef interface ICoreWebView2CompositionController ICoreWebView2CompositionController;
+
+#endif /* __ICoreWebView2CompositionController_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CompositionController2_FWD_DEFINED__
+#define __ICoreWebView2CompositionController2_FWD_DEFINED__
+typedef interface ICoreWebView2CompositionController2 ICoreWebView2CompositionController2;
+
+#endif /* __ICoreWebView2CompositionController2_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Controller_FWD_DEFINED__
+#define __ICoreWebView2Controller_FWD_DEFINED__
+typedef interface ICoreWebView2Controller ICoreWebView2Controller;
+
+#endif /* __ICoreWebView2Controller_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Controller2_FWD_DEFINED__
+#define __ICoreWebView2Controller2_FWD_DEFINED__
+typedef interface ICoreWebView2Controller2 ICoreWebView2Controller2;
+
+#endif /* __ICoreWebView2Controller2_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Controller3_FWD_DEFINED__
+#define __ICoreWebView2Controller3_FWD_DEFINED__
+typedef interface ICoreWebView2Controller3 ICoreWebView2Controller3;
+
+#endif /* __ICoreWebView2Controller3_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ContentLoadingEventArgs_FWD_DEFINED__
+#define __ICoreWebView2ContentLoadingEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2ContentLoadingEventArgs ICoreWebView2ContentLoadingEventArgs;
+
+#endif /* __ICoreWebView2ContentLoadingEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ContentLoadingEventHandler_FWD_DEFINED__
+#define __ICoreWebView2ContentLoadingEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2ContentLoadingEventHandler ICoreWebView2ContentLoadingEventHandler;
+
+#endif /* __ICoreWebView2ContentLoadingEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Cookie_FWD_DEFINED__
+#define __ICoreWebView2Cookie_FWD_DEFINED__
+typedef interface ICoreWebView2Cookie ICoreWebView2Cookie;
+
+#endif /* __ICoreWebView2Cookie_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CookieList_FWD_DEFINED__
+#define __ICoreWebView2CookieList_FWD_DEFINED__
+typedef interface ICoreWebView2CookieList ICoreWebView2CookieList;
+
+#endif /* __ICoreWebView2CookieList_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CookieManager_FWD_DEFINED__
+#define __ICoreWebView2CookieManager_FWD_DEFINED__
+typedef interface ICoreWebView2CookieManager ICoreWebView2CookieManager;
+
+#endif /* __ICoreWebView2CookieManager_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ClientCertificate_FWD_DEFINED__
+#define __ICoreWebView2ClientCertificate_FWD_DEFINED__
+typedef interface ICoreWebView2ClientCertificate ICoreWebView2ClientCertificate;
+
+#endif /* __ICoreWebView2ClientCertificate_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2StringCollection_FWD_DEFINED__
+#define __ICoreWebView2StringCollection_FWD_DEFINED__
+typedef interface ICoreWebView2StringCollection ICoreWebView2StringCollection;
+
+#endif /* __ICoreWebView2StringCollection_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ClientCertificateCollection_FWD_DEFINED__
+#define __ICoreWebView2ClientCertificateCollection_FWD_DEFINED__
+typedef interface ICoreWebView2ClientCertificateCollection ICoreWebView2ClientCertificateCollection;
+
+#endif /* __ICoreWebView2ClientCertificateCollection_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ClientCertificateRequestedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2ClientCertificateRequestedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2ClientCertificateRequestedEventArgs ICoreWebView2ClientCertificateRequestedEventArgs;
+
+#endif /* __ICoreWebView2ClientCertificateRequestedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ClientCertificateRequestedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2ClientCertificateRequestedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2ClientCertificateRequestedEventHandler ICoreWebView2ClientCertificateRequestedEventHandler;
+
+#endif /* __ICoreWebView2ClientCertificateRequestedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_FWD_DEFINED__
+#define __ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_FWD_DEFINED__
+typedef interface ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler;
+
+#endif /* __ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_FWD_DEFINED__
+#define __ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_FWD_DEFINED__
+typedef interface ICoreWebView2CreateCoreWebView2ControllerCompletedHandler ICoreWebView2CreateCoreWebView2ControllerCompletedHandler;
+
+#endif /* __ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_FWD_DEFINED__
+#define __ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_FWD_DEFINED__
+typedef interface ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler;
+
+#endif /* __ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ContainsFullScreenElementChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2ContainsFullScreenElementChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2ContainsFullScreenElementChangedEventHandler ICoreWebView2ContainsFullScreenElementChangedEventHandler;
+
+#endif /* __ICoreWebView2ContainsFullScreenElementChangedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CursorChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2CursorChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2CursorChangedEventHandler ICoreWebView2CursorChangedEventHandler;
+
+#endif /* __ICoreWebView2CursorChangedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DocumentTitleChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2DocumentTitleChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2DocumentTitleChangedEventHandler ICoreWebView2DocumentTitleChangedEventHandler;
+
+#endif /* __ICoreWebView2DocumentTitleChangedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DOMContentLoadedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2DOMContentLoadedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2DOMContentLoadedEventArgs ICoreWebView2DOMContentLoadedEventArgs;
+
+#endif /* __ICoreWebView2DOMContentLoadedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DOMContentLoadedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2DOMContentLoadedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2DOMContentLoadedEventHandler ICoreWebView2DOMContentLoadedEventHandler;
+
+#endif /* __ICoreWebView2DOMContentLoadedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Deferral_FWD_DEFINED__
+#define __ICoreWebView2Deferral_FWD_DEFINED__
+typedef interface ICoreWebView2Deferral ICoreWebView2Deferral;
+
+#endif /* __ICoreWebView2Deferral_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DevToolsProtocolEventReceivedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2DevToolsProtocolEventReceivedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2DevToolsProtocolEventReceivedEventArgs ICoreWebView2DevToolsProtocolEventReceivedEventArgs;
+
+#endif /* __ICoreWebView2DevToolsProtocolEventReceivedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DevToolsProtocolEventReceivedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2DevToolsProtocolEventReceivedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2DevToolsProtocolEventReceivedEventHandler ICoreWebView2DevToolsProtocolEventReceivedEventHandler;
+
+#endif /* __ICoreWebView2DevToolsProtocolEventReceivedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DevToolsProtocolEventReceiver_FWD_DEFINED__
+#define __ICoreWebView2DevToolsProtocolEventReceiver_FWD_DEFINED__
+typedef interface ICoreWebView2DevToolsProtocolEventReceiver ICoreWebView2DevToolsProtocolEventReceiver;
+
+#endif /* __ICoreWebView2DevToolsProtocolEventReceiver_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DownloadOperation_FWD_DEFINED__
+#define __ICoreWebView2DownloadOperation_FWD_DEFINED__
+typedef interface ICoreWebView2DownloadOperation ICoreWebView2DownloadOperation;
+
+#endif /* __ICoreWebView2DownloadOperation_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DownloadStartingEventArgs_FWD_DEFINED__
+#define __ICoreWebView2DownloadStartingEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2DownloadStartingEventArgs ICoreWebView2DownloadStartingEventArgs;
+
+#endif /* __ICoreWebView2DownloadStartingEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DownloadStartingEventHandler_FWD_DEFINED__
+#define __ICoreWebView2DownloadStartingEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2DownloadStartingEventHandler ICoreWebView2DownloadStartingEventHandler;
+
+#endif /* __ICoreWebView2DownloadStartingEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment_FWD_DEFINED__
+#define __ICoreWebView2Environment_FWD_DEFINED__
+typedef interface ICoreWebView2Environment ICoreWebView2Environment;
+
+#endif /* __ICoreWebView2Environment_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment2_FWD_DEFINED__
+#define __ICoreWebView2Environment2_FWD_DEFINED__
+typedef interface ICoreWebView2Environment2 ICoreWebView2Environment2;
+
+#endif /* __ICoreWebView2Environment2_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment3_FWD_DEFINED__
+#define __ICoreWebView2Environment3_FWD_DEFINED__
+typedef interface ICoreWebView2Environment3 ICoreWebView2Environment3;
+
+#endif /* __ICoreWebView2Environment3_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment4_FWD_DEFINED__
+#define __ICoreWebView2Environment4_FWD_DEFINED__
+typedef interface ICoreWebView2Environment4 ICoreWebView2Environment4;
+
+#endif /* __ICoreWebView2Environment4_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment5_FWD_DEFINED__
+#define __ICoreWebView2Environment5_FWD_DEFINED__
+typedef interface ICoreWebView2Environment5 ICoreWebView2Environment5;
+
+#endif /* __ICoreWebView2Environment5_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment6_FWD_DEFINED__
+#define __ICoreWebView2Environment6_FWD_DEFINED__
+typedef interface ICoreWebView2Environment6 ICoreWebView2Environment6;
+
+#endif /* __ICoreWebView2Environment6_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment7_FWD_DEFINED__
+#define __ICoreWebView2Environment7_FWD_DEFINED__
+typedef interface ICoreWebView2Environment7 ICoreWebView2Environment7;
+
+#endif /* __ICoreWebView2Environment7_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment8_FWD_DEFINED__
+#define __ICoreWebView2Environment8_FWD_DEFINED__
+typedef interface ICoreWebView2Environment8 ICoreWebView2Environment8;
+
+#endif /* __ICoreWebView2Environment8_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2EnvironmentOptions_FWD_DEFINED__
+#define __ICoreWebView2EnvironmentOptions_FWD_DEFINED__
+typedef interface ICoreWebView2EnvironmentOptions ICoreWebView2EnvironmentOptions;
+
+#endif /* __ICoreWebView2EnvironmentOptions_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2EstimatedEndTimeChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2EstimatedEndTimeChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2EstimatedEndTimeChangedEventHandler ICoreWebView2EstimatedEndTimeChangedEventHandler;
+
+#endif /* __ICoreWebView2EstimatedEndTimeChangedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ExecuteScriptCompletedHandler_FWD_DEFINED__
+#define __ICoreWebView2ExecuteScriptCompletedHandler_FWD_DEFINED__
+typedef interface ICoreWebView2ExecuteScriptCompletedHandler ICoreWebView2ExecuteScriptCompletedHandler;
+
+#endif /* __ICoreWebView2ExecuteScriptCompletedHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Frame_FWD_DEFINED__
+#define __ICoreWebView2Frame_FWD_DEFINED__
+typedef interface ICoreWebView2Frame ICoreWebView2Frame;
+
+#endif /* __ICoreWebView2Frame_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Frame2_FWD_DEFINED__
+#define __ICoreWebView2Frame2_FWD_DEFINED__
+typedef interface ICoreWebView2Frame2 ICoreWebView2Frame2;
+
+#endif /* __ICoreWebView2Frame2_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameContentLoadingEventHandler_FWD_DEFINED__
+#define __ICoreWebView2FrameContentLoadingEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2FrameContentLoadingEventHandler ICoreWebView2FrameContentLoadingEventHandler;
+
+#endif /* __ICoreWebView2FrameContentLoadingEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameCreatedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2FrameCreatedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2FrameCreatedEventArgs ICoreWebView2FrameCreatedEventArgs;
+
+#endif /* __ICoreWebView2FrameCreatedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameCreatedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2FrameCreatedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2FrameCreatedEventHandler ICoreWebView2FrameCreatedEventHandler;
+
+#endif /* __ICoreWebView2FrameCreatedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameDestroyedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2FrameDestroyedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2FrameDestroyedEventHandler ICoreWebView2FrameDestroyedEventHandler;
+
+#endif /* __ICoreWebView2FrameDestroyedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameDOMContentLoadedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2FrameDOMContentLoadedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2FrameDOMContentLoadedEventHandler ICoreWebView2FrameDOMContentLoadedEventHandler;
+
+#endif /* __ICoreWebView2FrameDOMContentLoadedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameNameChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2FrameNameChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2FrameNameChangedEventHandler ICoreWebView2FrameNameChangedEventHandler;
+
+#endif /* __ICoreWebView2FrameNameChangedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameNavigationCompletedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2FrameNavigationCompletedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2FrameNavigationCompletedEventHandler ICoreWebView2FrameNavigationCompletedEventHandler;
+
+#endif /* __ICoreWebView2FrameNavigationCompletedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameNavigationStartingEventHandler_FWD_DEFINED__
+#define __ICoreWebView2FrameNavigationStartingEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2FrameNavigationStartingEventHandler ICoreWebView2FrameNavigationStartingEventHandler;
+
+#endif /* __ICoreWebView2FrameNavigationStartingEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameWebMessageReceivedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2FrameWebMessageReceivedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2FrameWebMessageReceivedEventHandler ICoreWebView2FrameWebMessageReceivedEventHandler;
+
+#endif /* __ICoreWebView2FrameWebMessageReceivedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameInfo_FWD_DEFINED__
+#define __ICoreWebView2FrameInfo_FWD_DEFINED__
+typedef interface ICoreWebView2FrameInfo ICoreWebView2FrameInfo;
+
+#endif /* __ICoreWebView2FrameInfo_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameInfoCollection_FWD_DEFINED__
+#define __ICoreWebView2FrameInfoCollection_FWD_DEFINED__
+typedef interface ICoreWebView2FrameInfoCollection ICoreWebView2FrameInfoCollection;
+
+#endif /* __ICoreWebView2FrameInfoCollection_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameInfoCollectionIterator_FWD_DEFINED__
+#define __ICoreWebView2FrameInfoCollectionIterator_FWD_DEFINED__
+typedef interface ICoreWebView2FrameInfoCollectionIterator ICoreWebView2FrameInfoCollectionIterator;
+
+#endif /* __ICoreWebView2FrameInfoCollectionIterator_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FocusChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2FocusChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2FocusChangedEventHandler ICoreWebView2FocusChangedEventHandler;
+
+#endif /* __ICoreWebView2FocusChangedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2GetCookiesCompletedHandler_FWD_DEFINED__
+#define __ICoreWebView2GetCookiesCompletedHandler_FWD_DEFINED__
+typedef interface ICoreWebView2GetCookiesCompletedHandler ICoreWebView2GetCookiesCompletedHandler;
+
+#endif /* __ICoreWebView2GetCookiesCompletedHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2HistoryChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2HistoryChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2HistoryChangedEventHandler ICoreWebView2HistoryChangedEventHandler;
+
+#endif /* __ICoreWebView2HistoryChangedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2HttpHeadersCollectionIterator_FWD_DEFINED__
+#define __ICoreWebView2HttpHeadersCollectionIterator_FWD_DEFINED__
+typedef interface ICoreWebView2HttpHeadersCollectionIterator ICoreWebView2HttpHeadersCollectionIterator;
+
+#endif /* __ICoreWebView2HttpHeadersCollectionIterator_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2HttpRequestHeaders_FWD_DEFINED__
+#define __ICoreWebView2HttpRequestHeaders_FWD_DEFINED__
+typedef interface ICoreWebView2HttpRequestHeaders ICoreWebView2HttpRequestHeaders;
+
+#endif /* __ICoreWebView2HttpRequestHeaders_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2HttpResponseHeaders_FWD_DEFINED__
+#define __ICoreWebView2HttpResponseHeaders_FWD_DEFINED__
+typedef interface ICoreWebView2HttpResponseHeaders ICoreWebView2HttpResponseHeaders;
+
+#endif /* __ICoreWebView2HttpResponseHeaders_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler;
+
+#endif /* __ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2MoveFocusRequestedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2MoveFocusRequestedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2MoveFocusRequestedEventArgs ICoreWebView2MoveFocusRequestedEventArgs;
+
+#endif /* __ICoreWebView2MoveFocusRequestedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2MoveFocusRequestedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2MoveFocusRequestedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2MoveFocusRequestedEventHandler ICoreWebView2MoveFocusRequestedEventHandler;
+
+#endif /* __ICoreWebView2MoveFocusRequestedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NavigationCompletedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2NavigationCompletedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2NavigationCompletedEventArgs ICoreWebView2NavigationCompletedEventArgs;
+
+#endif /* __ICoreWebView2NavigationCompletedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NavigationCompletedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2NavigationCompletedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2NavigationCompletedEventHandler ICoreWebView2NavigationCompletedEventHandler;
+
+#endif /* __ICoreWebView2NavigationCompletedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NavigationStartingEventArgs_FWD_DEFINED__
+#define __ICoreWebView2NavigationStartingEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2NavigationStartingEventArgs ICoreWebView2NavigationStartingEventArgs;
+
+#endif /* __ICoreWebView2NavigationStartingEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NavigationStartingEventArgs2_FWD_DEFINED__
+#define __ICoreWebView2NavigationStartingEventArgs2_FWD_DEFINED__
+typedef interface ICoreWebView2NavigationStartingEventArgs2 ICoreWebView2NavigationStartingEventArgs2;
+
+#endif /* __ICoreWebView2NavigationStartingEventArgs2_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NavigationStartingEventHandler_FWD_DEFINED__
+#define __ICoreWebView2NavigationStartingEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2NavigationStartingEventHandler ICoreWebView2NavigationStartingEventHandler;
+
+#endif /* __ICoreWebView2NavigationStartingEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NewBrowserVersionAvailableEventHandler_FWD_DEFINED__
+#define __ICoreWebView2NewBrowserVersionAvailableEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2NewBrowserVersionAvailableEventHandler ICoreWebView2NewBrowserVersionAvailableEventHandler;
+
+#endif /* __ICoreWebView2NewBrowserVersionAvailableEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NewWindowRequestedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2NewWindowRequestedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2NewWindowRequestedEventArgs ICoreWebView2NewWindowRequestedEventArgs;
+
+#endif /* __ICoreWebView2NewWindowRequestedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NewWindowRequestedEventArgs2_FWD_DEFINED__
+#define __ICoreWebView2NewWindowRequestedEventArgs2_FWD_DEFINED__
+typedef interface ICoreWebView2NewWindowRequestedEventArgs2 ICoreWebView2NewWindowRequestedEventArgs2;
+
+#endif /* __ICoreWebView2NewWindowRequestedEventArgs2_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NewWindowRequestedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2NewWindowRequestedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2NewWindowRequestedEventHandler ICoreWebView2NewWindowRequestedEventHandler;
+
+#endif /* __ICoreWebView2NewWindowRequestedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2PermissionRequestedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2PermissionRequestedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2PermissionRequestedEventArgs ICoreWebView2PermissionRequestedEventArgs;
+
+#endif /* __ICoreWebView2PermissionRequestedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2PermissionRequestedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2PermissionRequestedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2PermissionRequestedEventHandler ICoreWebView2PermissionRequestedEventHandler;
+
+#endif /* __ICoreWebView2PermissionRequestedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2PointerInfo_FWD_DEFINED__
+#define __ICoreWebView2PointerInfo_FWD_DEFINED__
+typedef interface ICoreWebView2PointerInfo ICoreWebView2PointerInfo;
+
+#endif /* __ICoreWebView2PointerInfo_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2PrintSettings_FWD_DEFINED__
+#define __ICoreWebView2PrintSettings_FWD_DEFINED__
+typedef interface ICoreWebView2PrintSettings ICoreWebView2PrintSettings;
+
+#endif /* __ICoreWebView2PrintSettings_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2PrintToPdfCompletedHandler_FWD_DEFINED__
+#define __ICoreWebView2PrintToPdfCompletedHandler_FWD_DEFINED__
+typedef interface ICoreWebView2PrintToPdfCompletedHandler ICoreWebView2PrintToPdfCompletedHandler;
+
+#endif /* __ICoreWebView2PrintToPdfCompletedHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ProcessFailedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2ProcessFailedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2ProcessFailedEventArgs ICoreWebView2ProcessFailedEventArgs;
+
+#endif /* __ICoreWebView2ProcessFailedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ProcessFailedEventArgs2_FWD_DEFINED__
+#define __ICoreWebView2ProcessFailedEventArgs2_FWD_DEFINED__
+typedef interface ICoreWebView2ProcessFailedEventArgs2 ICoreWebView2ProcessFailedEventArgs2;
+
+#endif /* __ICoreWebView2ProcessFailedEventArgs2_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ProcessFailedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2ProcessFailedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2ProcessFailedEventHandler ICoreWebView2ProcessFailedEventHandler;
+
+#endif /* __ICoreWebView2ProcessFailedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2RasterizationScaleChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2RasterizationScaleChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2RasterizationScaleChangedEventHandler ICoreWebView2RasterizationScaleChangedEventHandler;
+
+#endif /* __ICoreWebView2RasterizationScaleChangedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ScriptDialogOpeningEventArgs_FWD_DEFINED__
+#define __ICoreWebView2ScriptDialogOpeningEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2ScriptDialogOpeningEventArgs ICoreWebView2ScriptDialogOpeningEventArgs;
+
+#endif /* __ICoreWebView2ScriptDialogOpeningEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ScriptDialogOpeningEventHandler_FWD_DEFINED__
+#define __ICoreWebView2ScriptDialogOpeningEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2ScriptDialogOpeningEventHandler ICoreWebView2ScriptDialogOpeningEventHandler;
+
+#endif /* __ICoreWebView2ScriptDialogOpeningEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Settings_FWD_DEFINED__
+#define __ICoreWebView2Settings_FWD_DEFINED__
+typedef interface ICoreWebView2Settings ICoreWebView2Settings;
+
+#endif /* __ICoreWebView2Settings_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Settings2_FWD_DEFINED__
+#define __ICoreWebView2Settings2_FWD_DEFINED__
+typedef interface ICoreWebView2Settings2 ICoreWebView2Settings2;
+
+#endif /* __ICoreWebView2Settings2_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Settings3_FWD_DEFINED__
+#define __ICoreWebView2Settings3_FWD_DEFINED__
+typedef interface ICoreWebView2Settings3 ICoreWebView2Settings3;
+
+#endif /* __ICoreWebView2Settings3_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Settings4_FWD_DEFINED__
+#define __ICoreWebView2Settings4_FWD_DEFINED__
+typedef interface ICoreWebView2Settings4 ICoreWebView2Settings4;
+
+#endif /* __ICoreWebView2Settings4_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Settings5_FWD_DEFINED__
+#define __ICoreWebView2Settings5_FWD_DEFINED__
+typedef interface ICoreWebView2Settings5 ICoreWebView2Settings5;
+
+#endif /* __ICoreWebView2Settings5_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Settings6_FWD_DEFINED__
+#define __ICoreWebView2Settings6_FWD_DEFINED__
+typedef interface ICoreWebView2Settings6 ICoreWebView2Settings6;
+
+#endif /* __ICoreWebView2Settings6_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2SourceChangedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2SourceChangedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2SourceChangedEventArgs ICoreWebView2SourceChangedEventArgs;
+
+#endif /* __ICoreWebView2SourceChangedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2SourceChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2SourceChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2SourceChangedEventHandler ICoreWebView2SourceChangedEventHandler;
+
+#endif /* __ICoreWebView2SourceChangedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2StateChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2StateChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2StateChangedEventHandler ICoreWebView2StateChangedEventHandler;
+
+#endif /* __ICoreWebView2StateChangedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2TrySuspendCompletedHandler_FWD_DEFINED__
+#define __ICoreWebView2TrySuspendCompletedHandler_FWD_DEFINED__
+typedef interface ICoreWebView2TrySuspendCompletedHandler ICoreWebView2TrySuspendCompletedHandler;
+
+#endif /* __ICoreWebView2TrySuspendCompletedHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebMessageReceivedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2WebMessageReceivedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2WebMessageReceivedEventArgs ICoreWebView2WebMessageReceivedEventArgs;
+
+#endif /* __ICoreWebView2WebMessageReceivedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebMessageReceivedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2WebMessageReceivedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2WebMessageReceivedEventHandler ICoreWebView2WebMessageReceivedEventHandler;
+
+#endif /* __ICoreWebView2WebMessageReceivedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceRequest_FWD_DEFINED__
+#define __ICoreWebView2WebResourceRequest_FWD_DEFINED__
+typedef interface ICoreWebView2WebResourceRequest ICoreWebView2WebResourceRequest;
+
+#endif /* __ICoreWebView2WebResourceRequest_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceRequestedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2WebResourceRequestedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2WebResourceRequestedEventArgs ICoreWebView2WebResourceRequestedEventArgs;
+
+#endif /* __ICoreWebView2WebResourceRequestedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceRequestedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2WebResourceRequestedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2WebResourceRequestedEventHandler ICoreWebView2WebResourceRequestedEventHandler;
+
+#endif /* __ICoreWebView2WebResourceRequestedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceResponse_FWD_DEFINED__
+#define __ICoreWebView2WebResourceResponse_FWD_DEFINED__
+typedef interface ICoreWebView2WebResourceResponse ICoreWebView2WebResourceResponse;
+
+#endif /* __ICoreWebView2WebResourceResponse_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceResponseReceivedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2WebResourceResponseReceivedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2WebResourceResponseReceivedEventHandler ICoreWebView2WebResourceResponseReceivedEventHandler;
+
+#endif /* __ICoreWebView2WebResourceResponseReceivedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceResponseReceivedEventArgs_FWD_DEFINED__
+#define __ICoreWebView2WebResourceResponseReceivedEventArgs_FWD_DEFINED__
+typedef interface ICoreWebView2WebResourceResponseReceivedEventArgs ICoreWebView2WebResourceResponseReceivedEventArgs;
+
+#endif /* __ICoreWebView2WebResourceResponseReceivedEventArgs_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceResponseView_FWD_DEFINED__
+#define __ICoreWebView2WebResourceResponseView_FWD_DEFINED__
+typedef interface ICoreWebView2WebResourceResponseView ICoreWebView2WebResourceResponseView;
+
+#endif /* __ICoreWebView2WebResourceResponseView_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_FWD_DEFINED__
+#define __ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_FWD_DEFINED__
+typedef interface ICoreWebView2WebResourceResponseViewGetContentCompletedHandler ICoreWebView2WebResourceResponseViewGetContentCompletedHandler;
+
+#endif /* __ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WindowCloseRequestedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2WindowCloseRequestedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2WindowCloseRequestedEventHandler ICoreWebView2WindowCloseRequestedEventHandler;
+
+#endif /* __ICoreWebView2WindowCloseRequestedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WindowFeatures_FWD_DEFINED__
+#define __ICoreWebView2WindowFeatures_FWD_DEFINED__
+typedef interface ICoreWebView2WindowFeatures ICoreWebView2WindowFeatures;
+
+#endif /* __ICoreWebView2WindowFeatures_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ZoomFactorChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2ZoomFactorChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2ZoomFactorChangedEventHandler ICoreWebView2ZoomFactorChangedEventHandler;
+
+#endif /* __ICoreWebView2ZoomFactorChangedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2IsMutedChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2IsMutedChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2IsMutedChangedEventHandler ICoreWebView2IsMutedChangedEventHandler;
+
+#endif /* __ICoreWebView2IsMutedChangedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2IsDocumentPlayingAudioChangedEventHandler ICoreWebView2IsDocumentPlayingAudioChangedEventHandler;
+
+#endif /* __ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ProcessInfo_FWD_DEFINED__
+#define __ICoreWebView2ProcessInfo_FWD_DEFINED__
+typedef interface ICoreWebView2ProcessInfo ICoreWebView2ProcessInfo;
+
+#endif /* __ICoreWebView2ProcessInfo_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ProcessInfoCollection_FWD_DEFINED__
+#define __ICoreWebView2ProcessInfoCollection_FWD_DEFINED__
+typedef interface ICoreWebView2ProcessInfoCollection ICoreWebView2ProcessInfoCollection;
+
+#endif /* __ICoreWebView2ProcessInfoCollection_FWD_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ProcessInfosChangedEventHandler_FWD_DEFINED__
+#define __ICoreWebView2ProcessInfosChangedEventHandler_FWD_DEFINED__
+typedef interface ICoreWebView2ProcessInfosChangedEventHandler ICoreWebView2ProcessInfosChangedEventHandler;
+
+#endif /* __ICoreWebView2ProcessInfosChangedEventHandler_FWD_DEFINED__ */
+
+
+/* header files for imported files */
+#include "objidl.h"
+#include "oaidl.h"
+#include "EventToken.h"
+
+#ifdef __cplusplus
+extern "C"{
+#endif
+
+
+
+#ifndef __WebView2_LIBRARY_DEFINED__
+#define __WebView2_LIBRARY_DEFINED__
+
+/* library WebView2 */
+/* [version][uuid] */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT
+ {
+ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_PNG = 0,
+ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_JPEG = ( COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT_PNG + 1 )
+ } COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_COOKIE_SAME_SITE_KIND
+ {
+ COREWEBVIEW2_COOKIE_SAME_SITE_KIND_NONE = 0,
+ COREWEBVIEW2_COOKIE_SAME_SITE_KIND_LAX = ( COREWEBVIEW2_COOKIE_SAME_SITE_KIND_NONE + 1 ) ,
+ COREWEBVIEW2_COOKIE_SAME_SITE_KIND_STRICT = ( COREWEBVIEW2_COOKIE_SAME_SITE_KIND_LAX + 1 )
+ } COREWEBVIEW2_COOKIE_SAME_SITE_KIND;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND
+ {
+ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY = 0,
+ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_ALLOW = ( COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY + 1 ) ,
+ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_DENY_CORS = ( COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND_ALLOW + 1 )
+ } COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_SCRIPT_DIALOG_KIND
+ {
+ COREWEBVIEW2_SCRIPT_DIALOG_KIND_ALERT = 0,
+ COREWEBVIEW2_SCRIPT_DIALOG_KIND_CONFIRM = ( COREWEBVIEW2_SCRIPT_DIALOG_KIND_ALERT + 1 ) ,
+ COREWEBVIEW2_SCRIPT_DIALOG_KIND_PROMPT = ( COREWEBVIEW2_SCRIPT_DIALOG_KIND_CONFIRM + 1 ) ,
+ COREWEBVIEW2_SCRIPT_DIALOG_KIND_BEFOREUNLOAD = ( COREWEBVIEW2_SCRIPT_DIALOG_KIND_PROMPT + 1 )
+ } COREWEBVIEW2_SCRIPT_DIALOG_KIND;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_PROCESS_FAILED_KIND
+ {
+ COREWEBVIEW2_PROCESS_FAILED_KIND_BROWSER_PROCESS_EXITED = 0,
+ COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_EXITED = ( COREWEBVIEW2_PROCESS_FAILED_KIND_BROWSER_PROCESS_EXITED + 1 ) ,
+ COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_UNRESPONSIVE = ( COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_EXITED + 1 ) ,
+ COREWEBVIEW2_PROCESS_FAILED_KIND_FRAME_RENDER_PROCESS_EXITED = ( COREWEBVIEW2_PROCESS_FAILED_KIND_RENDER_PROCESS_UNRESPONSIVE + 1 ) ,
+ COREWEBVIEW2_PROCESS_FAILED_KIND_UTILITY_PROCESS_EXITED = ( COREWEBVIEW2_PROCESS_FAILED_KIND_FRAME_RENDER_PROCESS_EXITED + 1 ) ,
+ COREWEBVIEW2_PROCESS_FAILED_KIND_SANDBOX_HELPER_PROCESS_EXITED = ( COREWEBVIEW2_PROCESS_FAILED_KIND_UTILITY_PROCESS_EXITED + 1 ) ,
+ COREWEBVIEW2_PROCESS_FAILED_KIND_GPU_PROCESS_EXITED = ( COREWEBVIEW2_PROCESS_FAILED_KIND_SANDBOX_HELPER_PROCESS_EXITED + 1 ) ,
+ COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_PLUGIN_PROCESS_EXITED = ( COREWEBVIEW2_PROCESS_FAILED_KIND_GPU_PROCESS_EXITED + 1 ) ,
+ COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_BROKER_PROCESS_EXITED = ( COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_PLUGIN_PROCESS_EXITED + 1 ) ,
+ COREWEBVIEW2_PROCESS_FAILED_KIND_UNKNOWN_PROCESS_EXITED = ( COREWEBVIEW2_PROCESS_FAILED_KIND_PPAPI_BROKER_PROCESS_EXITED + 1 )
+ } COREWEBVIEW2_PROCESS_FAILED_KIND;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_PROCESS_FAILED_REASON
+ {
+ COREWEBVIEW2_PROCESS_FAILED_REASON_UNEXPECTED = 0,
+ COREWEBVIEW2_PROCESS_FAILED_REASON_UNRESPONSIVE = ( COREWEBVIEW2_PROCESS_FAILED_REASON_UNEXPECTED + 1 ) ,
+ COREWEBVIEW2_PROCESS_FAILED_REASON_TERMINATED = ( COREWEBVIEW2_PROCESS_FAILED_REASON_UNRESPONSIVE + 1 ) ,
+ COREWEBVIEW2_PROCESS_FAILED_REASON_CRASHED = ( COREWEBVIEW2_PROCESS_FAILED_REASON_TERMINATED + 1 ) ,
+ COREWEBVIEW2_PROCESS_FAILED_REASON_LAUNCH_FAILED = ( COREWEBVIEW2_PROCESS_FAILED_REASON_CRASHED + 1 ) ,
+ COREWEBVIEW2_PROCESS_FAILED_REASON_OUT_OF_MEMORY = ( COREWEBVIEW2_PROCESS_FAILED_REASON_LAUNCH_FAILED + 1 )
+ } COREWEBVIEW2_PROCESS_FAILED_REASON;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_PERMISSION_KIND
+ {
+ COREWEBVIEW2_PERMISSION_KIND_UNKNOWN_PERMISSION = 0,
+ COREWEBVIEW2_PERMISSION_KIND_MICROPHONE = ( COREWEBVIEW2_PERMISSION_KIND_UNKNOWN_PERMISSION + 1 ) ,
+ COREWEBVIEW2_PERMISSION_KIND_CAMERA = ( COREWEBVIEW2_PERMISSION_KIND_MICROPHONE + 1 ) ,
+ COREWEBVIEW2_PERMISSION_KIND_GEOLOCATION = ( COREWEBVIEW2_PERMISSION_KIND_CAMERA + 1 ) ,
+ COREWEBVIEW2_PERMISSION_KIND_NOTIFICATIONS = ( COREWEBVIEW2_PERMISSION_KIND_GEOLOCATION + 1 ) ,
+ COREWEBVIEW2_PERMISSION_KIND_OTHER_SENSORS = ( COREWEBVIEW2_PERMISSION_KIND_NOTIFICATIONS + 1 ) ,
+ COREWEBVIEW2_PERMISSION_KIND_CLIPBOARD_READ = ( COREWEBVIEW2_PERMISSION_KIND_OTHER_SENSORS + 1 )
+ } COREWEBVIEW2_PERMISSION_KIND;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_PERMISSION_STATE
+ {
+ COREWEBVIEW2_PERMISSION_STATE_DEFAULT = 0,
+ COREWEBVIEW2_PERMISSION_STATE_ALLOW = ( COREWEBVIEW2_PERMISSION_STATE_DEFAULT + 1 ) ,
+ COREWEBVIEW2_PERMISSION_STATE_DENY = ( COREWEBVIEW2_PERMISSION_STATE_ALLOW + 1 )
+ } COREWEBVIEW2_PERMISSION_STATE;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_WEB_ERROR_STATUS
+ {
+ COREWEBVIEW2_WEB_ERROR_STATUS_UNKNOWN = 0,
+ COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_COMMON_NAME_IS_INCORRECT = ( COREWEBVIEW2_WEB_ERROR_STATUS_UNKNOWN + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_EXPIRED = ( COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_COMMON_NAME_IS_INCORRECT + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_CLIENT_CERTIFICATE_CONTAINS_ERRORS = ( COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_EXPIRED + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_REVOKED = ( COREWEBVIEW2_WEB_ERROR_STATUS_CLIENT_CERTIFICATE_CONTAINS_ERRORS + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_IS_INVALID = ( COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_REVOKED + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_SERVER_UNREACHABLE = ( COREWEBVIEW2_WEB_ERROR_STATUS_CERTIFICATE_IS_INVALID + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_TIMEOUT = ( COREWEBVIEW2_WEB_ERROR_STATUS_SERVER_UNREACHABLE + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_ERROR_HTTP_INVALID_SERVER_RESPONSE = ( COREWEBVIEW2_WEB_ERROR_STATUS_TIMEOUT + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_ABORTED = ( COREWEBVIEW2_WEB_ERROR_STATUS_ERROR_HTTP_INVALID_SERVER_RESPONSE + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_RESET = ( COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_ABORTED + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_DISCONNECTED = ( COREWEBVIEW2_WEB_ERROR_STATUS_CONNECTION_RESET + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_CANNOT_CONNECT = ( COREWEBVIEW2_WEB_ERROR_STATUS_DISCONNECTED + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_HOST_NAME_NOT_RESOLVED = ( COREWEBVIEW2_WEB_ERROR_STATUS_CANNOT_CONNECT + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_OPERATION_CANCELED = ( COREWEBVIEW2_WEB_ERROR_STATUS_HOST_NAME_NOT_RESOLVED + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_REDIRECT_FAILED = ( COREWEBVIEW2_WEB_ERROR_STATUS_OPERATION_CANCELED + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_UNEXPECTED_ERROR = ( COREWEBVIEW2_WEB_ERROR_STATUS_REDIRECT_FAILED + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_VALID_AUTHENTICATION_CREDENTIALS_REQUIRED = ( COREWEBVIEW2_WEB_ERROR_STATUS_UNEXPECTED_ERROR + 1 ) ,
+ COREWEBVIEW2_WEB_ERROR_STATUS_VALID_PROXY_AUTHENTICATION_REQUIRED = ( COREWEBVIEW2_WEB_ERROR_STATUS_VALID_AUTHENTICATION_CREDENTIALS_REQUIRED + 1 )
+ } COREWEBVIEW2_WEB_ERROR_STATUS;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_WEB_RESOURCE_CONTEXT
+ {
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL = 0,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_DOCUMENT = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_ALL + 1 ) ,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_STYLESHEET = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_DOCUMENT + 1 ) ,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_STYLESHEET + 1 ) ,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MEDIA = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_IMAGE + 1 ) ,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FONT = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MEDIA + 1 ) ,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SCRIPT = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FONT + 1 ) ,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_XML_HTTP_REQUEST = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SCRIPT + 1 ) ,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FETCH = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_XML_HTTP_REQUEST + 1 ) ,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_TEXT_TRACK = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_FETCH + 1 ) ,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_EVENT_SOURCE = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_TEXT_TRACK + 1 ) ,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_WEBSOCKET = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_EVENT_SOURCE + 1 ) ,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MANIFEST = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_WEBSOCKET + 1 ) ,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SIGNED_EXCHANGE = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_MANIFEST + 1 ) ,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_PING = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_SIGNED_EXCHANGE + 1 ) ,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_CSP_VIOLATION_REPORT = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_PING + 1 ) ,
+ COREWEBVIEW2_WEB_RESOURCE_CONTEXT_OTHER = ( COREWEBVIEW2_WEB_RESOURCE_CONTEXT_CSP_VIOLATION_REPORT + 1 )
+ } COREWEBVIEW2_WEB_RESOURCE_CONTEXT;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_MOVE_FOCUS_REASON
+ {
+ COREWEBVIEW2_MOVE_FOCUS_REASON_PROGRAMMATIC = 0,
+ COREWEBVIEW2_MOVE_FOCUS_REASON_NEXT = ( COREWEBVIEW2_MOVE_FOCUS_REASON_PROGRAMMATIC + 1 ) ,
+ COREWEBVIEW2_MOVE_FOCUS_REASON_PREVIOUS = ( COREWEBVIEW2_MOVE_FOCUS_REASON_NEXT + 1 )
+ } COREWEBVIEW2_MOVE_FOCUS_REASON;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_KEY_EVENT_KIND
+ {
+ COREWEBVIEW2_KEY_EVENT_KIND_KEY_DOWN = 0,
+ COREWEBVIEW2_KEY_EVENT_KIND_KEY_UP = ( COREWEBVIEW2_KEY_EVENT_KIND_KEY_DOWN + 1 ) ,
+ COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_DOWN = ( COREWEBVIEW2_KEY_EVENT_KIND_KEY_UP + 1 ) ,
+ COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_UP = ( COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_DOWN + 1 )
+ } COREWEBVIEW2_KEY_EVENT_KIND;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND
+ {
+ COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND_NORMAL = 0,
+ COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND_FAILED = ( COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND_NORMAL + 1 )
+ } COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND;
+
+typedef struct COREWEBVIEW2_PHYSICAL_KEY_STATUS
+ {
+ UINT32 RepeatCount;
+ UINT32 ScanCode;
+ BOOL IsExtendedKey;
+ BOOL IsMenuKeyDown;
+ BOOL WasKeyDown;
+ BOOL IsKeyReleased;
+ } COREWEBVIEW2_PHYSICAL_KEY_STATUS;
+
+typedef struct COREWEBVIEW2_COLOR
+ {
+ BYTE A;
+ BYTE R;
+ BYTE G;
+ BYTE B;
+ } COREWEBVIEW2_COLOR;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_MOUSE_EVENT_KIND
+ {
+ COREWEBVIEW2_MOUSE_EVENT_KIND_HORIZONTAL_WHEEL = 0x20e,
+ COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_DOUBLE_CLICK = 0x203,
+ COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_DOWN = 0x201,
+ COREWEBVIEW2_MOUSE_EVENT_KIND_LEFT_BUTTON_UP = 0x202,
+ COREWEBVIEW2_MOUSE_EVENT_KIND_LEAVE = 0x2a3,
+ COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_DOUBLE_CLICK = 0x209,
+ COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_DOWN = 0x207,
+ COREWEBVIEW2_MOUSE_EVENT_KIND_MIDDLE_BUTTON_UP = 0x208,
+ COREWEBVIEW2_MOUSE_EVENT_KIND_MOVE = 0x200,
+ COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_DOUBLE_CLICK = 0x206,
+ COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_DOWN = 0x204,
+ COREWEBVIEW2_MOUSE_EVENT_KIND_RIGHT_BUTTON_UP = 0x205,
+ COREWEBVIEW2_MOUSE_EVENT_KIND_WHEEL = 0x20a,
+ COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_DOUBLE_CLICK = 0x20d,
+ COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_DOWN = 0x20b,
+ COREWEBVIEW2_MOUSE_EVENT_KIND_X_BUTTON_UP = 0x20c
+ } COREWEBVIEW2_MOUSE_EVENT_KIND;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS
+ {
+ COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_NONE = 0,
+ COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_LEFT_BUTTON = 0x1,
+ COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_RIGHT_BUTTON = 0x2,
+ COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_SHIFT = 0x4,
+ COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_CONTROL = 0x8,
+ COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_MIDDLE_BUTTON = 0x10,
+ COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_X_BUTTON1 = 0x20,
+ COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS_X_BUTTON2 = 0x40
+ } COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS;
+
+DEFINE_ENUM_FLAG_OPERATORS(COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS);
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_POINTER_EVENT_KIND
+ {
+ COREWEBVIEW2_POINTER_EVENT_KIND_ACTIVATE = 0x24b,
+ COREWEBVIEW2_POINTER_EVENT_KIND_DOWN = 0x246,
+ COREWEBVIEW2_POINTER_EVENT_KIND_ENTER = 0x249,
+ COREWEBVIEW2_POINTER_EVENT_KIND_LEAVE = 0x24a,
+ COREWEBVIEW2_POINTER_EVENT_KIND_UP = 0x247,
+ COREWEBVIEW2_POINTER_EVENT_KIND_UPDATE = 0x245
+ } COREWEBVIEW2_POINTER_EVENT_KIND;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_BOUNDS_MODE
+ {
+ COREWEBVIEW2_BOUNDS_MODE_USE_RAW_PIXELS = 0,
+ COREWEBVIEW2_BOUNDS_MODE_USE_RASTERIZATION_SCALE = ( COREWEBVIEW2_BOUNDS_MODE_USE_RAW_PIXELS + 1 )
+ } COREWEBVIEW2_BOUNDS_MODE;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_CLIENT_CERTIFICATE_KIND
+ {
+ COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_SMART_CARD = 0,
+ COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_PIN = ( COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_SMART_CARD + 1 ) ,
+ COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_OTHER = ( COREWEBVIEW2_CLIENT_CERTIFICATE_KIND_PIN + 1 )
+ } COREWEBVIEW2_CLIENT_CERTIFICATE_KIND;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_DOWNLOAD_STATE
+ {
+ COREWEBVIEW2_DOWNLOAD_STATE_IN_PROGRESS = 0,
+ COREWEBVIEW2_DOWNLOAD_STATE_INTERRUPTED = ( COREWEBVIEW2_DOWNLOAD_STATE_IN_PROGRESS + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_STATE_COMPLETED = ( COREWEBVIEW2_DOWNLOAD_STATE_INTERRUPTED + 1 )
+ } COREWEBVIEW2_DOWNLOAD_STATE;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON
+ {
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NONE = 0,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_FAILED = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NONE + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_FAILED + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_ACCESS_DENIED + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_NO_SPACE + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_NAME_TOO_LONG + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_MALICIOUS = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_LARGE + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_MALICIOUS + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED_BY_POLICY = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TRANSIENT_ERROR + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_BLOCKED_BY_POLICY + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_SECURITY_CHECK_FAILED + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_HASH_MISMATCH = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_TOO_SHORT + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_FILE_HASH_MISMATCH + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_FAILED + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_TIMEOUT + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_DISCONNECTED + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_INVALID_REQUEST = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_SERVER_DOWN + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_NETWORK_INVALID_REQUEST + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_NO_RANGE = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_FAILED + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_NO_RANGE + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_UNAUTHORIZED = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_BAD_CONTENT + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CERTIFICATE_PROBLEM = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_UNAUTHORIZED + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_FORBIDDEN = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CERTIFICATE_PROBLEM + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_UNEXPECTED_RESPONSE = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_FORBIDDEN + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CONTENT_LENGTH_MISMATCH = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_UNEXPECTED_RESPONSE + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CROSS_ORIGIN_REDIRECT = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CONTENT_LENGTH_MISMATCH + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_CANCELED = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_SERVER_CROSS_ORIGIN_REDIRECT + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_CANCELED + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_PAUSED = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_SHUTDOWN + 1 ) ,
+ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_DOWNLOAD_PROCESS_CRASHED = ( COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON_USER_PAUSED + 1 )
+ } COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_PRINT_ORIENTATION
+ {
+ COREWEBVIEW2_PRINT_ORIENTATION_PORTRAIT = 0,
+ COREWEBVIEW2_PRINT_ORIENTATION_LANDSCAPE = ( COREWEBVIEW2_PRINT_ORIENTATION_PORTRAIT + 1 )
+ } COREWEBVIEW2_PRINT_ORIENTATION;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT
+ {
+ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_TOP_LEFT = 0,
+ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_TOP_RIGHT = ( COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_TOP_LEFT + 1 ) ,
+ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_BOTTOM_LEFT = ( COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_TOP_RIGHT + 1 ) ,
+ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_BOTTOM_RIGHT = ( COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT_BOTTOM_LEFT + 1 )
+ } COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT;
+
+typedef /* [v1_enum] */
+enum COREWEBVIEW2_PROCESS_KIND
+ {
+ COREWEBVIEW2_PROCESS_KIND_BROWSER = 0,
+ COREWEBVIEW2_PROCESS_KIND_RENDERER = ( COREWEBVIEW2_PROCESS_KIND_BROWSER + 1 ) ,
+ COREWEBVIEW2_PROCESS_KIND_UTILITY = ( COREWEBVIEW2_PROCESS_KIND_RENDERER + 1 ) ,
+ COREWEBVIEW2_PROCESS_KIND_SANDBOX_HELPER = ( COREWEBVIEW2_PROCESS_KIND_UTILITY + 1 ) ,
+ COREWEBVIEW2_PROCESS_KIND_GPU = ( COREWEBVIEW2_PROCESS_KIND_SANDBOX_HELPER + 1 ) ,
+ COREWEBVIEW2_PROCESS_KIND_PPAPI_PLUGIN = ( COREWEBVIEW2_PROCESS_KIND_GPU + 1 ) ,
+ COREWEBVIEW2_PROCESS_KIND_PPAPI_BROKER = ( COREWEBVIEW2_PROCESS_KIND_PPAPI_PLUGIN + 1 )
+ } COREWEBVIEW2_PROCESS_KIND;
+
+STDAPI CreateCoreWebView2EnvironmentWithOptions(PCWSTR browserExecutableFolder, PCWSTR userDataFolder, ICoreWebView2EnvironmentOptions* environmentOptions, ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler* environmentCreatedHandler);
+STDAPI CreateCoreWebView2Environment(ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler* environmentCreatedHandler);
+STDAPI GetAvailableCoreWebView2BrowserVersionString(PCWSTR browserExecutableFolder, LPWSTR* versionInfo);
+STDAPI CompareBrowserVersions(PCWSTR version1, PCWSTR version2, int* result);
+
+EXTERN_C const IID LIBID_WebView2;
+
+#ifndef __ICoreWebView2AcceleratorKeyPressedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2AcceleratorKeyPressedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2AcceleratorKeyPressedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2AcceleratorKeyPressedEventArgs = {0x9f760f8a,0xfb79,0x42be,{0x99,0x90,0x7b,0x56,0x90,0x0f,0xa9,0xc7}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9f760f8a-fb79-42be-9990-7b56900fa9c7")
+ ICoreWebView2AcceleratorKeyPressedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeyEventKind(
+ /* [retval][out] */ COREWEBVIEW2_KEY_EVENT_KIND *keyEventKind) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VirtualKey(
+ /* [retval][out] */ UINT *virtualKey) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeyEventLParam(
+ /* [retval][out] */ INT *lParam) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PhysicalKeyStatus(
+ /* [retval][out] */ COREWEBVIEW2_PHYSICAL_KEY_STATUS *physicalKeyStatus) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Handled(
+ /* [retval][out] */ BOOL *handled) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Handled(
+ /* [in] */ BOOL handled) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2AcceleratorKeyPressedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2AcceleratorKeyPressedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2AcceleratorKeyPressedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2AcceleratorKeyPressedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyEventKind )(
+ ICoreWebView2AcceleratorKeyPressedEventArgs * This,
+ /* [retval][out] */ COREWEBVIEW2_KEY_EVENT_KIND *keyEventKind);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VirtualKey )(
+ ICoreWebView2AcceleratorKeyPressedEventArgs * This,
+ /* [retval][out] */ UINT *virtualKey);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyEventLParam )(
+ ICoreWebView2AcceleratorKeyPressedEventArgs * This,
+ /* [retval][out] */ INT *lParam);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhysicalKeyStatus )(
+ ICoreWebView2AcceleratorKeyPressedEventArgs * This,
+ /* [retval][out] */ COREWEBVIEW2_PHYSICAL_KEY_STATUS *physicalKeyStatus);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )(
+ ICoreWebView2AcceleratorKeyPressedEventArgs * This,
+ /* [retval][out] */ BOOL *handled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )(
+ ICoreWebView2AcceleratorKeyPressedEventArgs * This,
+ /* [in] */ BOOL handled);
+
+ END_INTERFACE
+ } ICoreWebView2AcceleratorKeyPressedEventArgsVtbl;
+
+ interface ICoreWebView2AcceleratorKeyPressedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2AcceleratorKeyPressedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2AcceleratorKeyPressedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2AcceleratorKeyPressedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2AcceleratorKeyPressedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2AcceleratorKeyPressedEventArgs_get_KeyEventKind(This,keyEventKind) \
+ ( (This)->lpVtbl -> get_KeyEventKind(This,keyEventKind) )
+
+#define ICoreWebView2AcceleratorKeyPressedEventArgs_get_VirtualKey(This,virtualKey) \
+ ( (This)->lpVtbl -> get_VirtualKey(This,virtualKey) )
+
+#define ICoreWebView2AcceleratorKeyPressedEventArgs_get_KeyEventLParam(This,lParam) \
+ ( (This)->lpVtbl -> get_KeyEventLParam(This,lParam) )
+
+#define ICoreWebView2AcceleratorKeyPressedEventArgs_get_PhysicalKeyStatus(This,physicalKeyStatus) \
+ ( (This)->lpVtbl -> get_PhysicalKeyStatus(This,physicalKeyStatus) )
+
+#define ICoreWebView2AcceleratorKeyPressedEventArgs_get_Handled(This,handled) \
+ ( (This)->lpVtbl -> get_Handled(This,handled) )
+
+#define ICoreWebView2AcceleratorKeyPressedEventArgs_put_Handled(This,handled) \
+ ( (This)->lpVtbl -> put_Handled(This,handled) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2AcceleratorKeyPressedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2AcceleratorKeyPressedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2AcceleratorKeyPressedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2AcceleratorKeyPressedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2AcceleratorKeyPressedEventHandler = {0xb29c7e28,0xfa79,0x41a8,{0x8e,0x44,0x65,0x81,0x1c,0x76,0xdc,0xb2}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("b29c7e28-fa79-41a8-8e44-65811c76dcb2")
+ ICoreWebView2AcceleratorKeyPressedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2Controller *sender,
+ /* [in] */ ICoreWebView2AcceleratorKeyPressedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2AcceleratorKeyPressedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2AcceleratorKeyPressedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2AcceleratorKeyPressedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2AcceleratorKeyPressedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2AcceleratorKeyPressedEventHandler * This,
+ /* [in] */ ICoreWebView2Controller *sender,
+ /* [in] */ ICoreWebView2AcceleratorKeyPressedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2AcceleratorKeyPressedEventHandlerVtbl;
+
+ interface ICoreWebView2AcceleratorKeyPressedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2AcceleratorKeyPressedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2AcceleratorKeyPressedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2AcceleratorKeyPressedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2AcceleratorKeyPressedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2AcceleratorKeyPressedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2AcceleratorKeyPressedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler = {0xb99369f3,0x9b11,0x47b5,{0xbc,0x6f,0x8e,0x78,0x95,0xfc,0xea,0x17}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("b99369f3-9b11-47b5-bc6f-8e7895fcea17")
+ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ HRESULT errorCode,
+ /* [in] */ LPCWSTR id) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler * This,
+ /* [in] */ HRESULT errorCode,
+ /* [in] */ LPCWSTR id);
+
+ END_INTERFACE
+ } ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandlerVtbl;
+
+ interface ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler
+ {
+ CONST_VTBL struct ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_Invoke(This,errorCode,id) \
+ ( (This)->lpVtbl -> Invoke(This,errorCode,id) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2CallDevToolsProtocolMethodCompletedHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CallDevToolsProtocolMethodCompletedHandler = {0x5c4889f0,0x5ef6,0x4c5a,{0x95,0x2c,0xd8,0xf1,0xb9,0x2d,0x05,0x74}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("5c4889f0-5ef6-4c5a-952c-d8f1b92d0574")
+ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ HRESULT errorCode,
+ /* [in] */ LPCWSTR returnObjectAsJson) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2CallDevToolsProtocolMethodCompletedHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler * This,
+ /* [in] */ HRESULT errorCode,
+ /* [in] */ LPCWSTR returnObjectAsJson);
+
+ END_INTERFACE
+ } ICoreWebView2CallDevToolsProtocolMethodCompletedHandlerVtbl;
+
+ interface ICoreWebView2CallDevToolsProtocolMethodCompletedHandler
+ {
+ CONST_VTBL struct ICoreWebView2CallDevToolsProtocolMethodCompletedHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_Invoke(This,errorCode,returnObjectAsJson) \
+ ( (This)->lpVtbl -> Invoke(This,errorCode,returnObjectAsJson) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2CallDevToolsProtocolMethodCompletedHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CapturePreviewCompletedHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2CapturePreviewCompletedHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2CapturePreviewCompletedHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CapturePreviewCompletedHandler = {0x697e05e9,0x3d8f,0x45fa,{0x96,0xf4,0x8f,0xfe,0x1e,0xde,0xda,0xf5}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("697e05e9-3d8f-45fa-96f4-8ffe1ededaf5")
+ ICoreWebView2CapturePreviewCompletedHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ HRESULT errorCode) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2CapturePreviewCompletedHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2CapturePreviewCompletedHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2CapturePreviewCompletedHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2CapturePreviewCompletedHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2CapturePreviewCompletedHandler * This,
+ /* [in] */ HRESULT errorCode);
+
+ END_INTERFACE
+ } ICoreWebView2CapturePreviewCompletedHandlerVtbl;
+
+ interface ICoreWebView2CapturePreviewCompletedHandler
+ {
+ CONST_VTBL struct ICoreWebView2CapturePreviewCompletedHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2CapturePreviewCompletedHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2CapturePreviewCompletedHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2CapturePreviewCompletedHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2CapturePreviewCompletedHandler_Invoke(This,errorCode) \
+ ( (This)->lpVtbl -> Invoke(This,errorCode) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2CapturePreviewCompletedHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_INTERFACE_DEFINED__
+#define __ICoreWebView2_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2 = {0x76eceacb,0x0462,0x4d94,{0xac,0x83,0x42,0x3a,0x67,0x93,0x77,0x5e}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("76eceacb-0462-4d94-ac83-423a6793775e")
+ ICoreWebView2 : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Settings(
+ /* [retval][out] */ ICoreWebView2Settings **settings) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Source(
+ /* [retval][out] */ LPWSTR *uri) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Navigate(
+ /* [in] */ LPCWSTR uri) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE NavigateToString(
+ /* [in] */ LPCWSTR htmlContent) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_NavigationStarting(
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_NavigationStarting(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_ContentLoading(
+ /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_ContentLoading(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_SourceChanged(
+ /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_SourceChanged(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_HistoryChanged(
+ /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_HistoryChanged(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_NavigationCompleted(
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_NavigationCompleted(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_FrameNavigationStarting(
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_FrameNavigationStarting(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_FrameNavigationCompleted(
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_FrameNavigationCompleted(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_ScriptDialogOpening(
+ /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_ScriptDialogOpening(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_PermissionRequested(
+ /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_PermissionRequested(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_ProcessFailed(
+ /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_ProcessFailed(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AddScriptToExecuteOnDocumentCreated(
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RemoveScriptToExecuteOnDocumentCreated(
+ /* [in] */ LPCWSTR id) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ExecuteScript(
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CapturePreview(
+ /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
+ /* [in] */ IStream *imageStream,
+ /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Reload( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PostWebMessageAsJson(
+ /* [in] */ LPCWSTR webMessageAsJson) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PostWebMessageAsString(
+ /* [in] */ LPCWSTR webMessageAsString) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_WebMessageReceived(
+ /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_WebMessageReceived(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CallDevToolsProtocolMethod(
+ /* [in] */ LPCWSTR methodName,
+ /* [in] */ LPCWSTR parametersAsJson,
+ /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BrowserProcessId(
+ /* [retval][out] */ UINT32 *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CanGoBack(
+ /* [retval][out] */ BOOL *canGoBack) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CanGoForward(
+ /* [retval][out] */ BOOL *canGoForward) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GoBack( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GoForward( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDevToolsProtocolEventReceiver(
+ /* [in] */ LPCWSTR eventName,
+ /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_NewWindowRequested(
+ /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_NewWindowRequested(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_DocumentTitleChanged(
+ /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_DocumentTitleChanged(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DocumentTitle(
+ /* [retval][out] */ LPWSTR *title) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AddHostObjectToScript(
+ /* [in] */ LPCWSTR name,
+ /* [in] */ VARIANT *object) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RemoveHostObjectFromScript(
+ /* [in] */ LPCWSTR name) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE OpenDevToolsWindow( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_ContainsFullScreenElementChanged(
+ /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_ContainsFullScreenElementChanged(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ContainsFullScreenElement(
+ /* [retval][out] */ BOOL *containsFullScreenElement) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_WebResourceRequested(
+ /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_WebResourceRequested(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AddWebResourceRequestedFilter(
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RemoveWebResourceRequestedFilter(
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_WindowCloseRequested(
+ /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_WindowCloseRequested(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )(
+ ICoreWebView2 * This,
+ /* [retval][out] */ ICoreWebView2Settings **settings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )(
+ ICoreWebView2 * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ HRESULT ( STDMETHODCALLTYPE *Navigate )(
+ ICoreWebView2 * This,
+ /* [in] */ LPCWSTR uri);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateToString )(
+ ICoreWebView2 * This,
+ /* [in] */ LPCWSTR htmlContent);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2 * This,
+ /* [in] */ LPCWSTR id);
+
+ HRESULT ( STDMETHODCALLTYPE *ExecuteScript )(
+ ICoreWebView2 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CapturePreview )(
+ ICoreWebView2 * This,
+ /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
+ /* [in] */ IStream *imageStream,
+ /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Reload )(
+ ICoreWebView2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )(
+ ICoreWebView2 * This,
+ /* [in] */ LPCWSTR webMessageAsJson);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )(
+ ICoreWebView2 * This,
+ /* [in] */ LPCWSTR webMessageAsString);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )(
+ ICoreWebView2 * This,
+ /* [in] */ LPCWSTR methodName,
+ /* [in] */ LPCWSTR parametersAsJson,
+ /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )(
+ ICoreWebView2 * This,
+ /* [retval][out] */ UINT32 *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )(
+ ICoreWebView2 * This,
+ /* [retval][out] */ BOOL *canGoBack);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )(
+ ICoreWebView2 * This,
+ /* [retval][out] */ BOOL *canGoForward);
+
+ HRESULT ( STDMETHODCALLTYPE *GoBack )(
+ ICoreWebView2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GoForward )(
+ ICoreWebView2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )(
+ ICoreWebView2 * This,
+ /* [in] */ LPCWSTR eventName,
+ /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
+
+ HRESULT ( STDMETHODCALLTYPE *Stop )(
+ ICoreWebView2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )(
+ ICoreWebView2 * This,
+ /* [retval][out] */ LPWSTR *title);
+
+ HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )(
+ ICoreWebView2 * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ VARIANT *object);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )(
+ ICoreWebView2 * This,
+ /* [in] */ LPCWSTR name);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )(
+ ICoreWebView2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )(
+ ICoreWebView2 * This,
+ /* [retval][out] */ BOOL *containsFullScreenElement);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )(
+ ICoreWebView2 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )(
+ ICoreWebView2 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )(
+ ICoreWebView2 * This,
+ /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )(
+ ICoreWebView2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ END_INTERFACE
+ } ICoreWebView2Vtbl;
+
+ interface ICoreWebView2
+ {
+ CONST_VTBL struct ICoreWebView2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2_get_Settings(This,settings) \
+ ( (This)->lpVtbl -> get_Settings(This,settings) )
+
+#define ICoreWebView2_get_Source(This,uri) \
+ ( (This)->lpVtbl -> get_Source(This,uri) )
+
+#define ICoreWebView2_Navigate(This,uri) \
+ ( (This)->lpVtbl -> Navigate(This,uri) )
+
+#define ICoreWebView2_NavigateToString(This,htmlContent) \
+ ( (This)->lpVtbl -> NavigateToString(This,htmlContent) )
+
+#define ICoreWebView2_add_NavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_remove_NavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationStarting(This,token) )
+
+#define ICoreWebView2_add_ContentLoading(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) )
+
+#define ICoreWebView2_remove_ContentLoading(This,token) \
+ ( (This)->lpVtbl -> remove_ContentLoading(This,token) )
+
+#define ICoreWebView2_add_SourceChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_remove_SourceChanged(This,token) \
+ ( (This)->lpVtbl -> remove_SourceChanged(This,token) )
+
+#define ICoreWebView2_add_HistoryChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_remove_HistoryChanged(This,token) \
+ ( (This)->lpVtbl -> remove_HistoryChanged(This,token) )
+
+#define ICoreWebView2_add_NavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_remove_NavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) )
+
+#define ICoreWebView2_add_FrameNavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_remove_FrameNavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) )
+
+#define ICoreWebView2_add_FrameNavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_remove_FrameNavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) )
+
+#define ICoreWebView2_add_ScriptDialogOpening(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) )
+
+#define ICoreWebView2_remove_ScriptDialogOpening(This,token) \
+ ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) )
+
+#define ICoreWebView2_add_PermissionRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_remove_PermissionRequested(This,token) \
+ ( (This)->lpVtbl -> remove_PermissionRequested(This,token) )
+
+#define ICoreWebView2_add_ProcessFailed(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) )
+
+#define ICoreWebView2_remove_ProcessFailed(This,token) \
+ ( (This)->lpVtbl -> remove_ProcessFailed(This,token) )
+
+#define ICoreWebView2_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) \
+ ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) )
+
+#define ICoreWebView2_RemoveScriptToExecuteOnDocumentCreated(This,id) \
+ ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) )
+
+#define ICoreWebView2_ExecuteScript(This,javaScript,handler) \
+ ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) )
+
+#define ICoreWebView2_CapturePreview(This,imageFormat,imageStream,handler) \
+ ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) )
+
+#define ICoreWebView2_Reload(This) \
+ ( (This)->lpVtbl -> Reload(This) )
+
+#define ICoreWebView2_PostWebMessageAsJson(This,webMessageAsJson) \
+ ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) )
+
+#define ICoreWebView2_PostWebMessageAsString(This,webMessageAsString) \
+ ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) )
+
+#define ICoreWebView2_add_WebMessageReceived(This,handler,token) \
+ ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) )
+
+#define ICoreWebView2_remove_WebMessageReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) )
+
+#define ICoreWebView2_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) \
+ ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) )
+
+#define ICoreWebView2_get_BrowserProcessId(This,value) \
+ ( (This)->lpVtbl -> get_BrowserProcessId(This,value) )
+
+#define ICoreWebView2_get_CanGoBack(This,canGoBack) \
+ ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) )
+
+#define ICoreWebView2_get_CanGoForward(This,canGoForward) \
+ ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) )
+
+#define ICoreWebView2_GoBack(This) \
+ ( (This)->lpVtbl -> GoBack(This) )
+
+#define ICoreWebView2_GoForward(This) \
+ ( (This)->lpVtbl -> GoForward(This) )
+
+#define ICoreWebView2_GetDevToolsProtocolEventReceiver(This,eventName,receiver) \
+ ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) )
+
+#define ICoreWebView2_Stop(This) \
+ ( (This)->lpVtbl -> Stop(This) )
+
+#define ICoreWebView2_add_NewWindowRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_remove_NewWindowRequested(This,token) \
+ ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) )
+
+#define ICoreWebView2_add_DocumentTitleChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_remove_DocumentTitleChanged(This,token) \
+ ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) )
+
+#define ICoreWebView2_get_DocumentTitle(This,title) \
+ ( (This)->lpVtbl -> get_DocumentTitle(This,title) )
+
+#define ICoreWebView2_AddHostObjectToScript(This,name,object) \
+ ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) )
+
+#define ICoreWebView2_RemoveHostObjectFromScript(This,name) \
+ ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) )
+
+#define ICoreWebView2_OpenDevToolsWindow(This) \
+ ( (This)->lpVtbl -> OpenDevToolsWindow(This) )
+
+#define ICoreWebView2_add_ContainsFullScreenElementChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_remove_ContainsFullScreenElementChanged(This,token) \
+ ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) )
+
+#define ICoreWebView2_get_ContainsFullScreenElement(This,containsFullScreenElement) \
+ ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) )
+
+#define ICoreWebView2_add_WebResourceRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_remove_WebResourceRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) )
+
+#define ICoreWebView2_AddWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_RemoveWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_add_WindowCloseRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_remove_WindowCloseRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_2_INTERFACE_DEFINED__
+#define __ICoreWebView2_2_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2_2 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_2 = {0x9E8F0CF8,0xE670,0x4B5E,{0xB2,0xBC,0x73,0xE0,0x61,0xE3,0x18,0x4C}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9E8F0CF8-E670-4B5E-B2BC-73E061E3184C")
+ ICoreWebView2_2 : public ICoreWebView2
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE add_WebResourceResponseReceived(
+ /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_WebResourceResponseReceived(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE NavigateWithWebResourceRequest(
+ /* [in] */ ICoreWebView2WebResourceRequest *request) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_DOMContentLoaded(
+ /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_DOMContentLoaded(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CookieManager(
+ /* [retval][out] */ ICoreWebView2CookieManager **cookieManager) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Environment(
+ /* [retval][out] */ ICoreWebView2Environment **environment) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2_2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2_2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2_2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2_2 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )(
+ ICoreWebView2_2 * This,
+ /* [retval][out] */ ICoreWebView2Settings **settings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )(
+ ICoreWebView2_2 * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ HRESULT ( STDMETHODCALLTYPE *Navigate )(
+ ICoreWebView2_2 * This,
+ /* [in] */ LPCWSTR uri);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateToString )(
+ ICoreWebView2_2 * This,
+ /* [in] */ LPCWSTR htmlContent);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_2 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_2 * This,
+ /* [in] */ LPCWSTR id);
+
+ HRESULT ( STDMETHODCALLTYPE *ExecuteScript )(
+ ICoreWebView2_2 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CapturePreview )(
+ ICoreWebView2_2 * This,
+ /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
+ /* [in] */ IStream *imageStream,
+ /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Reload )(
+ ICoreWebView2_2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )(
+ ICoreWebView2_2 * This,
+ /* [in] */ LPCWSTR webMessageAsJson);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )(
+ ICoreWebView2_2 * This,
+ /* [in] */ LPCWSTR webMessageAsString);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )(
+ ICoreWebView2_2 * This,
+ /* [in] */ LPCWSTR methodName,
+ /* [in] */ LPCWSTR parametersAsJson,
+ /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )(
+ ICoreWebView2_2 * This,
+ /* [retval][out] */ UINT32 *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )(
+ ICoreWebView2_2 * This,
+ /* [retval][out] */ BOOL *canGoBack);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )(
+ ICoreWebView2_2 * This,
+ /* [retval][out] */ BOOL *canGoForward);
+
+ HRESULT ( STDMETHODCALLTYPE *GoBack )(
+ ICoreWebView2_2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GoForward )(
+ ICoreWebView2_2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )(
+ ICoreWebView2_2 * This,
+ /* [in] */ LPCWSTR eventName,
+ /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
+
+ HRESULT ( STDMETHODCALLTYPE *Stop )(
+ ICoreWebView2_2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )(
+ ICoreWebView2_2 * This,
+ /* [retval][out] */ LPWSTR *title);
+
+ HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )(
+ ICoreWebView2_2 * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ VARIANT *object);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )(
+ ICoreWebView2_2 * This,
+ /* [in] */ LPCWSTR name);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )(
+ ICoreWebView2_2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )(
+ ICoreWebView2_2 * This,
+ /* [retval][out] */ BOOL *containsFullScreenElement);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )(
+ ICoreWebView2_2 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )(
+ ICoreWebView2_2 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2WebResourceRequest *request);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )(
+ ICoreWebView2_2 * This,
+ /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )(
+ ICoreWebView2_2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )(
+ ICoreWebView2_2 * This,
+ /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )(
+ ICoreWebView2_2 * This,
+ /* [retval][out] */ ICoreWebView2Environment **environment);
+
+ END_INTERFACE
+ } ICoreWebView2_2Vtbl;
+
+ interface ICoreWebView2_2
+ {
+ CONST_VTBL struct ICoreWebView2_2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2_2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2_2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2_2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2_2_get_Settings(This,settings) \
+ ( (This)->lpVtbl -> get_Settings(This,settings) )
+
+#define ICoreWebView2_2_get_Source(This,uri) \
+ ( (This)->lpVtbl -> get_Source(This,uri) )
+
+#define ICoreWebView2_2_Navigate(This,uri) \
+ ( (This)->lpVtbl -> Navigate(This,uri) )
+
+#define ICoreWebView2_2_NavigateToString(This,htmlContent) \
+ ( (This)->lpVtbl -> NavigateToString(This,htmlContent) )
+
+#define ICoreWebView2_2_add_NavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_NavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationStarting(This,token) )
+
+#define ICoreWebView2_2_add_ContentLoading(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_ContentLoading(This,token) \
+ ( (This)->lpVtbl -> remove_ContentLoading(This,token) )
+
+#define ICoreWebView2_2_add_SourceChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_SourceChanged(This,token) \
+ ( (This)->lpVtbl -> remove_SourceChanged(This,token) )
+
+#define ICoreWebView2_2_add_HistoryChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_HistoryChanged(This,token) \
+ ( (This)->lpVtbl -> remove_HistoryChanged(This,token) )
+
+#define ICoreWebView2_2_add_NavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_NavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) )
+
+#define ICoreWebView2_2_add_FrameNavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_FrameNavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) )
+
+#define ICoreWebView2_2_add_FrameNavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_FrameNavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) )
+
+#define ICoreWebView2_2_add_ScriptDialogOpening(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_ScriptDialogOpening(This,token) \
+ ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) )
+
+#define ICoreWebView2_2_add_PermissionRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_PermissionRequested(This,token) \
+ ( (This)->lpVtbl -> remove_PermissionRequested(This,token) )
+
+#define ICoreWebView2_2_add_ProcessFailed(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_ProcessFailed(This,token) \
+ ( (This)->lpVtbl -> remove_ProcessFailed(This,token) )
+
+#define ICoreWebView2_2_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) \
+ ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) )
+
+#define ICoreWebView2_2_RemoveScriptToExecuteOnDocumentCreated(This,id) \
+ ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) )
+
+#define ICoreWebView2_2_ExecuteScript(This,javaScript,handler) \
+ ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) )
+
+#define ICoreWebView2_2_CapturePreview(This,imageFormat,imageStream,handler) \
+ ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) )
+
+#define ICoreWebView2_2_Reload(This) \
+ ( (This)->lpVtbl -> Reload(This) )
+
+#define ICoreWebView2_2_PostWebMessageAsJson(This,webMessageAsJson) \
+ ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) )
+
+#define ICoreWebView2_2_PostWebMessageAsString(This,webMessageAsString) \
+ ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) )
+
+#define ICoreWebView2_2_add_WebMessageReceived(This,handler,token) \
+ ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) )
+
+#define ICoreWebView2_2_remove_WebMessageReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) )
+
+#define ICoreWebView2_2_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) \
+ ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) )
+
+#define ICoreWebView2_2_get_BrowserProcessId(This,value) \
+ ( (This)->lpVtbl -> get_BrowserProcessId(This,value) )
+
+#define ICoreWebView2_2_get_CanGoBack(This,canGoBack) \
+ ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) )
+
+#define ICoreWebView2_2_get_CanGoForward(This,canGoForward) \
+ ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) )
+
+#define ICoreWebView2_2_GoBack(This) \
+ ( (This)->lpVtbl -> GoBack(This) )
+
+#define ICoreWebView2_2_GoForward(This) \
+ ( (This)->lpVtbl -> GoForward(This) )
+
+#define ICoreWebView2_2_GetDevToolsProtocolEventReceiver(This,eventName,receiver) \
+ ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) )
+
+#define ICoreWebView2_2_Stop(This) \
+ ( (This)->lpVtbl -> Stop(This) )
+
+#define ICoreWebView2_2_add_NewWindowRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_NewWindowRequested(This,token) \
+ ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) )
+
+#define ICoreWebView2_2_add_DocumentTitleChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_DocumentTitleChanged(This,token) \
+ ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) )
+
+#define ICoreWebView2_2_get_DocumentTitle(This,title) \
+ ( (This)->lpVtbl -> get_DocumentTitle(This,title) )
+
+#define ICoreWebView2_2_AddHostObjectToScript(This,name,object) \
+ ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) )
+
+#define ICoreWebView2_2_RemoveHostObjectFromScript(This,name) \
+ ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) )
+
+#define ICoreWebView2_2_OpenDevToolsWindow(This) \
+ ( (This)->lpVtbl -> OpenDevToolsWindow(This) )
+
+#define ICoreWebView2_2_add_ContainsFullScreenElementChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_ContainsFullScreenElementChanged(This,token) \
+ ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) )
+
+#define ICoreWebView2_2_get_ContainsFullScreenElement(This,containsFullScreenElement) \
+ ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) )
+
+#define ICoreWebView2_2_add_WebResourceRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_WebResourceRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) )
+
+#define ICoreWebView2_2_AddWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_2_RemoveWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_2_add_WindowCloseRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_WindowCloseRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) )
+
+
+#define ICoreWebView2_2_add_WebResourceResponseReceived(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_WebResourceResponseReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) )
+
+#define ICoreWebView2_2_NavigateWithWebResourceRequest(This,request) \
+ ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) )
+
+#define ICoreWebView2_2_add_DOMContentLoaded(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) )
+
+#define ICoreWebView2_2_remove_DOMContentLoaded(This,token) \
+ ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) )
+
+#define ICoreWebView2_2_get_CookieManager(This,cookieManager) \
+ ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) )
+
+#define ICoreWebView2_2_get_Environment(This,environment) \
+ ( (This)->lpVtbl -> get_Environment(This,environment) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2_2_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_3_INTERFACE_DEFINED__
+#define __ICoreWebView2_3_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2_3 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_3 = {0xA0D6DF20,0x3B92,0x416D,{0xAA,0x0C,0x43,0x7A,0x9C,0x72,0x78,0x57}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("A0D6DF20-3B92-416D-AA0C-437A9C727857")
+ ICoreWebView2_3 : public ICoreWebView2_2
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE TrySuspend(
+ /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsSuspended(
+ /* [retval][out] */ BOOL *isSuspended) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetVirtualHostNameToFolderMapping(
+ /* [in] */ LPCWSTR hostName,
+ /* [in] */ LPCWSTR folderPath,
+ /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ClearVirtualHostNameToFolderMapping(
+ /* [in] */ LPCWSTR hostName) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2_3Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2_3 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2_3 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2_3 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )(
+ ICoreWebView2_3 * This,
+ /* [retval][out] */ ICoreWebView2Settings **settings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )(
+ ICoreWebView2_3 * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ HRESULT ( STDMETHODCALLTYPE *Navigate )(
+ ICoreWebView2_3 * This,
+ /* [in] */ LPCWSTR uri);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateToString )(
+ ICoreWebView2_3 * This,
+ /* [in] */ LPCWSTR htmlContent);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_3 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_3 * This,
+ /* [in] */ LPCWSTR id);
+
+ HRESULT ( STDMETHODCALLTYPE *ExecuteScript )(
+ ICoreWebView2_3 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CapturePreview )(
+ ICoreWebView2_3 * This,
+ /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
+ /* [in] */ IStream *imageStream,
+ /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Reload )(
+ ICoreWebView2_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )(
+ ICoreWebView2_3 * This,
+ /* [in] */ LPCWSTR webMessageAsJson);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )(
+ ICoreWebView2_3 * This,
+ /* [in] */ LPCWSTR webMessageAsString);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )(
+ ICoreWebView2_3 * This,
+ /* [in] */ LPCWSTR methodName,
+ /* [in] */ LPCWSTR parametersAsJson,
+ /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )(
+ ICoreWebView2_3 * This,
+ /* [retval][out] */ UINT32 *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )(
+ ICoreWebView2_3 * This,
+ /* [retval][out] */ BOOL *canGoBack);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )(
+ ICoreWebView2_3 * This,
+ /* [retval][out] */ BOOL *canGoForward);
+
+ HRESULT ( STDMETHODCALLTYPE *GoBack )(
+ ICoreWebView2_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GoForward )(
+ ICoreWebView2_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )(
+ ICoreWebView2_3 * This,
+ /* [in] */ LPCWSTR eventName,
+ /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
+
+ HRESULT ( STDMETHODCALLTYPE *Stop )(
+ ICoreWebView2_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )(
+ ICoreWebView2_3 * This,
+ /* [retval][out] */ LPWSTR *title);
+
+ HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )(
+ ICoreWebView2_3 * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ VARIANT *object);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )(
+ ICoreWebView2_3 * This,
+ /* [in] */ LPCWSTR name);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )(
+ ICoreWebView2_3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )(
+ ICoreWebView2_3 * This,
+ /* [retval][out] */ BOOL *containsFullScreenElement);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )(
+ ICoreWebView2_3 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )(
+ ICoreWebView2_3 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2WebResourceRequest *request);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )(
+ ICoreWebView2_3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )(
+ ICoreWebView2_3 * This,
+ /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )(
+ ICoreWebView2_3 * This,
+ /* [retval][out] */ ICoreWebView2Environment **environment);
+
+ HRESULT ( STDMETHODCALLTYPE *TrySuspend )(
+ ICoreWebView2_3 * This,
+ /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Resume )(
+ ICoreWebView2_3 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )(
+ ICoreWebView2_3 * This,
+ /* [retval][out] */ BOOL *isSuspended);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )(
+ ICoreWebView2_3 * This,
+ /* [in] */ LPCWSTR hostName,
+ /* [in] */ LPCWSTR folderPath,
+ /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
+
+ HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )(
+ ICoreWebView2_3 * This,
+ /* [in] */ LPCWSTR hostName);
+
+ END_INTERFACE
+ } ICoreWebView2_3Vtbl;
+
+ interface ICoreWebView2_3
+ {
+ CONST_VTBL struct ICoreWebView2_3Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2_3_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2_3_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2_3_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2_3_get_Settings(This,settings) \
+ ( (This)->lpVtbl -> get_Settings(This,settings) )
+
+#define ICoreWebView2_3_get_Source(This,uri) \
+ ( (This)->lpVtbl -> get_Source(This,uri) )
+
+#define ICoreWebView2_3_Navigate(This,uri) \
+ ( (This)->lpVtbl -> Navigate(This,uri) )
+
+#define ICoreWebView2_3_NavigateToString(This,htmlContent) \
+ ( (This)->lpVtbl -> NavigateToString(This,htmlContent) )
+
+#define ICoreWebView2_3_add_NavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_NavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationStarting(This,token) )
+
+#define ICoreWebView2_3_add_ContentLoading(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_ContentLoading(This,token) \
+ ( (This)->lpVtbl -> remove_ContentLoading(This,token) )
+
+#define ICoreWebView2_3_add_SourceChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_SourceChanged(This,token) \
+ ( (This)->lpVtbl -> remove_SourceChanged(This,token) )
+
+#define ICoreWebView2_3_add_HistoryChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_HistoryChanged(This,token) \
+ ( (This)->lpVtbl -> remove_HistoryChanged(This,token) )
+
+#define ICoreWebView2_3_add_NavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_NavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) )
+
+#define ICoreWebView2_3_add_FrameNavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_FrameNavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) )
+
+#define ICoreWebView2_3_add_FrameNavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_FrameNavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) )
+
+#define ICoreWebView2_3_add_ScriptDialogOpening(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_ScriptDialogOpening(This,token) \
+ ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) )
+
+#define ICoreWebView2_3_add_PermissionRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_PermissionRequested(This,token) \
+ ( (This)->lpVtbl -> remove_PermissionRequested(This,token) )
+
+#define ICoreWebView2_3_add_ProcessFailed(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_ProcessFailed(This,token) \
+ ( (This)->lpVtbl -> remove_ProcessFailed(This,token) )
+
+#define ICoreWebView2_3_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) \
+ ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) )
+
+#define ICoreWebView2_3_RemoveScriptToExecuteOnDocumentCreated(This,id) \
+ ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) )
+
+#define ICoreWebView2_3_ExecuteScript(This,javaScript,handler) \
+ ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) )
+
+#define ICoreWebView2_3_CapturePreview(This,imageFormat,imageStream,handler) \
+ ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) )
+
+#define ICoreWebView2_3_Reload(This) \
+ ( (This)->lpVtbl -> Reload(This) )
+
+#define ICoreWebView2_3_PostWebMessageAsJson(This,webMessageAsJson) \
+ ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) )
+
+#define ICoreWebView2_3_PostWebMessageAsString(This,webMessageAsString) \
+ ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) )
+
+#define ICoreWebView2_3_add_WebMessageReceived(This,handler,token) \
+ ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) )
+
+#define ICoreWebView2_3_remove_WebMessageReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) )
+
+#define ICoreWebView2_3_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) \
+ ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) )
+
+#define ICoreWebView2_3_get_BrowserProcessId(This,value) \
+ ( (This)->lpVtbl -> get_BrowserProcessId(This,value) )
+
+#define ICoreWebView2_3_get_CanGoBack(This,canGoBack) \
+ ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) )
+
+#define ICoreWebView2_3_get_CanGoForward(This,canGoForward) \
+ ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) )
+
+#define ICoreWebView2_3_GoBack(This) \
+ ( (This)->lpVtbl -> GoBack(This) )
+
+#define ICoreWebView2_3_GoForward(This) \
+ ( (This)->lpVtbl -> GoForward(This) )
+
+#define ICoreWebView2_3_GetDevToolsProtocolEventReceiver(This,eventName,receiver) \
+ ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) )
+
+#define ICoreWebView2_3_Stop(This) \
+ ( (This)->lpVtbl -> Stop(This) )
+
+#define ICoreWebView2_3_add_NewWindowRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_NewWindowRequested(This,token) \
+ ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) )
+
+#define ICoreWebView2_3_add_DocumentTitleChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_DocumentTitleChanged(This,token) \
+ ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) )
+
+#define ICoreWebView2_3_get_DocumentTitle(This,title) \
+ ( (This)->lpVtbl -> get_DocumentTitle(This,title) )
+
+#define ICoreWebView2_3_AddHostObjectToScript(This,name,object) \
+ ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) )
+
+#define ICoreWebView2_3_RemoveHostObjectFromScript(This,name) \
+ ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) )
+
+#define ICoreWebView2_3_OpenDevToolsWindow(This) \
+ ( (This)->lpVtbl -> OpenDevToolsWindow(This) )
+
+#define ICoreWebView2_3_add_ContainsFullScreenElementChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_ContainsFullScreenElementChanged(This,token) \
+ ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) )
+
+#define ICoreWebView2_3_get_ContainsFullScreenElement(This,containsFullScreenElement) \
+ ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) )
+
+#define ICoreWebView2_3_add_WebResourceRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_WebResourceRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) )
+
+#define ICoreWebView2_3_AddWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_3_RemoveWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_3_add_WindowCloseRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_WindowCloseRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) )
+
+
+#define ICoreWebView2_3_add_WebResourceResponseReceived(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_WebResourceResponseReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) )
+
+#define ICoreWebView2_3_NavigateWithWebResourceRequest(This,request) \
+ ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) )
+
+#define ICoreWebView2_3_add_DOMContentLoaded(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) )
+
+#define ICoreWebView2_3_remove_DOMContentLoaded(This,token) \
+ ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) )
+
+#define ICoreWebView2_3_get_CookieManager(This,cookieManager) \
+ ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) )
+
+#define ICoreWebView2_3_get_Environment(This,environment) \
+ ( (This)->lpVtbl -> get_Environment(This,environment) )
+
+
+#define ICoreWebView2_3_TrySuspend(This,handler) \
+ ( (This)->lpVtbl -> TrySuspend(This,handler) )
+
+#define ICoreWebView2_3_Resume(This) \
+ ( (This)->lpVtbl -> Resume(This) )
+
+#define ICoreWebView2_3_get_IsSuspended(This,isSuspended) \
+ ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) )
+
+#define ICoreWebView2_3_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) \
+ ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) )
+
+#define ICoreWebView2_3_ClearVirtualHostNameToFolderMapping(This,hostName) \
+ ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2_3_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_4_INTERFACE_DEFINED__
+#define __ICoreWebView2_4_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2_4 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_4 = {0x20d02d59,0x6df2,0x42dc,{0xbd,0x06,0xf9,0x8a,0x69,0x4b,0x13,0x02}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("20d02d59-6df2-42dc-bd06-f98a694b1302")
+ ICoreWebView2_4 : public ICoreWebView2_3
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE add_FrameCreated(
+ /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_FrameCreated(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_DownloadStarting(
+ /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_DownloadStarting(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2_4Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2_4 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2_4 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2_4 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )(
+ ICoreWebView2_4 * This,
+ /* [retval][out] */ ICoreWebView2Settings **settings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )(
+ ICoreWebView2_4 * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ HRESULT ( STDMETHODCALLTYPE *Navigate )(
+ ICoreWebView2_4 * This,
+ /* [in] */ LPCWSTR uri);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateToString )(
+ ICoreWebView2_4 * This,
+ /* [in] */ LPCWSTR htmlContent);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_4 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_4 * This,
+ /* [in] */ LPCWSTR id);
+
+ HRESULT ( STDMETHODCALLTYPE *ExecuteScript )(
+ ICoreWebView2_4 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CapturePreview )(
+ ICoreWebView2_4 * This,
+ /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
+ /* [in] */ IStream *imageStream,
+ /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Reload )(
+ ICoreWebView2_4 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )(
+ ICoreWebView2_4 * This,
+ /* [in] */ LPCWSTR webMessageAsJson);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )(
+ ICoreWebView2_4 * This,
+ /* [in] */ LPCWSTR webMessageAsString);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )(
+ ICoreWebView2_4 * This,
+ /* [in] */ LPCWSTR methodName,
+ /* [in] */ LPCWSTR parametersAsJson,
+ /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )(
+ ICoreWebView2_4 * This,
+ /* [retval][out] */ UINT32 *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )(
+ ICoreWebView2_4 * This,
+ /* [retval][out] */ BOOL *canGoBack);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )(
+ ICoreWebView2_4 * This,
+ /* [retval][out] */ BOOL *canGoForward);
+
+ HRESULT ( STDMETHODCALLTYPE *GoBack )(
+ ICoreWebView2_4 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GoForward )(
+ ICoreWebView2_4 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )(
+ ICoreWebView2_4 * This,
+ /* [in] */ LPCWSTR eventName,
+ /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
+
+ HRESULT ( STDMETHODCALLTYPE *Stop )(
+ ICoreWebView2_4 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )(
+ ICoreWebView2_4 * This,
+ /* [retval][out] */ LPWSTR *title);
+
+ HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )(
+ ICoreWebView2_4 * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ VARIANT *object);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )(
+ ICoreWebView2_4 * This,
+ /* [in] */ LPCWSTR name);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )(
+ ICoreWebView2_4 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )(
+ ICoreWebView2_4 * This,
+ /* [retval][out] */ BOOL *containsFullScreenElement);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )(
+ ICoreWebView2_4 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )(
+ ICoreWebView2_4 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2WebResourceRequest *request);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )(
+ ICoreWebView2_4 * This,
+ /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )(
+ ICoreWebView2_4 * This,
+ /* [retval][out] */ ICoreWebView2Environment **environment);
+
+ HRESULT ( STDMETHODCALLTYPE *TrySuspend )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Resume )(
+ ICoreWebView2_4 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )(
+ ICoreWebView2_4 * This,
+ /* [retval][out] */ BOOL *isSuspended);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )(
+ ICoreWebView2_4 * This,
+ /* [in] */ LPCWSTR hostName,
+ /* [in] */ LPCWSTR folderPath,
+ /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
+
+ HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )(
+ ICoreWebView2_4 * This,
+ /* [in] */ LPCWSTR hostName);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )(
+ ICoreWebView2_4 * This,
+ /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )(
+ ICoreWebView2_4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ END_INTERFACE
+ } ICoreWebView2_4Vtbl;
+
+ interface ICoreWebView2_4
+ {
+ CONST_VTBL struct ICoreWebView2_4Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2_4_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2_4_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2_4_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2_4_get_Settings(This,settings) \
+ ( (This)->lpVtbl -> get_Settings(This,settings) )
+
+#define ICoreWebView2_4_get_Source(This,uri) \
+ ( (This)->lpVtbl -> get_Source(This,uri) )
+
+#define ICoreWebView2_4_Navigate(This,uri) \
+ ( (This)->lpVtbl -> Navigate(This,uri) )
+
+#define ICoreWebView2_4_NavigateToString(This,htmlContent) \
+ ( (This)->lpVtbl -> NavigateToString(This,htmlContent) )
+
+#define ICoreWebView2_4_add_NavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_NavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationStarting(This,token) )
+
+#define ICoreWebView2_4_add_ContentLoading(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_ContentLoading(This,token) \
+ ( (This)->lpVtbl -> remove_ContentLoading(This,token) )
+
+#define ICoreWebView2_4_add_SourceChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_SourceChanged(This,token) \
+ ( (This)->lpVtbl -> remove_SourceChanged(This,token) )
+
+#define ICoreWebView2_4_add_HistoryChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_HistoryChanged(This,token) \
+ ( (This)->lpVtbl -> remove_HistoryChanged(This,token) )
+
+#define ICoreWebView2_4_add_NavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_NavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) )
+
+#define ICoreWebView2_4_add_FrameNavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_FrameNavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) )
+
+#define ICoreWebView2_4_add_FrameNavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_FrameNavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) )
+
+#define ICoreWebView2_4_add_ScriptDialogOpening(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_ScriptDialogOpening(This,token) \
+ ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) )
+
+#define ICoreWebView2_4_add_PermissionRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_PermissionRequested(This,token) \
+ ( (This)->lpVtbl -> remove_PermissionRequested(This,token) )
+
+#define ICoreWebView2_4_add_ProcessFailed(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_ProcessFailed(This,token) \
+ ( (This)->lpVtbl -> remove_ProcessFailed(This,token) )
+
+#define ICoreWebView2_4_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) \
+ ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) )
+
+#define ICoreWebView2_4_RemoveScriptToExecuteOnDocumentCreated(This,id) \
+ ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) )
+
+#define ICoreWebView2_4_ExecuteScript(This,javaScript,handler) \
+ ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) )
+
+#define ICoreWebView2_4_CapturePreview(This,imageFormat,imageStream,handler) \
+ ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) )
+
+#define ICoreWebView2_4_Reload(This) \
+ ( (This)->lpVtbl -> Reload(This) )
+
+#define ICoreWebView2_4_PostWebMessageAsJson(This,webMessageAsJson) \
+ ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) )
+
+#define ICoreWebView2_4_PostWebMessageAsString(This,webMessageAsString) \
+ ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) )
+
+#define ICoreWebView2_4_add_WebMessageReceived(This,handler,token) \
+ ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) )
+
+#define ICoreWebView2_4_remove_WebMessageReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) )
+
+#define ICoreWebView2_4_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) \
+ ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) )
+
+#define ICoreWebView2_4_get_BrowserProcessId(This,value) \
+ ( (This)->lpVtbl -> get_BrowserProcessId(This,value) )
+
+#define ICoreWebView2_4_get_CanGoBack(This,canGoBack) \
+ ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) )
+
+#define ICoreWebView2_4_get_CanGoForward(This,canGoForward) \
+ ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) )
+
+#define ICoreWebView2_4_GoBack(This) \
+ ( (This)->lpVtbl -> GoBack(This) )
+
+#define ICoreWebView2_4_GoForward(This) \
+ ( (This)->lpVtbl -> GoForward(This) )
+
+#define ICoreWebView2_4_GetDevToolsProtocolEventReceiver(This,eventName,receiver) \
+ ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) )
+
+#define ICoreWebView2_4_Stop(This) \
+ ( (This)->lpVtbl -> Stop(This) )
+
+#define ICoreWebView2_4_add_NewWindowRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_NewWindowRequested(This,token) \
+ ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) )
+
+#define ICoreWebView2_4_add_DocumentTitleChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_DocumentTitleChanged(This,token) \
+ ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) )
+
+#define ICoreWebView2_4_get_DocumentTitle(This,title) \
+ ( (This)->lpVtbl -> get_DocumentTitle(This,title) )
+
+#define ICoreWebView2_4_AddHostObjectToScript(This,name,object) \
+ ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) )
+
+#define ICoreWebView2_4_RemoveHostObjectFromScript(This,name) \
+ ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) )
+
+#define ICoreWebView2_4_OpenDevToolsWindow(This) \
+ ( (This)->lpVtbl -> OpenDevToolsWindow(This) )
+
+#define ICoreWebView2_4_add_ContainsFullScreenElementChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_ContainsFullScreenElementChanged(This,token) \
+ ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) )
+
+#define ICoreWebView2_4_get_ContainsFullScreenElement(This,containsFullScreenElement) \
+ ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) )
+
+#define ICoreWebView2_4_add_WebResourceRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_WebResourceRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) )
+
+#define ICoreWebView2_4_AddWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_4_RemoveWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_4_add_WindowCloseRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_WindowCloseRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) )
+
+
+#define ICoreWebView2_4_add_WebResourceResponseReceived(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_WebResourceResponseReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) )
+
+#define ICoreWebView2_4_NavigateWithWebResourceRequest(This,request) \
+ ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) )
+
+#define ICoreWebView2_4_add_DOMContentLoaded(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_DOMContentLoaded(This,token) \
+ ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) )
+
+#define ICoreWebView2_4_get_CookieManager(This,cookieManager) \
+ ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) )
+
+#define ICoreWebView2_4_get_Environment(This,environment) \
+ ( (This)->lpVtbl -> get_Environment(This,environment) )
+
+
+#define ICoreWebView2_4_TrySuspend(This,handler) \
+ ( (This)->lpVtbl -> TrySuspend(This,handler) )
+
+#define ICoreWebView2_4_Resume(This) \
+ ( (This)->lpVtbl -> Resume(This) )
+
+#define ICoreWebView2_4_get_IsSuspended(This,isSuspended) \
+ ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) )
+
+#define ICoreWebView2_4_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) \
+ ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) )
+
+#define ICoreWebView2_4_ClearVirtualHostNameToFolderMapping(This,hostName) \
+ ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) )
+
+
+#define ICoreWebView2_4_add_FrameCreated(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_FrameCreated(This,token) \
+ ( (This)->lpVtbl -> remove_FrameCreated(This,token) )
+
+#define ICoreWebView2_4_add_DownloadStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_4_remove_DownloadStarting(This,token) \
+ ( (This)->lpVtbl -> remove_DownloadStarting(This,token) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2_4_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_5_INTERFACE_DEFINED__
+#define __ICoreWebView2_5_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2_5 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_5 = {0xbedb11b8,0xd63c,0x11eb,{0xb8,0xbc,0x02,0x42,0xac,0x13,0x00,0x03}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("bedb11b8-d63c-11eb-b8bc-0242ac130003")
+ ICoreWebView2_5 : public ICoreWebView2_4
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE add_ClientCertificateRequested(
+ /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_ClientCertificateRequested(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2_5Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2_5 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2_5 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2_5 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )(
+ ICoreWebView2_5 * This,
+ /* [retval][out] */ ICoreWebView2Settings **settings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )(
+ ICoreWebView2_5 * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ HRESULT ( STDMETHODCALLTYPE *Navigate )(
+ ICoreWebView2_5 * This,
+ /* [in] */ LPCWSTR uri);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateToString )(
+ ICoreWebView2_5 * This,
+ /* [in] */ LPCWSTR htmlContent);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_5 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_5 * This,
+ /* [in] */ LPCWSTR id);
+
+ HRESULT ( STDMETHODCALLTYPE *ExecuteScript )(
+ ICoreWebView2_5 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CapturePreview )(
+ ICoreWebView2_5 * This,
+ /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
+ /* [in] */ IStream *imageStream,
+ /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Reload )(
+ ICoreWebView2_5 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )(
+ ICoreWebView2_5 * This,
+ /* [in] */ LPCWSTR webMessageAsJson);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )(
+ ICoreWebView2_5 * This,
+ /* [in] */ LPCWSTR webMessageAsString);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )(
+ ICoreWebView2_5 * This,
+ /* [in] */ LPCWSTR methodName,
+ /* [in] */ LPCWSTR parametersAsJson,
+ /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )(
+ ICoreWebView2_5 * This,
+ /* [retval][out] */ UINT32 *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )(
+ ICoreWebView2_5 * This,
+ /* [retval][out] */ BOOL *canGoBack);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )(
+ ICoreWebView2_5 * This,
+ /* [retval][out] */ BOOL *canGoForward);
+
+ HRESULT ( STDMETHODCALLTYPE *GoBack )(
+ ICoreWebView2_5 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GoForward )(
+ ICoreWebView2_5 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )(
+ ICoreWebView2_5 * This,
+ /* [in] */ LPCWSTR eventName,
+ /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
+
+ HRESULT ( STDMETHODCALLTYPE *Stop )(
+ ICoreWebView2_5 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )(
+ ICoreWebView2_5 * This,
+ /* [retval][out] */ LPWSTR *title);
+
+ HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )(
+ ICoreWebView2_5 * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ VARIANT *object);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )(
+ ICoreWebView2_5 * This,
+ /* [in] */ LPCWSTR name);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )(
+ ICoreWebView2_5 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )(
+ ICoreWebView2_5 * This,
+ /* [retval][out] */ BOOL *containsFullScreenElement);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )(
+ ICoreWebView2_5 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )(
+ ICoreWebView2_5 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2WebResourceRequest *request);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )(
+ ICoreWebView2_5 * This,
+ /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )(
+ ICoreWebView2_5 * This,
+ /* [retval][out] */ ICoreWebView2Environment **environment);
+
+ HRESULT ( STDMETHODCALLTYPE *TrySuspend )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Resume )(
+ ICoreWebView2_5 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )(
+ ICoreWebView2_5 * This,
+ /* [retval][out] */ BOOL *isSuspended);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )(
+ ICoreWebView2_5 * This,
+ /* [in] */ LPCWSTR hostName,
+ /* [in] */ LPCWSTR folderPath,
+ /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
+
+ HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )(
+ ICoreWebView2_5 * This,
+ /* [in] */ LPCWSTR hostName);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )(
+ ICoreWebView2_5 * This,
+ /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )(
+ ICoreWebView2_5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ END_INTERFACE
+ } ICoreWebView2_5Vtbl;
+
+ interface ICoreWebView2_5
+ {
+ CONST_VTBL struct ICoreWebView2_5Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2_5_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2_5_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2_5_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2_5_get_Settings(This,settings) \
+ ( (This)->lpVtbl -> get_Settings(This,settings) )
+
+#define ICoreWebView2_5_get_Source(This,uri) \
+ ( (This)->lpVtbl -> get_Source(This,uri) )
+
+#define ICoreWebView2_5_Navigate(This,uri) \
+ ( (This)->lpVtbl -> Navigate(This,uri) )
+
+#define ICoreWebView2_5_NavigateToString(This,htmlContent) \
+ ( (This)->lpVtbl -> NavigateToString(This,htmlContent) )
+
+#define ICoreWebView2_5_add_NavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_NavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationStarting(This,token) )
+
+#define ICoreWebView2_5_add_ContentLoading(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_ContentLoading(This,token) \
+ ( (This)->lpVtbl -> remove_ContentLoading(This,token) )
+
+#define ICoreWebView2_5_add_SourceChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_SourceChanged(This,token) \
+ ( (This)->lpVtbl -> remove_SourceChanged(This,token) )
+
+#define ICoreWebView2_5_add_HistoryChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_HistoryChanged(This,token) \
+ ( (This)->lpVtbl -> remove_HistoryChanged(This,token) )
+
+#define ICoreWebView2_5_add_NavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_NavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) )
+
+#define ICoreWebView2_5_add_FrameNavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_FrameNavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) )
+
+#define ICoreWebView2_5_add_FrameNavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_FrameNavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) )
+
+#define ICoreWebView2_5_add_ScriptDialogOpening(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_ScriptDialogOpening(This,token) \
+ ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) )
+
+#define ICoreWebView2_5_add_PermissionRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_PermissionRequested(This,token) \
+ ( (This)->lpVtbl -> remove_PermissionRequested(This,token) )
+
+#define ICoreWebView2_5_add_ProcessFailed(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_ProcessFailed(This,token) \
+ ( (This)->lpVtbl -> remove_ProcessFailed(This,token) )
+
+#define ICoreWebView2_5_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) \
+ ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) )
+
+#define ICoreWebView2_5_RemoveScriptToExecuteOnDocumentCreated(This,id) \
+ ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) )
+
+#define ICoreWebView2_5_ExecuteScript(This,javaScript,handler) \
+ ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) )
+
+#define ICoreWebView2_5_CapturePreview(This,imageFormat,imageStream,handler) \
+ ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) )
+
+#define ICoreWebView2_5_Reload(This) \
+ ( (This)->lpVtbl -> Reload(This) )
+
+#define ICoreWebView2_5_PostWebMessageAsJson(This,webMessageAsJson) \
+ ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) )
+
+#define ICoreWebView2_5_PostWebMessageAsString(This,webMessageAsString) \
+ ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) )
+
+#define ICoreWebView2_5_add_WebMessageReceived(This,handler,token) \
+ ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) )
+
+#define ICoreWebView2_5_remove_WebMessageReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) )
+
+#define ICoreWebView2_5_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) \
+ ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) )
+
+#define ICoreWebView2_5_get_BrowserProcessId(This,value) \
+ ( (This)->lpVtbl -> get_BrowserProcessId(This,value) )
+
+#define ICoreWebView2_5_get_CanGoBack(This,canGoBack) \
+ ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) )
+
+#define ICoreWebView2_5_get_CanGoForward(This,canGoForward) \
+ ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) )
+
+#define ICoreWebView2_5_GoBack(This) \
+ ( (This)->lpVtbl -> GoBack(This) )
+
+#define ICoreWebView2_5_GoForward(This) \
+ ( (This)->lpVtbl -> GoForward(This) )
+
+#define ICoreWebView2_5_GetDevToolsProtocolEventReceiver(This,eventName,receiver) \
+ ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) )
+
+#define ICoreWebView2_5_Stop(This) \
+ ( (This)->lpVtbl -> Stop(This) )
+
+#define ICoreWebView2_5_add_NewWindowRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_NewWindowRequested(This,token) \
+ ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) )
+
+#define ICoreWebView2_5_add_DocumentTitleChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_DocumentTitleChanged(This,token) \
+ ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) )
+
+#define ICoreWebView2_5_get_DocumentTitle(This,title) \
+ ( (This)->lpVtbl -> get_DocumentTitle(This,title) )
+
+#define ICoreWebView2_5_AddHostObjectToScript(This,name,object) \
+ ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) )
+
+#define ICoreWebView2_5_RemoveHostObjectFromScript(This,name) \
+ ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) )
+
+#define ICoreWebView2_5_OpenDevToolsWindow(This) \
+ ( (This)->lpVtbl -> OpenDevToolsWindow(This) )
+
+#define ICoreWebView2_5_add_ContainsFullScreenElementChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_ContainsFullScreenElementChanged(This,token) \
+ ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) )
+
+#define ICoreWebView2_5_get_ContainsFullScreenElement(This,containsFullScreenElement) \
+ ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) )
+
+#define ICoreWebView2_5_add_WebResourceRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_WebResourceRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) )
+
+#define ICoreWebView2_5_AddWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_5_RemoveWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_5_add_WindowCloseRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_WindowCloseRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) )
+
+
+#define ICoreWebView2_5_add_WebResourceResponseReceived(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_WebResourceResponseReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) )
+
+#define ICoreWebView2_5_NavigateWithWebResourceRequest(This,request) \
+ ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) )
+
+#define ICoreWebView2_5_add_DOMContentLoaded(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_DOMContentLoaded(This,token) \
+ ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) )
+
+#define ICoreWebView2_5_get_CookieManager(This,cookieManager) \
+ ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) )
+
+#define ICoreWebView2_5_get_Environment(This,environment) \
+ ( (This)->lpVtbl -> get_Environment(This,environment) )
+
+
+#define ICoreWebView2_5_TrySuspend(This,handler) \
+ ( (This)->lpVtbl -> TrySuspend(This,handler) )
+
+#define ICoreWebView2_5_Resume(This) \
+ ( (This)->lpVtbl -> Resume(This) )
+
+#define ICoreWebView2_5_get_IsSuspended(This,isSuspended) \
+ ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) )
+
+#define ICoreWebView2_5_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) \
+ ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) )
+
+#define ICoreWebView2_5_ClearVirtualHostNameToFolderMapping(This,hostName) \
+ ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) )
+
+
+#define ICoreWebView2_5_add_FrameCreated(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_FrameCreated(This,token) \
+ ( (This)->lpVtbl -> remove_FrameCreated(This,token) )
+
+#define ICoreWebView2_5_add_DownloadStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_DownloadStarting(This,token) \
+ ( (This)->lpVtbl -> remove_DownloadStarting(This,token) )
+
+
+#define ICoreWebView2_5_add_ClientCertificateRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_5_remove_ClientCertificateRequested(This,token) \
+ ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2_5_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_6_INTERFACE_DEFINED__
+#define __ICoreWebView2_6_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2_6 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_6 = {0x499aadac,0xd92c,0x4589,{0x8a,0x75,0x11,0x1b,0xfc,0x16,0x77,0x95}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("499aadac-d92c-4589-8a75-111bfc167795")
+ ICoreWebView2_6 : public ICoreWebView2_5
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE OpenTaskManagerWindow( void) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2_6Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2_6 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2_6 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2_6 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )(
+ ICoreWebView2_6 * This,
+ /* [retval][out] */ ICoreWebView2Settings **settings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )(
+ ICoreWebView2_6 * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ HRESULT ( STDMETHODCALLTYPE *Navigate )(
+ ICoreWebView2_6 * This,
+ /* [in] */ LPCWSTR uri);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateToString )(
+ ICoreWebView2_6 * This,
+ /* [in] */ LPCWSTR htmlContent);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_6 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_6 * This,
+ /* [in] */ LPCWSTR id);
+
+ HRESULT ( STDMETHODCALLTYPE *ExecuteScript )(
+ ICoreWebView2_6 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CapturePreview )(
+ ICoreWebView2_6 * This,
+ /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
+ /* [in] */ IStream *imageStream,
+ /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Reload )(
+ ICoreWebView2_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )(
+ ICoreWebView2_6 * This,
+ /* [in] */ LPCWSTR webMessageAsJson);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )(
+ ICoreWebView2_6 * This,
+ /* [in] */ LPCWSTR webMessageAsString);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )(
+ ICoreWebView2_6 * This,
+ /* [in] */ LPCWSTR methodName,
+ /* [in] */ LPCWSTR parametersAsJson,
+ /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )(
+ ICoreWebView2_6 * This,
+ /* [retval][out] */ UINT32 *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )(
+ ICoreWebView2_6 * This,
+ /* [retval][out] */ BOOL *canGoBack);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )(
+ ICoreWebView2_6 * This,
+ /* [retval][out] */ BOOL *canGoForward);
+
+ HRESULT ( STDMETHODCALLTYPE *GoBack )(
+ ICoreWebView2_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GoForward )(
+ ICoreWebView2_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )(
+ ICoreWebView2_6 * This,
+ /* [in] */ LPCWSTR eventName,
+ /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
+
+ HRESULT ( STDMETHODCALLTYPE *Stop )(
+ ICoreWebView2_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )(
+ ICoreWebView2_6 * This,
+ /* [retval][out] */ LPWSTR *title);
+
+ HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )(
+ ICoreWebView2_6 * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ VARIANT *object);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )(
+ ICoreWebView2_6 * This,
+ /* [in] */ LPCWSTR name);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )(
+ ICoreWebView2_6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )(
+ ICoreWebView2_6 * This,
+ /* [retval][out] */ BOOL *containsFullScreenElement);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )(
+ ICoreWebView2_6 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )(
+ ICoreWebView2_6 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2WebResourceRequest *request);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )(
+ ICoreWebView2_6 * This,
+ /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )(
+ ICoreWebView2_6 * This,
+ /* [retval][out] */ ICoreWebView2Environment **environment);
+
+ HRESULT ( STDMETHODCALLTYPE *TrySuspend )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Resume )(
+ ICoreWebView2_6 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )(
+ ICoreWebView2_6 * This,
+ /* [retval][out] */ BOOL *isSuspended);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )(
+ ICoreWebView2_6 * This,
+ /* [in] */ LPCWSTR hostName,
+ /* [in] */ LPCWSTR folderPath,
+ /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
+
+ HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )(
+ ICoreWebView2_6 * This,
+ /* [in] */ LPCWSTR hostName);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )(
+ ICoreWebView2_6 * This,
+ /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )(
+ ICoreWebView2_6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )(
+ ICoreWebView2_6 * This);
+
+ END_INTERFACE
+ } ICoreWebView2_6Vtbl;
+
+ interface ICoreWebView2_6
+ {
+ CONST_VTBL struct ICoreWebView2_6Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2_6_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2_6_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2_6_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2_6_get_Settings(This,settings) \
+ ( (This)->lpVtbl -> get_Settings(This,settings) )
+
+#define ICoreWebView2_6_get_Source(This,uri) \
+ ( (This)->lpVtbl -> get_Source(This,uri) )
+
+#define ICoreWebView2_6_Navigate(This,uri) \
+ ( (This)->lpVtbl -> Navigate(This,uri) )
+
+#define ICoreWebView2_6_NavigateToString(This,htmlContent) \
+ ( (This)->lpVtbl -> NavigateToString(This,htmlContent) )
+
+#define ICoreWebView2_6_add_NavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_NavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationStarting(This,token) )
+
+#define ICoreWebView2_6_add_ContentLoading(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_ContentLoading(This,token) \
+ ( (This)->lpVtbl -> remove_ContentLoading(This,token) )
+
+#define ICoreWebView2_6_add_SourceChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_SourceChanged(This,token) \
+ ( (This)->lpVtbl -> remove_SourceChanged(This,token) )
+
+#define ICoreWebView2_6_add_HistoryChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_HistoryChanged(This,token) \
+ ( (This)->lpVtbl -> remove_HistoryChanged(This,token) )
+
+#define ICoreWebView2_6_add_NavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_NavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) )
+
+#define ICoreWebView2_6_add_FrameNavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_FrameNavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) )
+
+#define ICoreWebView2_6_add_FrameNavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_FrameNavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) )
+
+#define ICoreWebView2_6_add_ScriptDialogOpening(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_ScriptDialogOpening(This,token) \
+ ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) )
+
+#define ICoreWebView2_6_add_PermissionRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_PermissionRequested(This,token) \
+ ( (This)->lpVtbl -> remove_PermissionRequested(This,token) )
+
+#define ICoreWebView2_6_add_ProcessFailed(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_ProcessFailed(This,token) \
+ ( (This)->lpVtbl -> remove_ProcessFailed(This,token) )
+
+#define ICoreWebView2_6_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) \
+ ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) )
+
+#define ICoreWebView2_6_RemoveScriptToExecuteOnDocumentCreated(This,id) \
+ ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) )
+
+#define ICoreWebView2_6_ExecuteScript(This,javaScript,handler) \
+ ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) )
+
+#define ICoreWebView2_6_CapturePreview(This,imageFormat,imageStream,handler) \
+ ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) )
+
+#define ICoreWebView2_6_Reload(This) \
+ ( (This)->lpVtbl -> Reload(This) )
+
+#define ICoreWebView2_6_PostWebMessageAsJson(This,webMessageAsJson) \
+ ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) )
+
+#define ICoreWebView2_6_PostWebMessageAsString(This,webMessageAsString) \
+ ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) )
+
+#define ICoreWebView2_6_add_WebMessageReceived(This,handler,token) \
+ ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) )
+
+#define ICoreWebView2_6_remove_WebMessageReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) )
+
+#define ICoreWebView2_6_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) \
+ ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) )
+
+#define ICoreWebView2_6_get_BrowserProcessId(This,value) \
+ ( (This)->lpVtbl -> get_BrowserProcessId(This,value) )
+
+#define ICoreWebView2_6_get_CanGoBack(This,canGoBack) \
+ ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) )
+
+#define ICoreWebView2_6_get_CanGoForward(This,canGoForward) \
+ ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) )
+
+#define ICoreWebView2_6_GoBack(This) \
+ ( (This)->lpVtbl -> GoBack(This) )
+
+#define ICoreWebView2_6_GoForward(This) \
+ ( (This)->lpVtbl -> GoForward(This) )
+
+#define ICoreWebView2_6_GetDevToolsProtocolEventReceiver(This,eventName,receiver) \
+ ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) )
+
+#define ICoreWebView2_6_Stop(This) \
+ ( (This)->lpVtbl -> Stop(This) )
+
+#define ICoreWebView2_6_add_NewWindowRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_NewWindowRequested(This,token) \
+ ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) )
+
+#define ICoreWebView2_6_add_DocumentTitleChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_DocumentTitleChanged(This,token) \
+ ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) )
+
+#define ICoreWebView2_6_get_DocumentTitle(This,title) \
+ ( (This)->lpVtbl -> get_DocumentTitle(This,title) )
+
+#define ICoreWebView2_6_AddHostObjectToScript(This,name,object) \
+ ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) )
+
+#define ICoreWebView2_6_RemoveHostObjectFromScript(This,name) \
+ ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) )
+
+#define ICoreWebView2_6_OpenDevToolsWindow(This) \
+ ( (This)->lpVtbl -> OpenDevToolsWindow(This) )
+
+#define ICoreWebView2_6_add_ContainsFullScreenElementChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_ContainsFullScreenElementChanged(This,token) \
+ ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) )
+
+#define ICoreWebView2_6_get_ContainsFullScreenElement(This,containsFullScreenElement) \
+ ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) )
+
+#define ICoreWebView2_6_add_WebResourceRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_WebResourceRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) )
+
+#define ICoreWebView2_6_AddWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_6_RemoveWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_6_add_WindowCloseRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_WindowCloseRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) )
+
+
+#define ICoreWebView2_6_add_WebResourceResponseReceived(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_WebResourceResponseReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) )
+
+#define ICoreWebView2_6_NavigateWithWebResourceRequest(This,request) \
+ ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) )
+
+#define ICoreWebView2_6_add_DOMContentLoaded(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_DOMContentLoaded(This,token) \
+ ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) )
+
+#define ICoreWebView2_6_get_CookieManager(This,cookieManager) \
+ ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) )
+
+#define ICoreWebView2_6_get_Environment(This,environment) \
+ ( (This)->lpVtbl -> get_Environment(This,environment) )
+
+
+#define ICoreWebView2_6_TrySuspend(This,handler) \
+ ( (This)->lpVtbl -> TrySuspend(This,handler) )
+
+#define ICoreWebView2_6_Resume(This) \
+ ( (This)->lpVtbl -> Resume(This) )
+
+#define ICoreWebView2_6_get_IsSuspended(This,isSuspended) \
+ ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) )
+
+#define ICoreWebView2_6_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) \
+ ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) )
+
+#define ICoreWebView2_6_ClearVirtualHostNameToFolderMapping(This,hostName) \
+ ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) )
+
+
+#define ICoreWebView2_6_add_FrameCreated(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_FrameCreated(This,token) \
+ ( (This)->lpVtbl -> remove_FrameCreated(This,token) )
+
+#define ICoreWebView2_6_add_DownloadStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_DownloadStarting(This,token) \
+ ( (This)->lpVtbl -> remove_DownloadStarting(This,token) )
+
+
+#define ICoreWebView2_6_add_ClientCertificateRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_6_remove_ClientCertificateRequested(This,token) \
+ ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) )
+
+
+#define ICoreWebView2_6_OpenTaskManagerWindow(This) \
+ ( (This)->lpVtbl -> OpenTaskManagerWindow(This) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2_6_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_7_INTERFACE_DEFINED__
+#define __ICoreWebView2_7_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2_7 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_7 = {0x79c24d83,0x09a3,0x45ae,{0x94,0x18,0x48,0x7f,0x32,0xa5,0x87,0x40}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("79c24d83-09a3-45ae-9418-487f32a58740")
+ ICoreWebView2_7 : public ICoreWebView2_6
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE PrintToPdf(
+ /* [in] */ LPCWSTR resultFilePath,
+ /* [in] */ ICoreWebView2PrintSettings *printSettings,
+ /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2_7Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2_7 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2_7 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2_7 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )(
+ ICoreWebView2_7 * This,
+ /* [retval][out] */ ICoreWebView2Settings **settings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )(
+ ICoreWebView2_7 * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ HRESULT ( STDMETHODCALLTYPE *Navigate )(
+ ICoreWebView2_7 * This,
+ /* [in] */ LPCWSTR uri);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateToString )(
+ ICoreWebView2_7 * This,
+ /* [in] */ LPCWSTR htmlContent);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_7 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_7 * This,
+ /* [in] */ LPCWSTR id);
+
+ HRESULT ( STDMETHODCALLTYPE *ExecuteScript )(
+ ICoreWebView2_7 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CapturePreview )(
+ ICoreWebView2_7 * This,
+ /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
+ /* [in] */ IStream *imageStream,
+ /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Reload )(
+ ICoreWebView2_7 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )(
+ ICoreWebView2_7 * This,
+ /* [in] */ LPCWSTR webMessageAsJson);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )(
+ ICoreWebView2_7 * This,
+ /* [in] */ LPCWSTR webMessageAsString);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )(
+ ICoreWebView2_7 * This,
+ /* [in] */ LPCWSTR methodName,
+ /* [in] */ LPCWSTR parametersAsJson,
+ /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )(
+ ICoreWebView2_7 * This,
+ /* [retval][out] */ UINT32 *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )(
+ ICoreWebView2_7 * This,
+ /* [retval][out] */ BOOL *canGoBack);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )(
+ ICoreWebView2_7 * This,
+ /* [retval][out] */ BOOL *canGoForward);
+
+ HRESULT ( STDMETHODCALLTYPE *GoBack )(
+ ICoreWebView2_7 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GoForward )(
+ ICoreWebView2_7 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )(
+ ICoreWebView2_7 * This,
+ /* [in] */ LPCWSTR eventName,
+ /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
+
+ HRESULT ( STDMETHODCALLTYPE *Stop )(
+ ICoreWebView2_7 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )(
+ ICoreWebView2_7 * This,
+ /* [retval][out] */ LPWSTR *title);
+
+ HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )(
+ ICoreWebView2_7 * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ VARIANT *object);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )(
+ ICoreWebView2_7 * This,
+ /* [in] */ LPCWSTR name);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )(
+ ICoreWebView2_7 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )(
+ ICoreWebView2_7 * This,
+ /* [retval][out] */ BOOL *containsFullScreenElement);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )(
+ ICoreWebView2_7 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )(
+ ICoreWebView2_7 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2WebResourceRequest *request);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )(
+ ICoreWebView2_7 * This,
+ /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )(
+ ICoreWebView2_7 * This,
+ /* [retval][out] */ ICoreWebView2Environment **environment);
+
+ HRESULT ( STDMETHODCALLTYPE *TrySuspend )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Resume )(
+ ICoreWebView2_7 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )(
+ ICoreWebView2_7 * This,
+ /* [retval][out] */ BOOL *isSuspended);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )(
+ ICoreWebView2_7 * This,
+ /* [in] */ LPCWSTR hostName,
+ /* [in] */ LPCWSTR folderPath,
+ /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
+
+ HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )(
+ ICoreWebView2_7 * This,
+ /* [in] */ LPCWSTR hostName);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )(
+ ICoreWebView2_7 * This,
+ /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )(
+ ICoreWebView2_7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )(
+ ICoreWebView2_7 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PrintToPdf )(
+ ICoreWebView2_7 * This,
+ /* [in] */ LPCWSTR resultFilePath,
+ /* [in] */ ICoreWebView2PrintSettings *printSettings,
+ /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
+
+ END_INTERFACE
+ } ICoreWebView2_7Vtbl;
+
+ interface ICoreWebView2_7
+ {
+ CONST_VTBL struct ICoreWebView2_7Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2_7_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2_7_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2_7_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2_7_get_Settings(This,settings) \
+ ( (This)->lpVtbl -> get_Settings(This,settings) )
+
+#define ICoreWebView2_7_get_Source(This,uri) \
+ ( (This)->lpVtbl -> get_Source(This,uri) )
+
+#define ICoreWebView2_7_Navigate(This,uri) \
+ ( (This)->lpVtbl -> Navigate(This,uri) )
+
+#define ICoreWebView2_7_NavigateToString(This,htmlContent) \
+ ( (This)->lpVtbl -> NavigateToString(This,htmlContent) )
+
+#define ICoreWebView2_7_add_NavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_NavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationStarting(This,token) )
+
+#define ICoreWebView2_7_add_ContentLoading(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_ContentLoading(This,token) \
+ ( (This)->lpVtbl -> remove_ContentLoading(This,token) )
+
+#define ICoreWebView2_7_add_SourceChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_SourceChanged(This,token) \
+ ( (This)->lpVtbl -> remove_SourceChanged(This,token) )
+
+#define ICoreWebView2_7_add_HistoryChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_HistoryChanged(This,token) \
+ ( (This)->lpVtbl -> remove_HistoryChanged(This,token) )
+
+#define ICoreWebView2_7_add_NavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_NavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) )
+
+#define ICoreWebView2_7_add_FrameNavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_FrameNavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) )
+
+#define ICoreWebView2_7_add_FrameNavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_FrameNavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) )
+
+#define ICoreWebView2_7_add_ScriptDialogOpening(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_ScriptDialogOpening(This,token) \
+ ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) )
+
+#define ICoreWebView2_7_add_PermissionRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_PermissionRequested(This,token) \
+ ( (This)->lpVtbl -> remove_PermissionRequested(This,token) )
+
+#define ICoreWebView2_7_add_ProcessFailed(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_ProcessFailed(This,token) \
+ ( (This)->lpVtbl -> remove_ProcessFailed(This,token) )
+
+#define ICoreWebView2_7_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) \
+ ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) )
+
+#define ICoreWebView2_7_RemoveScriptToExecuteOnDocumentCreated(This,id) \
+ ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) )
+
+#define ICoreWebView2_7_ExecuteScript(This,javaScript,handler) \
+ ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) )
+
+#define ICoreWebView2_7_CapturePreview(This,imageFormat,imageStream,handler) \
+ ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) )
+
+#define ICoreWebView2_7_Reload(This) \
+ ( (This)->lpVtbl -> Reload(This) )
+
+#define ICoreWebView2_7_PostWebMessageAsJson(This,webMessageAsJson) \
+ ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) )
+
+#define ICoreWebView2_7_PostWebMessageAsString(This,webMessageAsString) \
+ ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) )
+
+#define ICoreWebView2_7_add_WebMessageReceived(This,handler,token) \
+ ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) )
+
+#define ICoreWebView2_7_remove_WebMessageReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) )
+
+#define ICoreWebView2_7_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) \
+ ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) )
+
+#define ICoreWebView2_7_get_BrowserProcessId(This,value) \
+ ( (This)->lpVtbl -> get_BrowserProcessId(This,value) )
+
+#define ICoreWebView2_7_get_CanGoBack(This,canGoBack) \
+ ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) )
+
+#define ICoreWebView2_7_get_CanGoForward(This,canGoForward) \
+ ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) )
+
+#define ICoreWebView2_7_GoBack(This) \
+ ( (This)->lpVtbl -> GoBack(This) )
+
+#define ICoreWebView2_7_GoForward(This) \
+ ( (This)->lpVtbl -> GoForward(This) )
+
+#define ICoreWebView2_7_GetDevToolsProtocolEventReceiver(This,eventName,receiver) \
+ ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) )
+
+#define ICoreWebView2_7_Stop(This) \
+ ( (This)->lpVtbl -> Stop(This) )
+
+#define ICoreWebView2_7_add_NewWindowRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_NewWindowRequested(This,token) \
+ ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) )
+
+#define ICoreWebView2_7_add_DocumentTitleChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_DocumentTitleChanged(This,token) \
+ ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) )
+
+#define ICoreWebView2_7_get_DocumentTitle(This,title) \
+ ( (This)->lpVtbl -> get_DocumentTitle(This,title) )
+
+#define ICoreWebView2_7_AddHostObjectToScript(This,name,object) \
+ ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) )
+
+#define ICoreWebView2_7_RemoveHostObjectFromScript(This,name) \
+ ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) )
+
+#define ICoreWebView2_7_OpenDevToolsWindow(This) \
+ ( (This)->lpVtbl -> OpenDevToolsWindow(This) )
+
+#define ICoreWebView2_7_add_ContainsFullScreenElementChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_ContainsFullScreenElementChanged(This,token) \
+ ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) )
+
+#define ICoreWebView2_7_get_ContainsFullScreenElement(This,containsFullScreenElement) \
+ ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) )
+
+#define ICoreWebView2_7_add_WebResourceRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_WebResourceRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) )
+
+#define ICoreWebView2_7_AddWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_7_RemoveWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_7_add_WindowCloseRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_WindowCloseRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) )
+
+
+#define ICoreWebView2_7_add_WebResourceResponseReceived(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_WebResourceResponseReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) )
+
+#define ICoreWebView2_7_NavigateWithWebResourceRequest(This,request) \
+ ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) )
+
+#define ICoreWebView2_7_add_DOMContentLoaded(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_DOMContentLoaded(This,token) \
+ ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) )
+
+#define ICoreWebView2_7_get_CookieManager(This,cookieManager) \
+ ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) )
+
+#define ICoreWebView2_7_get_Environment(This,environment) \
+ ( (This)->lpVtbl -> get_Environment(This,environment) )
+
+
+#define ICoreWebView2_7_TrySuspend(This,handler) \
+ ( (This)->lpVtbl -> TrySuspend(This,handler) )
+
+#define ICoreWebView2_7_Resume(This) \
+ ( (This)->lpVtbl -> Resume(This) )
+
+#define ICoreWebView2_7_get_IsSuspended(This,isSuspended) \
+ ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) )
+
+#define ICoreWebView2_7_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) \
+ ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) )
+
+#define ICoreWebView2_7_ClearVirtualHostNameToFolderMapping(This,hostName) \
+ ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) )
+
+
+#define ICoreWebView2_7_add_FrameCreated(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_FrameCreated(This,token) \
+ ( (This)->lpVtbl -> remove_FrameCreated(This,token) )
+
+#define ICoreWebView2_7_add_DownloadStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_DownloadStarting(This,token) \
+ ( (This)->lpVtbl -> remove_DownloadStarting(This,token) )
+
+
+#define ICoreWebView2_7_add_ClientCertificateRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_7_remove_ClientCertificateRequested(This,token) \
+ ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) )
+
+
+#define ICoreWebView2_7_OpenTaskManagerWindow(This) \
+ ( (This)->lpVtbl -> OpenTaskManagerWindow(This) )
+
+
+#define ICoreWebView2_7_PrintToPdf(This,resultFilePath,printSettings,handler) \
+ ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2_7_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_8_INTERFACE_DEFINED__
+#define __ICoreWebView2_8_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2_8 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_8 = {0xE9632730,0x6E1E,0x43AB,{0xB7,0xB8,0x7B,0x2C,0x9E,0x62,0xE0,0x94}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("E9632730-6E1E-43AB-B7B8-7B2C9E62E094")
+ ICoreWebView2_8 : public ICoreWebView2_7
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE add_IsMutedChanged(
+ /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_IsMutedChanged(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsMuted(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsMuted(
+ /* [in] */ BOOL value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_IsDocumentPlayingAudioChanged(
+ /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_IsDocumentPlayingAudioChanged(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsDocumentPlayingAudio(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2_8Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2_8 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2_8 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2_8 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )(
+ ICoreWebView2_8 * This,
+ /* [retval][out] */ ICoreWebView2Settings **settings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )(
+ ICoreWebView2_8 * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ HRESULT ( STDMETHODCALLTYPE *Navigate )(
+ ICoreWebView2_8 * This,
+ /* [in] */ LPCWSTR uri);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateToString )(
+ ICoreWebView2_8 * This,
+ /* [in] */ LPCWSTR htmlContent);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_8 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_8 * This,
+ /* [in] */ LPCWSTR id);
+
+ HRESULT ( STDMETHODCALLTYPE *ExecuteScript )(
+ ICoreWebView2_8 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CapturePreview )(
+ ICoreWebView2_8 * This,
+ /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
+ /* [in] */ IStream *imageStream,
+ /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Reload )(
+ ICoreWebView2_8 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )(
+ ICoreWebView2_8 * This,
+ /* [in] */ LPCWSTR webMessageAsJson);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )(
+ ICoreWebView2_8 * This,
+ /* [in] */ LPCWSTR webMessageAsString);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )(
+ ICoreWebView2_8 * This,
+ /* [in] */ LPCWSTR methodName,
+ /* [in] */ LPCWSTR parametersAsJson,
+ /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )(
+ ICoreWebView2_8 * This,
+ /* [retval][out] */ UINT32 *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )(
+ ICoreWebView2_8 * This,
+ /* [retval][out] */ BOOL *canGoBack);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )(
+ ICoreWebView2_8 * This,
+ /* [retval][out] */ BOOL *canGoForward);
+
+ HRESULT ( STDMETHODCALLTYPE *GoBack )(
+ ICoreWebView2_8 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GoForward )(
+ ICoreWebView2_8 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )(
+ ICoreWebView2_8 * This,
+ /* [in] */ LPCWSTR eventName,
+ /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
+
+ HRESULT ( STDMETHODCALLTYPE *Stop )(
+ ICoreWebView2_8 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )(
+ ICoreWebView2_8 * This,
+ /* [retval][out] */ LPWSTR *title);
+
+ HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )(
+ ICoreWebView2_8 * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ VARIANT *object);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )(
+ ICoreWebView2_8 * This,
+ /* [in] */ LPCWSTR name);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )(
+ ICoreWebView2_8 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )(
+ ICoreWebView2_8 * This,
+ /* [retval][out] */ BOOL *containsFullScreenElement);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )(
+ ICoreWebView2_8 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )(
+ ICoreWebView2_8 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2WebResourceRequest *request);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )(
+ ICoreWebView2_8 * This,
+ /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )(
+ ICoreWebView2_8 * This,
+ /* [retval][out] */ ICoreWebView2Environment **environment);
+
+ HRESULT ( STDMETHODCALLTYPE *TrySuspend )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Resume )(
+ ICoreWebView2_8 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )(
+ ICoreWebView2_8 * This,
+ /* [retval][out] */ BOOL *isSuspended);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )(
+ ICoreWebView2_8 * This,
+ /* [in] */ LPCWSTR hostName,
+ /* [in] */ LPCWSTR folderPath,
+ /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
+
+ HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )(
+ ICoreWebView2_8 * This,
+ /* [in] */ LPCWSTR hostName);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )(
+ ICoreWebView2_8 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PrintToPdf )(
+ ICoreWebView2_8 * This,
+ /* [in] */ LPCWSTR resultFilePath,
+ /* [in] */ ICoreWebView2PrintSettings *printSettings,
+ /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )(
+ ICoreWebView2_8 * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )(
+ ICoreWebView2_8 * This,
+ /* [in] */ BOOL value);
+
+ HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )(
+ ICoreWebView2_8 * This,
+ /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )(
+ ICoreWebView2_8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )(
+ ICoreWebView2_8 * This,
+ /* [retval][out] */ BOOL *value);
+
+ END_INTERFACE
+ } ICoreWebView2_8Vtbl;
+
+ interface ICoreWebView2_8
+ {
+ CONST_VTBL struct ICoreWebView2_8Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2_8_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2_8_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2_8_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2_8_get_Settings(This,settings) \
+ ( (This)->lpVtbl -> get_Settings(This,settings) )
+
+#define ICoreWebView2_8_get_Source(This,uri) \
+ ( (This)->lpVtbl -> get_Source(This,uri) )
+
+#define ICoreWebView2_8_Navigate(This,uri) \
+ ( (This)->lpVtbl -> Navigate(This,uri) )
+
+#define ICoreWebView2_8_NavigateToString(This,htmlContent) \
+ ( (This)->lpVtbl -> NavigateToString(This,htmlContent) )
+
+#define ICoreWebView2_8_add_NavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_NavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationStarting(This,token) )
+
+#define ICoreWebView2_8_add_ContentLoading(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_ContentLoading(This,token) \
+ ( (This)->lpVtbl -> remove_ContentLoading(This,token) )
+
+#define ICoreWebView2_8_add_SourceChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_SourceChanged(This,token) \
+ ( (This)->lpVtbl -> remove_SourceChanged(This,token) )
+
+#define ICoreWebView2_8_add_HistoryChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_HistoryChanged(This,token) \
+ ( (This)->lpVtbl -> remove_HistoryChanged(This,token) )
+
+#define ICoreWebView2_8_add_NavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_NavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) )
+
+#define ICoreWebView2_8_add_FrameNavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_FrameNavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) )
+
+#define ICoreWebView2_8_add_FrameNavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_FrameNavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) )
+
+#define ICoreWebView2_8_add_ScriptDialogOpening(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_ScriptDialogOpening(This,token) \
+ ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) )
+
+#define ICoreWebView2_8_add_PermissionRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_PermissionRequested(This,token) \
+ ( (This)->lpVtbl -> remove_PermissionRequested(This,token) )
+
+#define ICoreWebView2_8_add_ProcessFailed(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_ProcessFailed(This,token) \
+ ( (This)->lpVtbl -> remove_ProcessFailed(This,token) )
+
+#define ICoreWebView2_8_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) \
+ ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) )
+
+#define ICoreWebView2_8_RemoveScriptToExecuteOnDocumentCreated(This,id) \
+ ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) )
+
+#define ICoreWebView2_8_ExecuteScript(This,javaScript,handler) \
+ ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) )
+
+#define ICoreWebView2_8_CapturePreview(This,imageFormat,imageStream,handler) \
+ ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) )
+
+#define ICoreWebView2_8_Reload(This) \
+ ( (This)->lpVtbl -> Reload(This) )
+
+#define ICoreWebView2_8_PostWebMessageAsJson(This,webMessageAsJson) \
+ ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) )
+
+#define ICoreWebView2_8_PostWebMessageAsString(This,webMessageAsString) \
+ ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) )
+
+#define ICoreWebView2_8_add_WebMessageReceived(This,handler,token) \
+ ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) )
+
+#define ICoreWebView2_8_remove_WebMessageReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) )
+
+#define ICoreWebView2_8_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) \
+ ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) )
+
+#define ICoreWebView2_8_get_BrowserProcessId(This,value) \
+ ( (This)->lpVtbl -> get_BrowserProcessId(This,value) )
+
+#define ICoreWebView2_8_get_CanGoBack(This,canGoBack) \
+ ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) )
+
+#define ICoreWebView2_8_get_CanGoForward(This,canGoForward) \
+ ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) )
+
+#define ICoreWebView2_8_GoBack(This) \
+ ( (This)->lpVtbl -> GoBack(This) )
+
+#define ICoreWebView2_8_GoForward(This) \
+ ( (This)->lpVtbl -> GoForward(This) )
+
+#define ICoreWebView2_8_GetDevToolsProtocolEventReceiver(This,eventName,receiver) \
+ ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) )
+
+#define ICoreWebView2_8_Stop(This) \
+ ( (This)->lpVtbl -> Stop(This) )
+
+#define ICoreWebView2_8_add_NewWindowRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_NewWindowRequested(This,token) \
+ ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) )
+
+#define ICoreWebView2_8_add_DocumentTitleChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_DocumentTitleChanged(This,token) \
+ ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) )
+
+#define ICoreWebView2_8_get_DocumentTitle(This,title) \
+ ( (This)->lpVtbl -> get_DocumentTitle(This,title) )
+
+#define ICoreWebView2_8_AddHostObjectToScript(This,name,object) \
+ ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) )
+
+#define ICoreWebView2_8_RemoveHostObjectFromScript(This,name) \
+ ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) )
+
+#define ICoreWebView2_8_OpenDevToolsWindow(This) \
+ ( (This)->lpVtbl -> OpenDevToolsWindow(This) )
+
+#define ICoreWebView2_8_add_ContainsFullScreenElementChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_ContainsFullScreenElementChanged(This,token) \
+ ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) )
+
+#define ICoreWebView2_8_get_ContainsFullScreenElement(This,containsFullScreenElement) \
+ ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) )
+
+#define ICoreWebView2_8_add_WebResourceRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_WebResourceRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) )
+
+#define ICoreWebView2_8_AddWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_8_RemoveWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_8_add_WindowCloseRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_WindowCloseRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) )
+
+
+#define ICoreWebView2_8_add_WebResourceResponseReceived(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_WebResourceResponseReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) )
+
+#define ICoreWebView2_8_NavigateWithWebResourceRequest(This,request) \
+ ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) )
+
+#define ICoreWebView2_8_add_DOMContentLoaded(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_DOMContentLoaded(This,token) \
+ ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) )
+
+#define ICoreWebView2_8_get_CookieManager(This,cookieManager) \
+ ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) )
+
+#define ICoreWebView2_8_get_Environment(This,environment) \
+ ( (This)->lpVtbl -> get_Environment(This,environment) )
+
+
+#define ICoreWebView2_8_TrySuspend(This,handler) \
+ ( (This)->lpVtbl -> TrySuspend(This,handler) )
+
+#define ICoreWebView2_8_Resume(This) \
+ ( (This)->lpVtbl -> Resume(This) )
+
+#define ICoreWebView2_8_get_IsSuspended(This,isSuspended) \
+ ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) )
+
+#define ICoreWebView2_8_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) \
+ ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) )
+
+#define ICoreWebView2_8_ClearVirtualHostNameToFolderMapping(This,hostName) \
+ ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) )
+
+
+#define ICoreWebView2_8_add_FrameCreated(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_FrameCreated(This,token) \
+ ( (This)->lpVtbl -> remove_FrameCreated(This,token) )
+
+#define ICoreWebView2_8_add_DownloadStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_DownloadStarting(This,token) \
+ ( (This)->lpVtbl -> remove_DownloadStarting(This,token) )
+
+
+#define ICoreWebView2_8_add_ClientCertificateRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_ClientCertificateRequested(This,token) \
+ ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) )
+
+
+#define ICoreWebView2_8_OpenTaskManagerWindow(This) \
+ ( (This)->lpVtbl -> OpenTaskManagerWindow(This) )
+
+
+#define ICoreWebView2_8_PrintToPdf(This,resultFilePath,printSettings,handler) \
+ ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) )
+
+
+#define ICoreWebView2_8_add_IsMutedChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_IsMutedChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_IsMutedChanged(This,token) \
+ ( (This)->lpVtbl -> remove_IsMutedChanged(This,token) )
+
+#define ICoreWebView2_8_get_IsMuted(This,value) \
+ ( (This)->lpVtbl -> get_IsMuted(This,value) )
+
+#define ICoreWebView2_8_put_IsMuted(This,value) \
+ ( (This)->lpVtbl -> put_IsMuted(This,value) )
+
+#define ICoreWebView2_8_add_IsDocumentPlayingAudioChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_IsDocumentPlayingAudioChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_8_remove_IsDocumentPlayingAudioChanged(This,token) \
+ ( (This)->lpVtbl -> remove_IsDocumentPlayingAudioChanged(This,token) )
+
+#define ICoreWebView2_8_get_IsDocumentPlayingAudio(This,value) \
+ ( (This)->lpVtbl -> get_IsDocumentPlayingAudio(This,value) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2_8_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_9_INTERFACE_DEFINED__
+#define __ICoreWebView2_9_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2_9 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_9 = {0x4d7b2eab,0x9fdc,0x468d,{0xb9,0x98,0xa9,0x26,0x0b,0x5e,0xd6,0x51}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("4d7b2eab-9fdc-468d-b998-a9260b5ed651")
+ ICoreWebView2_9 : public ICoreWebView2_8
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE add_IsDefaultDownloadDialogOpenChanged(
+ /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_IsDefaultDownloadDialogOpenChanged(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsDefaultDownloadDialogOpen(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE OpenDefaultDownloadDialog( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CloseDefaultDownloadDialog( void) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultDownloadDialogCornerAlignment(
+ /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultDownloadDialogCornerAlignment(
+ /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultDownloadDialogMargin(
+ /* [retval][out] */ POINT *value) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultDownloadDialogMargin(
+ /* [in] */ POINT value) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2_9Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2_9 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2_9 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2_9 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )(
+ ICoreWebView2_9 * This,
+ /* [retval][out] */ ICoreWebView2Settings **settings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )(
+ ICoreWebView2_9 * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ HRESULT ( STDMETHODCALLTYPE *Navigate )(
+ ICoreWebView2_9 * This,
+ /* [in] */ LPCWSTR uri);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateToString )(
+ ICoreWebView2_9 * This,
+ /* [in] */ LPCWSTR htmlContent);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_9 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_9 * This,
+ /* [in] */ LPCWSTR id);
+
+ HRESULT ( STDMETHODCALLTYPE *ExecuteScript )(
+ ICoreWebView2_9 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CapturePreview )(
+ ICoreWebView2_9 * This,
+ /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
+ /* [in] */ IStream *imageStream,
+ /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Reload )(
+ ICoreWebView2_9 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )(
+ ICoreWebView2_9 * This,
+ /* [in] */ LPCWSTR webMessageAsJson);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )(
+ ICoreWebView2_9 * This,
+ /* [in] */ LPCWSTR webMessageAsString);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )(
+ ICoreWebView2_9 * This,
+ /* [in] */ LPCWSTR methodName,
+ /* [in] */ LPCWSTR parametersAsJson,
+ /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )(
+ ICoreWebView2_9 * This,
+ /* [retval][out] */ UINT32 *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )(
+ ICoreWebView2_9 * This,
+ /* [retval][out] */ BOOL *canGoBack);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )(
+ ICoreWebView2_9 * This,
+ /* [retval][out] */ BOOL *canGoForward);
+
+ HRESULT ( STDMETHODCALLTYPE *GoBack )(
+ ICoreWebView2_9 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GoForward )(
+ ICoreWebView2_9 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )(
+ ICoreWebView2_9 * This,
+ /* [in] */ LPCWSTR eventName,
+ /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
+
+ HRESULT ( STDMETHODCALLTYPE *Stop )(
+ ICoreWebView2_9 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )(
+ ICoreWebView2_9 * This,
+ /* [retval][out] */ LPWSTR *title);
+
+ HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )(
+ ICoreWebView2_9 * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ VARIANT *object);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )(
+ ICoreWebView2_9 * This,
+ /* [in] */ LPCWSTR name);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )(
+ ICoreWebView2_9 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )(
+ ICoreWebView2_9 * This,
+ /* [retval][out] */ BOOL *containsFullScreenElement);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )(
+ ICoreWebView2_9 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )(
+ ICoreWebView2_9 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2WebResourceRequest *request);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )(
+ ICoreWebView2_9 * This,
+ /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )(
+ ICoreWebView2_9 * This,
+ /* [retval][out] */ ICoreWebView2Environment **environment);
+
+ HRESULT ( STDMETHODCALLTYPE *TrySuspend )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Resume )(
+ ICoreWebView2_9 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )(
+ ICoreWebView2_9 * This,
+ /* [retval][out] */ BOOL *isSuspended);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )(
+ ICoreWebView2_9 * This,
+ /* [in] */ LPCWSTR hostName,
+ /* [in] */ LPCWSTR folderPath,
+ /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
+
+ HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )(
+ ICoreWebView2_9 * This,
+ /* [in] */ LPCWSTR hostName);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )(
+ ICoreWebView2_9 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PrintToPdf )(
+ ICoreWebView2_9 * This,
+ /* [in] */ LPCWSTR resultFilePath,
+ /* [in] */ ICoreWebView2PrintSettings *printSettings,
+ /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )(
+ ICoreWebView2_9 * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )(
+ ICoreWebView2_9 * This,
+ /* [in] */ BOOL value);
+
+ HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )(
+ ICoreWebView2_9 * This,
+ /* [retval][out] */ BOOL *value);
+
+ HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )(
+ ICoreWebView2_9 * This,
+ /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )(
+ ICoreWebView2_9 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )(
+ ICoreWebView2_9 * This,
+ /* [retval][out] */ BOOL *value);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )(
+ ICoreWebView2_9 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )(
+ ICoreWebView2_9 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )(
+ ICoreWebView2_9 * This,
+ /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )(
+ ICoreWebView2_9 * This,
+ /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )(
+ ICoreWebView2_9 * This,
+ /* [retval][out] */ POINT *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogMargin )(
+ ICoreWebView2_9 * This,
+ /* [in] */ POINT value);
+
+ END_INTERFACE
+ } ICoreWebView2_9Vtbl;
+
+ interface ICoreWebView2_9
+ {
+ CONST_VTBL struct ICoreWebView2_9Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2_9_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2_9_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2_9_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2_9_get_Settings(This,settings) \
+ ( (This)->lpVtbl -> get_Settings(This,settings) )
+
+#define ICoreWebView2_9_get_Source(This,uri) \
+ ( (This)->lpVtbl -> get_Source(This,uri) )
+
+#define ICoreWebView2_9_Navigate(This,uri) \
+ ( (This)->lpVtbl -> Navigate(This,uri) )
+
+#define ICoreWebView2_9_NavigateToString(This,htmlContent) \
+ ( (This)->lpVtbl -> NavigateToString(This,htmlContent) )
+
+#define ICoreWebView2_9_add_NavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_NavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationStarting(This,token) )
+
+#define ICoreWebView2_9_add_ContentLoading(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_ContentLoading(This,token) \
+ ( (This)->lpVtbl -> remove_ContentLoading(This,token) )
+
+#define ICoreWebView2_9_add_SourceChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_SourceChanged(This,token) \
+ ( (This)->lpVtbl -> remove_SourceChanged(This,token) )
+
+#define ICoreWebView2_9_add_HistoryChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_HistoryChanged(This,token) \
+ ( (This)->lpVtbl -> remove_HistoryChanged(This,token) )
+
+#define ICoreWebView2_9_add_NavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_NavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) )
+
+#define ICoreWebView2_9_add_FrameNavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_FrameNavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) )
+
+#define ICoreWebView2_9_add_FrameNavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_FrameNavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) )
+
+#define ICoreWebView2_9_add_ScriptDialogOpening(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_ScriptDialogOpening(This,token) \
+ ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) )
+
+#define ICoreWebView2_9_add_PermissionRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_PermissionRequested(This,token) \
+ ( (This)->lpVtbl -> remove_PermissionRequested(This,token) )
+
+#define ICoreWebView2_9_add_ProcessFailed(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_ProcessFailed(This,token) \
+ ( (This)->lpVtbl -> remove_ProcessFailed(This,token) )
+
+#define ICoreWebView2_9_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) \
+ ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) )
+
+#define ICoreWebView2_9_RemoveScriptToExecuteOnDocumentCreated(This,id) \
+ ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) )
+
+#define ICoreWebView2_9_ExecuteScript(This,javaScript,handler) \
+ ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) )
+
+#define ICoreWebView2_9_CapturePreview(This,imageFormat,imageStream,handler) \
+ ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) )
+
+#define ICoreWebView2_9_Reload(This) \
+ ( (This)->lpVtbl -> Reload(This) )
+
+#define ICoreWebView2_9_PostWebMessageAsJson(This,webMessageAsJson) \
+ ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) )
+
+#define ICoreWebView2_9_PostWebMessageAsString(This,webMessageAsString) \
+ ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) )
+
+#define ICoreWebView2_9_add_WebMessageReceived(This,handler,token) \
+ ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) )
+
+#define ICoreWebView2_9_remove_WebMessageReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) )
+
+#define ICoreWebView2_9_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) \
+ ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) )
+
+#define ICoreWebView2_9_get_BrowserProcessId(This,value) \
+ ( (This)->lpVtbl -> get_BrowserProcessId(This,value) )
+
+#define ICoreWebView2_9_get_CanGoBack(This,canGoBack) \
+ ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) )
+
+#define ICoreWebView2_9_get_CanGoForward(This,canGoForward) \
+ ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) )
+
+#define ICoreWebView2_9_GoBack(This) \
+ ( (This)->lpVtbl -> GoBack(This) )
+
+#define ICoreWebView2_9_GoForward(This) \
+ ( (This)->lpVtbl -> GoForward(This) )
+
+#define ICoreWebView2_9_GetDevToolsProtocolEventReceiver(This,eventName,receiver) \
+ ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) )
+
+#define ICoreWebView2_9_Stop(This) \
+ ( (This)->lpVtbl -> Stop(This) )
+
+#define ICoreWebView2_9_add_NewWindowRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_NewWindowRequested(This,token) \
+ ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) )
+
+#define ICoreWebView2_9_add_DocumentTitleChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_DocumentTitleChanged(This,token) \
+ ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) )
+
+#define ICoreWebView2_9_get_DocumentTitle(This,title) \
+ ( (This)->lpVtbl -> get_DocumentTitle(This,title) )
+
+#define ICoreWebView2_9_AddHostObjectToScript(This,name,object) \
+ ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) )
+
+#define ICoreWebView2_9_RemoveHostObjectFromScript(This,name) \
+ ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) )
+
+#define ICoreWebView2_9_OpenDevToolsWindow(This) \
+ ( (This)->lpVtbl -> OpenDevToolsWindow(This) )
+
+#define ICoreWebView2_9_add_ContainsFullScreenElementChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_ContainsFullScreenElementChanged(This,token) \
+ ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) )
+
+#define ICoreWebView2_9_get_ContainsFullScreenElement(This,containsFullScreenElement) \
+ ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) )
+
+#define ICoreWebView2_9_add_WebResourceRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_WebResourceRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) )
+
+#define ICoreWebView2_9_AddWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_9_RemoveWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_9_add_WindowCloseRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_WindowCloseRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) )
+
+
+#define ICoreWebView2_9_add_WebResourceResponseReceived(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_WebResourceResponseReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) )
+
+#define ICoreWebView2_9_NavigateWithWebResourceRequest(This,request) \
+ ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) )
+
+#define ICoreWebView2_9_add_DOMContentLoaded(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_DOMContentLoaded(This,token) \
+ ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) )
+
+#define ICoreWebView2_9_get_CookieManager(This,cookieManager) \
+ ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) )
+
+#define ICoreWebView2_9_get_Environment(This,environment) \
+ ( (This)->lpVtbl -> get_Environment(This,environment) )
+
+
+#define ICoreWebView2_9_TrySuspend(This,handler) \
+ ( (This)->lpVtbl -> TrySuspend(This,handler) )
+
+#define ICoreWebView2_9_Resume(This) \
+ ( (This)->lpVtbl -> Resume(This) )
+
+#define ICoreWebView2_9_get_IsSuspended(This,isSuspended) \
+ ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) )
+
+#define ICoreWebView2_9_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) \
+ ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) )
+
+#define ICoreWebView2_9_ClearVirtualHostNameToFolderMapping(This,hostName) \
+ ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) )
+
+
+#define ICoreWebView2_9_add_FrameCreated(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_FrameCreated(This,token) \
+ ( (This)->lpVtbl -> remove_FrameCreated(This,token) )
+
+#define ICoreWebView2_9_add_DownloadStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_DownloadStarting(This,token) \
+ ( (This)->lpVtbl -> remove_DownloadStarting(This,token) )
+
+
+#define ICoreWebView2_9_add_ClientCertificateRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_ClientCertificateRequested(This,token) \
+ ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) )
+
+
+#define ICoreWebView2_9_OpenTaskManagerWindow(This) \
+ ( (This)->lpVtbl -> OpenTaskManagerWindow(This) )
+
+
+#define ICoreWebView2_9_PrintToPdf(This,resultFilePath,printSettings,handler) \
+ ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) )
+
+
+#define ICoreWebView2_9_add_IsMutedChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_IsMutedChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_IsMutedChanged(This,token) \
+ ( (This)->lpVtbl -> remove_IsMutedChanged(This,token) )
+
+#define ICoreWebView2_9_get_IsMuted(This,value) \
+ ( (This)->lpVtbl -> get_IsMuted(This,value) )
+
+#define ICoreWebView2_9_put_IsMuted(This,value) \
+ ( (This)->lpVtbl -> put_IsMuted(This,value) )
+
+#define ICoreWebView2_9_add_IsDocumentPlayingAudioChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_IsDocumentPlayingAudioChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_9_remove_IsDocumentPlayingAudioChanged(This,token) \
+ ( (This)->lpVtbl -> remove_IsDocumentPlayingAudioChanged(This,token) )
+
+#define ICoreWebView2_9_get_IsDocumentPlayingAudio(This,value) \
+ ( (This)->lpVtbl -> get_IsDocumentPlayingAudio(This,value) )
+
+
+#define ICoreWebView2_9_add_IsDefaultDownloadDialogOpenChanged(This,handler,token) \
+ ( (This)->lpVtbl -> add_IsDefaultDownloadDialogOpenChanged(This,handler,token) )
+
+#define ICoreWebView2_9_remove_IsDefaultDownloadDialogOpenChanged(This,token) \
+ ( (This)->lpVtbl -> remove_IsDefaultDownloadDialogOpenChanged(This,token) )
+
+#define ICoreWebView2_9_get_IsDefaultDownloadDialogOpen(This,value) \
+ ( (This)->lpVtbl -> get_IsDefaultDownloadDialogOpen(This,value) )
+
+#define ICoreWebView2_9_OpenDefaultDownloadDialog(This) \
+ ( (This)->lpVtbl -> OpenDefaultDownloadDialog(This) )
+
+#define ICoreWebView2_9_CloseDefaultDownloadDialog(This) \
+ ( (This)->lpVtbl -> CloseDefaultDownloadDialog(This) )
+
+#define ICoreWebView2_9_get_DefaultDownloadDialogCornerAlignment(This,value) \
+ ( (This)->lpVtbl -> get_DefaultDownloadDialogCornerAlignment(This,value) )
+
+#define ICoreWebView2_9_put_DefaultDownloadDialogCornerAlignment(This,value) \
+ ( (This)->lpVtbl -> put_DefaultDownloadDialogCornerAlignment(This,value) )
+
+#define ICoreWebView2_9_get_DefaultDownloadDialogMargin(This,value) \
+ ( (This)->lpVtbl -> get_DefaultDownloadDialogMargin(This,value) )
+
+#define ICoreWebView2_9_put_DefaultDownloadDialogMargin(This,value) \
+ ( (This)->lpVtbl -> put_DefaultDownloadDialogMargin(This,value) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2_9_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2_10_INTERFACE_DEFINED__
+#define __ICoreWebView2_10_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2_10 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_10 = {0xb1690564,0x6f5a,0x4983,{0x8e,0x48,0x31,0xd1,0x14,0x3f,0xec,0xdb}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("b1690564-6f5a-4983-8e48-31d1143fecdb")
+ ICoreWebView2_10 : public ICoreWebView2_9
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE add_BasicAuthenticationRequested(
+ /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_BasicAuthenticationRequested(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2_10Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2_10 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2_10 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2_10 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )(
+ ICoreWebView2_10 * This,
+ /* [retval][out] */ ICoreWebView2Settings **settings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )(
+ ICoreWebView2_10 * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ HRESULT ( STDMETHODCALLTYPE *Navigate )(
+ ICoreWebView2_10 * This,
+ /* [in] */ LPCWSTR uri);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateToString )(
+ ICoreWebView2_10 * This,
+ /* [in] */ LPCWSTR htmlContent);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_10 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )(
+ ICoreWebView2_10 * This,
+ /* [in] */ LPCWSTR id);
+
+ HRESULT ( STDMETHODCALLTYPE *ExecuteScript )(
+ ICoreWebView2_10 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CapturePreview )(
+ ICoreWebView2_10 * This,
+ /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
+ /* [in] */ IStream *imageStream,
+ /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Reload )(
+ ICoreWebView2_10 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )(
+ ICoreWebView2_10 * This,
+ /* [in] */ LPCWSTR webMessageAsJson);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )(
+ ICoreWebView2_10 * This,
+ /* [in] */ LPCWSTR webMessageAsString);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )(
+ ICoreWebView2_10 * This,
+ /* [in] */ LPCWSTR methodName,
+ /* [in] */ LPCWSTR parametersAsJson,
+ /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )(
+ ICoreWebView2_10 * This,
+ /* [retval][out] */ UINT32 *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )(
+ ICoreWebView2_10 * This,
+ /* [retval][out] */ BOOL *canGoBack);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )(
+ ICoreWebView2_10 * This,
+ /* [retval][out] */ BOOL *canGoForward);
+
+ HRESULT ( STDMETHODCALLTYPE *GoBack )(
+ ICoreWebView2_10 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GoForward )(
+ ICoreWebView2_10 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )(
+ ICoreWebView2_10 * This,
+ /* [in] */ LPCWSTR eventName,
+ /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
+
+ HRESULT ( STDMETHODCALLTYPE *Stop )(
+ ICoreWebView2_10 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )(
+ ICoreWebView2_10 * This,
+ /* [retval][out] */ LPWSTR *title);
+
+ HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )(
+ ICoreWebView2_10 * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ VARIANT *object);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )(
+ ICoreWebView2_10 * This,
+ /* [in] */ LPCWSTR name);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )(
+ ICoreWebView2_10 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )(
+ ICoreWebView2_10 * This,
+ /* [retval][out] */ BOOL *containsFullScreenElement);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )(
+ ICoreWebView2_10 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )(
+ ICoreWebView2_10 * This,
+ /* [in] */ const LPCWSTR uri,
+ /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2WebResourceRequest *request);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )(
+ ICoreWebView2_10 * This,
+ /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )(
+ ICoreWebView2_10 * This,
+ /* [retval][out] */ ICoreWebView2Environment **environment);
+
+ HRESULT ( STDMETHODCALLTYPE *TrySuspend )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *Resume )(
+ ICoreWebView2_10 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )(
+ ICoreWebView2_10 * This,
+ /* [retval][out] */ BOOL *isSuspended);
+
+ HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )(
+ ICoreWebView2_10 * This,
+ /* [in] */ LPCWSTR hostName,
+ /* [in] */ LPCWSTR folderPath,
+ /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
+
+ HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )(
+ ICoreWebView2_10 * This,
+ /* [in] */ LPCWSTR hostName);
+
+ HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )(
+ ICoreWebView2_10 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *PrintToPdf )(
+ ICoreWebView2_10 * This,
+ /* [in] */ LPCWSTR resultFilePath,
+ /* [in] */ ICoreWebView2PrintSettings *printSettings,
+ /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )(
+ ICoreWebView2_10 * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )(
+ ICoreWebView2_10 * This,
+ /* [in] */ BOOL value);
+
+ HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )(
+ ICoreWebView2_10 * This,
+ /* [retval][out] */ BOOL *value);
+
+ HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )(
+ ICoreWebView2_10 * This,
+ /* [retval][out] */ BOOL *value);
+
+ HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )(
+ ICoreWebView2_10 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )(
+ ICoreWebView2_10 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )(
+ ICoreWebView2_10 * This,
+ /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )(
+ ICoreWebView2_10 * This,
+ /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )(
+ ICoreWebView2_10 * This,
+ /* [retval][out] */ POINT *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogMargin )(
+ ICoreWebView2_10 * This,
+ /* [in] */ POINT value);
+
+ HRESULT ( STDMETHODCALLTYPE *add_BasicAuthenticationRequested )(
+ ICoreWebView2_10 * This,
+ /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_BasicAuthenticationRequested )(
+ ICoreWebView2_10 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ END_INTERFACE
+ } ICoreWebView2_10Vtbl;
+
+ interface ICoreWebView2_10
+ {
+ CONST_VTBL struct ICoreWebView2_10Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2_10_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2_10_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2_10_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2_10_get_Settings(This,settings) \
+ ( (This)->lpVtbl -> get_Settings(This,settings) )
+
+#define ICoreWebView2_10_get_Source(This,uri) \
+ ( (This)->lpVtbl -> get_Source(This,uri) )
+
+#define ICoreWebView2_10_Navigate(This,uri) \
+ ( (This)->lpVtbl -> Navigate(This,uri) )
+
+#define ICoreWebView2_10_NavigateToString(This,htmlContent) \
+ ( (This)->lpVtbl -> NavigateToString(This,htmlContent) )
+
+#define ICoreWebView2_10_add_NavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_NavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationStarting(This,token) )
+
+#define ICoreWebView2_10_add_ContentLoading(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_ContentLoading(This,token) \
+ ( (This)->lpVtbl -> remove_ContentLoading(This,token) )
+
+#define ICoreWebView2_10_add_SourceChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_SourceChanged(This,token) \
+ ( (This)->lpVtbl -> remove_SourceChanged(This,token) )
+
+#define ICoreWebView2_10_add_HistoryChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_HistoryChanged(This,token) \
+ ( (This)->lpVtbl -> remove_HistoryChanged(This,token) )
+
+#define ICoreWebView2_10_add_NavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_NavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) )
+
+#define ICoreWebView2_10_add_FrameNavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_FrameNavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) )
+
+#define ICoreWebView2_10_add_FrameNavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_FrameNavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) )
+
+#define ICoreWebView2_10_add_ScriptDialogOpening(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_ScriptDialogOpening(This,token) \
+ ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) )
+
+#define ICoreWebView2_10_add_PermissionRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_PermissionRequested(This,token) \
+ ( (This)->lpVtbl -> remove_PermissionRequested(This,token) )
+
+#define ICoreWebView2_10_add_ProcessFailed(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_ProcessFailed(This,token) \
+ ( (This)->lpVtbl -> remove_ProcessFailed(This,token) )
+
+#define ICoreWebView2_10_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) \
+ ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) )
+
+#define ICoreWebView2_10_RemoveScriptToExecuteOnDocumentCreated(This,id) \
+ ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) )
+
+#define ICoreWebView2_10_ExecuteScript(This,javaScript,handler) \
+ ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) )
+
+#define ICoreWebView2_10_CapturePreview(This,imageFormat,imageStream,handler) \
+ ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) )
+
+#define ICoreWebView2_10_Reload(This) \
+ ( (This)->lpVtbl -> Reload(This) )
+
+#define ICoreWebView2_10_PostWebMessageAsJson(This,webMessageAsJson) \
+ ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) )
+
+#define ICoreWebView2_10_PostWebMessageAsString(This,webMessageAsString) \
+ ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) )
+
+#define ICoreWebView2_10_add_WebMessageReceived(This,handler,token) \
+ ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) )
+
+#define ICoreWebView2_10_remove_WebMessageReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) )
+
+#define ICoreWebView2_10_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) \
+ ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) )
+
+#define ICoreWebView2_10_get_BrowserProcessId(This,value) \
+ ( (This)->lpVtbl -> get_BrowserProcessId(This,value) )
+
+#define ICoreWebView2_10_get_CanGoBack(This,canGoBack) \
+ ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) )
+
+#define ICoreWebView2_10_get_CanGoForward(This,canGoForward) \
+ ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) )
+
+#define ICoreWebView2_10_GoBack(This) \
+ ( (This)->lpVtbl -> GoBack(This) )
+
+#define ICoreWebView2_10_GoForward(This) \
+ ( (This)->lpVtbl -> GoForward(This) )
+
+#define ICoreWebView2_10_GetDevToolsProtocolEventReceiver(This,eventName,receiver) \
+ ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) )
+
+#define ICoreWebView2_10_Stop(This) \
+ ( (This)->lpVtbl -> Stop(This) )
+
+#define ICoreWebView2_10_add_NewWindowRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_NewWindowRequested(This,token) \
+ ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) )
+
+#define ICoreWebView2_10_add_DocumentTitleChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_DocumentTitleChanged(This,token) \
+ ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) )
+
+#define ICoreWebView2_10_get_DocumentTitle(This,title) \
+ ( (This)->lpVtbl -> get_DocumentTitle(This,title) )
+
+#define ICoreWebView2_10_AddHostObjectToScript(This,name,object) \
+ ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) )
+
+#define ICoreWebView2_10_RemoveHostObjectFromScript(This,name) \
+ ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) )
+
+#define ICoreWebView2_10_OpenDevToolsWindow(This) \
+ ( (This)->lpVtbl -> OpenDevToolsWindow(This) )
+
+#define ICoreWebView2_10_add_ContainsFullScreenElementChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_ContainsFullScreenElementChanged(This,token) \
+ ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) )
+
+#define ICoreWebView2_10_get_ContainsFullScreenElement(This,containsFullScreenElement) \
+ ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) )
+
+#define ICoreWebView2_10_add_WebResourceRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_WebResourceRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) )
+
+#define ICoreWebView2_10_AddWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_10_RemoveWebResourceRequestedFilter(This,uri,resourceContext) \
+ ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) )
+
+#define ICoreWebView2_10_add_WindowCloseRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_WindowCloseRequested(This,token) \
+ ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) )
+
+
+#define ICoreWebView2_10_add_WebResourceResponseReceived(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_WebResourceResponseReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) )
+
+#define ICoreWebView2_10_NavigateWithWebResourceRequest(This,request) \
+ ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) )
+
+#define ICoreWebView2_10_add_DOMContentLoaded(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_DOMContentLoaded(This,token) \
+ ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) )
+
+#define ICoreWebView2_10_get_CookieManager(This,cookieManager) \
+ ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) )
+
+#define ICoreWebView2_10_get_Environment(This,environment) \
+ ( (This)->lpVtbl -> get_Environment(This,environment) )
+
+
+#define ICoreWebView2_10_TrySuspend(This,handler) \
+ ( (This)->lpVtbl -> TrySuspend(This,handler) )
+
+#define ICoreWebView2_10_Resume(This) \
+ ( (This)->lpVtbl -> Resume(This) )
+
+#define ICoreWebView2_10_get_IsSuspended(This,isSuspended) \
+ ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) )
+
+#define ICoreWebView2_10_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) \
+ ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) )
+
+#define ICoreWebView2_10_ClearVirtualHostNameToFolderMapping(This,hostName) \
+ ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) )
+
+
+#define ICoreWebView2_10_add_FrameCreated(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_FrameCreated(This,token) \
+ ( (This)->lpVtbl -> remove_FrameCreated(This,token) )
+
+#define ICoreWebView2_10_add_DownloadStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_DownloadStarting(This,token) \
+ ( (This)->lpVtbl -> remove_DownloadStarting(This,token) )
+
+
+#define ICoreWebView2_10_add_ClientCertificateRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_ClientCertificateRequested(This,token) \
+ ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) )
+
+
+#define ICoreWebView2_10_OpenTaskManagerWindow(This) \
+ ( (This)->lpVtbl -> OpenTaskManagerWindow(This) )
+
+
+#define ICoreWebView2_10_PrintToPdf(This,resultFilePath,printSettings,handler) \
+ ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) )
+
+
+#define ICoreWebView2_10_add_IsMutedChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_IsMutedChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_IsMutedChanged(This,token) \
+ ( (This)->lpVtbl -> remove_IsMutedChanged(This,token) )
+
+#define ICoreWebView2_10_get_IsMuted(This,value) \
+ ( (This)->lpVtbl -> get_IsMuted(This,value) )
+
+#define ICoreWebView2_10_put_IsMuted(This,value) \
+ ( (This)->lpVtbl -> put_IsMuted(This,value) )
+
+#define ICoreWebView2_10_add_IsDocumentPlayingAudioChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_IsDocumentPlayingAudioChanged(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_IsDocumentPlayingAudioChanged(This,token) \
+ ( (This)->lpVtbl -> remove_IsDocumentPlayingAudioChanged(This,token) )
+
+#define ICoreWebView2_10_get_IsDocumentPlayingAudio(This,value) \
+ ( (This)->lpVtbl -> get_IsDocumentPlayingAudio(This,value) )
+
+
+#define ICoreWebView2_10_add_IsDefaultDownloadDialogOpenChanged(This,handler,token) \
+ ( (This)->lpVtbl -> add_IsDefaultDownloadDialogOpenChanged(This,handler,token) )
+
+#define ICoreWebView2_10_remove_IsDefaultDownloadDialogOpenChanged(This,token) \
+ ( (This)->lpVtbl -> remove_IsDefaultDownloadDialogOpenChanged(This,token) )
+
+#define ICoreWebView2_10_get_IsDefaultDownloadDialogOpen(This,value) \
+ ( (This)->lpVtbl -> get_IsDefaultDownloadDialogOpen(This,value) )
+
+#define ICoreWebView2_10_OpenDefaultDownloadDialog(This) \
+ ( (This)->lpVtbl -> OpenDefaultDownloadDialog(This) )
+
+#define ICoreWebView2_10_CloseDefaultDownloadDialog(This) \
+ ( (This)->lpVtbl -> CloseDefaultDownloadDialog(This) )
+
+#define ICoreWebView2_10_get_DefaultDownloadDialogCornerAlignment(This,value) \
+ ( (This)->lpVtbl -> get_DefaultDownloadDialogCornerAlignment(This,value) )
+
+#define ICoreWebView2_10_put_DefaultDownloadDialogCornerAlignment(This,value) \
+ ( (This)->lpVtbl -> put_DefaultDownloadDialogCornerAlignment(This,value) )
+
+#define ICoreWebView2_10_get_DefaultDownloadDialogMargin(This,value) \
+ ( (This)->lpVtbl -> get_DefaultDownloadDialogMargin(This,value) )
+
+#define ICoreWebView2_10_put_DefaultDownloadDialogMargin(This,value) \
+ ( (This)->lpVtbl -> put_DefaultDownloadDialogMargin(This,value) )
+
+
+#define ICoreWebView2_10_add_BasicAuthenticationRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_BasicAuthenticationRequested(This,eventHandler,token) )
+
+#define ICoreWebView2_10_remove_BasicAuthenticationRequested(This,token) \
+ ( (This)->lpVtbl -> remove_BasicAuthenticationRequested(This,token) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2_10_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2BasicAuthenticationRequestedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2BasicAuthenticationRequestedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2BasicAuthenticationRequestedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2BasicAuthenticationRequestedEventArgs = {0xef05516f,0xd897,0x4f9e,{0xb6,0x72,0xd8,0xe2,0x30,0x7a,0x3f,0xb0}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("ef05516f-d897-4f9e-b672-d8e2307a3fb0")
+ ICoreWebView2BasicAuthenticationRequestedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Uri(
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Challenge(
+ /* [retval][out] */ LPWSTR *challenge) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Response(
+ /* [retval][out] */ ICoreWebView2BasicAuthenticationResponse **response) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cancel(
+ /* [retval][out] */ BOOL *cancel) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Cancel(
+ /* [in] */ BOOL cancel) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDeferral(
+ /* [retval][out] */ ICoreWebView2Deferral **deferral) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2BasicAuthenticationRequestedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2BasicAuthenticationRequestedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2BasicAuthenticationRequestedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2BasicAuthenticationRequestedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )(
+ ICoreWebView2BasicAuthenticationRequestedEventArgs * This,
+ /* [retval][out] */ LPWSTR *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Challenge )(
+ ICoreWebView2BasicAuthenticationRequestedEventArgs * This,
+ /* [retval][out] */ LPWSTR *challenge);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Response )(
+ ICoreWebView2BasicAuthenticationRequestedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2BasicAuthenticationResponse **response);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cancel )(
+ ICoreWebView2BasicAuthenticationRequestedEventArgs * This,
+ /* [retval][out] */ BOOL *cancel);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Cancel )(
+ ICoreWebView2BasicAuthenticationRequestedEventArgs * This,
+ /* [in] */ BOOL cancel);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDeferral )(
+ ICoreWebView2BasicAuthenticationRequestedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2Deferral **deferral);
+
+ END_INTERFACE
+ } ICoreWebView2BasicAuthenticationRequestedEventArgsVtbl;
+
+ interface ICoreWebView2BasicAuthenticationRequestedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2BasicAuthenticationRequestedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2BasicAuthenticationRequestedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2BasicAuthenticationRequestedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2BasicAuthenticationRequestedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2BasicAuthenticationRequestedEventArgs_get_Uri(This,value) \
+ ( (This)->lpVtbl -> get_Uri(This,value) )
+
+#define ICoreWebView2BasicAuthenticationRequestedEventArgs_get_Challenge(This,challenge) \
+ ( (This)->lpVtbl -> get_Challenge(This,challenge) )
+
+#define ICoreWebView2BasicAuthenticationRequestedEventArgs_get_Response(This,response) \
+ ( (This)->lpVtbl -> get_Response(This,response) )
+
+#define ICoreWebView2BasicAuthenticationRequestedEventArgs_get_Cancel(This,cancel) \
+ ( (This)->lpVtbl -> get_Cancel(This,cancel) )
+
+#define ICoreWebView2BasicAuthenticationRequestedEventArgs_put_Cancel(This,cancel) \
+ ( (This)->lpVtbl -> put_Cancel(This,cancel) )
+
+#define ICoreWebView2BasicAuthenticationRequestedEventArgs_GetDeferral(This,deferral) \
+ ( (This)->lpVtbl -> GetDeferral(This,deferral) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2BasicAuthenticationRequestedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2BasicAuthenticationRequestedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2BasicAuthenticationRequestedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2BasicAuthenticationRequestedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2BasicAuthenticationRequestedEventHandler = {0x58b4d6c2,0x18d4,0x497e,{0xb3,0x9b,0x9a,0x96,0x53,0x3f,0xa2,0x78}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("58b4d6c2-18d4-497e-b39b-9a96533fa278")
+ ICoreWebView2BasicAuthenticationRequestedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2BasicAuthenticationRequestedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2BasicAuthenticationRequestedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2BasicAuthenticationRequestedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2BasicAuthenticationRequestedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2BasicAuthenticationRequestedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2BasicAuthenticationRequestedEventHandlerVtbl;
+
+ interface ICoreWebView2BasicAuthenticationRequestedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2BasicAuthenticationRequestedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2BasicAuthenticationRequestedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2BasicAuthenticationRequestedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2BasicAuthenticationRequestedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2BasicAuthenticationRequestedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2BasicAuthenticationRequestedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2BasicAuthenticationResponse_INTERFACE_DEFINED__
+#define __ICoreWebView2BasicAuthenticationResponse_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2BasicAuthenticationResponse */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2BasicAuthenticationResponse = {0x07023f7d,0x2d77,0x4d67,{0x90,0x40,0x6e,0x7d,0x42,0x8c,0x6a,0x40}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("07023f7d-2d77-4d67-9040-6e7d428c6a40")
+ ICoreWebView2BasicAuthenticationResponse : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UserName(
+ /* [retval][out] */ LPWSTR *userName) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UserName(
+ /* [in] */ LPCWSTR userName) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Password(
+ /* [retval][out] */ LPWSTR *password) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Password(
+ /* [in] */ LPCWSTR password) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2BasicAuthenticationResponseVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2BasicAuthenticationResponse * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2BasicAuthenticationResponse * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2BasicAuthenticationResponse * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )(
+ ICoreWebView2BasicAuthenticationResponse * This,
+ /* [retval][out] */ LPWSTR *userName);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )(
+ ICoreWebView2BasicAuthenticationResponse * This,
+ /* [in] */ LPCWSTR userName);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Password )(
+ ICoreWebView2BasicAuthenticationResponse * This,
+ /* [retval][out] */ LPWSTR *password);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Password )(
+ ICoreWebView2BasicAuthenticationResponse * This,
+ /* [in] */ LPCWSTR password);
+
+ END_INTERFACE
+ } ICoreWebView2BasicAuthenticationResponseVtbl;
+
+ interface ICoreWebView2BasicAuthenticationResponse
+ {
+ CONST_VTBL struct ICoreWebView2BasicAuthenticationResponseVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2BasicAuthenticationResponse_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2BasicAuthenticationResponse_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2BasicAuthenticationResponse_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2BasicAuthenticationResponse_get_UserName(This,userName) \
+ ( (This)->lpVtbl -> get_UserName(This,userName) )
+
+#define ICoreWebView2BasicAuthenticationResponse_put_UserName(This,userName) \
+ ( (This)->lpVtbl -> put_UserName(This,userName) )
+
+#define ICoreWebView2BasicAuthenticationResponse_get_Password(This,password) \
+ ( (This)->lpVtbl -> get_Password(This,password) )
+
+#define ICoreWebView2BasicAuthenticationResponse_put_Password(This,password) \
+ ( (This)->lpVtbl -> put_Password(This,password) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2BasicAuthenticationResponse_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2BrowserProcessExitedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2BrowserProcessExitedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2BrowserProcessExitedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2BrowserProcessExitedEventArgs = {0x1f00663f,0xaf8c,0x4782,{0x9c,0xdd,0xdd,0x01,0xc5,0x2e,0x34,0xcb}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("1f00663f-af8c-4782-9cdd-dd01c52e34cb")
+ ICoreWebView2BrowserProcessExitedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BrowserProcessExitKind(
+ /* [retval][out] */ COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND *browserProcessExitKind) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BrowserProcessId(
+ /* [retval][out] */ UINT32 *value) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2BrowserProcessExitedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2BrowserProcessExitedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2BrowserProcessExitedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2BrowserProcessExitedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessExitKind )(
+ ICoreWebView2BrowserProcessExitedEventArgs * This,
+ /* [retval][out] */ COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND *browserProcessExitKind);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )(
+ ICoreWebView2BrowserProcessExitedEventArgs * This,
+ /* [retval][out] */ UINT32 *value);
+
+ END_INTERFACE
+ } ICoreWebView2BrowserProcessExitedEventArgsVtbl;
+
+ interface ICoreWebView2BrowserProcessExitedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2BrowserProcessExitedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2BrowserProcessExitedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2BrowserProcessExitedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2BrowserProcessExitedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2BrowserProcessExitedEventArgs_get_BrowserProcessExitKind(This,browserProcessExitKind) \
+ ( (This)->lpVtbl -> get_BrowserProcessExitKind(This,browserProcessExitKind) )
+
+#define ICoreWebView2BrowserProcessExitedEventArgs_get_BrowserProcessId(This,value) \
+ ( (This)->lpVtbl -> get_BrowserProcessId(This,value) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2BrowserProcessExitedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2BrowserProcessExitedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2BrowserProcessExitedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2BrowserProcessExitedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2BrowserProcessExitedEventHandler = {0xfa504257,0xa216,0x4911,{0xa8,0x60,0xfe,0x88,0x25,0x71,0x28,0x61}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("fa504257-a216-4911-a860-fe8825712861")
+ ICoreWebView2BrowserProcessExitedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2Environment *sender,
+ /* [in] */ ICoreWebView2BrowserProcessExitedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2BrowserProcessExitedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2BrowserProcessExitedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2BrowserProcessExitedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2BrowserProcessExitedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2BrowserProcessExitedEventHandler * This,
+ /* [in] */ ICoreWebView2Environment *sender,
+ /* [in] */ ICoreWebView2BrowserProcessExitedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2BrowserProcessExitedEventHandlerVtbl;
+
+ interface ICoreWebView2BrowserProcessExitedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2BrowserProcessExitedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2BrowserProcessExitedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2BrowserProcessExitedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2BrowserProcessExitedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2BrowserProcessExitedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2BrowserProcessExitedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2BytesReceivedChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2BytesReceivedChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2BytesReceivedChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2BytesReceivedChangedEventHandler = {0x828e8ab6,0xd94c,0x4264,{0x9c,0xef,0x52,0x17,0x17,0x0d,0x62,0x51}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("828e8ab6-d94c-4264-9cef-5217170d6251")
+ ICoreWebView2BytesReceivedChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2DownloadOperation *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2BytesReceivedChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2BytesReceivedChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2BytesReceivedChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2BytesReceivedChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2BytesReceivedChangedEventHandler * This,
+ /* [in] */ ICoreWebView2DownloadOperation *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2BytesReceivedChangedEventHandlerVtbl;
+
+ interface ICoreWebView2BytesReceivedChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2BytesReceivedChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2BytesReceivedChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2BytesReceivedChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2BytesReceivedChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2BytesReceivedChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2BytesReceivedChangedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CompositionController_INTERFACE_DEFINED__
+#define __ICoreWebView2CompositionController_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2CompositionController */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CompositionController = {0x3df9b733,0xb9ae,0x4a15,{0x86,0xb4,0xeb,0x9e,0xe9,0x82,0x64,0x69}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("3df9b733-b9ae-4a15-86b4-eb9ee9826469")
+ ICoreWebView2CompositionController : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootVisualTarget(
+ /* [retval][out] */ IUnknown **target) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootVisualTarget(
+ /* [in] */ IUnknown *target) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SendMouseInput(
+ /* [in] */ COREWEBVIEW2_MOUSE_EVENT_KIND eventKind,
+ /* [in] */ COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS virtualKeys,
+ /* [in] */ UINT32 mouseData,
+ /* [in] */ POINT point) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SendPointerInput(
+ /* [in] */ COREWEBVIEW2_POINTER_EVENT_KIND eventKind,
+ /* [in] */ ICoreWebView2PointerInfo *pointerInfo) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cursor(
+ /* [retval][out] */ HCURSOR *cursor) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SystemCursorId(
+ /* [retval][out] */ UINT32 *systemCursorId) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_CursorChanged(
+ /* [in] */ ICoreWebView2CursorChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_CursorChanged(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2CompositionControllerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2CompositionController * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2CompositionController * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2CompositionController * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootVisualTarget )(
+ ICoreWebView2CompositionController * This,
+ /* [retval][out] */ IUnknown **target);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootVisualTarget )(
+ ICoreWebView2CompositionController * This,
+ /* [in] */ IUnknown *target);
+
+ HRESULT ( STDMETHODCALLTYPE *SendMouseInput )(
+ ICoreWebView2CompositionController * This,
+ /* [in] */ COREWEBVIEW2_MOUSE_EVENT_KIND eventKind,
+ /* [in] */ COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS virtualKeys,
+ /* [in] */ UINT32 mouseData,
+ /* [in] */ POINT point);
+
+ HRESULT ( STDMETHODCALLTYPE *SendPointerInput )(
+ ICoreWebView2CompositionController * This,
+ /* [in] */ COREWEBVIEW2_POINTER_EVENT_KIND eventKind,
+ /* [in] */ ICoreWebView2PointerInfo *pointerInfo);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cursor )(
+ ICoreWebView2CompositionController * This,
+ /* [retval][out] */ HCURSOR *cursor);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SystemCursorId )(
+ ICoreWebView2CompositionController * This,
+ /* [retval][out] */ UINT32 *systemCursorId);
+
+ HRESULT ( STDMETHODCALLTYPE *add_CursorChanged )(
+ ICoreWebView2CompositionController * This,
+ /* [in] */ ICoreWebView2CursorChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_CursorChanged )(
+ ICoreWebView2CompositionController * This,
+ /* [in] */ EventRegistrationToken token);
+
+ END_INTERFACE
+ } ICoreWebView2CompositionControllerVtbl;
+
+ interface ICoreWebView2CompositionController
+ {
+ CONST_VTBL struct ICoreWebView2CompositionControllerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2CompositionController_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2CompositionController_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2CompositionController_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2CompositionController_get_RootVisualTarget(This,target) \
+ ( (This)->lpVtbl -> get_RootVisualTarget(This,target) )
+
+#define ICoreWebView2CompositionController_put_RootVisualTarget(This,target) \
+ ( (This)->lpVtbl -> put_RootVisualTarget(This,target) )
+
+#define ICoreWebView2CompositionController_SendMouseInput(This,eventKind,virtualKeys,mouseData,point) \
+ ( (This)->lpVtbl -> SendMouseInput(This,eventKind,virtualKeys,mouseData,point) )
+
+#define ICoreWebView2CompositionController_SendPointerInput(This,eventKind,pointerInfo) \
+ ( (This)->lpVtbl -> SendPointerInput(This,eventKind,pointerInfo) )
+
+#define ICoreWebView2CompositionController_get_Cursor(This,cursor) \
+ ( (This)->lpVtbl -> get_Cursor(This,cursor) )
+
+#define ICoreWebView2CompositionController_get_SystemCursorId(This,systemCursorId) \
+ ( (This)->lpVtbl -> get_SystemCursorId(This,systemCursorId) )
+
+#define ICoreWebView2CompositionController_add_CursorChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_CursorChanged(This,eventHandler,token) )
+
+#define ICoreWebView2CompositionController_remove_CursorChanged(This,token) \
+ ( (This)->lpVtbl -> remove_CursorChanged(This,token) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2CompositionController_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CompositionController2_INTERFACE_DEFINED__
+#define __ICoreWebView2CompositionController2_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2CompositionController2 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CompositionController2 = {0x0b6a3d24,0x49cb,0x4806,{0xba,0x20,0xb5,0xe0,0x73,0x4a,0x7b,0x26}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("0b6a3d24-49cb-4806-ba20-b5e0734a7b26")
+ ICoreWebView2CompositionController2 : public ICoreWebView2CompositionController
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UIAProvider(
+ /* [retval][out] */ IUnknown **provider) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2CompositionController2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2CompositionController2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2CompositionController2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2CompositionController2 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootVisualTarget )(
+ ICoreWebView2CompositionController2 * This,
+ /* [retval][out] */ IUnknown **target);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootVisualTarget )(
+ ICoreWebView2CompositionController2 * This,
+ /* [in] */ IUnknown *target);
+
+ HRESULT ( STDMETHODCALLTYPE *SendMouseInput )(
+ ICoreWebView2CompositionController2 * This,
+ /* [in] */ COREWEBVIEW2_MOUSE_EVENT_KIND eventKind,
+ /* [in] */ COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS virtualKeys,
+ /* [in] */ UINT32 mouseData,
+ /* [in] */ POINT point);
+
+ HRESULT ( STDMETHODCALLTYPE *SendPointerInput )(
+ ICoreWebView2CompositionController2 * This,
+ /* [in] */ COREWEBVIEW2_POINTER_EVENT_KIND eventKind,
+ /* [in] */ ICoreWebView2PointerInfo *pointerInfo);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cursor )(
+ ICoreWebView2CompositionController2 * This,
+ /* [retval][out] */ HCURSOR *cursor);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SystemCursorId )(
+ ICoreWebView2CompositionController2 * This,
+ /* [retval][out] */ UINT32 *systemCursorId);
+
+ HRESULT ( STDMETHODCALLTYPE *add_CursorChanged )(
+ ICoreWebView2CompositionController2 * This,
+ /* [in] */ ICoreWebView2CursorChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_CursorChanged )(
+ ICoreWebView2CompositionController2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UIAProvider )(
+ ICoreWebView2CompositionController2 * This,
+ /* [retval][out] */ IUnknown **provider);
+
+ END_INTERFACE
+ } ICoreWebView2CompositionController2Vtbl;
+
+ interface ICoreWebView2CompositionController2
+ {
+ CONST_VTBL struct ICoreWebView2CompositionController2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2CompositionController2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2CompositionController2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2CompositionController2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2CompositionController2_get_RootVisualTarget(This,target) \
+ ( (This)->lpVtbl -> get_RootVisualTarget(This,target) )
+
+#define ICoreWebView2CompositionController2_put_RootVisualTarget(This,target) \
+ ( (This)->lpVtbl -> put_RootVisualTarget(This,target) )
+
+#define ICoreWebView2CompositionController2_SendMouseInput(This,eventKind,virtualKeys,mouseData,point) \
+ ( (This)->lpVtbl -> SendMouseInput(This,eventKind,virtualKeys,mouseData,point) )
+
+#define ICoreWebView2CompositionController2_SendPointerInput(This,eventKind,pointerInfo) \
+ ( (This)->lpVtbl -> SendPointerInput(This,eventKind,pointerInfo) )
+
+#define ICoreWebView2CompositionController2_get_Cursor(This,cursor) \
+ ( (This)->lpVtbl -> get_Cursor(This,cursor) )
+
+#define ICoreWebView2CompositionController2_get_SystemCursorId(This,systemCursorId) \
+ ( (This)->lpVtbl -> get_SystemCursorId(This,systemCursorId) )
+
+#define ICoreWebView2CompositionController2_add_CursorChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_CursorChanged(This,eventHandler,token) )
+
+#define ICoreWebView2CompositionController2_remove_CursorChanged(This,token) \
+ ( (This)->lpVtbl -> remove_CursorChanged(This,token) )
+
+
+#define ICoreWebView2CompositionController2_get_UIAProvider(This,provider) \
+ ( (This)->lpVtbl -> get_UIAProvider(This,provider) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2CompositionController2_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Controller_INTERFACE_DEFINED__
+#define __ICoreWebView2Controller_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Controller */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Controller = {0x4d00c0d1,0x9434,0x4eb6,{0x80,0x78,0x86,0x97,0xa5,0x60,0x33,0x4f}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("4d00c0d1-9434-4eb6-8078-8697a560334f")
+ ICoreWebView2Controller : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsVisible(
+ /* [retval][out] */ BOOL *isVisible) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsVisible(
+ /* [in] */ BOOL isVisible) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Bounds(
+ /* [retval][out] */ RECT *bounds) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Bounds(
+ /* [in] */ RECT bounds) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ZoomFactor(
+ /* [retval][out] */ double *zoomFactor) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ZoomFactor(
+ /* [in] */ double zoomFactor) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_ZoomFactorChanged(
+ /* [in] */ ICoreWebView2ZoomFactorChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_ZoomFactorChanged(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetBoundsAndZoomFactor(
+ /* [in] */ RECT bounds,
+ /* [in] */ double zoomFactor) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE MoveFocus(
+ /* [in] */ COREWEBVIEW2_MOVE_FOCUS_REASON reason) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_MoveFocusRequested(
+ /* [in] */ ICoreWebView2MoveFocusRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_MoveFocusRequested(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_GotFocus(
+ /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_GotFocus(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_LostFocus(
+ /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_LostFocus(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_AcceleratorKeyPressed(
+ /* [in] */ ICoreWebView2AcceleratorKeyPressedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_AcceleratorKeyPressed(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ParentWindow(
+ /* [retval][out] */ HWND *parentWindow) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ParentWindow(
+ /* [in] */ HWND parentWindow) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE NotifyParentWindowPositionChanged( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CoreWebView2(
+ /* [retval][out] */ ICoreWebView2 **coreWebView2) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ControllerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Controller * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Controller * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Controller * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsVisible )(
+ ICoreWebView2Controller * This,
+ /* [retval][out] */ BOOL *isVisible);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsVisible )(
+ ICoreWebView2Controller * This,
+ /* [in] */ BOOL isVisible);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bounds )(
+ ICoreWebView2Controller * This,
+ /* [retval][out] */ RECT *bounds);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bounds )(
+ ICoreWebView2Controller * This,
+ /* [in] */ RECT bounds);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZoomFactor )(
+ ICoreWebView2Controller * This,
+ /* [retval][out] */ double *zoomFactor);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ZoomFactor )(
+ ICoreWebView2Controller * This,
+ /* [in] */ double zoomFactor);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ZoomFactorChanged )(
+ ICoreWebView2Controller * This,
+ /* [in] */ ICoreWebView2ZoomFactorChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ZoomFactorChanged )(
+ ICoreWebView2Controller * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *SetBoundsAndZoomFactor )(
+ ICoreWebView2Controller * This,
+ /* [in] */ RECT bounds,
+ /* [in] */ double zoomFactor);
+
+ HRESULT ( STDMETHODCALLTYPE *MoveFocus )(
+ ICoreWebView2Controller * This,
+ /* [in] */ COREWEBVIEW2_MOVE_FOCUS_REASON reason);
+
+ HRESULT ( STDMETHODCALLTYPE *add_MoveFocusRequested )(
+ ICoreWebView2Controller * This,
+ /* [in] */ ICoreWebView2MoveFocusRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_MoveFocusRequested )(
+ ICoreWebView2Controller * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_GotFocus )(
+ ICoreWebView2Controller * This,
+ /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_GotFocus )(
+ ICoreWebView2Controller * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_LostFocus )(
+ ICoreWebView2Controller * This,
+ /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_LostFocus )(
+ ICoreWebView2Controller * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_AcceleratorKeyPressed )(
+ ICoreWebView2Controller * This,
+ /* [in] */ ICoreWebView2AcceleratorKeyPressedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_AcceleratorKeyPressed )(
+ ICoreWebView2Controller * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentWindow )(
+ ICoreWebView2Controller * This,
+ /* [retval][out] */ HWND *parentWindow);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParentWindow )(
+ ICoreWebView2Controller * This,
+ /* [in] */ HWND parentWindow);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyParentWindowPositionChanged )(
+ ICoreWebView2Controller * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Close )(
+ ICoreWebView2Controller * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CoreWebView2 )(
+ ICoreWebView2Controller * This,
+ /* [retval][out] */ ICoreWebView2 **coreWebView2);
+
+ END_INTERFACE
+ } ICoreWebView2ControllerVtbl;
+
+ interface ICoreWebView2Controller
+ {
+ CONST_VTBL struct ICoreWebView2ControllerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Controller_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Controller_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Controller_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Controller_get_IsVisible(This,isVisible) \
+ ( (This)->lpVtbl -> get_IsVisible(This,isVisible) )
+
+#define ICoreWebView2Controller_put_IsVisible(This,isVisible) \
+ ( (This)->lpVtbl -> put_IsVisible(This,isVisible) )
+
+#define ICoreWebView2Controller_get_Bounds(This,bounds) \
+ ( (This)->lpVtbl -> get_Bounds(This,bounds) )
+
+#define ICoreWebView2Controller_put_Bounds(This,bounds) \
+ ( (This)->lpVtbl -> put_Bounds(This,bounds) )
+
+#define ICoreWebView2Controller_get_ZoomFactor(This,zoomFactor) \
+ ( (This)->lpVtbl -> get_ZoomFactor(This,zoomFactor) )
+
+#define ICoreWebView2Controller_put_ZoomFactor(This,zoomFactor) \
+ ( (This)->lpVtbl -> put_ZoomFactor(This,zoomFactor) )
+
+#define ICoreWebView2Controller_add_ZoomFactorChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ZoomFactorChanged(This,eventHandler,token) )
+
+#define ICoreWebView2Controller_remove_ZoomFactorChanged(This,token) \
+ ( (This)->lpVtbl -> remove_ZoomFactorChanged(This,token) )
+
+#define ICoreWebView2Controller_SetBoundsAndZoomFactor(This,bounds,zoomFactor) \
+ ( (This)->lpVtbl -> SetBoundsAndZoomFactor(This,bounds,zoomFactor) )
+
+#define ICoreWebView2Controller_MoveFocus(This,reason) \
+ ( (This)->lpVtbl -> MoveFocus(This,reason) )
+
+#define ICoreWebView2Controller_add_MoveFocusRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_MoveFocusRequested(This,eventHandler,token) )
+
+#define ICoreWebView2Controller_remove_MoveFocusRequested(This,token) \
+ ( (This)->lpVtbl -> remove_MoveFocusRequested(This,token) )
+
+#define ICoreWebView2Controller_add_GotFocus(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_GotFocus(This,eventHandler,token) )
+
+#define ICoreWebView2Controller_remove_GotFocus(This,token) \
+ ( (This)->lpVtbl -> remove_GotFocus(This,token) )
+
+#define ICoreWebView2Controller_add_LostFocus(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_LostFocus(This,eventHandler,token) )
+
+#define ICoreWebView2Controller_remove_LostFocus(This,token) \
+ ( (This)->lpVtbl -> remove_LostFocus(This,token) )
+
+#define ICoreWebView2Controller_add_AcceleratorKeyPressed(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_AcceleratorKeyPressed(This,eventHandler,token) )
+
+#define ICoreWebView2Controller_remove_AcceleratorKeyPressed(This,token) \
+ ( (This)->lpVtbl -> remove_AcceleratorKeyPressed(This,token) )
+
+#define ICoreWebView2Controller_get_ParentWindow(This,parentWindow) \
+ ( (This)->lpVtbl -> get_ParentWindow(This,parentWindow) )
+
+#define ICoreWebView2Controller_put_ParentWindow(This,parentWindow) \
+ ( (This)->lpVtbl -> put_ParentWindow(This,parentWindow) )
+
+#define ICoreWebView2Controller_NotifyParentWindowPositionChanged(This) \
+ ( (This)->lpVtbl -> NotifyParentWindowPositionChanged(This) )
+
+#define ICoreWebView2Controller_Close(This) \
+ ( (This)->lpVtbl -> Close(This) )
+
+#define ICoreWebView2Controller_get_CoreWebView2(This,coreWebView2) \
+ ( (This)->lpVtbl -> get_CoreWebView2(This,coreWebView2) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Controller_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Controller2_INTERFACE_DEFINED__
+#define __ICoreWebView2Controller2_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Controller2 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Controller2 = {0xc979903e,0xd4ca,0x4228,{0x92,0xeb,0x47,0xee,0x3f,0xa9,0x6e,0xab}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("c979903e-d4ca-4228-92eb-47ee3fa96eab")
+ ICoreWebView2Controller2 : public ICoreWebView2Controller
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultBackgroundColor(
+ /* [retval][out] */ COREWEBVIEW2_COLOR *backgroundColor) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultBackgroundColor(
+ /* [in] */ COREWEBVIEW2_COLOR backgroundColor) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Controller2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Controller2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Controller2 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsVisible )(
+ ICoreWebView2Controller2 * This,
+ /* [retval][out] */ BOOL *isVisible);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsVisible )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ BOOL isVisible);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bounds )(
+ ICoreWebView2Controller2 * This,
+ /* [retval][out] */ RECT *bounds);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bounds )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ RECT bounds);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZoomFactor )(
+ ICoreWebView2Controller2 * This,
+ /* [retval][out] */ double *zoomFactor);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ZoomFactor )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ double zoomFactor);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ZoomFactorChanged )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ ICoreWebView2ZoomFactorChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ZoomFactorChanged )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *SetBoundsAndZoomFactor )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ RECT bounds,
+ /* [in] */ double zoomFactor);
+
+ HRESULT ( STDMETHODCALLTYPE *MoveFocus )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ COREWEBVIEW2_MOVE_FOCUS_REASON reason);
+
+ HRESULT ( STDMETHODCALLTYPE *add_MoveFocusRequested )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ ICoreWebView2MoveFocusRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_MoveFocusRequested )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_GotFocus )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_GotFocus )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_LostFocus )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_LostFocus )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_AcceleratorKeyPressed )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ ICoreWebView2AcceleratorKeyPressedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_AcceleratorKeyPressed )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentWindow )(
+ ICoreWebView2Controller2 * This,
+ /* [retval][out] */ HWND *parentWindow);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParentWindow )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ HWND parentWindow);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyParentWindowPositionChanged )(
+ ICoreWebView2Controller2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Close )(
+ ICoreWebView2Controller2 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CoreWebView2 )(
+ ICoreWebView2Controller2 * This,
+ /* [retval][out] */ ICoreWebView2 **coreWebView2);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultBackgroundColor )(
+ ICoreWebView2Controller2 * This,
+ /* [retval][out] */ COREWEBVIEW2_COLOR *backgroundColor);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultBackgroundColor )(
+ ICoreWebView2Controller2 * This,
+ /* [in] */ COREWEBVIEW2_COLOR backgroundColor);
+
+ END_INTERFACE
+ } ICoreWebView2Controller2Vtbl;
+
+ interface ICoreWebView2Controller2
+ {
+ CONST_VTBL struct ICoreWebView2Controller2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Controller2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Controller2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Controller2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Controller2_get_IsVisible(This,isVisible) \
+ ( (This)->lpVtbl -> get_IsVisible(This,isVisible) )
+
+#define ICoreWebView2Controller2_put_IsVisible(This,isVisible) \
+ ( (This)->lpVtbl -> put_IsVisible(This,isVisible) )
+
+#define ICoreWebView2Controller2_get_Bounds(This,bounds) \
+ ( (This)->lpVtbl -> get_Bounds(This,bounds) )
+
+#define ICoreWebView2Controller2_put_Bounds(This,bounds) \
+ ( (This)->lpVtbl -> put_Bounds(This,bounds) )
+
+#define ICoreWebView2Controller2_get_ZoomFactor(This,zoomFactor) \
+ ( (This)->lpVtbl -> get_ZoomFactor(This,zoomFactor) )
+
+#define ICoreWebView2Controller2_put_ZoomFactor(This,zoomFactor) \
+ ( (This)->lpVtbl -> put_ZoomFactor(This,zoomFactor) )
+
+#define ICoreWebView2Controller2_add_ZoomFactorChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ZoomFactorChanged(This,eventHandler,token) )
+
+#define ICoreWebView2Controller2_remove_ZoomFactorChanged(This,token) \
+ ( (This)->lpVtbl -> remove_ZoomFactorChanged(This,token) )
+
+#define ICoreWebView2Controller2_SetBoundsAndZoomFactor(This,bounds,zoomFactor) \
+ ( (This)->lpVtbl -> SetBoundsAndZoomFactor(This,bounds,zoomFactor) )
+
+#define ICoreWebView2Controller2_MoveFocus(This,reason) \
+ ( (This)->lpVtbl -> MoveFocus(This,reason) )
+
+#define ICoreWebView2Controller2_add_MoveFocusRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_MoveFocusRequested(This,eventHandler,token) )
+
+#define ICoreWebView2Controller2_remove_MoveFocusRequested(This,token) \
+ ( (This)->lpVtbl -> remove_MoveFocusRequested(This,token) )
+
+#define ICoreWebView2Controller2_add_GotFocus(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_GotFocus(This,eventHandler,token) )
+
+#define ICoreWebView2Controller2_remove_GotFocus(This,token) \
+ ( (This)->lpVtbl -> remove_GotFocus(This,token) )
+
+#define ICoreWebView2Controller2_add_LostFocus(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_LostFocus(This,eventHandler,token) )
+
+#define ICoreWebView2Controller2_remove_LostFocus(This,token) \
+ ( (This)->lpVtbl -> remove_LostFocus(This,token) )
+
+#define ICoreWebView2Controller2_add_AcceleratorKeyPressed(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_AcceleratorKeyPressed(This,eventHandler,token) )
+
+#define ICoreWebView2Controller2_remove_AcceleratorKeyPressed(This,token) \
+ ( (This)->lpVtbl -> remove_AcceleratorKeyPressed(This,token) )
+
+#define ICoreWebView2Controller2_get_ParentWindow(This,parentWindow) \
+ ( (This)->lpVtbl -> get_ParentWindow(This,parentWindow) )
+
+#define ICoreWebView2Controller2_put_ParentWindow(This,parentWindow) \
+ ( (This)->lpVtbl -> put_ParentWindow(This,parentWindow) )
+
+#define ICoreWebView2Controller2_NotifyParentWindowPositionChanged(This) \
+ ( (This)->lpVtbl -> NotifyParentWindowPositionChanged(This) )
+
+#define ICoreWebView2Controller2_Close(This) \
+ ( (This)->lpVtbl -> Close(This) )
+
+#define ICoreWebView2Controller2_get_CoreWebView2(This,coreWebView2) \
+ ( (This)->lpVtbl -> get_CoreWebView2(This,coreWebView2) )
+
+
+#define ICoreWebView2Controller2_get_DefaultBackgroundColor(This,backgroundColor) \
+ ( (This)->lpVtbl -> get_DefaultBackgroundColor(This,backgroundColor) )
+
+#define ICoreWebView2Controller2_put_DefaultBackgroundColor(This,backgroundColor) \
+ ( (This)->lpVtbl -> put_DefaultBackgroundColor(This,backgroundColor) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Controller2_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Controller3_INTERFACE_DEFINED__
+#define __ICoreWebView2Controller3_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Controller3 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Controller3 = {0xf9614724,0x5d2b,0x41dc,{0xae,0xf7,0x73,0xd6,0x2b,0x51,0x54,0x3b}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("f9614724-5d2b-41dc-aef7-73d62b51543b")
+ ICoreWebView2Controller3 : public ICoreWebView2Controller2
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RasterizationScale(
+ /* [retval][out] */ double *scale) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RasterizationScale(
+ /* [in] */ double scale) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ShouldDetectMonitorScaleChanges(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ShouldDetectMonitorScaleChanges(
+ /* [in] */ BOOL value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_RasterizationScaleChanged(
+ /* [in] */ ICoreWebView2RasterizationScaleChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_RasterizationScaleChanged(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BoundsMode(
+ /* [retval][out] */ COREWEBVIEW2_BOUNDS_MODE *boundsMode) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_BoundsMode(
+ /* [in] */ COREWEBVIEW2_BOUNDS_MODE boundsMode) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Controller3Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Controller3 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Controller3 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsVisible )(
+ ICoreWebView2Controller3 * This,
+ /* [retval][out] */ BOOL *isVisible);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsVisible )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ BOOL isVisible);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bounds )(
+ ICoreWebView2Controller3 * This,
+ /* [retval][out] */ RECT *bounds);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bounds )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ RECT bounds);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZoomFactor )(
+ ICoreWebView2Controller3 * This,
+ /* [retval][out] */ double *zoomFactor);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ZoomFactor )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ double zoomFactor);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ZoomFactorChanged )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ ICoreWebView2ZoomFactorChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ZoomFactorChanged )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *SetBoundsAndZoomFactor )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ RECT bounds,
+ /* [in] */ double zoomFactor);
+
+ HRESULT ( STDMETHODCALLTYPE *MoveFocus )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ COREWEBVIEW2_MOVE_FOCUS_REASON reason);
+
+ HRESULT ( STDMETHODCALLTYPE *add_MoveFocusRequested )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ ICoreWebView2MoveFocusRequestedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_MoveFocusRequested )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_GotFocus )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_GotFocus )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_LostFocus )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_LostFocus )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_AcceleratorKeyPressed )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ ICoreWebView2AcceleratorKeyPressedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_AcceleratorKeyPressed )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentWindow )(
+ ICoreWebView2Controller3 * This,
+ /* [retval][out] */ HWND *parentWindow);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParentWindow )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ HWND parentWindow);
+
+ HRESULT ( STDMETHODCALLTYPE *NotifyParentWindowPositionChanged )(
+ ICoreWebView2Controller3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Close )(
+ ICoreWebView2Controller3 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CoreWebView2 )(
+ ICoreWebView2Controller3 * This,
+ /* [retval][out] */ ICoreWebView2 **coreWebView2);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultBackgroundColor )(
+ ICoreWebView2Controller3 * This,
+ /* [retval][out] */ COREWEBVIEW2_COLOR *backgroundColor);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultBackgroundColor )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ COREWEBVIEW2_COLOR backgroundColor);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RasterizationScale )(
+ ICoreWebView2Controller3 * This,
+ /* [retval][out] */ double *scale);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RasterizationScale )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ double scale);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldDetectMonitorScaleChanges )(
+ ICoreWebView2Controller3 * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShouldDetectMonitorScaleChanges )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ BOOL value);
+
+ HRESULT ( STDMETHODCALLTYPE *add_RasterizationScaleChanged )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ ICoreWebView2RasterizationScaleChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_RasterizationScaleChanged )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoundsMode )(
+ ICoreWebView2Controller3 * This,
+ /* [retval][out] */ COREWEBVIEW2_BOUNDS_MODE *boundsMode);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BoundsMode )(
+ ICoreWebView2Controller3 * This,
+ /* [in] */ COREWEBVIEW2_BOUNDS_MODE boundsMode);
+
+ END_INTERFACE
+ } ICoreWebView2Controller3Vtbl;
+
+ interface ICoreWebView2Controller3
+ {
+ CONST_VTBL struct ICoreWebView2Controller3Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Controller3_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Controller3_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Controller3_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Controller3_get_IsVisible(This,isVisible) \
+ ( (This)->lpVtbl -> get_IsVisible(This,isVisible) )
+
+#define ICoreWebView2Controller3_put_IsVisible(This,isVisible) \
+ ( (This)->lpVtbl -> put_IsVisible(This,isVisible) )
+
+#define ICoreWebView2Controller3_get_Bounds(This,bounds) \
+ ( (This)->lpVtbl -> get_Bounds(This,bounds) )
+
+#define ICoreWebView2Controller3_put_Bounds(This,bounds) \
+ ( (This)->lpVtbl -> put_Bounds(This,bounds) )
+
+#define ICoreWebView2Controller3_get_ZoomFactor(This,zoomFactor) \
+ ( (This)->lpVtbl -> get_ZoomFactor(This,zoomFactor) )
+
+#define ICoreWebView2Controller3_put_ZoomFactor(This,zoomFactor) \
+ ( (This)->lpVtbl -> put_ZoomFactor(This,zoomFactor) )
+
+#define ICoreWebView2Controller3_add_ZoomFactorChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ZoomFactorChanged(This,eventHandler,token) )
+
+#define ICoreWebView2Controller3_remove_ZoomFactorChanged(This,token) \
+ ( (This)->lpVtbl -> remove_ZoomFactorChanged(This,token) )
+
+#define ICoreWebView2Controller3_SetBoundsAndZoomFactor(This,bounds,zoomFactor) \
+ ( (This)->lpVtbl -> SetBoundsAndZoomFactor(This,bounds,zoomFactor) )
+
+#define ICoreWebView2Controller3_MoveFocus(This,reason) \
+ ( (This)->lpVtbl -> MoveFocus(This,reason) )
+
+#define ICoreWebView2Controller3_add_MoveFocusRequested(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_MoveFocusRequested(This,eventHandler,token) )
+
+#define ICoreWebView2Controller3_remove_MoveFocusRequested(This,token) \
+ ( (This)->lpVtbl -> remove_MoveFocusRequested(This,token) )
+
+#define ICoreWebView2Controller3_add_GotFocus(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_GotFocus(This,eventHandler,token) )
+
+#define ICoreWebView2Controller3_remove_GotFocus(This,token) \
+ ( (This)->lpVtbl -> remove_GotFocus(This,token) )
+
+#define ICoreWebView2Controller3_add_LostFocus(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_LostFocus(This,eventHandler,token) )
+
+#define ICoreWebView2Controller3_remove_LostFocus(This,token) \
+ ( (This)->lpVtbl -> remove_LostFocus(This,token) )
+
+#define ICoreWebView2Controller3_add_AcceleratorKeyPressed(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_AcceleratorKeyPressed(This,eventHandler,token) )
+
+#define ICoreWebView2Controller3_remove_AcceleratorKeyPressed(This,token) \
+ ( (This)->lpVtbl -> remove_AcceleratorKeyPressed(This,token) )
+
+#define ICoreWebView2Controller3_get_ParentWindow(This,parentWindow) \
+ ( (This)->lpVtbl -> get_ParentWindow(This,parentWindow) )
+
+#define ICoreWebView2Controller3_put_ParentWindow(This,parentWindow) \
+ ( (This)->lpVtbl -> put_ParentWindow(This,parentWindow) )
+
+#define ICoreWebView2Controller3_NotifyParentWindowPositionChanged(This) \
+ ( (This)->lpVtbl -> NotifyParentWindowPositionChanged(This) )
+
+#define ICoreWebView2Controller3_Close(This) \
+ ( (This)->lpVtbl -> Close(This) )
+
+#define ICoreWebView2Controller3_get_CoreWebView2(This,coreWebView2) \
+ ( (This)->lpVtbl -> get_CoreWebView2(This,coreWebView2) )
+
+
+#define ICoreWebView2Controller3_get_DefaultBackgroundColor(This,backgroundColor) \
+ ( (This)->lpVtbl -> get_DefaultBackgroundColor(This,backgroundColor) )
+
+#define ICoreWebView2Controller3_put_DefaultBackgroundColor(This,backgroundColor) \
+ ( (This)->lpVtbl -> put_DefaultBackgroundColor(This,backgroundColor) )
+
+
+#define ICoreWebView2Controller3_get_RasterizationScale(This,scale) \
+ ( (This)->lpVtbl -> get_RasterizationScale(This,scale) )
+
+#define ICoreWebView2Controller3_put_RasterizationScale(This,scale) \
+ ( (This)->lpVtbl -> put_RasterizationScale(This,scale) )
+
+#define ICoreWebView2Controller3_get_ShouldDetectMonitorScaleChanges(This,value) \
+ ( (This)->lpVtbl -> get_ShouldDetectMonitorScaleChanges(This,value) )
+
+#define ICoreWebView2Controller3_put_ShouldDetectMonitorScaleChanges(This,value) \
+ ( (This)->lpVtbl -> put_ShouldDetectMonitorScaleChanges(This,value) )
+
+#define ICoreWebView2Controller3_add_RasterizationScaleChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_RasterizationScaleChanged(This,eventHandler,token) )
+
+#define ICoreWebView2Controller3_remove_RasterizationScaleChanged(This,token) \
+ ( (This)->lpVtbl -> remove_RasterizationScaleChanged(This,token) )
+
+#define ICoreWebView2Controller3_get_BoundsMode(This,boundsMode) \
+ ( (This)->lpVtbl -> get_BoundsMode(This,boundsMode) )
+
+#define ICoreWebView2Controller3_put_BoundsMode(This,boundsMode) \
+ ( (This)->lpVtbl -> put_BoundsMode(This,boundsMode) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Controller3_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ContentLoadingEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2ContentLoadingEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ContentLoadingEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ContentLoadingEventArgs = {0x0c8a1275,0x9b6b,0x4901,{0x87,0xad,0x70,0xdf,0x25,0xba,0xfa,0x6e}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("0c8a1275-9b6b-4901-87ad-70df25bafa6e")
+ ICoreWebView2ContentLoadingEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsErrorPage(
+ /* [retval][out] */ BOOL *isErrorPage) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NavigationId(
+ /* [retval][out] */ UINT64 *navigationId) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ContentLoadingEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ContentLoadingEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ContentLoadingEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ContentLoadingEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsErrorPage )(
+ ICoreWebView2ContentLoadingEventArgs * This,
+ /* [retval][out] */ BOOL *isErrorPage);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NavigationId )(
+ ICoreWebView2ContentLoadingEventArgs * This,
+ /* [retval][out] */ UINT64 *navigationId);
+
+ END_INTERFACE
+ } ICoreWebView2ContentLoadingEventArgsVtbl;
+
+ interface ICoreWebView2ContentLoadingEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2ContentLoadingEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ContentLoadingEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ContentLoadingEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ContentLoadingEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ContentLoadingEventArgs_get_IsErrorPage(This,isErrorPage) \
+ ( (This)->lpVtbl -> get_IsErrorPage(This,isErrorPage) )
+
+#define ICoreWebView2ContentLoadingEventArgs_get_NavigationId(This,navigationId) \
+ ( (This)->lpVtbl -> get_NavigationId(This,navigationId) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ContentLoadingEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ContentLoadingEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2ContentLoadingEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ContentLoadingEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ContentLoadingEventHandler = {0x364471e7,0xf2be,0x4910,{0xbd,0xba,0xd7,0x20,0x77,0xd5,0x1c,0x4b}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("364471e7-f2be-4910-bdba-d72077d51c4b")
+ ICoreWebView2ContentLoadingEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2ContentLoadingEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ContentLoadingEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ContentLoadingEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ContentLoadingEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ContentLoadingEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2ContentLoadingEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2ContentLoadingEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2ContentLoadingEventHandlerVtbl;
+
+ interface ICoreWebView2ContentLoadingEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2ContentLoadingEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ContentLoadingEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ContentLoadingEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ContentLoadingEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ContentLoadingEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ContentLoadingEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Cookie_INTERFACE_DEFINED__
+#define __ICoreWebView2Cookie_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Cookie */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Cookie = {0xAD26D6BE,0x1486,0x43E6,{0xBF,0x87,0xA2,0x03,0x40,0x06,0xCA,0x21}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("AD26D6BE-1486-43E6-BF87-A2034006CA21")
+ ICoreWebView2Cookie : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name(
+ /* [retval][out] */ LPWSTR *name) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Value(
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Value(
+ /* [in] */ LPCWSTR value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Domain(
+ /* [retval][out] */ LPWSTR *domain) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Path(
+ /* [retval][out] */ LPWSTR *path) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Expires(
+ /* [retval][out] */ double *expires) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Expires(
+ /* [in] */ double expires) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsHttpOnly(
+ /* [retval][out] */ BOOL *isHttpOnly) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsHttpOnly(
+ /* [in] */ BOOL isHttpOnly) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SameSite(
+ /* [retval][out] */ COREWEBVIEW2_COOKIE_SAME_SITE_KIND *sameSite) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SameSite(
+ /* [in] */ COREWEBVIEW2_COOKIE_SAME_SITE_KIND sameSite) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsSecure(
+ /* [retval][out] */ BOOL *isSecure) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsSecure(
+ /* [in] */ BOOL isSecure) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsSession(
+ /* [retval][out] */ BOOL *isSession) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2CookieVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Cookie * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Cookie * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Cookie * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
+ ICoreWebView2Cookie * This,
+ /* [retval][out] */ LPWSTR *name);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )(
+ ICoreWebView2Cookie * This,
+ /* [retval][out] */ LPWSTR *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Value )(
+ ICoreWebView2Cookie * This,
+ /* [in] */ LPCWSTR value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )(
+ ICoreWebView2Cookie * This,
+ /* [retval][out] */ LPWSTR *domain);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )(
+ ICoreWebView2Cookie * This,
+ /* [retval][out] */ LPWSTR *path);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Expires )(
+ ICoreWebView2Cookie * This,
+ /* [retval][out] */ double *expires);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Expires )(
+ ICoreWebView2Cookie * This,
+ /* [in] */ double expires);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsHttpOnly )(
+ ICoreWebView2Cookie * This,
+ /* [retval][out] */ BOOL *isHttpOnly);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsHttpOnly )(
+ ICoreWebView2Cookie * This,
+ /* [in] */ BOOL isHttpOnly);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SameSite )(
+ ICoreWebView2Cookie * This,
+ /* [retval][out] */ COREWEBVIEW2_COOKIE_SAME_SITE_KIND *sameSite);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SameSite )(
+ ICoreWebView2Cookie * This,
+ /* [in] */ COREWEBVIEW2_COOKIE_SAME_SITE_KIND sameSite);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSecure )(
+ ICoreWebView2Cookie * This,
+ /* [retval][out] */ BOOL *isSecure);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsSecure )(
+ ICoreWebView2Cookie * This,
+ /* [in] */ BOOL isSecure);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSession )(
+ ICoreWebView2Cookie * This,
+ /* [retval][out] */ BOOL *isSession);
+
+ END_INTERFACE
+ } ICoreWebView2CookieVtbl;
+
+ interface ICoreWebView2Cookie
+ {
+ CONST_VTBL struct ICoreWebView2CookieVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Cookie_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Cookie_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Cookie_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Cookie_get_Name(This,name) \
+ ( (This)->lpVtbl -> get_Name(This,name) )
+
+#define ICoreWebView2Cookie_get_Value(This,value) \
+ ( (This)->lpVtbl -> get_Value(This,value) )
+
+#define ICoreWebView2Cookie_put_Value(This,value) \
+ ( (This)->lpVtbl -> put_Value(This,value) )
+
+#define ICoreWebView2Cookie_get_Domain(This,domain) \
+ ( (This)->lpVtbl -> get_Domain(This,domain) )
+
+#define ICoreWebView2Cookie_get_Path(This,path) \
+ ( (This)->lpVtbl -> get_Path(This,path) )
+
+#define ICoreWebView2Cookie_get_Expires(This,expires) \
+ ( (This)->lpVtbl -> get_Expires(This,expires) )
+
+#define ICoreWebView2Cookie_put_Expires(This,expires) \
+ ( (This)->lpVtbl -> put_Expires(This,expires) )
+
+#define ICoreWebView2Cookie_get_IsHttpOnly(This,isHttpOnly) \
+ ( (This)->lpVtbl -> get_IsHttpOnly(This,isHttpOnly) )
+
+#define ICoreWebView2Cookie_put_IsHttpOnly(This,isHttpOnly) \
+ ( (This)->lpVtbl -> put_IsHttpOnly(This,isHttpOnly) )
+
+#define ICoreWebView2Cookie_get_SameSite(This,sameSite) \
+ ( (This)->lpVtbl -> get_SameSite(This,sameSite) )
+
+#define ICoreWebView2Cookie_put_SameSite(This,sameSite) \
+ ( (This)->lpVtbl -> put_SameSite(This,sameSite) )
+
+#define ICoreWebView2Cookie_get_IsSecure(This,isSecure) \
+ ( (This)->lpVtbl -> get_IsSecure(This,isSecure) )
+
+#define ICoreWebView2Cookie_put_IsSecure(This,isSecure) \
+ ( (This)->lpVtbl -> put_IsSecure(This,isSecure) )
+
+#define ICoreWebView2Cookie_get_IsSession(This,isSession) \
+ ( (This)->lpVtbl -> get_IsSession(This,isSession) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Cookie_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CookieList_INTERFACE_DEFINED__
+#define __ICoreWebView2CookieList_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2CookieList */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CookieList = {0xF7F6F714,0x5D2A,0x43C6,{0x95,0x03,0x34,0x6E,0xCE,0x02,0xD1,0x86}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("F7F6F714-5D2A-43C6-9503-346ECE02D186")
+ ICoreWebView2CookieList : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ UINT *count) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetValueAtIndex(
+ /* [in] */ UINT index,
+ /* [retval][out] */ ICoreWebView2Cookie **cookie) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2CookieListVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2CookieList * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2CookieList * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2CookieList * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ ICoreWebView2CookieList * This,
+ /* [retval][out] */ UINT *count);
+
+ HRESULT ( STDMETHODCALLTYPE *GetValueAtIndex )(
+ ICoreWebView2CookieList * This,
+ /* [in] */ UINT index,
+ /* [retval][out] */ ICoreWebView2Cookie **cookie);
+
+ END_INTERFACE
+ } ICoreWebView2CookieListVtbl;
+
+ interface ICoreWebView2CookieList
+ {
+ CONST_VTBL struct ICoreWebView2CookieListVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2CookieList_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2CookieList_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2CookieList_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2CookieList_get_Count(This,count) \
+ ( (This)->lpVtbl -> get_Count(This,count) )
+
+#define ICoreWebView2CookieList_GetValueAtIndex(This,index,cookie) \
+ ( (This)->lpVtbl -> GetValueAtIndex(This,index,cookie) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2CookieList_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CookieManager_INTERFACE_DEFINED__
+#define __ICoreWebView2CookieManager_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2CookieManager */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CookieManager = {0x177CD9E7,0xB6F5,0x451A,{0x94,0xA0,0x5D,0x7A,0x3A,0x4C,0x41,0x41}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("177CD9E7-B6F5-451A-94A0-5D7A3A4C4141")
+ ICoreWebView2CookieManager : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE CreateCookie(
+ /* [in] */ LPCWSTR name,
+ /* [in] */ LPCWSTR value,
+ /* [in] */ LPCWSTR domain,
+ /* [in] */ LPCWSTR path,
+ /* [retval][out] */ ICoreWebView2Cookie **cookie) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CopyCookie(
+ /* [in] */ ICoreWebView2Cookie *cookieParam,
+ /* [retval][out] */ ICoreWebView2Cookie **cookie) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCookies(
+ /* [in] */ LPCWSTR uri,
+ /* [in] */ ICoreWebView2GetCookiesCompletedHandler *handler) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AddOrUpdateCookie(
+ /* [in] */ ICoreWebView2Cookie *cookie) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DeleteCookie(
+ /* [in] */ ICoreWebView2Cookie *cookie) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DeleteCookies(
+ /* [in] */ LPCWSTR name,
+ /* [in] */ LPCWSTR uri) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DeleteCookiesWithDomainAndPath(
+ /* [in] */ LPCWSTR name,
+ /* [in] */ LPCWSTR domain,
+ /* [in] */ LPCWSTR path) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE DeleteAllCookies( void) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2CookieManagerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2CookieManager * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2CookieManager * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2CookieManager * This);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCookie )(
+ ICoreWebView2CookieManager * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ LPCWSTR value,
+ /* [in] */ LPCWSTR domain,
+ /* [in] */ LPCWSTR path,
+ /* [retval][out] */ ICoreWebView2Cookie **cookie);
+
+ HRESULT ( STDMETHODCALLTYPE *CopyCookie )(
+ ICoreWebView2CookieManager * This,
+ /* [in] */ ICoreWebView2Cookie *cookieParam,
+ /* [retval][out] */ ICoreWebView2Cookie **cookie);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCookies )(
+ ICoreWebView2CookieManager * This,
+ /* [in] */ LPCWSTR uri,
+ /* [in] */ ICoreWebView2GetCookiesCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *AddOrUpdateCookie )(
+ ICoreWebView2CookieManager * This,
+ /* [in] */ ICoreWebView2Cookie *cookie);
+
+ HRESULT ( STDMETHODCALLTYPE *DeleteCookie )(
+ ICoreWebView2CookieManager * This,
+ /* [in] */ ICoreWebView2Cookie *cookie);
+
+ HRESULT ( STDMETHODCALLTYPE *DeleteCookies )(
+ ICoreWebView2CookieManager * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ LPCWSTR uri);
+
+ HRESULT ( STDMETHODCALLTYPE *DeleteCookiesWithDomainAndPath )(
+ ICoreWebView2CookieManager * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ LPCWSTR domain,
+ /* [in] */ LPCWSTR path);
+
+ HRESULT ( STDMETHODCALLTYPE *DeleteAllCookies )(
+ ICoreWebView2CookieManager * This);
+
+ END_INTERFACE
+ } ICoreWebView2CookieManagerVtbl;
+
+ interface ICoreWebView2CookieManager
+ {
+ CONST_VTBL struct ICoreWebView2CookieManagerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2CookieManager_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2CookieManager_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2CookieManager_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2CookieManager_CreateCookie(This,name,value,domain,path,cookie) \
+ ( (This)->lpVtbl -> CreateCookie(This,name,value,domain,path,cookie) )
+
+#define ICoreWebView2CookieManager_CopyCookie(This,cookieParam,cookie) \
+ ( (This)->lpVtbl -> CopyCookie(This,cookieParam,cookie) )
+
+#define ICoreWebView2CookieManager_GetCookies(This,uri,handler) \
+ ( (This)->lpVtbl -> GetCookies(This,uri,handler) )
+
+#define ICoreWebView2CookieManager_AddOrUpdateCookie(This,cookie) \
+ ( (This)->lpVtbl -> AddOrUpdateCookie(This,cookie) )
+
+#define ICoreWebView2CookieManager_DeleteCookie(This,cookie) \
+ ( (This)->lpVtbl -> DeleteCookie(This,cookie) )
+
+#define ICoreWebView2CookieManager_DeleteCookies(This,name,uri) \
+ ( (This)->lpVtbl -> DeleteCookies(This,name,uri) )
+
+#define ICoreWebView2CookieManager_DeleteCookiesWithDomainAndPath(This,name,domain,path) \
+ ( (This)->lpVtbl -> DeleteCookiesWithDomainAndPath(This,name,domain,path) )
+
+#define ICoreWebView2CookieManager_DeleteAllCookies(This) \
+ ( (This)->lpVtbl -> DeleteAllCookies(This) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2CookieManager_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ClientCertificate_INTERFACE_DEFINED__
+#define __ICoreWebView2ClientCertificate_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ClientCertificate */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ClientCertificate = {0xe7188076,0xbcc3,0x11eb,{0x85,0x29,0x02,0x42,0xac,0x13,0x00,0x03}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("e7188076-bcc3-11eb-8529-0242ac130003")
+ ICoreWebView2ClientCertificate : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Subject(
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Issuer(
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ValidFrom(
+ /* [retval][out] */ double *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ValidTo(
+ /* [retval][out] */ double *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DerEncodedSerialNumber(
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DisplayName(
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ToPemEncoding(
+ /* [retval][out] */ LPWSTR *pemEncodedData) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PemEncodedIssuerCertificateChain(
+ /* [retval][out] */ ICoreWebView2StringCollection **value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Kind(
+ /* [retval][out] */ COREWEBVIEW2_CLIENT_CERTIFICATE_KIND *value) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ClientCertificateVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ClientCertificate * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ClientCertificate * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ClientCertificate * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Subject )(
+ ICoreWebView2ClientCertificate * This,
+ /* [retval][out] */ LPWSTR *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Issuer )(
+ ICoreWebView2ClientCertificate * This,
+ /* [retval][out] */ LPWSTR *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ValidFrom )(
+ ICoreWebView2ClientCertificate * This,
+ /* [retval][out] */ double *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ValidTo )(
+ ICoreWebView2ClientCertificate * This,
+ /* [retval][out] */ double *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerEncodedSerialNumber )(
+ ICoreWebView2ClientCertificate * This,
+ /* [retval][out] */ LPWSTR *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayName )(
+ ICoreWebView2ClientCertificate * This,
+ /* [retval][out] */ LPWSTR *value);
+
+ HRESULT ( STDMETHODCALLTYPE *ToPemEncoding )(
+ ICoreWebView2ClientCertificate * This,
+ /* [retval][out] */ LPWSTR *pemEncodedData);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PemEncodedIssuerCertificateChain )(
+ ICoreWebView2ClientCertificate * This,
+ /* [retval][out] */ ICoreWebView2StringCollection **value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )(
+ ICoreWebView2ClientCertificate * This,
+ /* [retval][out] */ COREWEBVIEW2_CLIENT_CERTIFICATE_KIND *value);
+
+ END_INTERFACE
+ } ICoreWebView2ClientCertificateVtbl;
+
+ interface ICoreWebView2ClientCertificate
+ {
+ CONST_VTBL struct ICoreWebView2ClientCertificateVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ClientCertificate_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ClientCertificate_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ClientCertificate_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ClientCertificate_get_Subject(This,value) \
+ ( (This)->lpVtbl -> get_Subject(This,value) )
+
+#define ICoreWebView2ClientCertificate_get_Issuer(This,value) \
+ ( (This)->lpVtbl -> get_Issuer(This,value) )
+
+#define ICoreWebView2ClientCertificate_get_ValidFrom(This,value) \
+ ( (This)->lpVtbl -> get_ValidFrom(This,value) )
+
+#define ICoreWebView2ClientCertificate_get_ValidTo(This,value) \
+ ( (This)->lpVtbl -> get_ValidTo(This,value) )
+
+#define ICoreWebView2ClientCertificate_get_DerEncodedSerialNumber(This,value) \
+ ( (This)->lpVtbl -> get_DerEncodedSerialNumber(This,value) )
+
+#define ICoreWebView2ClientCertificate_get_DisplayName(This,value) \
+ ( (This)->lpVtbl -> get_DisplayName(This,value) )
+
+#define ICoreWebView2ClientCertificate_ToPemEncoding(This,pemEncodedData) \
+ ( (This)->lpVtbl -> ToPemEncoding(This,pemEncodedData) )
+
+#define ICoreWebView2ClientCertificate_get_PemEncodedIssuerCertificateChain(This,value) \
+ ( (This)->lpVtbl -> get_PemEncodedIssuerCertificateChain(This,value) )
+
+#define ICoreWebView2ClientCertificate_get_Kind(This,value) \
+ ( (This)->lpVtbl -> get_Kind(This,value) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ClientCertificate_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2StringCollection_INTERFACE_DEFINED__
+#define __ICoreWebView2StringCollection_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2StringCollection */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2StringCollection = {0xf41f3f8a,0xbcc3,0x11eb,{0x85,0x29,0x02,0x42,0xac,0x13,0x00,0x03}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("f41f3f8a-bcc3-11eb-8529-0242ac130003")
+ ICoreWebView2StringCollection : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ UINT *value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetValueAtIndex(
+ /* [in] */ UINT index,
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2StringCollectionVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2StringCollection * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2StringCollection * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2StringCollection * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ ICoreWebView2StringCollection * This,
+ /* [retval][out] */ UINT *value);
+
+ HRESULT ( STDMETHODCALLTYPE *GetValueAtIndex )(
+ ICoreWebView2StringCollection * This,
+ /* [in] */ UINT index,
+ /* [retval][out] */ LPWSTR *value);
+
+ END_INTERFACE
+ } ICoreWebView2StringCollectionVtbl;
+
+ interface ICoreWebView2StringCollection
+ {
+ CONST_VTBL struct ICoreWebView2StringCollectionVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2StringCollection_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2StringCollection_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2StringCollection_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2StringCollection_get_Count(This,value) \
+ ( (This)->lpVtbl -> get_Count(This,value) )
+
+#define ICoreWebView2StringCollection_GetValueAtIndex(This,index,value) \
+ ( (This)->lpVtbl -> GetValueAtIndex(This,index,value) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2StringCollection_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ClientCertificateCollection_INTERFACE_DEFINED__
+#define __ICoreWebView2ClientCertificateCollection_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ClientCertificateCollection */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ClientCertificateCollection = {0xef5674d2,0xbcc3,0x11eb,{0x85,0x29,0x02,0x42,0xac,0x13,0x00,0x03}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("ef5674d2-bcc3-11eb-8529-0242ac130003")
+ ICoreWebView2ClientCertificateCollection : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ UINT *value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetValueAtIndex(
+ /* [in] */ UINT index,
+ /* [retval][out] */ ICoreWebView2ClientCertificate **certificate) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ClientCertificateCollectionVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ClientCertificateCollection * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ClientCertificateCollection * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ClientCertificateCollection * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ ICoreWebView2ClientCertificateCollection * This,
+ /* [retval][out] */ UINT *value);
+
+ HRESULT ( STDMETHODCALLTYPE *GetValueAtIndex )(
+ ICoreWebView2ClientCertificateCollection * This,
+ /* [in] */ UINT index,
+ /* [retval][out] */ ICoreWebView2ClientCertificate **certificate);
+
+ END_INTERFACE
+ } ICoreWebView2ClientCertificateCollectionVtbl;
+
+ interface ICoreWebView2ClientCertificateCollection
+ {
+ CONST_VTBL struct ICoreWebView2ClientCertificateCollectionVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ClientCertificateCollection_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ClientCertificateCollection_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ClientCertificateCollection_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ClientCertificateCollection_get_Count(This,value) \
+ ( (This)->lpVtbl -> get_Count(This,value) )
+
+#define ICoreWebView2ClientCertificateCollection_GetValueAtIndex(This,index,certificate) \
+ ( (This)->lpVtbl -> GetValueAtIndex(This,index,certificate) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ClientCertificateCollection_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ClientCertificateRequestedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2ClientCertificateRequestedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ClientCertificateRequestedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ClientCertificateRequestedEventArgs = {0xbc59db28,0xbcc3,0x11eb,{0x85,0x29,0x02,0x42,0xac,0x13,0x00,0x03}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("bc59db28-bcc3-11eb-8529-0242ac130003")
+ ICoreWebView2ClientCertificateRequestedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Host(
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Port(
+ /* [retval][out] */ int *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsProxy(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AllowedCertificateAuthorities(
+ /* [retval][out] */ ICoreWebView2StringCollection **value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MutuallyTrustedCertificates(
+ /* [retval][out] */ ICoreWebView2ClientCertificateCollection **value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SelectedCertificate(
+ /* [retval][out] */ ICoreWebView2ClientCertificate **value) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SelectedCertificate(
+ /* [in] */ ICoreWebView2ClientCertificate *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cancel(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Cancel(
+ /* [in] */ BOOL value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Handled(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Handled(
+ /* [in] */ BOOL value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDeferral(
+ /* [retval][out] */ ICoreWebView2Deferral **deferral) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ClientCertificateRequestedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ClientCertificateRequestedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ClientCertificateRequestedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ClientCertificateRequestedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Host )(
+ ICoreWebView2ClientCertificateRequestedEventArgs * This,
+ /* [retval][out] */ LPWSTR *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Port )(
+ ICoreWebView2ClientCertificateRequestedEventArgs * This,
+ /* [retval][out] */ int *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsProxy )(
+ ICoreWebView2ClientCertificateRequestedEventArgs * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowedCertificateAuthorities )(
+ ICoreWebView2ClientCertificateRequestedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2StringCollection **value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MutuallyTrustedCertificates )(
+ ICoreWebView2ClientCertificateRequestedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2ClientCertificateCollection **value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedCertificate )(
+ ICoreWebView2ClientCertificateRequestedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2ClientCertificate **value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SelectedCertificate )(
+ ICoreWebView2ClientCertificateRequestedEventArgs * This,
+ /* [in] */ ICoreWebView2ClientCertificate *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cancel )(
+ ICoreWebView2ClientCertificateRequestedEventArgs * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Cancel )(
+ ICoreWebView2ClientCertificateRequestedEventArgs * This,
+ /* [in] */ BOOL value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )(
+ ICoreWebView2ClientCertificateRequestedEventArgs * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )(
+ ICoreWebView2ClientCertificateRequestedEventArgs * This,
+ /* [in] */ BOOL value);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDeferral )(
+ ICoreWebView2ClientCertificateRequestedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2Deferral **deferral);
+
+ END_INTERFACE
+ } ICoreWebView2ClientCertificateRequestedEventArgsVtbl;
+
+ interface ICoreWebView2ClientCertificateRequestedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2ClientCertificateRequestedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ClientCertificateRequestedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ClientCertificateRequestedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ClientCertificateRequestedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ClientCertificateRequestedEventArgs_get_Host(This,value) \
+ ( (This)->lpVtbl -> get_Host(This,value) )
+
+#define ICoreWebView2ClientCertificateRequestedEventArgs_get_Port(This,value) \
+ ( (This)->lpVtbl -> get_Port(This,value) )
+
+#define ICoreWebView2ClientCertificateRequestedEventArgs_get_IsProxy(This,value) \
+ ( (This)->lpVtbl -> get_IsProxy(This,value) )
+
+#define ICoreWebView2ClientCertificateRequestedEventArgs_get_AllowedCertificateAuthorities(This,value) \
+ ( (This)->lpVtbl -> get_AllowedCertificateAuthorities(This,value) )
+
+#define ICoreWebView2ClientCertificateRequestedEventArgs_get_MutuallyTrustedCertificates(This,value) \
+ ( (This)->lpVtbl -> get_MutuallyTrustedCertificates(This,value) )
+
+#define ICoreWebView2ClientCertificateRequestedEventArgs_get_SelectedCertificate(This,value) \
+ ( (This)->lpVtbl -> get_SelectedCertificate(This,value) )
+
+#define ICoreWebView2ClientCertificateRequestedEventArgs_put_SelectedCertificate(This,value) \
+ ( (This)->lpVtbl -> put_SelectedCertificate(This,value) )
+
+#define ICoreWebView2ClientCertificateRequestedEventArgs_get_Cancel(This,value) \
+ ( (This)->lpVtbl -> get_Cancel(This,value) )
+
+#define ICoreWebView2ClientCertificateRequestedEventArgs_put_Cancel(This,value) \
+ ( (This)->lpVtbl -> put_Cancel(This,value) )
+
+#define ICoreWebView2ClientCertificateRequestedEventArgs_get_Handled(This,value) \
+ ( (This)->lpVtbl -> get_Handled(This,value) )
+
+#define ICoreWebView2ClientCertificateRequestedEventArgs_put_Handled(This,value) \
+ ( (This)->lpVtbl -> put_Handled(This,value) )
+
+#define ICoreWebView2ClientCertificateRequestedEventArgs_GetDeferral(This,deferral) \
+ ( (This)->lpVtbl -> GetDeferral(This,deferral) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ClientCertificateRequestedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ClientCertificateRequestedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2ClientCertificateRequestedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ClientCertificateRequestedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ClientCertificateRequestedEventHandler = {0xd7175ba2,0xbcc3,0x11eb,{0x85,0x29,0x02,0x42,0xac,0x13,0x00,0x03}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("d7175ba2-bcc3-11eb-8529-0242ac130003")
+ ICoreWebView2ClientCertificateRequestedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2ClientCertificateRequestedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ClientCertificateRequestedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ClientCertificateRequestedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ClientCertificateRequestedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ClientCertificateRequestedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2ClientCertificateRequestedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2ClientCertificateRequestedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2ClientCertificateRequestedEventHandlerVtbl;
+
+ interface ICoreWebView2ClientCertificateRequestedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2ClientCertificateRequestedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ClientCertificateRequestedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ClientCertificateRequestedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ClientCertificateRequestedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ClientCertificateRequestedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ClientCertificateRequestedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler = {0x02fab84b,0x1428,0x4fb7,{0xad,0x45,0x1b,0x2e,0x64,0x73,0x61,0x84}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("02fab84b-1428-4fb7-ad45-1b2e64736184")
+ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ HRESULT errorCode,
+ ICoreWebView2CompositionController *webView) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler * This,
+ HRESULT errorCode,
+ ICoreWebView2CompositionController *webView);
+
+ END_INTERFACE
+ } ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandlerVtbl;
+
+ interface ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler
+ {
+ CONST_VTBL struct ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_Invoke(This,errorCode,webView) \
+ ( (This)->lpVtbl -> Invoke(This,errorCode,webView) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2CreateCoreWebView2ControllerCompletedHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CreateCoreWebView2ControllerCompletedHandler = {0x6c4819f3,0xc9b7,0x4260,{0x81,0x27,0xc9,0xf5,0xbd,0xe7,0xf6,0x8c}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("6c4819f3-c9b7-4260-8127-c9f5bde7f68c")
+ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ HRESULT errorCode,
+ ICoreWebView2Controller *createdController) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2CreateCoreWebView2ControllerCompletedHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler * This,
+ HRESULT errorCode,
+ ICoreWebView2Controller *createdController);
+
+ END_INTERFACE
+ } ICoreWebView2CreateCoreWebView2ControllerCompletedHandlerVtbl;
+
+ interface ICoreWebView2CreateCoreWebView2ControllerCompletedHandler
+ {
+ CONST_VTBL struct ICoreWebView2CreateCoreWebView2ControllerCompletedHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_Invoke(This,errorCode,createdController) \
+ ( (This)->lpVtbl -> Invoke(This,errorCode,createdController) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2CreateCoreWebView2ControllerCompletedHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler = {0x4e8a3389,0xc9d8,0x4bd2,{0xb6,0xb5,0x12,0x4f,0xee,0x6c,0xc1,0x4d}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("4e8a3389-c9d8-4bd2-b6b5-124fee6cc14d")
+ ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ HRESULT errorCode,
+ ICoreWebView2Environment *createdEnvironment) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler * This,
+ HRESULT errorCode,
+ ICoreWebView2Environment *createdEnvironment);
+
+ END_INTERFACE
+ } ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandlerVtbl;
+
+ interface ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler
+ {
+ CONST_VTBL struct ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_Invoke(This,errorCode,createdEnvironment) \
+ ( (This)->lpVtbl -> Invoke(This,errorCode,createdEnvironment) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ContainsFullScreenElementChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2ContainsFullScreenElementChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ContainsFullScreenElementChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ContainsFullScreenElementChangedEventHandler = {0xe45d98b1,0xafef,0x45be,{0x8b,0xaf,0x6c,0x77,0x28,0x86,0x7f,0x73}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("e45d98b1-afef-45be-8baf-6c7728867f73")
+ ICoreWebView2ContainsFullScreenElementChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ContainsFullScreenElementChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ContainsFullScreenElementChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ContainsFullScreenElementChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ContainsFullScreenElementChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2ContainsFullScreenElementChangedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2ContainsFullScreenElementChangedEventHandlerVtbl;
+
+ interface ICoreWebView2ContainsFullScreenElementChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2ContainsFullScreenElementChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ContainsFullScreenElementChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ContainsFullScreenElementChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ContainsFullScreenElementChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ContainsFullScreenElementChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ContainsFullScreenElementChangedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2CursorChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2CursorChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2CursorChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CursorChangedEventHandler = {0x9da43ccc,0x26e1,0x4dad,{0xb5,0x6c,0xd8,0x96,0x1c,0x94,0xc5,0x71}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9da43ccc-26e1-4dad-b56c-d8961c94c571")
+ ICoreWebView2CursorChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2CompositionController *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2CursorChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2CursorChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2CursorChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2CursorChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2CursorChangedEventHandler * This,
+ /* [in] */ ICoreWebView2CompositionController *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2CursorChangedEventHandlerVtbl;
+
+ interface ICoreWebView2CursorChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2CursorChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2CursorChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2CursorChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2CursorChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2CursorChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2CursorChangedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DocumentTitleChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2DocumentTitleChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2DocumentTitleChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2DocumentTitleChangedEventHandler = {0xf5f2b923,0x953e,0x4042,{0x9f,0x95,0xf3,0xa1,0x18,0xe1,0xaf,0xd4}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("f5f2b923-953e-4042-9f95-f3a118e1afd4")
+ ICoreWebView2DocumentTitleChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2DocumentTitleChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2DocumentTitleChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2DocumentTitleChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2DocumentTitleChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2DocumentTitleChangedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2DocumentTitleChangedEventHandlerVtbl;
+
+ interface ICoreWebView2DocumentTitleChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2DocumentTitleChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2DocumentTitleChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2DocumentTitleChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2DocumentTitleChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2DocumentTitleChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2DocumentTitleChangedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DOMContentLoadedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2DOMContentLoadedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2DOMContentLoadedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2DOMContentLoadedEventArgs = {0x16B1E21A,0xC503,0x44F2,{0x84,0xC9,0x70,0xAB,0xA5,0x03,0x12,0x83}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("16B1E21A-C503-44F2-84C9-70ABA5031283")
+ ICoreWebView2DOMContentLoadedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NavigationId(
+ /* [retval][out] */ UINT64 *navigationId) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2DOMContentLoadedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2DOMContentLoadedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2DOMContentLoadedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2DOMContentLoadedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NavigationId )(
+ ICoreWebView2DOMContentLoadedEventArgs * This,
+ /* [retval][out] */ UINT64 *navigationId);
+
+ END_INTERFACE
+ } ICoreWebView2DOMContentLoadedEventArgsVtbl;
+
+ interface ICoreWebView2DOMContentLoadedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2DOMContentLoadedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2DOMContentLoadedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2DOMContentLoadedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2DOMContentLoadedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2DOMContentLoadedEventArgs_get_NavigationId(This,navigationId) \
+ ( (This)->lpVtbl -> get_NavigationId(This,navigationId) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2DOMContentLoadedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DOMContentLoadedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2DOMContentLoadedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2DOMContentLoadedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2DOMContentLoadedEventHandler = {0x4BAC7E9C,0x199E,0x49ED,{0x87,0xED,0x24,0x93,0x03,0xAC,0xF0,0x19}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("4BAC7E9C-199E-49ED-87ED-249303ACF019")
+ ICoreWebView2DOMContentLoadedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2DOMContentLoadedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2DOMContentLoadedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2DOMContentLoadedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2DOMContentLoadedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2DOMContentLoadedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2DOMContentLoadedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2DOMContentLoadedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2DOMContentLoadedEventHandlerVtbl;
+
+ interface ICoreWebView2DOMContentLoadedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2DOMContentLoadedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2DOMContentLoadedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2DOMContentLoadedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2DOMContentLoadedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2DOMContentLoadedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2DOMContentLoadedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Deferral_INTERFACE_DEFINED__
+#define __ICoreWebView2Deferral_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Deferral */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Deferral = {0xc10e7f7b,0xb585,0x46f0,{0xa6,0x23,0x8b,0xef,0xbf,0x3e,0x4e,0xe0}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("c10e7f7b-b585-46f0-a623-8befbf3e4ee0")
+ ICoreWebView2Deferral : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Complete( void) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2DeferralVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Deferral * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Deferral * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Deferral * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Complete )(
+ ICoreWebView2Deferral * This);
+
+ END_INTERFACE
+ } ICoreWebView2DeferralVtbl;
+
+ interface ICoreWebView2Deferral
+ {
+ CONST_VTBL struct ICoreWebView2DeferralVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Deferral_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Deferral_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Deferral_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Deferral_Complete(This) \
+ ( (This)->lpVtbl -> Complete(This) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Deferral_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DevToolsProtocolEventReceivedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2DevToolsProtocolEventReceivedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2DevToolsProtocolEventReceivedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2DevToolsProtocolEventReceivedEventArgs = {0x653c2959,0xbb3a,0x4377,{0x86,0x32,0xb5,0x8a,0xda,0x4e,0x66,0xc4}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("653c2959-bb3a-4377-8632-b58ada4e66c4")
+ ICoreWebView2DevToolsProtocolEventReceivedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ParameterObjectAsJson(
+ /* [retval][out] */ LPWSTR *parameterObjectAsJson) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2DevToolsProtocolEventReceivedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2DevToolsProtocolEventReceivedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2DevToolsProtocolEventReceivedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2DevToolsProtocolEventReceivedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParameterObjectAsJson )(
+ ICoreWebView2DevToolsProtocolEventReceivedEventArgs * This,
+ /* [retval][out] */ LPWSTR *parameterObjectAsJson);
+
+ END_INTERFACE
+ } ICoreWebView2DevToolsProtocolEventReceivedEventArgsVtbl;
+
+ interface ICoreWebView2DevToolsProtocolEventReceivedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2DevToolsProtocolEventReceivedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2DevToolsProtocolEventReceivedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2DevToolsProtocolEventReceivedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2DevToolsProtocolEventReceivedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2DevToolsProtocolEventReceivedEventArgs_get_ParameterObjectAsJson(This,parameterObjectAsJson) \
+ ( (This)->lpVtbl -> get_ParameterObjectAsJson(This,parameterObjectAsJson) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2DevToolsProtocolEventReceivedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DevToolsProtocolEventReceivedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2DevToolsProtocolEventReceivedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2DevToolsProtocolEventReceivedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2DevToolsProtocolEventReceivedEventHandler = {0xe2fda4be,0x5456,0x406c,{0xa2,0x61,0x3d,0x45,0x21,0x38,0x36,0x2c}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("e2fda4be-5456-406c-a261-3d452138362c")
+ ICoreWebView2DevToolsProtocolEventReceivedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2DevToolsProtocolEventReceivedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2DevToolsProtocolEventReceivedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2DevToolsProtocolEventReceivedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2DevToolsProtocolEventReceivedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2DevToolsProtocolEventReceivedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2DevToolsProtocolEventReceivedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2DevToolsProtocolEventReceivedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2DevToolsProtocolEventReceivedEventHandlerVtbl;
+
+ interface ICoreWebView2DevToolsProtocolEventReceivedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2DevToolsProtocolEventReceivedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2DevToolsProtocolEventReceivedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2DevToolsProtocolEventReceivedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2DevToolsProtocolEventReceivedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2DevToolsProtocolEventReceivedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DevToolsProtocolEventReceiver_INTERFACE_DEFINED__
+#define __ICoreWebView2DevToolsProtocolEventReceiver_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2DevToolsProtocolEventReceiver */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2DevToolsProtocolEventReceiver = {0xb32ca51a,0x8371,0x45e9,{0x93,0x17,0xaf,0x02,0x1d,0x08,0x03,0x67}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("b32ca51a-8371-45e9-9317-af021d080367")
+ ICoreWebView2DevToolsProtocolEventReceiver : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE add_DevToolsProtocolEventReceived(
+ /* [in] */ ICoreWebView2DevToolsProtocolEventReceivedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_DevToolsProtocolEventReceived(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2DevToolsProtocolEventReceiverVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2DevToolsProtocolEventReceiver * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2DevToolsProtocolEventReceiver * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2DevToolsProtocolEventReceiver * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DevToolsProtocolEventReceived )(
+ ICoreWebView2DevToolsProtocolEventReceiver * This,
+ /* [in] */ ICoreWebView2DevToolsProtocolEventReceivedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DevToolsProtocolEventReceived )(
+ ICoreWebView2DevToolsProtocolEventReceiver * This,
+ /* [in] */ EventRegistrationToken token);
+
+ END_INTERFACE
+ } ICoreWebView2DevToolsProtocolEventReceiverVtbl;
+
+ interface ICoreWebView2DevToolsProtocolEventReceiver
+ {
+ CONST_VTBL struct ICoreWebView2DevToolsProtocolEventReceiverVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2DevToolsProtocolEventReceiver_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2DevToolsProtocolEventReceiver_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2DevToolsProtocolEventReceiver_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2DevToolsProtocolEventReceiver_add_DevToolsProtocolEventReceived(This,handler,token) \
+ ( (This)->lpVtbl -> add_DevToolsProtocolEventReceived(This,handler,token) )
+
+#define ICoreWebView2DevToolsProtocolEventReceiver_remove_DevToolsProtocolEventReceived(This,token) \
+ ( (This)->lpVtbl -> remove_DevToolsProtocolEventReceived(This,token) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2DevToolsProtocolEventReceiver_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DownloadOperation_INTERFACE_DEFINED__
+#define __ICoreWebView2DownloadOperation_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2DownloadOperation */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2DownloadOperation = {0x3d6b6cf2,0xafe1,0x44c7,{0xa9,0x95,0xc6,0x51,0x17,0x71,0x43,0x36}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("3d6b6cf2-afe1-44c7-a995-c65117714336")
+ ICoreWebView2DownloadOperation : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE add_BytesReceivedChanged(
+ /* [in] */ ICoreWebView2BytesReceivedChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_BytesReceivedChanged(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_EstimatedEndTimeChanged(
+ /* [in] */ ICoreWebView2EstimatedEndTimeChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_EstimatedEndTimeChanged(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_StateChanged(
+ /* [in] */ ICoreWebView2StateChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_StateChanged(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Uri(
+ /* [retval][out] */ LPWSTR *uri) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ContentDisposition(
+ /* [retval][out] */ LPWSTR *contentDisposition) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MimeType(
+ /* [retval][out] */ LPWSTR *mimeType) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TotalBytesToReceive(
+ /* [retval][out] */ INT64 *totalBytesToReceive) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BytesReceived(
+ /* [retval][out] */ INT64 *bytesReceived) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EstimatedEndTime(
+ /* [retval][out] */ LPWSTR *estimatedEndTime) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ResultFilePath(
+ /* [retval][out] */ LPWSTR *resultFilePath) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State(
+ /* [retval][out] */ COREWEBVIEW2_DOWNLOAD_STATE *downloadState) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InterruptReason(
+ /* [retval][out] */ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON *interruptReason) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CanResume(
+ /* [retval][out] */ BOOL *canResume) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2DownloadOperationVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2DownloadOperation * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2DownloadOperation * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2DownloadOperation * This);
+
+ HRESULT ( STDMETHODCALLTYPE *add_BytesReceivedChanged )(
+ ICoreWebView2DownloadOperation * This,
+ /* [in] */ ICoreWebView2BytesReceivedChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_BytesReceivedChanged )(
+ ICoreWebView2DownloadOperation * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_EstimatedEndTimeChanged )(
+ ICoreWebView2DownloadOperation * This,
+ /* [in] */ ICoreWebView2EstimatedEndTimeChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_EstimatedEndTimeChanged )(
+ ICoreWebView2DownloadOperation * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_StateChanged )(
+ ICoreWebView2DownloadOperation * This,
+ /* [in] */ ICoreWebView2StateChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_StateChanged )(
+ ICoreWebView2DownloadOperation * This,
+ /* [in] */ EventRegistrationToken token);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )(
+ ICoreWebView2DownloadOperation * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContentDisposition )(
+ ICoreWebView2DownloadOperation * This,
+ /* [retval][out] */ LPWSTR *contentDisposition);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MimeType )(
+ ICoreWebView2DownloadOperation * This,
+ /* [retval][out] */ LPWSTR *mimeType);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TotalBytesToReceive )(
+ ICoreWebView2DownloadOperation * This,
+ /* [retval][out] */ INT64 *totalBytesToReceive);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BytesReceived )(
+ ICoreWebView2DownloadOperation * This,
+ /* [retval][out] */ INT64 *bytesReceived);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EstimatedEndTime )(
+ ICoreWebView2DownloadOperation * This,
+ /* [retval][out] */ LPWSTR *estimatedEndTime);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ResultFilePath )(
+ ICoreWebView2DownloadOperation * This,
+ /* [retval][out] */ LPWSTR *resultFilePath);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )(
+ ICoreWebView2DownloadOperation * This,
+ /* [retval][out] */ COREWEBVIEW2_DOWNLOAD_STATE *downloadState);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InterruptReason )(
+ ICoreWebView2DownloadOperation * This,
+ /* [retval][out] */ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON *interruptReason);
+
+ HRESULT ( STDMETHODCALLTYPE *Cancel )(
+ ICoreWebView2DownloadOperation * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Pause )(
+ ICoreWebView2DownloadOperation * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Resume )(
+ ICoreWebView2DownloadOperation * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanResume )(
+ ICoreWebView2DownloadOperation * This,
+ /* [retval][out] */ BOOL *canResume);
+
+ END_INTERFACE
+ } ICoreWebView2DownloadOperationVtbl;
+
+ interface ICoreWebView2DownloadOperation
+ {
+ CONST_VTBL struct ICoreWebView2DownloadOperationVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2DownloadOperation_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2DownloadOperation_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2DownloadOperation_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2DownloadOperation_add_BytesReceivedChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_BytesReceivedChanged(This,eventHandler,token) )
+
+#define ICoreWebView2DownloadOperation_remove_BytesReceivedChanged(This,token) \
+ ( (This)->lpVtbl -> remove_BytesReceivedChanged(This,token) )
+
+#define ICoreWebView2DownloadOperation_add_EstimatedEndTimeChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_EstimatedEndTimeChanged(This,eventHandler,token) )
+
+#define ICoreWebView2DownloadOperation_remove_EstimatedEndTimeChanged(This,token) \
+ ( (This)->lpVtbl -> remove_EstimatedEndTimeChanged(This,token) )
+
+#define ICoreWebView2DownloadOperation_add_StateChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_StateChanged(This,eventHandler,token) )
+
+#define ICoreWebView2DownloadOperation_remove_StateChanged(This,token) \
+ ( (This)->lpVtbl -> remove_StateChanged(This,token) )
+
+#define ICoreWebView2DownloadOperation_get_Uri(This,uri) \
+ ( (This)->lpVtbl -> get_Uri(This,uri) )
+
+#define ICoreWebView2DownloadOperation_get_ContentDisposition(This,contentDisposition) \
+ ( (This)->lpVtbl -> get_ContentDisposition(This,contentDisposition) )
+
+#define ICoreWebView2DownloadOperation_get_MimeType(This,mimeType) \
+ ( (This)->lpVtbl -> get_MimeType(This,mimeType) )
+
+#define ICoreWebView2DownloadOperation_get_TotalBytesToReceive(This,totalBytesToReceive) \
+ ( (This)->lpVtbl -> get_TotalBytesToReceive(This,totalBytesToReceive) )
+
+#define ICoreWebView2DownloadOperation_get_BytesReceived(This,bytesReceived) \
+ ( (This)->lpVtbl -> get_BytesReceived(This,bytesReceived) )
+
+#define ICoreWebView2DownloadOperation_get_EstimatedEndTime(This,estimatedEndTime) \
+ ( (This)->lpVtbl -> get_EstimatedEndTime(This,estimatedEndTime) )
+
+#define ICoreWebView2DownloadOperation_get_ResultFilePath(This,resultFilePath) \
+ ( (This)->lpVtbl -> get_ResultFilePath(This,resultFilePath) )
+
+#define ICoreWebView2DownloadOperation_get_State(This,downloadState) \
+ ( (This)->lpVtbl -> get_State(This,downloadState) )
+
+#define ICoreWebView2DownloadOperation_get_InterruptReason(This,interruptReason) \
+ ( (This)->lpVtbl -> get_InterruptReason(This,interruptReason) )
+
+#define ICoreWebView2DownloadOperation_Cancel(This) \
+ ( (This)->lpVtbl -> Cancel(This) )
+
+#define ICoreWebView2DownloadOperation_Pause(This) \
+ ( (This)->lpVtbl -> Pause(This) )
+
+#define ICoreWebView2DownloadOperation_Resume(This) \
+ ( (This)->lpVtbl -> Resume(This) )
+
+#define ICoreWebView2DownloadOperation_get_CanResume(This,canResume) \
+ ( (This)->lpVtbl -> get_CanResume(This,canResume) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2DownloadOperation_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DownloadStartingEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2DownloadStartingEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2DownloadStartingEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2DownloadStartingEventArgs = {0xe99bbe21,0x43e9,0x4544,{0xa7,0x32,0x28,0x27,0x64,0xea,0xfa,0x60}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("e99bbe21-43e9-4544-a732-282764eafa60")
+ ICoreWebView2DownloadStartingEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DownloadOperation(
+ /* [retval][out] */ ICoreWebView2DownloadOperation **downloadOperation) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cancel(
+ /* [retval][out] */ BOOL *cancel) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Cancel(
+ /* [in] */ BOOL cancel) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ResultFilePath(
+ /* [retval][out] */ LPWSTR *resultFilePath) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ResultFilePath(
+ /* [in] */ LPCWSTR resultFilePath) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Handled(
+ /* [retval][out] */ BOOL *handled) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Handled(
+ /* [in] */ BOOL handled) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDeferral(
+ /* [retval][out] */ ICoreWebView2Deferral **deferral) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2DownloadStartingEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2DownloadStartingEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2DownloadStartingEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2DownloadStartingEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadOperation )(
+ ICoreWebView2DownloadStartingEventArgs * This,
+ /* [retval][out] */ ICoreWebView2DownloadOperation **downloadOperation);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cancel )(
+ ICoreWebView2DownloadStartingEventArgs * This,
+ /* [retval][out] */ BOOL *cancel);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Cancel )(
+ ICoreWebView2DownloadStartingEventArgs * This,
+ /* [in] */ BOOL cancel);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ResultFilePath )(
+ ICoreWebView2DownloadStartingEventArgs * This,
+ /* [retval][out] */ LPWSTR *resultFilePath);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ResultFilePath )(
+ ICoreWebView2DownloadStartingEventArgs * This,
+ /* [in] */ LPCWSTR resultFilePath);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )(
+ ICoreWebView2DownloadStartingEventArgs * This,
+ /* [retval][out] */ BOOL *handled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )(
+ ICoreWebView2DownloadStartingEventArgs * This,
+ /* [in] */ BOOL handled);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDeferral )(
+ ICoreWebView2DownloadStartingEventArgs * This,
+ /* [retval][out] */ ICoreWebView2Deferral **deferral);
+
+ END_INTERFACE
+ } ICoreWebView2DownloadStartingEventArgsVtbl;
+
+ interface ICoreWebView2DownloadStartingEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2DownloadStartingEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2DownloadStartingEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2DownloadStartingEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2DownloadStartingEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2DownloadStartingEventArgs_get_DownloadOperation(This,downloadOperation) \
+ ( (This)->lpVtbl -> get_DownloadOperation(This,downloadOperation) )
+
+#define ICoreWebView2DownloadStartingEventArgs_get_Cancel(This,cancel) \
+ ( (This)->lpVtbl -> get_Cancel(This,cancel) )
+
+#define ICoreWebView2DownloadStartingEventArgs_put_Cancel(This,cancel) \
+ ( (This)->lpVtbl -> put_Cancel(This,cancel) )
+
+#define ICoreWebView2DownloadStartingEventArgs_get_ResultFilePath(This,resultFilePath) \
+ ( (This)->lpVtbl -> get_ResultFilePath(This,resultFilePath) )
+
+#define ICoreWebView2DownloadStartingEventArgs_put_ResultFilePath(This,resultFilePath) \
+ ( (This)->lpVtbl -> put_ResultFilePath(This,resultFilePath) )
+
+#define ICoreWebView2DownloadStartingEventArgs_get_Handled(This,handled) \
+ ( (This)->lpVtbl -> get_Handled(This,handled) )
+
+#define ICoreWebView2DownloadStartingEventArgs_put_Handled(This,handled) \
+ ( (This)->lpVtbl -> put_Handled(This,handled) )
+
+#define ICoreWebView2DownloadStartingEventArgs_GetDeferral(This,deferral) \
+ ( (This)->lpVtbl -> GetDeferral(This,deferral) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2DownloadStartingEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2DownloadStartingEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2DownloadStartingEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2DownloadStartingEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2DownloadStartingEventHandler = {0xefedc989,0xc396,0x41ca,{0x83,0xf7,0x07,0xf8,0x45,0xa5,0x57,0x24}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("efedc989-c396-41ca-83f7-07f845a55724")
+ ICoreWebView2DownloadStartingEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2DownloadStartingEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2DownloadStartingEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2DownloadStartingEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2DownloadStartingEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2DownloadStartingEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2DownloadStartingEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2DownloadStartingEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2DownloadStartingEventHandlerVtbl;
+
+ interface ICoreWebView2DownloadStartingEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2DownloadStartingEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2DownloadStartingEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2DownloadStartingEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2DownloadStartingEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2DownloadStartingEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2DownloadStartingEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment_INTERFACE_DEFINED__
+#define __ICoreWebView2Environment_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Environment */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Environment = {0xb96d755e,0x0319,0x4e92,{0xa2,0x96,0x23,0x43,0x6f,0x46,0xa1,0xfc}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("b96d755e-0319-4e92-a296-23436f46a1fc")
+ ICoreWebView2Environment : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE CreateCoreWebView2Controller(
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateWebResourceResponse(
+ /* [in] */ IStream *content,
+ /* [in] */ int statusCode,
+ /* [in] */ LPCWSTR reasonPhrase,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceResponse **response) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_BrowserVersionString(
+ /* [retval][out] */ LPWSTR *versionInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_NewBrowserVersionAvailable(
+ /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_NewBrowserVersionAvailable(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2EnvironmentVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Environment * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Environment * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Environment * This);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )(
+ ICoreWebView2Environment * This,
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )(
+ ICoreWebView2Environment * This,
+ /* [in] */ IStream *content,
+ /* [in] */ int statusCode,
+ /* [in] */ LPCWSTR reasonPhrase,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )(
+ ICoreWebView2Environment * This,
+ /* [retval][out] */ LPWSTR *versionInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment * This,
+ /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment * This,
+ /* [in] */ EventRegistrationToken token);
+
+ END_INTERFACE
+ } ICoreWebView2EnvironmentVtbl;
+
+ interface ICoreWebView2Environment
+ {
+ CONST_VTBL struct ICoreWebView2EnvironmentVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Environment_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Environment_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Environment_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Environment_CreateCoreWebView2Controller(This,parentWindow,handler) \
+ ( (This)->lpVtbl -> CreateCoreWebView2Controller(This,parentWindow,handler) )
+
+#define ICoreWebView2Environment_CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) \
+ ( (This)->lpVtbl -> CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) )
+
+#define ICoreWebView2Environment_get_BrowserVersionString(This,versionInfo) \
+ ( (This)->lpVtbl -> get_BrowserVersionString(This,versionInfo) )
+
+#define ICoreWebView2Environment_add_NewBrowserVersionAvailable(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewBrowserVersionAvailable(This,eventHandler,token) )
+
+#define ICoreWebView2Environment_remove_NewBrowserVersionAvailable(This,token) \
+ ( (This)->lpVtbl -> remove_NewBrowserVersionAvailable(This,token) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Environment_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment2_INTERFACE_DEFINED__
+#define __ICoreWebView2Environment2_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Environment2 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Environment2 = {0x41F3632B,0x5EF4,0x404F,{0xAD,0x82,0x2D,0x60,0x6C,0x5A,0x9A,0x21}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("41F3632B-5EF4-404F-AD82-2D606C5A9A21")
+ ICoreWebView2Environment2 : public ICoreWebView2Environment
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE CreateWebResourceRequest(
+ /* [in] */ LPCWSTR uri,
+ /* [in] */ LPCWSTR method,
+ /* [in] */ IStream *postData,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceRequest **request) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Environment2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Environment2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Environment2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Environment2 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )(
+ ICoreWebView2Environment2 * This,
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )(
+ ICoreWebView2Environment2 * This,
+ /* [in] */ IStream *content,
+ /* [in] */ int statusCode,
+ /* [in] */ LPCWSTR reasonPhrase,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )(
+ ICoreWebView2Environment2 * This,
+ /* [retval][out] */ LPWSTR *versionInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment2 * This,
+ /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )(
+ ICoreWebView2Environment2 * This,
+ /* [in] */ LPCWSTR uri,
+ /* [in] */ LPCWSTR method,
+ /* [in] */ IStream *postData,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
+
+ END_INTERFACE
+ } ICoreWebView2Environment2Vtbl;
+
+ interface ICoreWebView2Environment2
+ {
+ CONST_VTBL struct ICoreWebView2Environment2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Environment2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Environment2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Environment2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Environment2_CreateCoreWebView2Controller(This,parentWindow,handler) \
+ ( (This)->lpVtbl -> CreateCoreWebView2Controller(This,parentWindow,handler) )
+
+#define ICoreWebView2Environment2_CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) \
+ ( (This)->lpVtbl -> CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) )
+
+#define ICoreWebView2Environment2_get_BrowserVersionString(This,versionInfo) \
+ ( (This)->lpVtbl -> get_BrowserVersionString(This,versionInfo) )
+
+#define ICoreWebView2Environment2_add_NewBrowserVersionAvailable(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewBrowserVersionAvailable(This,eventHandler,token) )
+
+#define ICoreWebView2Environment2_remove_NewBrowserVersionAvailable(This,token) \
+ ( (This)->lpVtbl -> remove_NewBrowserVersionAvailable(This,token) )
+
+
+#define ICoreWebView2Environment2_CreateWebResourceRequest(This,uri,method,postData,headers,request) \
+ ( (This)->lpVtbl -> CreateWebResourceRequest(This,uri,method,postData,headers,request) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Environment2_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment3_INTERFACE_DEFINED__
+#define __ICoreWebView2Environment3_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Environment3 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Environment3 = {0x80a22ae3,0xbe7c,0x4ce2,{0xaf,0xe1,0x5a,0x50,0x05,0x6c,0xde,0xeb}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("80a22ae3-be7c-4ce2-afe1-5a50056cdeeb")
+ ICoreWebView2Environment3 : public ICoreWebView2Environment2
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE CreateCoreWebView2CompositionController(
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE CreateCoreWebView2PointerInfo(
+ /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Environment3Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Environment3 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Environment3 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Environment3 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )(
+ ICoreWebView2Environment3 * This,
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )(
+ ICoreWebView2Environment3 * This,
+ /* [in] */ IStream *content,
+ /* [in] */ int statusCode,
+ /* [in] */ LPCWSTR reasonPhrase,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )(
+ ICoreWebView2Environment3 * This,
+ /* [retval][out] */ LPWSTR *versionInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment3 * This,
+ /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment3 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )(
+ ICoreWebView2Environment3 * This,
+ /* [in] */ LPCWSTR uri,
+ /* [in] */ LPCWSTR method,
+ /* [in] */ IStream *postData,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )(
+ ICoreWebView2Environment3 * This,
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )(
+ ICoreWebView2Environment3 * This,
+ /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
+
+ END_INTERFACE
+ } ICoreWebView2Environment3Vtbl;
+
+ interface ICoreWebView2Environment3
+ {
+ CONST_VTBL struct ICoreWebView2Environment3Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Environment3_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Environment3_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Environment3_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Environment3_CreateCoreWebView2Controller(This,parentWindow,handler) \
+ ( (This)->lpVtbl -> CreateCoreWebView2Controller(This,parentWindow,handler) )
+
+#define ICoreWebView2Environment3_CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) \
+ ( (This)->lpVtbl -> CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) )
+
+#define ICoreWebView2Environment3_get_BrowserVersionString(This,versionInfo) \
+ ( (This)->lpVtbl -> get_BrowserVersionString(This,versionInfo) )
+
+#define ICoreWebView2Environment3_add_NewBrowserVersionAvailable(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewBrowserVersionAvailable(This,eventHandler,token) )
+
+#define ICoreWebView2Environment3_remove_NewBrowserVersionAvailable(This,token) \
+ ( (This)->lpVtbl -> remove_NewBrowserVersionAvailable(This,token) )
+
+
+#define ICoreWebView2Environment3_CreateWebResourceRequest(This,uri,method,postData,headers,request) \
+ ( (This)->lpVtbl -> CreateWebResourceRequest(This,uri,method,postData,headers,request) )
+
+
+#define ICoreWebView2Environment3_CreateCoreWebView2CompositionController(This,parentWindow,handler) \
+ ( (This)->lpVtbl -> CreateCoreWebView2CompositionController(This,parentWindow,handler) )
+
+#define ICoreWebView2Environment3_CreateCoreWebView2PointerInfo(This,pointerInfo) \
+ ( (This)->lpVtbl -> CreateCoreWebView2PointerInfo(This,pointerInfo) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Environment3_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment4_INTERFACE_DEFINED__
+#define __ICoreWebView2Environment4_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Environment4 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Environment4 = {0x20944379,0x6dcf,0x41d6,{0xa0,0xa0,0xab,0xc0,0xfc,0x50,0xde,0x0d}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("20944379-6dcf-41d6-a0a0-abc0fc50de0d")
+ ICoreWebView2Environment4 : public ICoreWebView2Environment3
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetProviderForHwnd(
+ /* [in] */ HWND hwnd,
+ /* [retval][out] */ IUnknown **provider) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Environment4Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Environment4 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Environment4 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Environment4 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )(
+ ICoreWebView2Environment4 * This,
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )(
+ ICoreWebView2Environment4 * This,
+ /* [in] */ IStream *content,
+ /* [in] */ int statusCode,
+ /* [in] */ LPCWSTR reasonPhrase,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )(
+ ICoreWebView2Environment4 * This,
+ /* [retval][out] */ LPWSTR *versionInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment4 * This,
+ /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment4 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )(
+ ICoreWebView2Environment4 * This,
+ /* [in] */ LPCWSTR uri,
+ /* [in] */ LPCWSTR method,
+ /* [in] */ IStream *postData,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )(
+ ICoreWebView2Environment4 * This,
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )(
+ ICoreWebView2Environment4 * This,
+ /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetProviderForHwnd )(
+ ICoreWebView2Environment4 * This,
+ /* [in] */ HWND hwnd,
+ /* [retval][out] */ IUnknown **provider);
+
+ END_INTERFACE
+ } ICoreWebView2Environment4Vtbl;
+
+ interface ICoreWebView2Environment4
+ {
+ CONST_VTBL struct ICoreWebView2Environment4Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Environment4_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Environment4_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Environment4_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Environment4_CreateCoreWebView2Controller(This,parentWindow,handler) \
+ ( (This)->lpVtbl -> CreateCoreWebView2Controller(This,parentWindow,handler) )
+
+#define ICoreWebView2Environment4_CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) \
+ ( (This)->lpVtbl -> CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) )
+
+#define ICoreWebView2Environment4_get_BrowserVersionString(This,versionInfo) \
+ ( (This)->lpVtbl -> get_BrowserVersionString(This,versionInfo) )
+
+#define ICoreWebView2Environment4_add_NewBrowserVersionAvailable(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewBrowserVersionAvailable(This,eventHandler,token) )
+
+#define ICoreWebView2Environment4_remove_NewBrowserVersionAvailable(This,token) \
+ ( (This)->lpVtbl -> remove_NewBrowserVersionAvailable(This,token) )
+
+
+#define ICoreWebView2Environment4_CreateWebResourceRequest(This,uri,method,postData,headers,request) \
+ ( (This)->lpVtbl -> CreateWebResourceRequest(This,uri,method,postData,headers,request) )
+
+
+#define ICoreWebView2Environment4_CreateCoreWebView2CompositionController(This,parentWindow,handler) \
+ ( (This)->lpVtbl -> CreateCoreWebView2CompositionController(This,parentWindow,handler) )
+
+#define ICoreWebView2Environment4_CreateCoreWebView2PointerInfo(This,pointerInfo) \
+ ( (This)->lpVtbl -> CreateCoreWebView2PointerInfo(This,pointerInfo) )
+
+
+#define ICoreWebView2Environment4_GetProviderForHwnd(This,hwnd,provider) \
+ ( (This)->lpVtbl -> GetProviderForHwnd(This,hwnd,provider) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Environment4_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment5_INTERFACE_DEFINED__
+#define __ICoreWebView2Environment5_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Environment5 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Environment5 = {0x319e423d,0xe0d7,0x4b8d,{0x92,0x54,0xae,0x94,0x75,0xde,0x9b,0x17}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("319e423d-e0d7-4b8d-9254-ae9475de9b17")
+ ICoreWebView2Environment5 : public ICoreWebView2Environment4
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE add_BrowserProcessExited(
+ /* [in] */ ICoreWebView2BrowserProcessExitedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_BrowserProcessExited(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Environment5Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Environment5 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Environment5 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Environment5 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )(
+ ICoreWebView2Environment5 * This,
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )(
+ ICoreWebView2Environment5 * This,
+ /* [in] */ IStream *content,
+ /* [in] */ int statusCode,
+ /* [in] */ LPCWSTR reasonPhrase,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )(
+ ICoreWebView2Environment5 * This,
+ /* [retval][out] */ LPWSTR *versionInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment5 * This,
+ /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )(
+ ICoreWebView2Environment5 * This,
+ /* [in] */ LPCWSTR uri,
+ /* [in] */ LPCWSTR method,
+ /* [in] */ IStream *postData,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )(
+ ICoreWebView2Environment5 * This,
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )(
+ ICoreWebView2Environment5 * This,
+ /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetProviderForHwnd )(
+ ICoreWebView2Environment5 * This,
+ /* [in] */ HWND hwnd,
+ /* [retval][out] */ IUnknown **provider);
+
+ HRESULT ( STDMETHODCALLTYPE *add_BrowserProcessExited )(
+ ICoreWebView2Environment5 * This,
+ /* [in] */ ICoreWebView2BrowserProcessExitedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_BrowserProcessExited )(
+ ICoreWebView2Environment5 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ END_INTERFACE
+ } ICoreWebView2Environment5Vtbl;
+
+ interface ICoreWebView2Environment5
+ {
+ CONST_VTBL struct ICoreWebView2Environment5Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Environment5_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Environment5_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Environment5_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Environment5_CreateCoreWebView2Controller(This,parentWindow,handler) \
+ ( (This)->lpVtbl -> CreateCoreWebView2Controller(This,parentWindow,handler) )
+
+#define ICoreWebView2Environment5_CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) \
+ ( (This)->lpVtbl -> CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) )
+
+#define ICoreWebView2Environment5_get_BrowserVersionString(This,versionInfo) \
+ ( (This)->lpVtbl -> get_BrowserVersionString(This,versionInfo) )
+
+#define ICoreWebView2Environment5_add_NewBrowserVersionAvailable(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewBrowserVersionAvailable(This,eventHandler,token) )
+
+#define ICoreWebView2Environment5_remove_NewBrowserVersionAvailable(This,token) \
+ ( (This)->lpVtbl -> remove_NewBrowserVersionAvailable(This,token) )
+
+
+#define ICoreWebView2Environment5_CreateWebResourceRequest(This,uri,method,postData,headers,request) \
+ ( (This)->lpVtbl -> CreateWebResourceRequest(This,uri,method,postData,headers,request) )
+
+
+#define ICoreWebView2Environment5_CreateCoreWebView2CompositionController(This,parentWindow,handler) \
+ ( (This)->lpVtbl -> CreateCoreWebView2CompositionController(This,parentWindow,handler) )
+
+#define ICoreWebView2Environment5_CreateCoreWebView2PointerInfo(This,pointerInfo) \
+ ( (This)->lpVtbl -> CreateCoreWebView2PointerInfo(This,pointerInfo) )
+
+
+#define ICoreWebView2Environment5_GetProviderForHwnd(This,hwnd,provider) \
+ ( (This)->lpVtbl -> GetProviderForHwnd(This,hwnd,provider) )
+
+
+#define ICoreWebView2Environment5_add_BrowserProcessExited(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_BrowserProcessExited(This,eventHandler,token) )
+
+#define ICoreWebView2Environment5_remove_BrowserProcessExited(This,token) \
+ ( (This)->lpVtbl -> remove_BrowserProcessExited(This,token) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Environment5_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment6_INTERFACE_DEFINED__
+#define __ICoreWebView2Environment6_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Environment6 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Environment6 = {0xe59ee362,0xacbd,0x4857,{0x9a,0x8e,0xd3,0x64,0x4d,0x94,0x59,0xa9}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("e59ee362-acbd-4857-9a8e-d3644d9459a9")
+ ICoreWebView2Environment6 : public ICoreWebView2Environment5
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE CreatePrintSettings(
+ /* [retval][out] */ ICoreWebView2PrintSettings **printSettings) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Environment6Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Environment6 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Environment6 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Environment6 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )(
+ ICoreWebView2Environment6 * This,
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )(
+ ICoreWebView2Environment6 * This,
+ /* [in] */ IStream *content,
+ /* [in] */ int statusCode,
+ /* [in] */ LPCWSTR reasonPhrase,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )(
+ ICoreWebView2Environment6 * This,
+ /* [retval][out] */ LPWSTR *versionInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment6 * This,
+ /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )(
+ ICoreWebView2Environment6 * This,
+ /* [in] */ LPCWSTR uri,
+ /* [in] */ LPCWSTR method,
+ /* [in] */ IStream *postData,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )(
+ ICoreWebView2Environment6 * This,
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )(
+ ICoreWebView2Environment6 * This,
+ /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetProviderForHwnd )(
+ ICoreWebView2Environment6 * This,
+ /* [in] */ HWND hwnd,
+ /* [retval][out] */ IUnknown **provider);
+
+ HRESULT ( STDMETHODCALLTYPE *add_BrowserProcessExited )(
+ ICoreWebView2Environment6 * This,
+ /* [in] */ ICoreWebView2BrowserProcessExitedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_BrowserProcessExited )(
+ ICoreWebView2Environment6 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CreatePrintSettings )(
+ ICoreWebView2Environment6 * This,
+ /* [retval][out] */ ICoreWebView2PrintSettings **printSettings);
+
+ END_INTERFACE
+ } ICoreWebView2Environment6Vtbl;
+
+ interface ICoreWebView2Environment6
+ {
+ CONST_VTBL struct ICoreWebView2Environment6Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Environment6_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Environment6_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Environment6_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Environment6_CreateCoreWebView2Controller(This,parentWindow,handler) \
+ ( (This)->lpVtbl -> CreateCoreWebView2Controller(This,parentWindow,handler) )
+
+#define ICoreWebView2Environment6_CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) \
+ ( (This)->lpVtbl -> CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) )
+
+#define ICoreWebView2Environment6_get_BrowserVersionString(This,versionInfo) \
+ ( (This)->lpVtbl -> get_BrowserVersionString(This,versionInfo) )
+
+#define ICoreWebView2Environment6_add_NewBrowserVersionAvailable(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewBrowserVersionAvailable(This,eventHandler,token) )
+
+#define ICoreWebView2Environment6_remove_NewBrowserVersionAvailable(This,token) \
+ ( (This)->lpVtbl -> remove_NewBrowserVersionAvailable(This,token) )
+
+
+#define ICoreWebView2Environment6_CreateWebResourceRequest(This,uri,method,postData,headers,request) \
+ ( (This)->lpVtbl -> CreateWebResourceRequest(This,uri,method,postData,headers,request) )
+
+
+#define ICoreWebView2Environment6_CreateCoreWebView2CompositionController(This,parentWindow,handler) \
+ ( (This)->lpVtbl -> CreateCoreWebView2CompositionController(This,parentWindow,handler) )
+
+#define ICoreWebView2Environment6_CreateCoreWebView2PointerInfo(This,pointerInfo) \
+ ( (This)->lpVtbl -> CreateCoreWebView2PointerInfo(This,pointerInfo) )
+
+
+#define ICoreWebView2Environment6_GetProviderForHwnd(This,hwnd,provider) \
+ ( (This)->lpVtbl -> GetProviderForHwnd(This,hwnd,provider) )
+
+
+#define ICoreWebView2Environment6_add_BrowserProcessExited(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_BrowserProcessExited(This,eventHandler,token) )
+
+#define ICoreWebView2Environment6_remove_BrowserProcessExited(This,token) \
+ ( (This)->lpVtbl -> remove_BrowserProcessExited(This,token) )
+
+
+#define ICoreWebView2Environment6_CreatePrintSettings(This,printSettings) \
+ ( (This)->lpVtbl -> CreatePrintSettings(This,printSettings) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Environment6_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment7_INTERFACE_DEFINED__
+#define __ICoreWebView2Environment7_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Environment7 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Environment7 = {0x43C22296,0x3BBD,0x43A4,{0x9C,0x00,0x5C,0x0D,0xF6,0xDD,0x29,0xA2}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("43C22296-3BBD-43A4-9C00-5C0DF6DD29A2")
+ ICoreWebView2Environment7 : public ICoreWebView2Environment6
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UserDataFolder(
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Environment7Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Environment7 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Environment7 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Environment7 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )(
+ ICoreWebView2Environment7 * This,
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )(
+ ICoreWebView2Environment7 * This,
+ /* [in] */ IStream *content,
+ /* [in] */ int statusCode,
+ /* [in] */ LPCWSTR reasonPhrase,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )(
+ ICoreWebView2Environment7 * This,
+ /* [retval][out] */ LPWSTR *versionInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment7 * This,
+ /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )(
+ ICoreWebView2Environment7 * This,
+ /* [in] */ LPCWSTR uri,
+ /* [in] */ LPCWSTR method,
+ /* [in] */ IStream *postData,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )(
+ ICoreWebView2Environment7 * This,
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )(
+ ICoreWebView2Environment7 * This,
+ /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetProviderForHwnd )(
+ ICoreWebView2Environment7 * This,
+ /* [in] */ HWND hwnd,
+ /* [retval][out] */ IUnknown **provider);
+
+ HRESULT ( STDMETHODCALLTYPE *add_BrowserProcessExited )(
+ ICoreWebView2Environment7 * This,
+ /* [in] */ ICoreWebView2BrowserProcessExitedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_BrowserProcessExited )(
+ ICoreWebView2Environment7 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CreatePrintSettings )(
+ ICoreWebView2Environment7 * This,
+ /* [retval][out] */ ICoreWebView2PrintSettings **printSettings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserDataFolder )(
+ ICoreWebView2Environment7 * This,
+ /* [retval][out] */ LPWSTR *value);
+
+ END_INTERFACE
+ } ICoreWebView2Environment7Vtbl;
+
+ interface ICoreWebView2Environment7
+ {
+ CONST_VTBL struct ICoreWebView2Environment7Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Environment7_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Environment7_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Environment7_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Environment7_CreateCoreWebView2Controller(This,parentWindow,handler) \
+ ( (This)->lpVtbl -> CreateCoreWebView2Controller(This,parentWindow,handler) )
+
+#define ICoreWebView2Environment7_CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) \
+ ( (This)->lpVtbl -> CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) )
+
+#define ICoreWebView2Environment7_get_BrowserVersionString(This,versionInfo) \
+ ( (This)->lpVtbl -> get_BrowserVersionString(This,versionInfo) )
+
+#define ICoreWebView2Environment7_add_NewBrowserVersionAvailable(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewBrowserVersionAvailable(This,eventHandler,token) )
+
+#define ICoreWebView2Environment7_remove_NewBrowserVersionAvailable(This,token) \
+ ( (This)->lpVtbl -> remove_NewBrowserVersionAvailable(This,token) )
+
+
+#define ICoreWebView2Environment7_CreateWebResourceRequest(This,uri,method,postData,headers,request) \
+ ( (This)->lpVtbl -> CreateWebResourceRequest(This,uri,method,postData,headers,request) )
+
+
+#define ICoreWebView2Environment7_CreateCoreWebView2CompositionController(This,parentWindow,handler) \
+ ( (This)->lpVtbl -> CreateCoreWebView2CompositionController(This,parentWindow,handler) )
+
+#define ICoreWebView2Environment7_CreateCoreWebView2PointerInfo(This,pointerInfo) \
+ ( (This)->lpVtbl -> CreateCoreWebView2PointerInfo(This,pointerInfo) )
+
+
+#define ICoreWebView2Environment7_GetProviderForHwnd(This,hwnd,provider) \
+ ( (This)->lpVtbl -> GetProviderForHwnd(This,hwnd,provider) )
+
+
+#define ICoreWebView2Environment7_add_BrowserProcessExited(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_BrowserProcessExited(This,eventHandler,token) )
+
+#define ICoreWebView2Environment7_remove_BrowserProcessExited(This,token) \
+ ( (This)->lpVtbl -> remove_BrowserProcessExited(This,token) )
+
+
+#define ICoreWebView2Environment7_CreatePrintSettings(This,printSettings) \
+ ( (This)->lpVtbl -> CreatePrintSettings(This,printSettings) )
+
+
+#define ICoreWebView2Environment7_get_UserDataFolder(This,value) \
+ ( (This)->lpVtbl -> get_UserDataFolder(This,value) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Environment7_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Environment8_INTERFACE_DEFINED__
+#define __ICoreWebView2Environment8_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Environment8 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Environment8 = {0xD6EB91DD,0xC3D2,0x45E5,{0xBD,0x29,0x6D,0xC2,0xBC,0x4D,0xE9,0xCF}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("D6EB91DD-C3D2-45E5-BD29-6DC2BC4DE9CF")
+ ICoreWebView2Environment8 : public ICoreWebView2Environment7
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE add_ProcessInfosChanged(
+ /* [in] */ ICoreWebView2ProcessInfosChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_ProcessInfosChanged(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetProcessInfos(
+ /* [retval][out] */ ICoreWebView2ProcessInfoCollection **value) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Environment8Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Environment8 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Environment8 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Environment8 * This);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )(
+ ICoreWebView2Environment8 * This,
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )(
+ ICoreWebView2Environment8 * This,
+ /* [in] */ IStream *content,
+ /* [in] */ int statusCode,
+ /* [in] */ LPCWSTR reasonPhrase,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )(
+ ICoreWebView2Environment8 * This,
+ /* [retval][out] */ LPWSTR *versionInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment8 * This,
+ /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )(
+ ICoreWebView2Environment8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )(
+ ICoreWebView2Environment8 * This,
+ /* [in] */ LPCWSTR uri,
+ /* [in] */ LPCWSTR method,
+ /* [in] */ IStream *postData,
+ /* [in] */ LPCWSTR headers,
+ /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )(
+ ICoreWebView2Environment8 * This,
+ HWND parentWindow,
+ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )(
+ ICoreWebView2Environment8 * This,
+ /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *GetProviderForHwnd )(
+ ICoreWebView2Environment8 * This,
+ /* [in] */ HWND hwnd,
+ /* [retval][out] */ IUnknown **provider);
+
+ HRESULT ( STDMETHODCALLTYPE *add_BrowserProcessExited )(
+ ICoreWebView2Environment8 * This,
+ /* [in] */ ICoreWebView2BrowserProcessExitedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_BrowserProcessExited )(
+ ICoreWebView2Environment8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *CreatePrintSettings )(
+ ICoreWebView2Environment8 * This,
+ /* [retval][out] */ ICoreWebView2PrintSettings **printSettings);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserDataFolder )(
+ ICoreWebView2Environment8 * This,
+ /* [retval][out] */ LPWSTR *value);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ProcessInfosChanged )(
+ ICoreWebView2Environment8 * This,
+ /* [in] */ ICoreWebView2ProcessInfosChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ProcessInfosChanged )(
+ ICoreWebView2Environment8 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *GetProcessInfos )(
+ ICoreWebView2Environment8 * This,
+ /* [retval][out] */ ICoreWebView2ProcessInfoCollection **value);
+
+ END_INTERFACE
+ } ICoreWebView2Environment8Vtbl;
+
+ interface ICoreWebView2Environment8
+ {
+ CONST_VTBL struct ICoreWebView2Environment8Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Environment8_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Environment8_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Environment8_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Environment8_CreateCoreWebView2Controller(This,parentWindow,handler) \
+ ( (This)->lpVtbl -> CreateCoreWebView2Controller(This,parentWindow,handler) )
+
+#define ICoreWebView2Environment8_CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) \
+ ( (This)->lpVtbl -> CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) )
+
+#define ICoreWebView2Environment8_get_BrowserVersionString(This,versionInfo) \
+ ( (This)->lpVtbl -> get_BrowserVersionString(This,versionInfo) )
+
+#define ICoreWebView2Environment8_add_NewBrowserVersionAvailable(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NewBrowserVersionAvailable(This,eventHandler,token) )
+
+#define ICoreWebView2Environment8_remove_NewBrowserVersionAvailable(This,token) \
+ ( (This)->lpVtbl -> remove_NewBrowserVersionAvailable(This,token) )
+
+
+#define ICoreWebView2Environment8_CreateWebResourceRequest(This,uri,method,postData,headers,request) \
+ ( (This)->lpVtbl -> CreateWebResourceRequest(This,uri,method,postData,headers,request) )
+
+
+#define ICoreWebView2Environment8_CreateCoreWebView2CompositionController(This,parentWindow,handler) \
+ ( (This)->lpVtbl -> CreateCoreWebView2CompositionController(This,parentWindow,handler) )
+
+#define ICoreWebView2Environment8_CreateCoreWebView2PointerInfo(This,pointerInfo) \
+ ( (This)->lpVtbl -> CreateCoreWebView2PointerInfo(This,pointerInfo) )
+
+
+#define ICoreWebView2Environment8_GetProviderForHwnd(This,hwnd,provider) \
+ ( (This)->lpVtbl -> GetProviderForHwnd(This,hwnd,provider) )
+
+
+#define ICoreWebView2Environment8_add_BrowserProcessExited(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_BrowserProcessExited(This,eventHandler,token) )
+
+#define ICoreWebView2Environment8_remove_BrowserProcessExited(This,token) \
+ ( (This)->lpVtbl -> remove_BrowserProcessExited(This,token) )
+
+
+#define ICoreWebView2Environment8_CreatePrintSettings(This,printSettings) \
+ ( (This)->lpVtbl -> CreatePrintSettings(This,printSettings) )
+
+
+#define ICoreWebView2Environment8_get_UserDataFolder(This,value) \
+ ( (This)->lpVtbl -> get_UserDataFolder(This,value) )
+
+
+#define ICoreWebView2Environment8_add_ProcessInfosChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ProcessInfosChanged(This,eventHandler,token) )
+
+#define ICoreWebView2Environment8_remove_ProcessInfosChanged(This,token) \
+ ( (This)->lpVtbl -> remove_ProcessInfosChanged(This,token) )
+
+#define ICoreWebView2Environment8_GetProcessInfos(This,value) \
+ ( (This)->lpVtbl -> GetProcessInfos(This,value) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Environment8_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2EnvironmentOptions_INTERFACE_DEFINED__
+#define __ICoreWebView2EnvironmentOptions_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2EnvironmentOptions */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2EnvironmentOptions = {0x2fde08a8,0x1e9a,0x4766,{0x8c,0x05,0x95,0xa9,0xce,0xb9,0xd1,0xc5}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("2fde08a8-1e9a-4766-8c05-95a9ceb9d1c5")
+ ICoreWebView2EnvironmentOptions : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AdditionalBrowserArguments(
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AdditionalBrowserArguments(
+ /* [in] */ LPCWSTR value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Language(
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Language(
+ /* [in] */ LPCWSTR value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TargetCompatibleBrowserVersion(
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TargetCompatibleBrowserVersion(
+ /* [in] */ LPCWSTR value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AllowSingleSignOnUsingOSPrimaryAccount(
+ /* [retval][out] */ BOOL *allow) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AllowSingleSignOnUsingOSPrimaryAccount(
+ /* [in] */ BOOL allow) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2EnvironmentOptionsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2EnvironmentOptions * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2EnvironmentOptions * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2EnvironmentOptions * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdditionalBrowserArguments )(
+ ICoreWebView2EnvironmentOptions * This,
+ /* [retval][out] */ LPWSTR *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AdditionalBrowserArguments )(
+ ICoreWebView2EnvironmentOptions * This,
+ /* [in] */ LPCWSTR value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Language )(
+ ICoreWebView2EnvironmentOptions * This,
+ /* [retval][out] */ LPWSTR *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Language )(
+ ICoreWebView2EnvironmentOptions * This,
+ /* [in] */ LPCWSTR value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TargetCompatibleBrowserVersion )(
+ ICoreWebView2EnvironmentOptions * This,
+ /* [retval][out] */ LPWSTR *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TargetCompatibleBrowserVersion )(
+ ICoreWebView2EnvironmentOptions * This,
+ /* [in] */ LPCWSTR value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowSingleSignOnUsingOSPrimaryAccount )(
+ ICoreWebView2EnvironmentOptions * This,
+ /* [retval][out] */ BOOL *allow);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AllowSingleSignOnUsingOSPrimaryAccount )(
+ ICoreWebView2EnvironmentOptions * This,
+ /* [in] */ BOOL allow);
+
+ END_INTERFACE
+ } ICoreWebView2EnvironmentOptionsVtbl;
+
+ interface ICoreWebView2EnvironmentOptions
+ {
+ CONST_VTBL struct ICoreWebView2EnvironmentOptionsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2EnvironmentOptions_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2EnvironmentOptions_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2EnvironmentOptions_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2EnvironmentOptions_get_AdditionalBrowserArguments(This,value) \
+ ( (This)->lpVtbl -> get_AdditionalBrowserArguments(This,value) )
+
+#define ICoreWebView2EnvironmentOptions_put_AdditionalBrowserArguments(This,value) \
+ ( (This)->lpVtbl -> put_AdditionalBrowserArguments(This,value) )
+
+#define ICoreWebView2EnvironmentOptions_get_Language(This,value) \
+ ( (This)->lpVtbl -> get_Language(This,value) )
+
+#define ICoreWebView2EnvironmentOptions_put_Language(This,value) \
+ ( (This)->lpVtbl -> put_Language(This,value) )
+
+#define ICoreWebView2EnvironmentOptions_get_TargetCompatibleBrowserVersion(This,value) \
+ ( (This)->lpVtbl -> get_TargetCompatibleBrowserVersion(This,value) )
+
+#define ICoreWebView2EnvironmentOptions_put_TargetCompatibleBrowserVersion(This,value) \
+ ( (This)->lpVtbl -> put_TargetCompatibleBrowserVersion(This,value) )
+
+#define ICoreWebView2EnvironmentOptions_get_AllowSingleSignOnUsingOSPrimaryAccount(This,allow) \
+ ( (This)->lpVtbl -> get_AllowSingleSignOnUsingOSPrimaryAccount(This,allow) )
+
+#define ICoreWebView2EnvironmentOptions_put_AllowSingleSignOnUsingOSPrimaryAccount(This,allow) \
+ ( (This)->lpVtbl -> put_AllowSingleSignOnUsingOSPrimaryAccount(This,allow) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2EnvironmentOptions_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2EstimatedEndTimeChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2EstimatedEndTimeChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2EstimatedEndTimeChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2EstimatedEndTimeChangedEventHandler = {0x28f0d425,0x93fe,0x4e63,{0x9f,0x8d,0x2a,0xee,0xc6,0xd3,0xba,0x1e}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("28f0d425-93fe-4e63-9f8d-2aeec6d3ba1e")
+ ICoreWebView2EstimatedEndTimeChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2DownloadOperation *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2EstimatedEndTimeChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2EstimatedEndTimeChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2EstimatedEndTimeChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2EstimatedEndTimeChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2EstimatedEndTimeChangedEventHandler * This,
+ /* [in] */ ICoreWebView2DownloadOperation *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2EstimatedEndTimeChangedEventHandlerVtbl;
+
+ interface ICoreWebView2EstimatedEndTimeChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2EstimatedEndTimeChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2EstimatedEndTimeChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2EstimatedEndTimeChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2EstimatedEndTimeChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2EstimatedEndTimeChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2EstimatedEndTimeChangedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ExecuteScriptCompletedHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2ExecuteScriptCompletedHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ExecuteScriptCompletedHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ExecuteScriptCompletedHandler = {0x49511172,0xcc67,0x4bca,{0x99,0x23,0x13,0x71,0x12,0xf4,0xc4,0xcc}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("49511172-cc67-4bca-9923-137112f4c4cc")
+ ICoreWebView2ExecuteScriptCompletedHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ HRESULT errorCode,
+ /* [in] */ LPCWSTR resultObjectAsJson) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ExecuteScriptCompletedHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ExecuteScriptCompletedHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ExecuteScriptCompletedHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ExecuteScriptCompletedHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2ExecuteScriptCompletedHandler * This,
+ /* [in] */ HRESULT errorCode,
+ /* [in] */ LPCWSTR resultObjectAsJson);
+
+ END_INTERFACE
+ } ICoreWebView2ExecuteScriptCompletedHandlerVtbl;
+
+ interface ICoreWebView2ExecuteScriptCompletedHandler
+ {
+ CONST_VTBL struct ICoreWebView2ExecuteScriptCompletedHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ExecuteScriptCompletedHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ExecuteScriptCompletedHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ExecuteScriptCompletedHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ExecuteScriptCompletedHandler_Invoke(This,errorCode,resultObjectAsJson) \
+ ( (This)->lpVtbl -> Invoke(This,errorCode,resultObjectAsJson) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ExecuteScriptCompletedHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Frame_INTERFACE_DEFINED__
+#define __ICoreWebView2Frame_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Frame */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Frame = {0xf1131a5e,0x9ba9,0x11eb,{0xa8,0xb3,0x02,0x42,0xac,0x13,0x00,0x03}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("f1131a5e-9ba9-11eb-a8b3-0242ac130003")
+ ICoreWebView2Frame : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name(
+ /* [retval][out] */ LPWSTR *name) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_NameChanged(
+ /* [in] */ ICoreWebView2FrameNameChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_NameChanged(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE AddHostObjectToScriptWithOrigins(
+ /* [in] */ LPCWSTR name,
+ /* [in] */ VARIANT *object,
+ /* [in] */ UINT32 originsCount,
+ /* [size_is][in] */ LPCWSTR *origins) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RemoveHostObjectFromScript(
+ /* [in] */ LPCWSTR name) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_Destroyed(
+ /* [in] */ ICoreWebView2FrameDestroyedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_Destroyed(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE IsDestroyed(
+ /* [retval][out] */ BOOL *destroyed) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2FrameVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Frame * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Frame * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Frame * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
+ ICoreWebView2Frame * This,
+ /* [retval][out] */ LPWSTR *name);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NameChanged )(
+ ICoreWebView2Frame * This,
+ /* [in] */ ICoreWebView2FrameNameChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NameChanged )(
+ ICoreWebView2Frame * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScriptWithOrigins )(
+ ICoreWebView2Frame * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ VARIANT *object,
+ /* [in] */ UINT32 originsCount,
+ /* [size_is][in] */ LPCWSTR *origins);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )(
+ ICoreWebView2Frame * This,
+ /* [in] */ LPCWSTR name);
+
+ HRESULT ( STDMETHODCALLTYPE *add_Destroyed )(
+ ICoreWebView2Frame * This,
+ /* [in] */ ICoreWebView2FrameDestroyedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_Destroyed )(
+ ICoreWebView2Frame * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *IsDestroyed )(
+ ICoreWebView2Frame * This,
+ /* [retval][out] */ BOOL *destroyed);
+
+ END_INTERFACE
+ } ICoreWebView2FrameVtbl;
+
+ interface ICoreWebView2Frame
+ {
+ CONST_VTBL struct ICoreWebView2FrameVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Frame_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Frame_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Frame_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Frame_get_Name(This,name) \
+ ( (This)->lpVtbl -> get_Name(This,name) )
+
+#define ICoreWebView2Frame_add_NameChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NameChanged(This,eventHandler,token) )
+
+#define ICoreWebView2Frame_remove_NameChanged(This,token) \
+ ( (This)->lpVtbl -> remove_NameChanged(This,token) )
+
+#define ICoreWebView2Frame_AddHostObjectToScriptWithOrigins(This,name,object,originsCount,origins) \
+ ( (This)->lpVtbl -> AddHostObjectToScriptWithOrigins(This,name,object,originsCount,origins) )
+
+#define ICoreWebView2Frame_RemoveHostObjectFromScript(This,name) \
+ ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) )
+
+#define ICoreWebView2Frame_add_Destroyed(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_Destroyed(This,eventHandler,token) )
+
+#define ICoreWebView2Frame_remove_Destroyed(This,token) \
+ ( (This)->lpVtbl -> remove_Destroyed(This,token) )
+
+#define ICoreWebView2Frame_IsDestroyed(This,destroyed) \
+ ( (This)->lpVtbl -> IsDestroyed(This,destroyed) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Frame_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Frame2_INTERFACE_DEFINED__
+#define __ICoreWebView2Frame2_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Frame2 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Frame2 = {0x7a6a5834,0xd185,0x4dbf,{0xb6,0x3f,0x4a,0x9b,0xc4,0x31,0x07,0xd4}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("7a6a5834-d185-4dbf-b63f-4a9bc43107d4")
+ ICoreWebView2Frame2 : public ICoreWebView2Frame
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE add_NavigationStarting(
+ /* [in] */ ICoreWebView2FrameNavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_NavigationStarting(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_ContentLoading(
+ /* [in] */ ICoreWebView2FrameContentLoadingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_ContentLoading(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_NavigationCompleted(
+ /* [in] */ ICoreWebView2FrameNavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_NavigationCompleted(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_DOMContentLoaded(
+ /* [in] */ ICoreWebView2FrameDOMContentLoadedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_DOMContentLoaded(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE ExecuteScript(
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PostWebMessageAsJson(
+ /* [in] */ LPCWSTR webMessageAsJson) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE PostWebMessageAsString(
+ /* [in] */ LPCWSTR webMessageAsString) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE add_WebMessageReceived(
+ /* [in] */ ICoreWebView2FrameWebMessageReceivedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE remove_WebMessageReceived(
+ /* [in] */ EventRegistrationToken token) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Frame2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Frame2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Frame2 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
+ ICoreWebView2Frame2 * This,
+ /* [retval][out] */ LPWSTR *name);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NameChanged )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ ICoreWebView2FrameNameChangedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NameChanged )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScriptWithOrigins )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ VARIANT *object,
+ /* [in] */ UINT32 originsCount,
+ /* [size_is][in] */ LPCWSTR *origins);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ LPCWSTR name);
+
+ HRESULT ( STDMETHODCALLTYPE *add_Destroyed )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ ICoreWebView2FrameDestroyedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_Destroyed )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *IsDestroyed )(
+ ICoreWebView2Frame2 * This,
+ /* [retval][out] */ BOOL *destroyed);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ ICoreWebView2FrameNavigationStartingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ ICoreWebView2FrameContentLoadingEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ ICoreWebView2FrameNavigationCompletedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ ICoreWebView2FrameDOMContentLoadedEventHandler *eventHandler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ HRESULT ( STDMETHODCALLTYPE *ExecuteScript )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ LPCWSTR javaScript,
+ /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ LPCWSTR webMessageAsJson);
+
+ HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ LPCWSTR webMessageAsString);
+
+ HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ ICoreWebView2FrameWebMessageReceivedEventHandler *handler,
+ /* [out] */ EventRegistrationToken *token);
+
+ HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )(
+ ICoreWebView2Frame2 * This,
+ /* [in] */ EventRegistrationToken token);
+
+ END_INTERFACE
+ } ICoreWebView2Frame2Vtbl;
+
+ interface ICoreWebView2Frame2
+ {
+ CONST_VTBL struct ICoreWebView2Frame2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Frame2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Frame2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Frame2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Frame2_get_Name(This,name) \
+ ( (This)->lpVtbl -> get_Name(This,name) )
+
+#define ICoreWebView2Frame2_add_NameChanged(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NameChanged(This,eventHandler,token) )
+
+#define ICoreWebView2Frame2_remove_NameChanged(This,token) \
+ ( (This)->lpVtbl -> remove_NameChanged(This,token) )
+
+#define ICoreWebView2Frame2_AddHostObjectToScriptWithOrigins(This,name,object,originsCount,origins) \
+ ( (This)->lpVtbl -> AddHostObjectToScriptWithOrigins(This,name,object,originsCount,origins) )
+
+#define ICoreWebView2Frame2_RemoveHostObjectFromScript(This,name) \
+ ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) )
+
+#define ICoreWebView2Frame2_add_Destroyed(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_Destroyed(This,eventHandler,token) )
+
+#define ICoreWebView2Frame2_remove_Destroyed(This,token) \
+ ( (This)->lpVtbl -> remove_Destroyed(This,token) )
+
+#define ICoreWebView2Frame2_IsDestroyed(This,destroyed) \
+ ( (This)->lpVtbl -> IsDestroyed(This,destroyed) )
+
+
+#define ICoreWebView2Frame2_add_NavigationStarting(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) )
+
+#define ICoreWebView2Frame2_remove_NavigationStarting(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationStarting(This,token) )
+
+#define ICoreWebView2Frame2_add_ContentLoading(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) )
+
+#define ICoreWebView2Frame2_remove_ContentLoading(This,token) \
+ ( (This)->lpVtbl -> remove_ContentLoading(This,token) )
+
+#define ICoreWebView2Frame2_add_NavigationCompleted(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) )
+
+#define ICoreWebView2Frame2_remove_NavigationCompleted(This,token) \
+ ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) )
+
+#define ICoreWebView2Frame2_add_DOMContentLoaded(This,eventHandler,token) \
+ ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) )
+
+#define ICoreWebView2Frame2_remove_DOMContentLoaded(This,token) \
+ ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) )
+
+#define ICoreWebView2Frame2_ExecuteScript(This,javaScript,handler) \
+ ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) )
+
+#define ICoreWebView2Frame2_PostWebMessageAsJson(This,webMessageAsJson) \
+ ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) )
+
+#define ICoreWebView2Frame2_PostWebMessageAsString(This,webMessageAsString) \
+ ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) )
+
+#define ICoreWebView2Frame2_add_WebMessageReceived(This,handler,token) \
+ ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) )
+
+#define ICoreWebView2Frame2_remove_WebMessageReceived(This,token) \
+ ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Frame2_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameContentLoadingEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2FrameContentLoadingEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2FrameContentLoadingEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FrameContentLoadingEventHandler = {0x0d6156f2,0xd332,0x49a7,{0x9e,0x03,0x7d,0x8f,0x2f,0xee,0xee,0x54}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("0d6156f2-d332-49a7-9e03-7d8f2feeee54")
+ ICoreWebView2FrameContentLoadingEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2Frame *sender,
+ /* [in] */ ICoreWebView2ContentLoadingEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2FrameContentLoadingEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2FrameContentLoadingEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2FrameContentLoadingEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2FrameContentLoadingEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2FrameContentLoadingEventHandler * This,
+ /* [in] */ ICoreWebView2Frame *sender,
+ /* [in] */ ICoreWebView2ContentLoadingEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2FrameContentLoadingEventHandlerVtbl;
+
+ interface ICoreWebView2FrameContentLoadingEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2FrameContentLoadingEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2FrameContentLoadingEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2FrameContentLoadingEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2FrameContentLoadingEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2FrameContentLoadingEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2FrameContentLoadingEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameCreatedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2FrameCreatedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2FrameCreatedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FrameCreatedEventArgs = {0x4d6e7b5e,0x9baa,0x11eb,{0xa8,0xb3,0x02,0x42,0xac,0x13,0x00,0x03}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("4d6e7b5e-9baa-11eb-a8b3-0242ac130003")
+ ICoreWebView2FrameCreatedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Frame(
+ /* [retval][out] */ ICoreWebView2Frame **frame) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2FrameCreatedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2FrameCreatedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2FrameCreatedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2FrameCreatedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Frame )(
+ ICoreWebView2FrameCreatedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2Frame **frame);
+
+ END_INTERFACE
+ } ICoreWebView2FrameCreatedEventArgsVtbl;
+
+ interface ICoreWebView2FrameCreatedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2FrameCreatedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2FrameCreatedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2FrameCreatedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2FrameCreatedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2FrameCreatedEventArgs_get_Frame(This,frame) \
+ ( (This)->lpVtbl -> get_Frame(This,frame) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2FrameCreatedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameCreatedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2FrameCreatedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2FrameCreatedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FrameCreatedEventHandler = {0x38059770,0x9baa,0x11eb,{0xa8,0xb3,0x02,0x42,0xac,0x13,0x00,0x03}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("38059770-9baa-11eb-a8b3-0242ac130003")
+ ICoreWebView2FrameCreatedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2FrameCreatedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2FrameCreatedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2FrameCreatedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2FrameCreatedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2FrameCreatedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2FrameCreatedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2FrameCreatedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2FrameCreatedEventHandlerVtbl;
+
+ interface ICoreWebView2FrameCreatedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2FrameCreatedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2FrameCreatedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2FrameCreatedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2FrameCreatedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2FrameCreatedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2FrameCreatedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameDestroyedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2FrameDestroyedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2FrameDestroyedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FrameDestroyedEventHandler = {0x59dd7b4c,0x9baa,0x11eb,{0xa8,0xb3,0x02,0x42,0xac,0x13,0x00,0x03}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("59dd7b4c-9baa-11eb-a8b3-0242ac130003")
+ ICoreWebView2FrameDestroyedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2Frame *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2FrameDestroyedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2FrameDestroyedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2FrameDestroyedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2FrameDestroyedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2FrameDestroyedEventHandler * This,
+ /* [in] */ ICoreWebView2Frame *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2FrameDestroyedEventHandlerVtbl;
+
+ interface ICoreWebView2FrameDestroyedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2FrameDestroyedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2FrameDestroyedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2FrameDestroyedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2FrameDestroyedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2FrameDestroyedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2FrameDestroyedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameDOMContentLoadedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2FrameDOMContentLoadedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2FrameDOMContentLoadedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FrameDOMContentLoadedEventHandler = {0x38d9520d,0x340f,0x4d1e,{0xa7,0x75,0x43,0xfc,0xe9,0x75,0x36,0x83}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("38d9520d-340f-4d1e-a775-43fce9753683")
+ ICoreWebView2FrameDOMContentLoadedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2Frame *sender,
+ /* [in] */ ICoreWebView2DOMContentLoadedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2FrameDOMContentLoadedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2FrameDOMContentLoadedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2FrameDOMContentLoadedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2FrameDOMContentLoadedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2FrameDOMContentLoadedEventHandler * This,
+ /* [in] */ ICoreWebView2Frame *sender,
+ /* [in] */ ICoreWebView2DOMContentLoadedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2FrameDOMContentLoadedEventHandlerVtbl;
+
+ interface ICoreWebView2FrameDOMContentLoadedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2FrameDOMContentLoadedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2FrameDOMContentLoadedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2FrameDOMContentLoadedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2FrameDOMContentLoadedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2FrameDOMContentLoadedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2FrameDOMContentLoadedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameNameChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2FrameNameChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2FrameNameChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FrameNameChangedEventHandler = {0x435c7dc8,0x9baa,0x11eb,{0xa8,0xb3,0x02,0x42,0xac,0x13,0x00,0x03}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("435c7dc8-9baa-11eb-a8b3-0242ac130003")
+ ICoreWebView2FrameNameChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2Frame *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2FrameNameChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2FrameNameChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2FrameNameChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2FrameNameChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2FrameNameChangedEventHandler * This,
+ /* [in] */ ICoreWebView2Frame *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2FrameNameChangedEventHandlerVtbl;
+
+ interface ICoreWebView2FrameNameChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2FrameNameChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2FrameNameChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2FrameNameChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2FrameNameChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2FrameNameChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2FrameNameChangedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameNavigationCompletedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2FrameNavigationCompletedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2FrameNavigationCompletedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FrameNavigationCompletedEventHandler = {0x609302ad,0x0e36,0x4f9a,{0xa2,0x10,0x6a,0x45,0x27,0x28,0x42,0xa9}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("609302ad-0e36-4f9a-a210-6a45272842a9")
+ ICoreWebView2FrameNavigationCompletedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2Frame *sender,
+ /* [in] */ ICoreWebView2NavigationCompletedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2FrameNavigationCompletedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2FrameNavigationCompletedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2FrameNavigationCompletedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2FrameNavigationCompletedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2FrameNavigationCompletedEventHandler * This,
+ /* [in] */ ICoreWebView2Frame *sender,
+ /* [in] */ ICoreWebView2NavigationCompletedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2FrameNavigationCompletedEventHandlerVtbl;
+
+ interface ICoreWebView2FrameNavigationCompletedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2FrameNavigationCompletedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2FrameNavigationCompletedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2FrameNavigationCompletedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2FrameNavigationCompletedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2FrameNavigationCompletedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2FrameNavigationCompletedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameNavigationStartingEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2FrameNavigationStartingEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2FrameNavigationStartingEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FrameNavigationStartingEventHandler = {0xe79908bf,0x2d5d,0x4968,{0x83,0xdb,0x26,0x3f,0xea,0x2c,0x1d,0xa3}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("e79908bf-2d5d-4968-83db-263fea2c1da3")
+ ICoreWebView2FrameNavigationStartingEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2Frame *sender,
+ /* [in] */ ICoreWebView2NavigationStartingEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2FrameNavigationStartingEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2FrameNavigationStartingEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2FrameNavigationStartingEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2FrameNavigationStartingEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2FrameNavigationStartingEventHandler * This,
+ /* [in] */ ICoreWebView2Frame *sender,
+ /* [in] */ ICoreWebView2NavigationStartingEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2FrameNavigationStartingEventHandlerVtbl;
+
+ interface ICoreWebView2FrameNavigationStartingEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2FrameNavigationStartingEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2FrameNavigationStartingEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2FrameNavigationStartingEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2FrameNavigationStartingEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2FrameNavigationStartingEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2FrameNavigationStartingEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameWebMessageReceivedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2FrameWebMessageReceivedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2FrameWebMessageReceivedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FrameWebMessageReceivedEventHandler = {0xe371e005,0x6d1d,0x4517,{0x93,0x4b,0xa8,0xf1,0x62,0x9c,0x62,0xa5}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("e371e005-6d1d-4517-934b-a8f1629c62a5")
+ ICoreWebView2FrameWebMessageReceivedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2Frame *sender,
+ /* [in] */ ICoreWebView2WebMessageReceivedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2FrameWebMessageReceivedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2FrameWebMessageReceivedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2FrameWebMessageReceivedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2FrameWebMessageReceivedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2FrameWebMessageReceivedEventHandler * This,
+ /* [in] */ ICoreWebView2Frame *sender,
+ /* [in] */ ICoreWebView2WebMessageReceivedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2FrameWebMessageReceivedEventHandlerVtbl;
+
+ interface ICoreWebView2FrameWebMessageReceivedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2FrameWebMessageReceivedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2FrameWebMessageReceivedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2FrameWebMessageReceivedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2FrameWebMessageReceivedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2FrameWebMessageReceivedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2FrameWebMessageReceivedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameInfo_INTERFACE_DEFINED__
+#define __ICoreWebView2FrameInfo_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2FrameInfo */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FrameInfo = {0xda86b8a1,0xbdf3,0x4f11,{0x99,0x55,0x52,0x8c,0xef,0xa5,0x97,0x27}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("da86b8a1-bdf3-4f11-9955-528cefa59727")
+ ICoreWebView2FrameInfo : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name(
+ /* [retval][out] */ LPWSTR *name) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Source(
+ /* [retval][out] */ LPWSTR *source) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2FrameInfoVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2FrameInfo * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2FrameInfo * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2FrameInfo * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
+ ICoreWebView2FrameInfo * This,
+ /* [retval][out] */ LPWSTR *name);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )(
+ ICoreWebView2FrameInfo * This,
+ /* [retval][out] */ LPWSTR *source);
+
+ END_INTERFACE
+ } ICoreWebView2FrameInfoVtbl;
+
+ interface ICoreWebView2FrameInfo
+ {
+ CONST_VTBL struct ICoreWebView2FrameInfoVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2FrameInfo_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2FrameInfo_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2FrameInfo_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2FrameInfo_get_Name(This,name) \
+ ( (This)->lpVtbl -> get_Name(This,name) )
+
+#define ICoreWebView2FrameInfo_get_Source(This,source) \
+ ( (This)->lpVtbl -> get_Source(This,source) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2FrameInfo_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameInfoCollection_INTERFACE_DEFINED__
+#define __ICoreWebView2FrameInfoCollection_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2FrameInfoCollection */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FrameInfoCollection = {0x8f834154,0xd38e,0x4d90,{0xaf,0xfb,0x68,0x00,0xa7,0x27,0x28,0x39}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("8f834154-d38e-4d90-affb-6800a7272839")
+ ICoreWebView2FrameInfoCollection : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetIterator(
+ /* [retval][out] */ ICoreWebView2FrameInfoCollectionIterator **iterator) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2FrameInfoCollectionVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2FrameInfoCollection * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2FrameInfoCollection * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2FrameInfoCollection * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetIterator )(
+ ICoreWebView2FrameInfoCollection * This,
+ /* [retval][out] */ ICoreWebView2FrameInfoCollectionIterator **iterator);
+
+ END_INTERFACE
+ } ICoreWebView2FrameInfoCollectionVtbl;
+
+ interface ICoreWebView2FrameInfoCollection
+ {
+ CONST_VTBL struct ICoreWebView2FrameInfoCollectionVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2FrameInfoCollection_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2FrameInfoCollection_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2FrameInfoCollection_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2FrameInfoCollection_GetIterator(This,iterator) \
+ ( (This)->lpVtbl -> GetIterator(This,iterator) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2FrameInfoCollection_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FrameInfoCollectionIterator_INTERFACE_DEFINED__
+#define __ICoreWebView2FrameInfoCollectionIterator_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2FrameInfoCollectionIterator */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FrameInfoCollectionIterator = {0x1bf89e2d,0x1b2b,0x4629,{0xb2,0x8f,0x05,0x09,0x9b,0x41,0xbb,0x03}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("1bf89e2d-1b2b-4629-b28f-05099b41bb03")
+ ICoreWebView2FrameInfoCollectionIterator : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrent(
+ /* [retval][out] */ BOOL *hasCurrent) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetCurrent(
+ /* [retval][out] */ ICoreWebView2FrameInfo **frameInfo) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE MoveNext(
+ /* [retval][out] */ BOOL *hasNext) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2FrameInfoCollectionIteratorVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2FrameInfoCollectionIterator * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2FrameInfoCollectionIterator * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2FrameInfoCollectionIterator * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )(
+ ICoreWebView2FrameInfoCollectionIterator * This,
+ /* [retval][out] */ BOOL *hasCurrent);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrent )(
+ ICoreWebView2FrameInfoCollectionIterator * This,
+ /* [retval][out] */ ICoreWebView2FrameInfo **frameInfo);
+
+ HRESULT ( STDMETHODCALLTYPE *MoveNext )(
+ ICoreWebView2FrameInfoCollectionIterator * This,
+ /* [retval][out] */ BOOL *hasNext);
+
+ END_INTERFACE
+ } ICoreWebView2FrameInfoCollectionIteratorVtbl;
+
+ interface ICoreWebView2FrameInfoCollectionIterator
+ {
+ CONST_VTBL struct ICoreWebView2FrameInfoCollectionIteratorVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2FrameInfoCollectionIterator_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2FrameInfoCollectionIterator_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2FrameInfoCollectionIterator_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2FrameInfoCollectionIterator_get_HasCurrent(This,hasCurrent) \
+ ( (This)->lpVtbl -> get_HasCurrent(This,hasCurrent) )
+
+#define ICoreWebView2FrameInfoCollectionIterator_GetCurrent(This,frameInfo) \
+ ( (This)->lpVtbl -> GetCurrent(This,frameInfo) )
+
+#define ICoreWebView2FrameInfoCollectionIterator_MoveNext(This,hasNext) \
+ ( (This)->lpVtbl -> MoveNext(This,hasNext) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2FrameInfoCollectionIterator_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2FocusChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2FocusChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2FocusChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FocusChangedEventHandler = {0x05ea24bd,0x6452,0x4926,{0x90,0x14,0x4b,0x82,0xb4,0x98,0x13,0x5d}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("05ea24bd-6452-4926-9014-4b82b498135d")
+ ICoreWebView2FocusChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2Controller *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2FocusChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2FocusChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2FocusChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2FocusChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2FocusChangedEventHandler * This,
+ /* [in] */ ICoreWebView2Controller *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2FocusChangedEventHandlerVtbl;
+
+ interface ICoreWebView2FocusChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2FocusChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2FocusChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2FocusChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2FocusChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2FocusChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2FocusChangedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2GetCookiesCompletedHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2GetCookiesCompletedHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2GetCookiesCompletedHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2GetCookiesCompletedHandler = {0x5A4F5069,0x5C15,0x47C3,{0x86,0x46,0xF4,0xDE,0x1C,0x11,0x66,0x70}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("5A4F5069-5C15-47C3-8646-F4DE1C116670")
+ ICoreWebView2GetCookiesCompletedHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ HRESULT result,
+ ICoreWebView2CookieList *cookieList) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2GetCookiesCompletedHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2GetCookiesCompletedHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2GetCookiesCompletedHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2GetCookiesCompletedHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2GetCookiesCompletedHandler * This,
+ HRESULT result,
+ ICoreWebView2CookieList *cookieList);
+
+ END_INTERFACE
+ } ICoreWebView2GetCookiesCompletedHandlerVtbl;
+
+ interface ICoreWebView2GetCookiesCompletedHandler
+ {
+ CONST_VTBL struct ICoreWebView2GetCookiesCompletedHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2GetCookiesCompletedHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2GetCookiesCompletedHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2GetCookiesCompletedHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2GetCookiesCompletedHandler_Invoke(This,result,cookieList) \
+ ( (This)->lpVtbl -> Invoke(This,result,cookieList) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2GetCookiesCompletedHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2HistoryChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2HistoryChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2HistoryChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2HistoryChangedEventHandler = {0xc79a420c,0xefd9,0x4058,{0x92,0x95,0x3e,0x8b,0x4b,0xca,0xb6,0x45}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("c79a420c-efd9-4058-9295-3e8b4bcab645")
+ ICoreWebView2HistoryChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2HistoryChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2HistoryChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2HistoryChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2HistoryChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2HistoryChangedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2HistoryChangedEventHandlerVtbl;
+
+ interface ICoreWebView2HistoryChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2HistoryChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2HistoryChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2HistoryChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2HistoryChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2HistoryChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2HistoryChangedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2HttpHeadersCollectionIterator_INTERFACE_DEFINED__
+#define __ICoreWebView2HttpHeadersCollectionIterator_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2HttpHeadersCollectionIterator */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2HttpHeadersCollectionIterator = {0x0702fc30,0xf43b,0x47bb,{0xab,0x52,0xa4,0x2c,0xb5,0x52,0xad,0x9f}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("0702fc30-f43b-47bb-ab52-a42cb552ad9f")
+ ICoreWebView2HttpHeadersCollectionIterator : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetCurrentHeader(
+ /* [out] */ LPWSTR *name,
+ /* [out] */ LPWSTR *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasCurrentHeader(
+ /* [retval][out] */ BOOL *hasCurrent) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE MoveNext(
+ /* [retval][out] */ BOOL *hasNext) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2HttpHeadersCollectionIteratorVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2HttpHeadersCollectionIterator * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2HttpHeadersCollectionIterator * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2HttpHeadersCollectionIterator * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetCurrentHeader )(
+ ICoreWebView2HttpHeadersCollectionIterator * This,
+ /* [out] */ LPWSTR *name,
+ /* [out] */ LPWSTR *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrentHeader )(
+ ICoreWebView2HttpHeadersCollectionIterator * This,
+ /* [retval][out] */ BOOL *hasCurrent);
+
+ HRESULT ( STDMETHODCALLTYPE *MoveNext )(
+ ICoreWebView2HttpHeadersCollectionIterator * This,
+ /* [retval][out] */ BOOL *hasNext);
+
+ END_INTERFACE
+ } ICoreWebView2HttpHeadersCollectionIteratorVtbl;
+
+ interface ICoreWebView2HttpHeadersCollectionIterator
+ {
+ CONST_VTBL struct ICoreWebView2HttpHeadersCollectionIteratorVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2HttpHeadersCollectionIterator_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2HttpHeadersCollectionIterator_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2HttpHeadersCollectionIterator_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2HttpHeadersCollectionIterator_GetCurrentHeader(This,name,value) \
+ ( (This)->lpVtbl -> GetCurrentHeader(This,name,value) )
+
+#define ICoreWebView2HttpHeadersCollectionIterator_get_HasCurrentHeader(This,hasCurrent) \
+ ( (This)->lpVtbl -> get_HasCurrentHeader(This,hasCurrent) )
+
+#define ICoreWebView2HttpHeadersCollectionIterator_MoveNext(This,hasNext) \
+ ( (This)->lpVtbl -> MoveNext(This,hasNext) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2HttpHeadersCollectionIterator_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2HttpRequestHeaders_INTERFACE_DEFINED__
+#define __ICoreWebView2HttpRequestHeaders_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2HttpRequestHeaders */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2HttpRequestHeaders = {0xe86cac0e,0x5523,0x465c,{0xb5,0x36,0x8f,0xb9,0xfc,0x8c,0x8c,0x60}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("e86cac0e-5523-465c-b536-8fb9fc8c8c60")
+ ICoreWebView2HttpRequestHeaders : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE GetHeader(
+ /* [in] */ LPCWSTR name,
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetHeaders(
+ /* [in] */ LPCWSTR name,
+ /* [retval][out] */ ICoreWebView2HttpHeadersCollectionIterator **iterator) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Contains(
+ /* [in] */ LPCWSTR name,
+ /* [retval][out] */ BOOL *contains) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE SetHeader(
+ /* [in] */ LPCWSTR name,
+ /* [in] */ LPCWSTR value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE RemoveHeader(
+ /* [in] */ LPCWSTR name) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetIterator(
+ /* [retval][out] */ ICoreWebView2HttpHeadersCollectionIterator **iterator) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2HttpRequestHeadersVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2HttpRequestHeaders * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2HttpRequestHeaders * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2HttpRequestHeaders * This);
+
+ HRESULT ( STDMETHODCALLTYPE *GetHeader )(
+ ICoreWebView2HttpRequestHeaders * This,
+ /* [in] */ LPCWSTR name,
+ /* [retval][out] */ LPWSTR *value);
+
+ HRESULT ( STDMETHODCALLTYPE *GetHeaders )(
+ ICoreWebView2HttpRequestHeaders * This,
+ /* [in] */ LPCWSTR name,
+ /* [retval][out] */ ICoreWebView2HttpHeadersCollectionIterator **iterator);
+
+ HRESULT ( STDMETHODCALLTYPE *Contains )(
+ ICoreWebView2HttpRequestHeaders * This,
+ /* [in] */ LPCWSTR name,
+ /* [retval][out] */ BOOL *contains);
+
+ HRESULT ( STDMETHODCALLTYPE *SetHeader )(
+ ICoreWebView2HttpRequestHeaders * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ LPCWSTR value);
+
+ HRESULT ( STDMETHODCALLTYPE *RemoveHeader )(
+ ICoreWebView2HttpRequestHeaders * This,
+ /* [in] */ LPCWSTR name);
+
+ HRESULT ( STDMETHODCALLTYPE *GetIterator )(
+ ICoreWebView2HttpRequestHeaders * This,
+ /* [retval][out] */ ICoreWebView2HttpHeadersCollectionIterator **iterator);
+
+ END_INTERFACE
+ } ICoreWebView2HttpRequestHeadersVtbl;
+
+ interface ICoreWebView2HttpRequestHeaders
+ {
+ CONST_VTBL struct ICoreWebView2HttpRequestHeadersVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2HttpRequestHeaders_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2HttpRequestHeaders_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2HttpRequestHeaders_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2HttpRequestHeaders_GetHeader(This,name,value) \
+ ( (This)->lpVtbl -> GetHeader(This,name,value) )
+
+#define ICoreWebView2HttpRequestHeaders_GetHeaders(This,name,iterator) \
+ ( (This)->lpVtbl -> GetHeaders(This,name,iterator) )
+
+#define ICoreWebView2HttpRequestHeaders_Contains(This,name,contains) \
+ ( (This)->lpVtbl -> Contains(This,name,contains) )
+
+#define ICoreWebView2HttpRequestHeaders_SetHeader(This,name,value) \
+ ( (This)->lpVtbl -> SetHeader(This,name,value) )
+
+#define ICoreWebView2HttpRequestHeaders_RemoveHeader(This,name) \
+ ( (This)->lpVtbl -> RemoveHeader(This,name) )
+
+#define ICoreWebView2HttpRequestHeaders_GetIterator(This,iterator) \
+ ( (This)->lpVtbl -> GetIterator(This,iterator) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2HttpRequestHeaders_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2HttpResponseHeaders_INTERFACE_DEFINED__
+#define __ICoreWebView2HttpResponseHeaders_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2HttpResponseHeaders */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2HttpResponseHeaders = {0x03c5ff5a,0x9b45,0x4a88,{0x88,0x1c,0x89,0xa9,0xf3,0x28,0x61,0x9c}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("03c5ff5a-9b45-4a88-881c-89a9f328619c")
+ ICoreWebView2HttpResponseHeaders : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE AppendHeader(
+ /* [in] */ LPCWSTR name,
+ /* [in] */ LPCWSTR value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Contains(
+ /* [in] */ LPCWSTR name,
+ /* [retval][out] */ BOOL *contains) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetHeader(
+ /* [in] */ LPCWSTR name,
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetHeaders(
+ /* [in] */ LPCWSTR name,
+ /* [retval][out] */ ICoreWebView2HttpHeadersCollectionIterator **iterator) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetIterator(
+ /* [retval][out] */ ICoreWebView2HttpHeadersCollectionIterator **iterator) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2HttpResponseHeadersVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2HttpResponseHeaders * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2HttpResponseHeaders * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2HttpResponseHeaders * This);
+
+ HRESULT ( STDMETHODCALLTYPE *AppendHeader )(
+ ICoreWebView2HttpResponseHeaders * This,
+ /* [in] */ LPCWSTR name,
+ /* [in] */ LPCWSTR value);
+
+ HRESULT ( STDMETHODCALLTYPE *Contains )(
+ ICoreWebView2HttpResponseHeaders * This,
+ /* [in] */ LPCWSTR name,
+ /* [retval][out] */ BOOL *contains);
+
+ HRESULT ( STDMETHODCALLTYPE *GetHeader )(
+ ICoreWebView2HttpResponseHeaders * This,
+ /* [in] */ LPCWSTR name,
+ /* [retval][out] */ LPWSTR *value);
+
+ HRESULT ( STDMETHODCALLTYPE *GetHeaders )(
+ ICoreWebView2HttpResponseHeaders * This,
+ /* [in] */ LPCWSTR name,
+ /* [retval][out] */ ICoreWebView2HttpHeadersCollectionIterator **iterator);
+
+ HRESULT ( STDMETHODCALLTYPE *GetIterator )(
+ ICoreWebView2HttpResponseHeaders * This,
+ /* [retval][out] */ ICoreWebView2HttpHeadersCollectionIterator **iterator);
+
+ END_INTERFACE
+ } ICoreWebView2HttpResponseHeadersVtbl;
+
+ interface ICoreWebView2HttpResponseHeaders
+ {
+ CONST_VTBL struct ICoreWebView2HttpResponseHeadersVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2HttpResponseHeaders_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2HttpResponseHeaders_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2HttpResponseHeaders_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2HttpResponseHeaders_AppendHeader(This,name,value) \
+ ( (This)->lpVtbl -> AppendHeader(This,name,value) )
+
+#define ICoreWebView2HttpResponseHeaders_Contains(This,name,contains) \
+ ( (This)->lpVtbl -> Contains(This,name,contains) )
+
+#define ICoreWebView2HttpResponseHeaders_GetHeader(This,name,value) \
+ ( (This)->lpVtbl -> GetHeader(This,name,value) )
+
+#define ICoreWebView2HttpResponseHeaders_GetHeaders(This,name,iterator) \
+ ( (This)->lpVtbl -> GetHeaders(This,name,iterator) )
+
+#define ICoreWebView2HttpResponseHeaders_GetIterator(This,iterator) \
+ ( (This)->lpVtbl -> GetIterator(This,iterator) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2HttpResponseHeaders_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler = {0x3117da26,0xae13,0x438d,{0xbd,0x46,0xed,0xbe,0xb2,0xc4,0xce,0x81}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("3117da26-ae13-438d-bd46-edbeb2c4ce81")
+ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandlerVtbl;
+
+ interface ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2MoveFocusRequestedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2MoveFocusRequestedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2MoveFocusRequestedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2MoveFocusRequestedEventArgs = {0x2d6aa13b,0x3839,0x4a15,{0x92,0xfc,0xd8,0x8b,0x3c,0x0d,0x9c,0x9d}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("2d6aa13b-3839-4a15-92fc-d88b3c0d9c9d")
+ ICoreWebView2MoveFocusRequestedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Reason(
+ /* [retval][out] */ COREWEBVIEW2_MOVE_FOCUS_REASON *reason) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Handled(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Handled(
+ /* [in] */ BOOL value) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2MoveFocusRequestedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2MoveFocusRequestedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2MoveFocusRequestedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2MoveFocusRequestedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Reason )(
+ ICoreWebView2MoveFocusRequestedEventArgs * This,
+ /* [retval][out] */ COREWEBVIEW2_MOVE_FOCUS_REASON *reason);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )(
+ ICoreWebView2MoveFocusRequestedEventArgs * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )(
+ ICoreWebView2MoveFocusRequestedEventArgs * This,
+ /* [in] */ BOOL value);
+
+ END_INTERFACE
+ } ICoreWebView2MoveFocusRequestedEventArgsVtbl;
+
+ interface ICoreWebView2MoveFocusRequestedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2MoveFocusRequestedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2MoveFocusRequestedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2MoveFocusRequestedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2MoveFocusRequestedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2MoveFocusRequestedEventArgs_get_Reason(This,reason) \
+ ( (This)->lpVtbl -> get_Reason(This,reason) )
+
+#define ICoreWebView2MoveFocusRequestedEventArgs_get_Handled(This,value) \
+ ( (This)->lpVtbl -> get_Handled(This,value) )
+
+#define ICoreWebView2MoveFocusRequestedEventArgs_put_Handled(This,value) \
+ ( (This)->lpVtbl -> put_Handled(This,value) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2MoveFocusRequestedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2MoveFocusRequestedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2MoveFocusRequestedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2MoveFocusRequestedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2MoveFocusRequestedEventHandler = {0x69035451,0x6dc7,0x4cb8,{0x9b,0xce,0xb2,0xbd,0x70,0xad,0x28,0x9f}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("69035451-6dc7-4cb8-9bce-b2bd70ad289f")
+ ICoreWebView2MoveFocusRequestedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2Controller *sender,
+ /* [in] */ ICoreWebView2MoveFocusRequestedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2MoveFocusRequestedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2MoveFocusRequestedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2MoveFocusRequestedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2MoveFocusRequestedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2MoveFocusRequestedEventHandler * This,
+ /* [in] */ ICoreWebView2Controller *sender,
+ /* [in] */ ICoreWebView2MoveFocusRequestedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2MoveFocusRequestedEventHandlerVtbl;
+
+ interface ICoreWebView2MoveFocusRequestedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2MoveFocusRequestedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2MoveFocusRequestedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2MoveFocusRequestedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2MoveFocusRequestedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2MoveFocusRequestedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2MoveFocusRequestedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NavigationCompletedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2NavigationCompletedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2NavigationCompletedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2NavigationCompletedEventArgs = {0x30d68b7d,0x20d9,0x4752,{0xa9,0xca,0xec,0x84,0x48,0xfb,0xb5,0xc1}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("30d68b7d-20d9-4752-a9ca-ec8448fbb5c1")
+ ICoreWebView2NavigationCompletedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsSuccess(
+ /* [retval][out] */ BOOL *isSuccess) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WebErrorStatus(
+ /* [retval][out] */ COREWEBVIEW2_WEB_ERROR_STATUS *webErrorStatus) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NavigationId(
+ /* [retval][out] */ UINT64 *navigationId) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2NavigationCompletedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2NavigationCompletedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2NavigationCompletedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2NavigationCompletedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuccess )(
+ ICoreWebView2NavigationCompletedEventArgs * This,
+ /* [retval][out] */ BOOL *isSuccess);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WebErrorStatus )(
+ ICoreWebView2NavigationCompletedEventArgs * This,
+ /* [retval][out] */ COREWEBVIEW2_WEB_ERROR_STATUS *webErrorStatus);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NavigationId )(
+ ICoreWebView2NavigationCompletedEventArgs * This,
+ /* [retval][out] */ UINT64 *navigationId);
+
+ END_INTERFACE
+ } ICoreWebView2NavigationCompletedEventArgsVtbl;
+
+ interface ICoreWebView2NavigationCompletedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2NavigationCompletedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2NavigationCompletedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2NavigationCompletedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2NavigationCompletedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2NavigationCompletedEventArgs_get_IsSuccess(This,isSuccess) \
+ ( (This)->lpVtbl -> get_IsSuccess(This,isSuccess) )
+
+#define ICoreWebView2NavigationCompletedEventArgs_get_WebErrorStatus(This,webErrorStatus) \
+ ( (This)->lpVtbl -> get_WebErrorStatus(This,webErrorStatus) )
+
+#define ICoreWebView2NavigationCompletedEventArgs_get_NavigationId(This,navigationId) \
+ ( (This)->lpVtbl -> get_NavigationId(This,navigationId) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2NavigationCompletedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NavigationCompletedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2NavigationCompletedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2NavigationCompletedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2NavigationCompletedEventHandler = {0xd33a35bf,0x1c49,0x4f98,{0x93,0xab,0x00,0x6e,0x05,0x33,0xfe,0x1c}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("d33a35bf-1c49-4f98-93ab-006e0533fe1c")
+ ICoreWebView2NavigationCompletedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2NavigationCompletedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2NavigationCompletedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2NavigationCompletedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2NavigationCompletedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2NavigationCompletedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2NavigationCompletedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2NavigationCompletedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2NavigationCompletedEventHandlerVtbl;
+
+ interface ICoreWebView2NavigationCompletedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2NavigationCompletedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2NavigationCompletedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2NavigationCompletedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2NavigationCompletedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2NavigationCompletedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2NavigationCompletedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NavigationStartingEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2NavigationStartingEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2NavigationStartingEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2NavigationStartingEventArgs = {0x5b495469,0xe119,0x438a,{0x9b,0x18,0x76,0x04,0xf2,0x5f,0x2e,0x49}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("5b495469-e119-438a-9b18-7604f25f2e49")
+ ICoreWebView2NavigationStartingEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Uri(
+ /* [retval][out] */ LPWSTR *uri) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsUserInitiated(
+ /* [retval][out] */ BOOL *isUserInitiated) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsRedirected(
+ /* [retval][out] */ BOOL *isRedirected) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestHeaders(
+ /* [retval][out] */ ICoreWebView2HttpRequestHeaders **requestHeaders) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cancel(
+ /* [retval][out] */ BOOL *cancel) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Cancel(
+ /* [in] */ BOOL cancel) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NavigationId(
+ /* [retval][out] */ UINT64 *navigationId) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2NavigationStartingEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2NavigationStartingEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2NavigationStartingEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2NavigationStartingEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )(
+ ICoreWebView2NavigationStartingEventArgs * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUserInitiated )(
+ ICoreWebView2NavigationStartingEventArgs * This,
+ /* [retval][out] */ BOOL *isUserInitiated);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsRedirected )(
+ ICoreWebView2NavigationStartingEventArgs * This,
+ /* [retval][out] */ BOOL *isRedirected);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestHeaders )(
+ ICoreWebView2NavigationStartingEventArgs * This,
+ /* [retval][out] */ ICoreWebView2HttpRequestHeaders **requestHeaders);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cancel )(
+ ICoreWebView2NavigationStartingEventArgs * This,
+ /* [retval][out] */ BOOL *cancel);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Cancel )(
+ ICoreWebView2NavigationStartingEventArgs * This,
+ /* [in] */ BOOL cancel);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NavigationId )(
+ ICoreWebView2NavigationStartingEventArgs * This,
+ /* [retval][out] */ UINT64 *navigationId);
+
+ END_INTERFACE
+ } ICoreWebView2NavigationStartingEventArgsVtbl;
+
+ interface ICoreWebView2NavigationStartingEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2NavigationStartingEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2NavigationStartingEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2NavigationStartingEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2NavigationStartingEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2NavigationStartingEventArgs_get_Uri(This,uri) \
+ ( (This)->lpVtbl -> get_Uri(This,uri) )
+
+#define ICoreWebView2NavigationStartingEventArgs_get_IsUserInitiated(This,isUserInitiated) \
+ ( (This)->lpVtbl -> get_IsUserInitiated(This,isUserInitiated) )
+
+#define ICoreWebView2NavigationStartingEventArgs_get_IsRedirected(This,isRedirected) \
+ ( (This)->lpVtbl -> get_IsRedirected(This,isRedirected) )
+
+#define ICoreWebView2NavigationStartingEventArgs_get_RequestHeaders(This,requestHeaders) \
+ ( (This)->lpVtbl -> get_RequestHeaders(This,requestHeaders) )
+
+#define ICoreWebView2NavigationStartingEventArgs_get_Cancel(This,cancel) \
+ ( (This)->lpVtbl -> get_Cancel(This,cancel) )
+
+#define ICoreWebView2NavigationStartingEventArgs_put_Cancel(This,cancel) \
+ ( (This)->lpVtbl -> put_Cancel(This,cancel) )
+
+#define ICoreWebView2NavigationStartingEventArgs_get_NavigationId(This,navigationId) \
+ ( (This)->lpVtbl -> get_NavigationId(This,navigationId) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2NavigationStartingEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NavigationStartingEventArgs2_INTERFACE_DEFINED__
+#define __ICoreWebView2NavigationStartingEventArgs2_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2NavigationStartingEventArgs2 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2NavigationStartingEventArgs2 = {0x9086BE93,0x91AA,0x472D,{0xA7,0xE0,0x57,0x9F,0x2B,0xA0,0x06,0xAD}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9086BE93-91AA-472D-A7E0-579F2BA006AD")
+ ICoreWebView2NavigationStartingEventArgs2 : public ICoreWebView2NavigationStartingEventArgs
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AdditionalAllowedFrameAncestors(
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AdditionalAllowedFrameAncestors(
+ /* [in] */ LPCWSTR value) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2NavigationStartingEventArgs2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2NavigationStartingEventArgs2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2NavigationStartingEventArgs2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2NavigationStartingEventArgs2 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )(
+ ICoreWebView2NavigationStartingEventArgs2 * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUserInitiated )(
+ ICoreWebView2NavigationStartingEventArgs2 * This,
+ /* [retval][out] */ BOOL *isUserInitiated);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsRedirected )(
+ ICoreWebView2NavigationStartingEventArgs2 * This,
+ /* [retval][out] */ BOOL *isRedirected);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestHeaders )(
+ ICoreWebView2NavigationStartingEventArgs2 * This,
+ /* [retval][out] */ ICoreWebView2HttpRequestHeaders **requestHeaders);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cancel )(
+ ICoreWebView2NavigationStartingEventArgs2 * This,
+ /* [retval][out] */ BOOL *cancel);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Cancel )(
+ ICoreWebView2NavigationStartingEventArgs2 * This,
+ /* [in] */ BOOL cancel);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NavigationId )(
+ ICoreWebView2NavigationStartingEventArgs2 * This,
+ /* [retval][out] */ UINT64 *navigationId);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdditionalAllowedFrameAncestors )(
+ ICoreWebView2NavigationStartingEventArgs2 * This,
+ /* [retval][out] */ LPWSTR *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AdditionalAllowedFrameAncestors )(
+ ICoreWebView2NavigationStartingEventArgs2 * This,
+ /* [in] */ LPCWSTR value);
+
+ END_INTERFACE
+ } ICoreWebView2NavigationStartingEventArgs2Vtbl;
+
+ interface ICoreWebView2NavigationStartingEventArgs2
+ {
+ CONST_VTBL struct ICoreWebView2NavigationStartingEventArgs2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2NavigationStartingEventArgs2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2NavigationStartingEventArgs2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2NavigationStartingEventArgs2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2NavigationStartingEventArgs2_get_Uri(This,uri) \
+ ( (This)->lpVtbl -> get_Uri(This,uri) )
+
+#define ICoreWebView2NavigationStartingEventArgs2_get_IsUserInitiated(This,isUserInitiated) \
+ ( (This)->lpVtbl -> get_IsUserInitiated(This,isUserInitiated) )
+
+#define ICoreWebView2NavigationStartingEventArgs2_get_IsRedirected(This,isRedirected) \
+ ( (This)->lpVtbl -> get_IsRedirected(This,isRedirected) )
+
+#define ICoreWebView2NavigationStartingEventArgs2_get_RequestHeaders(This,requestHeaders) \
+ ( (This)->lpVtbl -> get_RequestHeaders(This,requestHeaders) )
+
+#define ICoreWebView2NavigationStartingEventArgs2_get_Cancel(This,cancel) \
+ ( (This)->lpVtbl -> get_Cancel(This,cancel) )
+
+#define ICoreWebView2NavigationStartingEventArgs2_put_Cancel(This,cancel) \
+ ( (This)->lpVtbl -> put_Cancel(This,cancel) )
+
+#define ICoreWebView2NavigationStartingEventArgs2_get_NavigationId(This,navigationId) \
+ ( (This)->lpVtbl -> get_NavigationId(This,navigationId) )
+
+
+#define ICoreWebView2NavigationStartingEventArgs2_get_AdditionalAllowedFrameAncestors(This,value) \
+ ( (This)->lpVtbl -> get_AdditionalAllowedFrameAncestors(This,value) )
+
+#define ICoreWebView2NavigationStartingEventArgs2_put_AdditionalAllowedFrameAncestors(This,value) \
+ ( (This)->lpVtbl -> put_AdditionalAllowedFrameAncestors(This,value) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2NavigationStartingEventArgs2_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NavigationStartingEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2NavigationStartingEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2NavigationStartingEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2NavigationStartingEventHandler = {0x9adbe429,0xf36d,0x432b,{0x9d,0xdc,0xf8,0x88,0x1f,0xbd,0x76,0xe3}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9adbe429-f36d-432b-9ddc-f8881fbd76e3")
+ ICoreWebView2NavigationStartingEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2NavigationStartingEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2NavigationStartingEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2NavigationStartingEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2NavigationStartingEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2NavigationStartingEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2NavigationStartingEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2NavigationStartingEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2NavigationStartingEventHandlerVtbl;
+
+ interface ICoreWebView2NavigationStartingEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2NavigationStartingEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2NavigationStartingEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2NavigationStartingEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2NavigationStartingEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2NavigationStartingEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2NavigationStartingEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NewBrowserVersionAvailableEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2NewBrowserVersionAvailableEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2NewBrowserVersionAvailableEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2NewBrowserVersionAvailableEventHandler = {0xf9a2976e,0xd34e,0x44fc,{0xad,0xee,0x81,0xb6,0xb5,0x7c,0xa9,0x14}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("f9a2976e-d34e-44fc-adee-81b6b57ca914")
+ ICoreWebView2NewBrowserVersionAvailableEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2Environment *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2NewBrowserVersionAvailableEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2NewBrowserVersionAvailableEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2NewBrowserVersionAvailableEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2NewBrowserVersionAvailableEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2NewBrowserVersionAvailableEventHandler * This,
+ /* [in] */ ICoreWebView2Environment *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2NewBrowserVersionAvailableEventHandlerVtbl;
+
+ interface ICoreWebView2NewBrowserVersionAvailableEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2NewBrowserVersionAvailableEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2NewBrowserVersionAvailableEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2NewBrowserVersionAvailableEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2NewBrowserVersionAvailableEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2NewBrowserVersionAvailableEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2NewBrowserVersionAvailableEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NewWindowRequestedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2NewWindowRequestedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2NewWindowRequestedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2NewWindowRequestedEventArgs = {0x34acb11c,0xfc37,0x4418,{0x91,0x32,0xf9,0xc2,0x1d,0x1e,0xaf,0xb9}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("34acb11c-fc37-4418-9132-f9c21d1eafb9")
+ ICoreWebView2NewWindowRequestedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Uri(
+ /* [retval][out] */ LPWSTR *uri) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_NewWindow(
+ /* [in] */ ICoreWebView2 *newWindow) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NewWindow(
+ /* [retval][out] */ ICoreWebView2 **newWindow) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Handled(
+ /* [in] */ BOOL handled) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Handled(
+ /* [retval][out] */ BOOL *handled) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsUserInitiated(
+ /* [retval][out] */ BOOL *isUserInitiated) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDeferral(
+ /* [retval][out] */ ICoreWebView2Deferral **deferral) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WindowFeatures(
+ /* [retval][out] */ ICoreWebView2WindowFeatures **value) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2NewWindowRequestedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2NewWindowRequestedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2NewWindowRequestedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2NewWindowRequestedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )(
+ ICoreWebView2NewWindowRequestedEventArgs * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NewWindow )(
+ ICoreWebView2NewWindowRequestedEventArgs * This,
+ /* [in] */ ICoreWebView2 *newWindow);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NewWindow )(
+ ICoreWebView2NewWindowRequestedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2 **newWindow);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )(
+ ICoreWebView2NewWindowRequestedEventArgs * This,
+ /* [in] */ BOOL handled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )(
+ ICoreWebView2NewWindowRequestedEventArgs * This,
+ /* [retval][out] */ BOOL *handled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUserInitiated )(
+ ICoreWebView2NewWindowRequestedEventArgs * This,
+ /* [retval][out] */ BOOL *isUserInitiated);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDeferral )(
+ ICoreWebView2NewWindowRequestedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2Deferral **deferral);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WindowFeatures )(
+ ICoreWebView2NewWindowRequestedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2WindowFeatures **value);
+
+ END_INTERFACE
+ } ICoreWebView2NewWindowRequestedEventArgsVtbl;
+
+ interface ICoreWebView2NewWindowRequestedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2NewWindowRequestedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2NewWindowRequestedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2NewWindowRequestedEventArgs_get_Uri(This,uri) \
+ ( (This)->lpVtbl -> get_Uri(This,uri) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs_put_NewWindow(This,newWindow) \
+ ( (This)->lpVtbl -> put_NewWindow(This,newWindow) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs_get_NewWindow(This,newWindow) \
+ ( (This)->lpVtbl -> get_NewWindow(This,newWindow) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs_put_Handled(This,handled) \
+ ( (This)->lpVtbl -> put_Handled(This,handled) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs_get_Handled(This,handled) \
+ ( (This)->lpVtbl -> get_Handled(This,handled) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs_get_IsUserInitiated(This,isUserInitiated) \
+ ( (This)->lpVtbl -> get_IsUserInitiated(This,isUserInitiated) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs_GetDeferral(This,deferral) \
+ ( (This)->lpVtbl -> GetDeferral(This,deferral) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs_get_WindowFeatures(This,value) \
+ ( (This)->lpVtbl -> get_WindowFeatures(This,value) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2NewWindowRequestedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NewWindowRequestedEventArgs2_INTERFACE_DEFINED__
+#define __ICoreWebView2NewWindowRequestedEventArgs2_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2NewWindowRequestedEventArgs2 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2NewWindowRequestedEventArgs2 = {0xbbc7baed,0x74c6,0x4c92,{0xb6,0x3a,0x7f,0x5a,0xea,0xe0,0x3d,0xe3}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("bbc7baed-74c6-4c92-b63a-7f5aeae03de3")
+ ICoreWebView2NewWindowRequestedEventArgs2 : public ICoreWebView2NewWindowRequestedEventArgs
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name(
+ /* [retval][out] */ LPWSTR *value) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2NewWindowRequestedEventArgs2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2NewWindowRequestedEventArgs2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2NewWindowRequestedEventArgs2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2NewWindowRequestedEventArgs2 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )(
+ ICoreWebView2NewWindowRequestedEventArgs2 * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NewWindow )(
+ ICoreWebView2NewWindowRequestedEventArgs2 * This,
+ /* [in] */ ICoreWebView2 *newWindow);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NewWindow )(
+ ICoreWebView2NewWindowRequestedEventArgs2 * This,
+ /* [retval][out] */ ICoreWebView2 **newWindow);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )(
+ ICoreWebView2NewWindowRequestedEventArgs2 * This,
+ /* [in] */ BOOL handled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )(
+ ICoreWebView2NewWindowRequestedEventArgs2 * This,
+ /* [retval][out] */ BOOL *handled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUserInitiated )(
+ ICoreWebView2NewWindowRequestedEventArgs2 * This,
+ /* [retval][out] */ BOOL *isUserInitiated);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDeferral )(
+ ICoreWebView2NewWindowRequestedEventArgs2 * This,
+ /* [retval][out] */ ICoreWebView2Deferral **deferral);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WindowFeatures )(
+ ICoreWebView2NewWindowRequestedEventArgs2 * This,
+ /* [retval][out] */ ICoreWebView2WindowFeatures **value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )(
+ ICoreWebView2NewWindowRequestedEventArgs2 * This,
+ /* [retval][out] */ LPWSTR *value);
+
+ END_INTERFACE
+ } ICoreWebView2NewWindowRequestedEventArgs2Vtbl;
+
+ interface ICoreWebView2NewWindowRequestedEventArgs2
+ {
+ CONST_VTBL struct ICoreWebView2NewWindowRequestedEventArgs2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2NewWindowRequestedEventArgs2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2NewWindowRequestedEventArgs2_get_Uri(This,uri) \
+ ( (This)->lpVtbl -> get_Uri(This,uri) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs2_put_NewWindow(This,newWindow) \
+ ( (This)->lpVtbl -> put_NewWindow(This,newWindow) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs2_get_NewWindow(This,newWindow) \
+ ( (This)->lpVtbl -> get_NewWindow(This,newWindow) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs2_put_Handled(This,handled) \
+ ( (This)->lpVtbl -> put_Handled(This,handled) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs2_get_Handled(This,handled) \
+ ( (This)->lpVtbl -> get_Handled(This,handled) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs2_get_IsUserInitiated(This,isUserInitiated) \
+ ( (This)->lpVtbl -> get_IsUserInitiated(This,isUserInitiated) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs2_GetDeferral(This,deferral) \
+ ( (This)->lpVtbl -> GetDeferral(This,deferral) )
+
+#define ICoreWebView2NewWindowRequestedEventArgs2_get_WindowFeatures(This,value) \
+ ( (This)->lpVtbl -> get_WindowFeatures(This,value) )
+
+
+#define ICoreWebView2NewWindowRequestedEventArgs2_get_Name(This,value) \
+ ( (This)->lpVtbl -> get_Name(This,value) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2NewWindowRequestedEventArgs2_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2NewWindowRequestedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2NewWindowRequestedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2NewWindowRequestedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2NewWindowRequestedEventHandler = {0xd4c185fe,0xc81c,0x4989,{0x97,0xaf,0x2d,0x3f,0xa7,0xab,0x56,0x51}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("d4c185fe-c81c-4989-97af-2d3fa7ab5651")
+ ICoreWebView2NewWindowRequestedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2NewWindowRequestedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2NewWindowRequestedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2NewWindowRequestedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2NewWindowRequestedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2NewWindowRequestedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2NewWindowRequestedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2NewWindowRequestedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2NewWindowRequestedEventHandlerVtbl;
+
+ interface ICoreWebView2NewWindowRequestedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2NewWindowRequestedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2NewWindowRequestedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2NewWindowRequestedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2NewWindowRequestedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2NewWindowRequestedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2NewWindowRequestedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2PermissionRequestedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2PermissionRequestedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2PermissionRequestedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2PermissionRequestedEventArgs = {0x973ae2ef,0xff18,0x4894,{0x8f,0xb2,0x3c,0x75,0x8f,0x04,0x68,0x10}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("973ae2ef-ff18-4894-8fb2-3c758f046810")
+ ICoreWebView2PermissionRequestedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Uri(
+ /* [retval][out] */ LPWSTR *uri) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PermissionKind(
+ /* [retval][out] */ COREWEBVIEW2_PERMISSION_KIND *permissionKind) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsUserInitiated(
+ /* [retval][out] */ BOOL *isUserInitiated) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_State(
+ /* [retval][out] */ COREWEBVIEW2_PERMISSION_STATE *state) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_State(
+ /* [in] */ COREWEBVIEW2_PERMISSION_STATE state) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDeferral(
+ /* [retval][out] */ ICoreWebView2Deferral **deferral) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2PermissionRequestedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2PermissionRequestedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2PermissionRequestedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2PermissionRequestedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )(
+ ICoreWebView2PermissionRequestedEventArgs * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PermissionKind )(
+ ICoreWebView2PermissionRequestedEventArgs * This,
+ /* [retval][out] */ COREWEBVIEW2_PERMISSION_KIND *permissionKind);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUserInitiated )(
+ ICoreWebView2PermissionRequestedEventArgs * This,
+ /* [retval][out] */ BOOL *isUserInitiated);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )(
+ ICoreWebView2PermissionRequestedEventArgs * This,
+ /* [retval][out] */ COREWEBVIEW2_PERMISSION_STATE *state);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_State )(
+ ICoreWebView2PermissionRequestedEventArgs * This,
+ /* [in] */ COREWEBVIEW2_PERMISSION_STATE state);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDeferral )(
+ ICoreWebView2PermissionRequestedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2Deferral **deferral);
+
+ END_INTERFACE
+ } ICoreWebView2PermissionRequestedEventArgsVtbl;
+
+ interface ICoreWebView2PermissionRequestedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2PermissionRequestedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2PermissionRequestedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2PermissionRequestedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2PermissionRequestedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2PermissionRequestedEventArgs_get_Uri(This,uri) \
+ ( (This)->lpVtbl -> get_Uri(This,uri) )
+
+#define ICoreWebView2PermissionRequestedEventArgs_get_PermissionKind(This,permissionKind) \
+ ( (This)->lpVtbl -> get_PermissionKind(This,permissionKind) )
+
+#define ICoreWebView2PermissionRequestedEventArgs_get_IsUserInitiated(This,isUserInitiated) \
+ ( (This)->lpVtbl -> get_IsUserInitiated(This,isUserInitiated) )
+
+#define ICoreWebView2PermissionRequestedEventArgs_get_State(This,state) \
+ ( (This)->lpVtbl -> get_State(This,state) )
+
+#define ICoreWebView2PermissionRequestedEventArgs_put_State(This,state) \
+ ( (This)->lpVtbl -> put_State(This,state) )
+
+#define ICoreWebView2PermissionRequestedEventArgs_GetDeferral(This,deferral) \
+ ( (This)->lpVtbl -> GetDeferral(This,deferral) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2PermissionRequestedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2PermissionRequestedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2PermissionRequestedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2PermissionRequestedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2PermissionRequestedEventHandler = {0x15e1c6a3,0xc72a,0x4df3,{0x91,0xd7,0xd0,0x97,0xfb,0xec,0x6b,0xfd}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("15e1c6a3-c72a-4df3-91d7-d097fbec6bfd")
+ ICoreWebView2PermissionRequestedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2PermissionRequestedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2PermissionRequestedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2PermissionRequestedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2PermissionRequestedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2PermissionRequestedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2PermissionRequestedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2PermissionRequestedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2PermissionRequestedEventHandlerVtbl;
+
+ interface ICoreWebView2PermissionRequestedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2PermissionRequestedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2PermissionRequestedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2PermissionRequestedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2PermissionRequestedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2PermissionRequestedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2PermissionRequestedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2PointerInfo_INTERFACE_DEFINED__
+#define __ICoreWebView2PointerInfo_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2PointerInfo */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2PointerInfo = {0xe6995887,0xd10d,0x4f5d,{0x93,0x59,0x4c,0xe4,0x6e,0x4f,0x96,0xb9}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("e6995887-d10d-4f5d-9359-4ce46e4f96b9")
+ ICoreWebView2PointerInfo : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointerKind(
+ /* [retval][out] */ DWORD *pointerKind) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PointerKind(
+ /* [in] */ DWORD pointerKind) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointerId(
+ /* [retval][out] */ UINT32 *pointerId) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PointerId(
+ /* [in] */ UINT32 pointerId) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameId(
+ /* [retval][out] */ UINT32 *frameId) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FrameId(
+ /* [in] */ UINT32 frameId) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointerFlags(
+ /* [retval][out] */ UINT32 *pointerFlags) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PointerFlags(
+ /* [in] */ UINT32 pointerFlags) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PointerDeviceRect(
+ /* [retval][out] */ RECT *pointerDeviceRect) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PointerDeviceRect(
+ /* [in] */ RECT pointerDeviceRect) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DisplayRect(
+ /* [retval][out] */ RECT *displayRect) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DisplayRect(
+ /* [in] */ RECT displayRect) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PixelLocation(
+ /* [retval][out] */ POINT *pixelLocation) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PixelLocation(
+ /* [in] */ POINT pixelLocation) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HimetricLocation(
+ /* [retval][out] */ POINT *himetricLocation) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HimetricLocation(
+ /* [in] */ POINT himetricLocation) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PixelLocationRaw(
+ /* [retval][out] */ POINT *pixelLocationRaw) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PixelLocationRaw(
+ /* [in] */ POINT pixelLocationRaw) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HimetricLocationRaw(
+ /* [retval][out] */ POINT *himetricLocationRaw) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HimetricLocationRaw(
+ /* [in] */ POINT himetricLocationRaw) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Time(
+ /* [retval][out] */ DWORD *time) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Time(
+ /* [in] */ DWORD time) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HistoryCount(
+ /* [retval][out] */ UINT32 *historyCount) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HistoryCount(
+ /* [in] */ UINT32 historyCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InputData(
+ /* [retval][out] */ INT32 *inputData) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_InputData(
+ /* [in] */ INT32 inputData) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeyStates(
+ /* [retval][out] */ DWORD *keyStates) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_KeyStates(
+ /* [in] */ DWORD keyStates) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PerformanceCount(
+ /* [retval][out] */ UINT64 *performanceCount) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PerformanceCount(
+ /* [in] */ UINT64 performanceCount) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ButtonChangeKind(
+ /* [retval][out] */ INT32 *buttonChangeKind) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ButtonChangeKind(
+ /* [in] */ INT32 buttonChangeKind) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PenFlags(
+ /* [retval][out] */ UINT32 *penFLags) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PenFlags(
+ /* [in] */ UINT32 penFLags) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PenMask(
+ /* [retval][out] */ UINT32 *penMask) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PenMask(
+ /* [in] */ UINT32 penMask) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PenPressure(
+ /* [retval][out] */ UINT32 *penPressure) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PenPressure(
+ /* [in] */ UINT32 penPressure) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PenRotation(
+ /* [retval][out] */ UINT32 *penRotation) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PenRotation(
+ /* [in] */ UINT32 penRotation) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PenTiltX(
+ /* [retval][out] */ INT32 *penTiltX) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PenTiltX(
+ /* [in] */ INT32 penTiltX) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PenTiltY(
+ /* [retval][out] */ INT32 *penTiltY) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PenTiltY(
+ /* [in] */ INT32 penTiltY) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TouchFlags(
+ /* [retval][out] */ UINT32 *touchFlags) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TouchFlags(
+ /* [in] */ UINT32 touchFlags) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TouchMask(
+ /* [retval][out] */ UINT32 *touchMask) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TouchMask(
+ /* [in] */ UINT32 touchMask) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TouchContact(
+ /* [retval][out] */ RECT *touchContact) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TouchContact(
+ /* [in] */ RECT touchContact) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TouchContactRaw(
+ /* [retval][out] */ RECT *touchContactRaw) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TouchContactRaw(
+ /* [in] */ RECT touchContactRaw) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TouchOrientation(
+ /* [retval][out] */ UINT32 *touchOrientation) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TouchOrientation(
+ /* [in] */ UINT32 touchOrientation) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TouchPressure(
+ /* [retval][out] */ UINT32 *touchPressure) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TouchPressure(
+ /* [in] */ UINT32 touchPressure) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2PointerInfoVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2PointerInfo * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2PointerInfo * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerKind )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ DWORD *pointerKind);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PointerKind )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ DWORD pointerKind);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerId )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ UINT32 *pointerId);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PointerId )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ UINT32 pointerId);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameId )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ UINT32 *frameId);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FrameId )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ UINT32 frameId);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerFlags )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ UINT32 *pointerFlags);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PointerFlags )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ UINT32 pointerFlags);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerDeviceRect )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ RECT *pointerDeviceRect);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PointerDeviceRect )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ RECT pointerDeviceRect);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayRect )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ RECT *displayRect);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayRect )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ RECT displayRect);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PixelLocation )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ POINT *pixelLocation);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PixelLocation )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ POINT pixelLocation);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HimetricLocation )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ POINT *himetricLocation);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HimetricLocation )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ POINT himetricLocation);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PixelLocationRaw )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ POINT *pixelLocationRaw);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PixelLocationRaw )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ POINT pixelLocationRaw);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HimetricLocationRaw )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ POINT *himetricLocationRaw);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HimetricLocationRaw )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ POINT himetricLocationRaw);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ DWORD *time);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Time )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ DWORD time);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HistoryCount )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ UINT32 *historyCount);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HistoryCount )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ UINT32 historyCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InputData )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ INT32 *inputData);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_InputData )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ INT32 inputData);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyStates )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ DWORD *keyStates);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeyStates )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ DWORD keyStates);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PerformanceCount )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ UINT64 *performanceCount);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PerformanceCount )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ UINT64 performanceCount);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ButtonChangeKind )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ INT32 *buttonChangeKind);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ButtonChangeKind )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ INT32 buttonChangeKind);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PenFlags )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ UINT32 *penFLags);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PenFlags )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ UINT32 penFLags);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PenMask )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ UINT32 *penMask);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PenMask )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ UINT32 penMask);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PenPressure )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ UINT32 *penPressure);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PenPressure )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ UINT32 penPressure);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PenRotation )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ UINT32 *penRotation);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PenRotation )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ UINT32 penRotation);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PenTiltX )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ INT32 *penTiltX);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PenTiltX )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ INT32 penTiltX);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PenTiltY )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ INT32 *penTiltY);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PenTiltY )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ INT32 penTiltY);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TouchFlags )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ UINT32 *touchFlags);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TouchFlags )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ UINT32 touchFlags);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TouchMask )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ UINT32 *touchMask);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TouchMask )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ UINT32 touchMask);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TouchContact )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ RECT *touchContact);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TouchContact )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ RECT touchContact);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TouchContactRaw )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ RECT *touchContactRaw);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TouchContactRaw )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ RECT touchContactRaw);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TouchOrientation )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ UINT32 *touchOrientation);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TouchOrientation )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ UINT32 touchOrientation);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TouchPressure )(
+ ICoreWebView2PointerInfo * This,
+ /* [retval][out] */ UINT32 *touchPressure);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TouchPressure )(
+ ICoreWebView2PointerInfo * This,
+ /* [in] */ UINT32 touchPressure);
+
+ END_INTERFACE
+ } ICoreWebView2PointerInfoVtbl;
+
+ interface ICoreWebView2PointerInfo
+ {
+ CONST_VTBL struct ICoreWebView2PointerInfoVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2PointerInfo_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2PointerInfo_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2PointerInfo_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2PointerInfo_get_PointerKind(This,pointerKind) \
+ ( (This)->lpVtbl -> get_PointerKind(This,pointerKind) )
+
+#define ICoreWebView2PointerInfo_put_PointerKind(This,pointerKind) \
+ ( (This)->lpVtbl -> put_PointerKind(This,pointerKind) )
+
+#define ICoreWebView2PointerInfo_get_PointerId(This,pointerId) \
+ ( (This)->lpVtbl -> get_PointerId(This,pointerId) )
+
+#define ICoreWebView2PointerInfo_put_PointerId(This,pointerId) \
+ ( (This)->lpVtbl -> put_PointerId(This,pointerId) )
+
+#define ICoreWebView2PointerInfo_get_FrameId(This,frameId) \
+ ( (This)->lpVtbl -> get_FrameId(This,frameId) )
+
+#define ICoreWebView2PointerInfo_put_FrameId(This,frameId) \
+ ( (This)->lpVtbl -> put_FrameId(This,frameId) )
+
+#define ICoreWebView2PointerInfo_get_PointerFlags(This,pointerFlags) \
+ ( (This)->lpVtbl -> get_PointerFlags(This,pointerFlags) )
+
+#define ICoreWebView2PointerInfo_put_PointerFlags(This,pointerFlags) \
+ ( (This)->lpVtbl -> put_PointerFlags(This,pointerFlags) )
+
+#define ICoreWebView2PointerInfo_get_PointerDeviceRect(This,pointerDeviceRect) \
+ ( (This)->lpVtbl -> get_PointerDeviceRect(This,pointerDeviceRect) )
+
+#define ICoreWebView2PointerInfo_put_PointerDeviceRect(This,pointerDeviceRect) \
+ ( (This)->lpVtbl -> put_PointerDeviceRect(This,pointerDeviceRect) )
+
+#define ICoreWebView2PointerInfo_get_DisplayRect(This,displayRect) \
+ ( (This)->lpVtbl -> get_DisplayRect(This,displayRect) )
+
+#define ICoreWebView2PointerInfo_put_DisplayRect(This,displayRect) \
+ ( (This)->lpVtbl -> put_DisplayRect(This,displayRect) )
+
+#define ICoreWebView2PointerInfo_get_PixelLocation(This,pixelLocation) \
+ ( (This)->lpVtbl -> get_PixelLocation(This,pixelLocation) )
+
+#define ICoreWebView2PointerInfo_put_PixelLocation(This,pixelLocation) \
+ ( (This)->lpVtbl -> put_PixelLocation(This,pixelLocation) )
+
+#define ICoreWebView2PointerInfo_get_HimetricLocation(This,himetricLocation) \
+ ( (This)->lpVtbl -> get_HimetricLocation(This,himetricLocation) )
+
+#define ICoreWebView2PointerInfo_put_HimetricLocation(This,himetricLocation) \
+ ( (This)->lpVtbl -> put_HimetricLocation(This,himetricLocation) )
+
+#define ICoreWebView2PointerInfo_get_PixelLocationRaw(This,pixelLocationRaw) \
+ ( (This)->lpVtbl -> get_PixelLocationRaw(This,pixelLocationRaw) )
+
+#define ICoreWebView2PointerInfo_put_PixelLocationRaw(This,pixelLocationRaw) \
+ ( (This)->lpVtbl -> put_PixelLocationRaw(This,pixelLocationRaw) )
+
+#define ICoreWebView2PointerInfo_get_HimetricLocationRaw(This,himetricLocationRaw) \
+ ( (This)->lpVtbl -> get_HimetricLocationRaw(This,himetricLocationRaw) )
+
+#define ICoreWebView2PointerInfo_put_HimetricLocationRaw(This,himetricLocationRaw) \
+ ( (This)->lpVtbl -> put_HimetricLocationRaw(This,himetricLocationRaw) )
+
+#define ICoreWebView2PointerInfo_get_Time(This,time) \
+ ( (This)->lpVtbl -> get_Time(This,time) )
+
+#define ICoreWebView2PointerInfo_put_Time(This,time) \
+ ( (This)->lpVtbl -> put_Time(This,time) )
+
+#define ICoreWebView2PointerInfo_get_HistoryCount(This,historyCount) \
+ ( (This)->lpVtbl -> get_HistoryCount(This,historyCount) )
+
+#define ICoreWebView2PointerInfo_put_HistoryCount(This,historyCount) \
+ ( (This)->lpVtbl -> put_HistoryCount(This,historyCount) )
+
+#define ICoreWebView2PointerInfo_get_InputData(This,inputData) \
+ ( (This)->lpVtbl -> get_InputData(This,inputData) )
+
+#define ICoreWebView2PointerInfo_put_InputData(This,inputData) \
+ ( (This)->lpVtbl -> put_InputData(This,inputData) )
+
+#define ICoreWebView2PointerInfo_get_KeyStates(This,keyStates) \
+ ( (This)->lpVtbl -> get_KeyStates(This,keyStates) )
+
+#define ICoreWebView2PointerInfo_put_KeyStates(This,keyStates) \
+ ( (This)->lpVtbl -> put_KeyStates(This,keyStates) )
+
+#define ICoreWebView2PointerInfo_get_PerformanceCount(This,performanceCount) \
+ ( (This)->lpVtbl -> get_PerformanceCount(This,performanceCount) )
+
+#define ICoreWebView2PointerInfo_put_PerformanceCount(This,performanceCount) \
+ ( (This)->lpVtbl -> put_PerformanceCount(This,performanceCount) )
+
+#define ICoreWebView2PointerInfo_get_ButtonChangeKind(This,buttonChangeKind) \
+ ( (This)->lpVtbl -> get_ButtonChangeKind(This,buttonChangeKind) )
+
+#define ICoreWebView2PointerInfo_put_ButtonChangeKind(This,buttonChangeKind) \
+ ( (This)->lpVtbl -> put_ButtonChangeKind(This,buttonChangeKind) )
+
+#define ICoreWebView2PointerInfo_get_PenFlags(This,penFLags) \
+ ( (This)->lpVtbl -> get_PenFlags(This,penFLags) )
+
+#define ICoreWebView2PointerInfo_put_PenFlags(This,penFLags) \
+ ( (This)->lpVtbl -> put_PenFlags(This,penFLags) )
+
+#define ICoreWebView2PointerInfo_get_PenMask(This,penMask) \
+ ( (This)->lpVtbl -> get_PenMask(This,penMask) )
+
+#define ICoreWebView2PointerInfo_put_PenMask(This,penMask) \
+ ( (This)->lpVtbl -> put_PenMask(This,penMask) )
+
+#define ICoreWebView2PointerInfo_get_PenPressure(This,penPressure) \
+ ( (This)->lpVtbl -> get_PenPressure(This,penPressure) )
+
+#define ICoreWebView2PointerInfo_put_PenPressure(This,penPressure) \
+ ( (This)->lpVtbl -> put_PenPressure(This,penPressure) )
+
+#define ICoreWebView2PointerInfo_get_PenRotation(This,penRotation) \
+ ( (This)->lpVtbl -> get_PenRotation(This,penRotation) )
+
+#define ICoreWebView2PointerInfo_put_PenRotation(This,penRotation) \
+ ( (This)->lpVtbl -> put_PenRotation(This,penRotation) )
+
+#define ICoreWebView2PointerInfo_get_PenTiltX(This,penTiltX) \
+ ( (This)->lpVtbl -> get_PenTiltX(This,penTiltX) )
+
+#define ICoreWebView2PointerInfo_put_PenTiltX(This,penTiltX) \
+ ( (This)->lpVtbl -> put_PenTiltX(This,penTiltX) )
+
+#define ICoreWebView2PointerInfo_get_PenTiltY(This,penTiltY) \
+ ( (This)->lpVtbl -> get_PenTiltY(This,penTiltY) )
+
+#define ICoreWebView2PointerInfo_put_PenTiltY(This,penTiltY) \
+ ( (This)->lpVtbl -> put_PenTiltY(This,penTiltY) )
+
+#define ICoreWebView2PointerInfo_get_TouchFlags(This,touchFlags) \
+ ( (This)->lpVtbl -> get_TouchFlags(This,touchFlags) )
+
+#define ICoreWebView2PointerInfo_put_TouchFlags(This,touchFlags) \
+ ( (This)->lpVtbl -> put_TouchFlags(This,touchFlags) )
+
+#define ICoreWebView2PointerInfo_get_TouchMask(This,touchMask) \
+ ( (This)->lpVtbl -> get_TouchMask(This,touchMask) )
+
+#define ICoreWebView2PointerInfo_put_TouchMask(This,touchMask) \
+ ( (This)->lpVtbl -> put_TouchMask(This,touchMask) )
+
+#define ICoreWebView2PointerInfo_get_TouchContact(This,touchContact) \
+ ( (This)->lpVtbl -> get_TouchContact(This,touchContact) )
+
+#define ICoreWebView2PointerInfo_put_TouchContact(This,touchContact) \
+ ( (This)->lpVtbl -> put_TouchContact(This,touchContact) )
+
+#define ICoreWebView2PointerInfo_get_TouchContactRaw(This,touchContactRaw) \
+ ( (This)->lpVtbl -> get_TouchContactRaw(This,touchContactRaw) )
+
+#define ICoreWebView2PointerInfo_put_TouchContactRaw(This,touchContactRaw) \
+ ( (This)->lpVtbl -> put_TouchContactRaw(This,touchContactRaw) )
+
+#define ICoreWebView2PointerInfo_get_TouchOrientation(This,touchOrientation) \
+ ( (This)->lpVtbl -> get_TouchOrientation(This,touchOrientation) )
+
+#define ICoreWebView2PointerInfo_put_TouchOrientation(This,touchOrientation) \
+ ( (This)->lpVtbl -> put_TouchOrientation(This,touchOrientation) )
+
+#define ICoreWebView2PointerInfo_get_TouchPressure(This,touchPressure) \
+ ( (This)->lpVtbl -> get_TouchPressure(This,touchPressure) )
+
+#define ICoreWebView2PointerInfo_put_TouchPressure(This,touchPressure) \
+ ( (This)->lpVtbl -> put_TouchPressure(This,touchPressure) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2PointerInfo_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2PrintSettings_INTERFACE_DEFINED__
+#define __ICoreWebView2PrintSettings_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2PrintSettings */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2PrintSettings = {0x377f3721,0xc74e,0x48ca,{0x8d,0xb1,0xdf,0x68,0xe5,0x1d,0x60,0xe2}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("377f3721-c74e-48ca-8db1-df68e51d60e2")
+ ICoreWebView2PrintSettings : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Orientation(
+ /* [retval][out] */ COREWEBVIEW2_PRINT_ORIENTATION *orientation) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Orientation(
+ /* [in] */ COREWEBVIEW2_PRINT_ORIENTATION orientation) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor(
+ /* [retval][out] */ double *scaleFactor) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor(
+ /* [in] */ double scaleFactor) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PageWidth(
+ /* [retval][out] */ double *pageWidth) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PageWidth(
+ /* [in] */ double pageWidth) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PageHeight(
+ /* [retval][out] */ double *pageHeight) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PageHeight(
+ /* [in] */ double pageHeight) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MarginTop(
+ /* [retval][out] */ double *marginTop) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MarginTop(
+ /* [in] */ double marginTop) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MarginBottom(
+ /* [retval][out] */ double *marginBottom) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MarginBottom(
+ /* [in] */ double marginBottom) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MarginLeft(
+ /* [retval][out] */ double *marginLeft) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MarginLeft(
+ /* [in] */ double marginLeft) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MarginRight(
+ /* [retval][out] */ double *marginRight) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MarginRight(
+ /* [in] */ double marginRight) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ShouldPrintBackgrounds(
+ /* [retval][out] */ BOOL *shouldPrintBackgrounds) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ShouldPrintBackgrounds(
+ /* [in] */ BOOL shouldPrintBackgrounds) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ShouldPrintSelectionOnly(
+ /* [retval][out] */ BOOL *shouldPrintSelectionOnly) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ShouldPrintSelectionOnly(
+ /* [in] */ BOOL shouldPrintSelectionOnly) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ShouldPrintHeaderAndFooter(
+ /* [retval][out] */ BOOL *shouldPrintHeaderAndFooter) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ShouldPrintHeaderAndFooter(
+ /* [in] */ BOOL shouldPrintHeaderAndFooter) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HeaderTitle(
+ /* [retval][out] */ LPWSTR *headerTitle) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HeaderTitle(
+ /* [in] */ LPCWSTR headerTitle) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FooterUri(
+ /* [retval][out] */ LPWSTR *footerUri) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_FooterUri(
+ /* [in] */ LPCWSTR footerUri) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2PrintSettingsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2PrintSettings * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2PrintSettings * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2PrintSettings * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Orientation )(
+ ICoreWebView2PrintSettings * This,
+ /* [retval][out] */ COREWEBVIEW2_PRINT_ORIENTATION *orientation);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Orientation )(
+ ICoreWebView2PrintSettings * This,
+ /* [in] */ COREWEBVIEW2_PRINT_ORIENTATION orientation);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )(
+ ICoreWebView2PrintSettings * This,
+ /* [retval][out] */ double *scaleFactor);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )(
+ ICoreWebView2PrintSettings * This,
+ /* [in] */ double scaleFactor);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PageWidth )(
+ ICoreWebView2PrintSettings * This,
+ /* [retval][out] */ double *pageWidth);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PageWidth )(
+ ICoreWebView2PrintSettings * This,
+ /* [in] */ double pageWidth);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PageHeight )(
+ ICoreWebView2PrintSettings * This,
+ /* [retval][out] */ double *pageHeight);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PageHeight )(
+ ICoreWebView2PrintSettings * This,
+ /* [in] */ double pageHeight);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginTop )(
+ ICoreWebView2PrintSettings * This,
+ /* [retval][out] */ double *marginTop);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginTop )(
+ ICoreWebView2PrintSettings * This,
+ /* [in] */ double marginTop);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginBottom )(
+ ICoreWebView2PrintSettings * This,
+ /* [retval][out] */ double *marginBottom);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginBottom )(
+ ICoreWebView2PrintSettings * This,
+ /* [in] */ double marginBottom);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginLeft )(
+ ICoreWebView2PrintSettings * This,
+ /* [retval][out] */ double *marginLeft);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginLeft )(
+ ICoreWebView2PrintSettings * This,
+ /* [in] */ double marginLeft);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginRight )(
+ ICoreWebView2PrintSettings * This,
+ /* [retval][out] */ double *marginRight);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginRight )(
+ ICoreWebView2PrintSettings * This,
+ /* [in] */ double marginRight);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldPrintBackgrounds )(
+ ICoreWebView2PrintSettings * This,
+ /* [retval][out] */ BOOL *shouldPrintBackgrounds);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShouldPrintBackgrounds )(
+ ICoreWebView2PrintSettings * This,
+ /* [in] */ BOOL shouldPrintBackgrounds);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldPrintSelectionOnly )(
+ ICoreWebView2PrintSettings * This,
+ /* [retval][out] */ BOOL *shouldPrintSelectionOnly);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShouldPrintSelectionOnly )(
+ ICoreWebView2PrintSettings * This,
+ /* [in] */ BOOL shouldPrintSelectionOnly);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldPrintHeaderAndFooter )(
+ ICoreWebView2PrintSettings * This,
+ /* [retval][out] */ BOOL *shouldPrintHeaderAndFooter);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShouldPrintHeaderAndFooter )(
+ ICoreWebView2PrintSettings * This,
+ /* [in] */ BOOL shouldPrintHeaderAndFooter);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HeaderTitle )(
+ ICoreWebView2PrintSettings * This,
+ /* [retval][out] */ LPWSTR *headerTitle);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HeaderTitle )(
+ ICoreWebView2PrintSettings * This,
+ /* [in] */ LPCWSTR headerTitle);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FooterUri )(
+ ICoreWebView2PrintSettings * This,
+ /* [retval][out] */ LPWSTR *footerUri);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FooterUri )(
+ ICoreWebView2PrintSettings * This,
+ /* [in] */ LPCWSTR footerUri);
+
+ END_INTERFACE
+ } ICoreWebView2PrintSettingsVtbl;
+
+ interface ICoreWebView2PrintSettings
+ {
+ CONST_VTBL struct ICoreWebView2PrintSettingsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2PrintSettings_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2PrintSettings_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2PrintSettings_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2PrintSettings_get_Orientation(This,orientation) \
+ ( (This)->lpVtbl -> get_Orientation(This,orientation) )
+
+#define ICoreWebView2PrintSettings_put_Orientation(This,orientation) \
+ ( (This)->lpVtbl -> put_Orientation(This,orientation) )
+
+#define ICoreWebView2PrintSettings_get_ScaleFactor(This,scaleFactor) \
+ ( (This)->lpVtbl -> get_ScaleFactor(This,scaleFactor) )
+
+#define ICoreWebView2PrintSettings_put_ScaleFactor(This,scaleFactor) \
+ ( (This)->lpVtbl -> put_ScaleFactor(This,scaleFactor) )
+
+#define ICoreWebView2PrintSettings_get_PageWidth(This,pageWidth) \
+ ( (This)->lpVtbl -> get_PageWidth(This,pageWidth) )
+
+#define ICoreWebView2PrintSettings_put_PageWidth(This,pageWidth) \
+ ( (This)->lpVtbl -> put_PageWidth(This,pageWidth) )
+
+#define ICoreWebView2PrintSettings_get_PageHeight(This,pageHeight) \
+ ( (This)->lpVtbl -> get_PageHeight(This,pageHeight) )
+
+#define ICoreWebView2PrintSettings_put_PageHeight(This,pageHeight) \
+ ( (This)->lpVtbl -> put_PageHeight(This,pageHeight) )
+
+#define ICoreWebView2PrintSettings_get_MarginTop(This,marginTop) \
+ ( (This)->lpVtbl -> get_MarginTop(This,marginTop) )
+
+#define ICoreWebView2PrintSettings_put_MarginTop(This,marginTop) \
+ ( (This)->lpVtbl -> put_MarginTop(This,marginTop) )
+
+#define ICoreWebView2PrintSettings_get_MarginBottom(This,marginBottom) \
+ ( (This)->lpVtbl -> get_MarginBottom(This,marginBottom) )
+
+#define ICoreWebView2PrintSettings_put_MarginBottom(This,marginBottom) \
+ ( (This)->lpVtbl -> put_MarginBottom(This,marginBottom) )
+
+#define ICoreWebView2PrintSettings_get_MarginLeft(This,marginLeft) \
+ ( (This)->lpVtbl -> get_MarginLeft(This,marginLeft) )
+
+#define ICoreWebView2PrintSettings_put_MarginLeft(This,marginLeft) \
+ ( (This)->lpVtbl -> put_MarginLeft(This,marginLeft) )
+
+#define ICoreWebView2PrintSettings_get_MarginRight(This,marginRight) \
+ ( (This)->lpVtbl -> get_MarginRight(This,marginRight) )
+
+#define ICoreWebView2PrintSettings_put_MarginRight(This,marginRight) \
+ ( (This)->lpVtbl -> put_MarginRight(This,marginRight) )
+
+#define ICoreWebView2PrintSettings_get_ShouldPrintBackgrounds(This,shouldPrintBackgrounds) \
+ ( (This)->lpVtbl -> get_ShouldPrintBackgrounds(This,shouldPrintBackgrounds) )
+
+#define ICoreWebView2PrintSettings_put_ShouldPrintBackgrounds(This,shouldPrintBackgrounds) \
+ ( (This)->lpVtbl -> put_ShouldPrintBackgrounds(This,shouldPrintBackgrounds) )
+
+#define ICoreWebView2PrintSettings_get_ShouldPrintSelectionOnly(This,shouldPrintSelectionOnly) \
+ ( (This)->lpVtbl -> get_ShouldPrintSelectionOnly(This,shouldPrintSelectionOnly) )
+
+#define ICoreWebView2PrintSettings_put_ShouldPrintSelectionOnly(This,shouldPrintSelectionOnly) \
+ ( (This)->lpVtbl -> put_ShouldPrintSelectionOnly(This,shouldPrintSelectionOnly) )
+
+#define ICoreWebView2PrintSettings_get_ShouldPrintHeaderAndFooter(This,shouldPrintHeaderAndFooter) \
+ ( (This)->lpVtbl -> get_ShouldPrintHeaderAndFooter(This,shouldPrintHeaderAndFooter) )
+
+#define ICoreWebView2PrintSettings_put_ShouldPrintHeaderAndFooter(This,shouldPrintHeaderAndFooter) \
+ ( (This)->lpVtbl -> put_ShouldPrintHeaderAndFooter(This,shouldPrintHeaderAndFooter) )
+
+#define ICoreWebView2PrintSettings_get_HeaderTitle(This,headerTitle) \
+ ( (This)->lpVtbl -> get_HeaderTitle(This,headerTitle) )
+
+#define ICoreWebView2PrintSettings_put_HeaderTitle(This,headerTitle) \
+ ( (This)->lpVtbl -> put_HeaderTitle(This,headerTitle) )
+
+#define ICoreWebView2PrintSettings_get_FooterUri(This,footerUri) \
+ ( (This)->lpVtbl -> get_FooterUri(This,footerUri) )
+
+#define ICoreWebView2PrintSettings_put_FooterUri(This,footerUri) \
+ ( (This)->lpVtbl -> put_FooterUri(This,footerUri) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2PrintSettings_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2PrintToPdfCompletedHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2PrintToPdfCompletedHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2PrintToPdfCompletedHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2PrintToPdfCompletedHandler = {0xccf1ef04,0xfd8e,0x4d5f,{0xb2,0xde,0x09,0x83,0xe4,0x1b,0x8c,0x36}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("ccf1ef04-fd8e-4d5f-b2de-0983e41b8c36")
+ ICoreWebView2PrintToPdfCompletedHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ HRESULT errorCode,
+ BOOL isSuccessful) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2PrintToPdfCompletedHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2PrintToPdfCompletedHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2PrintToPdfCompletedHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2PrintToPdfCompletedHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2PrintToPdfCompletedHandler * This,
+ /* [in] */ HRESULT errorCode,
+ BOOL isSuccessful);
+
+ END_INTERFACE
+ } ICoreWebView2PrintToPdfCompletedHandlerVtbl;
+
+ interface ICoreWebView2PrintToPdfCompletedHandler
+ {
+ CONST_VTBL struct ICoreWebView2PrintToPdfCompletedHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2PrintToPdfCompletedHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2PrintToPdfCompletedHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2PrintToPdfCompletedHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2PrintToPdfCompletedHandler_Invoke(This,errorCode,isSuccessful) \
+ ( (This)->lpVtbl -> Invoke(This,errorCode,isSuccessful) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2PrintToPdfCompletedHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ProcessFailedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2ProcessFailedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ProcessFailedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ProcessFailedEventArgs = {0x8155a9a4,0x1474,0x4a86,{0x8c,0xae,0x15,0x1b,0x0f,0xa6,0xb8,0xca}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("8155a9a4-1474-4a86-8cae-151b0fa6b8ca")
+ ICoreWebView2ProcessFailedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProcessFailedKind(
+ /* [retval][out] */ COREWEBVIEW2_PROCESS_FAILED_KIND *processFailedKind) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ProcessFailedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ProcessFailedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ProcessFailedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ProcessFailedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProcessFailedKind )(
+ ICoreWebView2ProcessFailedEventArgs * This,
+ /* [retval][out] */ COREWEBVIEW2_PROCESS_FAILED_KIND *processFailedKind);
+
+ END_INTERFACE
+ } ICoreWebView2ProcessFailedEventArgsVtbl;
+
+ interface ICoreWebView2ProcessFailedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2ProcessFailedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ProcessFailedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ProcessFailedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ProcessFailedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ProcessFailedEventArgs_get_ProcessFailedKind(This,processFailedKind) \
+ ( (This)->lpVtbl -> get_ProcessFailedKind(This,processFailedKind) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ProcessFailedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ProcessFailedEventArgs2_INTERFACE_DEFINED__
+#define __ICoreWebView2ProcessFailedEventArgs2_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ProcessFailedEventArgs2 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ProcessFailedEventArgs2 = {0x4dab9422,0x46fa,0x4c3e,{0xa5,0xd2,0x41,0xd2,0x07,0x1d,0x36,0x80}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("4dab9422-46fa-4c3e-a5d2-41d2071d3680")
+ ICoreWebView2ProcessFailedEventArgs2 : public ICoreWebView2ProcessFailedEventArgs
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Reason(
+ /* [retval][out] */ COREWEBVIEW2_PROCESS_FAILED_REASON *reason) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExitCode(
+ /* [retval][out] */ int *exitCode) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProcessDescription(
+ /* [retval][out] */ LPWSTR *processDescription) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameInfosForFailedProcess(
+ /* [retval][out] */ ICoreWebView2FrameInfoCollection **frames) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ProcessFailedEventArgs2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ProcessFailedEventArgs2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ProcessFailedEventArgs2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ProcessFailedEventArgs2 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProcessFailedKind )(
+ ICoreWebView2ProcessFailedEventArgs2 * This,
+ /* [retval][out] */ COREWEBVIEW2_PROCESS_FAILED_KIND *processFailedKind);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Reason )(
+ ICoreWebView2ProcessFailedEventArgs2 * This,
+ /* [retval][out] */ COREWEBVIEW2_PROCESS_FAILED_REASON *reason);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExitCode )(
+ ICoreWebView2ProcessFailedEventArgs2 * This,
+ /* [retval][out] */ int *exitCode);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProcessDescription )(
+ ICoreWebView2ProcessFailedEventArgs2 * This,
+ /* [retval][out] */ LPWSTR *processDescription);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameInfosForFailedProcess )(
+ ICoreWebView2ProcessFailedEventArgs2 * This,
+ /* [retval][out] */ ICoreWebView2FrameInfoCollection **frames);
+
+ END_INTERFACE
+ } ICoreWebView2ProcessFailedEventArgs2Vtbl;
+
+ interface ICoreWebView2ProcessFailedEventArgs2
+ {
+ CONST_VTBL struct ICoreWebView2ProcessFailedEventArgs2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ProcessFailedEventArgs2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ProcessFailedEventArgs2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ProcessFailedEventArgs2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ProcessFailedEventArgs2_get_ProcessFailedKind(This,processFailedKind) \
+ ( (This)->lpVtbl -> get_ProcessFailedKind(This,processFailedKind) )
+
+
+#define ICoreWebView2ProcessFailedEventArgs2_get_Reason(This,reason) \
+ ( (This)->lpVtbl -> get_Reason(This,reason) )
+
+#define ICoreWebView2ProcessFailedEventArgs2_get_ExitCode(This,exitCode) \
+ ( (This)->lpVtbl -> get_ExitCode(This,exitCode) )
+
+#define ICoreWebView2ProcessFailedEventArgs2_get_ProcessDescription(This,processDescription) \
+ ( (This)->lpVtbl -> get_ProcessDescription(This,processDescription) )
+
+#define ICoreWebView2ProcessFailedEventArgs2_get_FrameInfosForFailedProcess(This,frames) \
+ ( (This)->lpVtbl -> get_FrameInfosForFailedProcess(This,frames) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ProcessFailedEventArgs2_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ProcessFailedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2ProcessFailedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ProcessFailedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ProcessFailedEventHandler = {0x79e0aea4,0x990b,0x42d9,{0xaa,0x1d,0x0f,0xcc,0x2e,0x5b,0xc7,0xf1}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("79e0aea4-990b-42d9-aa1d-0fcc2e5bc7f1")
+ ICoreWebView2ProcessFailedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2ProcessFailedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ProcessFailedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ProcessFailedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ProcessFailedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ProcessFailedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2ProcessFailedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2ProcessFailedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2ProcessFailedEventHandlerVtbl;
+
+ interface ICoreWebView2ProcessFailedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2ProcessFailedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ProcessFailedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ProcessFailedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ProcessFailedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ProcessFailedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ProcessFailedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2RasterizationScaleChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2RasterizationScaleChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2RasterizationScaleChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2RasterizationScaleChangedEventHandler = {0x9c98c8b1,0xac53,0x427e,{0xa3,0x45,0x30,0x49,0xb5,0x52,0x4b,0xbe}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("9c98c8b1-ac53-427e-a345-3049b5524bbe")
+ ICoreWebView2RasterizationScaleChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2Controller *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2RasterizationScaleChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2RasterizationScaleChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2RasterizationScaleChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2RasterizationScaleChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2RasterizationScaleChangedEventHandler * This,
+ /* [in] */ ICoreWebView2Controller *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2RasterizationScaleChangedEventHandlerVtbl;
+
+ interface ICoreWebView2RasterizationScaleChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2RasterizationScaleChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2RasterizationScaleChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2RasterizationScaleChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2RasterizationScaleChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2RasterizationScaleChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2RasterizationScaleChangedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ScriptDialogOpeningEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2ScriptDialogOpeningEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ScriptDialogOpeningEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ScriptDialogOpeningEventArgs = {0x7390bb70,0xabe0,0x4843,{0x95,0x29,0xf1,0x43,0xb3,0x1b,0x03,0xd6}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("7390bb70-abe0-4843-9529-f143b31b03d6")
+ ICoreWebView2ScriptDialogOpeningEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Uri(
+ /* [retval][out] */ LPWSTR *uri) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Kind(
+ /* [retval][out] */ COREWEBVIEW2_SCRIPT_DIALOG_KIND *kind) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Message(
+ /* [retval][out] */ LPWSTR *message) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE Accept( void) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultText(
+ /* [retval][out] */ LPWSTR *defaultText) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ResultText(
+ /* [retval][out] */ LPWSTR *resultText) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ResultText(
+ /* [in] */ LPCWSTR resultText) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDeferral(
+ /* [retval][out] */ ICoreWebView2Deferral **deferral) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ScriptDialogOpeningEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ScriptDialogOpeningEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ScriptDialogOpeningEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ScriptDialogOpeningEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )(
+ ICoreWebView2ScriptDialogOpeningEventArgs * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )(
+ ICoreWebView2ScriptDialogOpeningEventArgs * This,
+ /* [retval][out] */ COREWEBVIEW2_SCRIPT_DIALOG_KIND *kind);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Message )(
+ ICoreWebView2ScriptDialogOpeningEventArgs * This,
+ /* [retval][out] */ LPWSTR *message);
+
+ HRESULT ( STDMETHODCALLTYPE *Accept )(
+ ICoreWebView2ScriptDialogOpeningEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultText )(
+ ICoreWebView2ScriptDialogOpeningEventArgs * This,
+ /* [retval][out] */ LPWSTR *defaultText);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ResultText )(
+ ICoreWebView2ScriptDialogOpeningEventArgs * This,
+ /* [retval][out] */ LPWSTR *resultText);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ResultText )(
+ ICoreWebView2ScriptDialogOpeningEventArgs * This,
+ /* [in] */ LPCWSTR resultText);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDeferral )(
+ ICoreWebView2ScriptDialogOpeningEventArgs * This,
+ /* [retval][out] */ ICoreWebView2Deferral **deferral);
+
+ END_INTERFACE
+ } ICoreWebView2ScriptDialogOpeningEventArgsVtbl;
+
+ interface ICoreWebView2ScriptDialogOpeningEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2ScriptDialogOpeningEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ScriptDialogOpeningEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ScriptDialogOpeningEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ScriptDialogOpeningEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ScriptDialogOpeningEventArgs_get_Uri(This,uri) \
+ ( (This)->lpVtbl -> get_Uri(This,uri) )
+
+#define ICoreWebView2ScriptDialogOpeningEventArgs_get_Kind(This,kind) \
+ ( (This)->lpVtbl -> get_Kind(This,kind) )
+
+#define ICoreWebView2ScriptDialogOpeningEventArgs_get_Message(This,message) \
+ ( (This)->lpVtbl -> get_Message(This,message) )
+
+#define ICoreWebView2ScriptDialogOpeningEventArgs_Accept(This) \
+ ( (This)->lpVtbl -> Accept(This) )
+
+#define ICoreWebView2ScriptDialogOpeningEventArgs_get_DefaultText(This,defaultText) \
+ ( (This)->lpVtbl -> get_DefaultText(This,defaultText) )
+
+#define ICoreWebView2ScriptDialogOpeningEventArgs_get_ResultText(This,resultText) \
+ ( (This)->lpVtbl -> get_ResultText(This,resultText) )
+
+#define ICoreWebView2ScriptDialogOpeningEventArgs_put_ResultText(This,resultText) \
+ ( (This)->lpVtbl -> put_ResultText(This,resultText) )
+
+#define ICoreWebView2ScriptDialogOpeningEventArgs_GetDeferral(This,deferral) \
+ ( (This)->lpVtbl -> GetDeferral(This,deferral) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ScriptDialogOpeningEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ScriptDialogOpeningEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2ScriptDialogOpeningEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ScriptDialogOpeningEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ScriptDialogOpeningEventHandler = {0xef381bf9,0xafa8,0x4e37,{0x91,0xc4,0x8a,0xc4,0x85,0x24,0xbd,0xfb}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("ef381bf9-afa8-4e37-91c4-8ac48524bdfb")
+ ICoreWebView2ScriptDialogOpeningEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2ScriptDialogOpeningEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ScriptDialogOpeningEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ScriptDialogOpeningEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ScriptDialogOpeningEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ScriptDialogOpeningEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2ScriptDialogOpeningEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2ScriptDialogOpeningEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2ScriptDialogOpeningEventHandlerVtbl;
+
+ interface ICoreWebView2ScriptDialogOpeningEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2ScriptDialogOpeningEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ScriptDialogOpeningEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ScriptDialogOpeningEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ScriptDialogOpeningEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ScriptDialogOpeningEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ScriptDialogOpeningEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Settings_INTERFACE_DEFINED__
+#define __ICoreWebView2Settings_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Settings */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Settings = {0xe562e4f0,0xd7fa,0x43ac,{0x8d,0x71,0xc0,0x51,0x50,0x49,0x9f,0x00}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("e562e4f0-d7fa-43ac-8d71-c05150499f00")
+ ICoreWebView2Settings : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsScriptEnabled(
+ /* [retval][out] */ BOOL *isScriptEnabled) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsScriptEnabled(
+ /* [in] */ BOOL isScriptEnabled) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsWebMessageEnabled(
+ /* [retval][out] */ BOOL *isWebMessageEnabled) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsWebMessageEnabled(
+ /* [in] */ BOOL isWebMessageEnabled) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AreDefaultScriptDialogsEnabled(
+ /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AreDefaultScriptDialogsEnabled(
+ /* [in] */ BOOL areDefaultScriptDialogsEnabled) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsStatusBarEnabled(
+ /* [retval][out] */ BOOL *isStatusBarEnabled) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsStatusBarEnabled(
+ /* [in] */ BOOL isStatusBarEnabled) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AreDevToolsEnabled(
+ /* [retval][out] */ BOOL *areDevToolsEnabled) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AreDevToolsEnabled(
+ /* [in] */ BOOL areDevToolsEnabled) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AreDefaultContextMenusEnabled(
+ /* [retval][out] */ BOOL *enabled) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AreDefaultContextMenusEnabled(
+ /* [in] */ BOOL enabled) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AreHostObjectsAllowed(
+ /* [retval][out] */ BOOL *allowed) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AreHostObjectsAllowed(
+ /* [in] */ BOOL allowed) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsZoomControlEnabled(
+ /* [retval][out] */ BOOL *enabled) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsZoomControlEnabled(
+ /* [in] */ BOOL enabled) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsBuiltInErrorPageEnabled(
+ /* [retval][out] */ BOOL *enabled) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsBuiltInErrorPageEnabled(
+ /* [in] */ BOOL enabled) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2SettingsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Settings * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Settings * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Settings * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsScriptEnabled )(
+ ICoreWebView2Settings * This,
+ /* [retval][out] */ BOOL *isScriptEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsScriptEnabled )(
+ ICoreWebView2Settings * This,
+ /* [in] */ BOOL isScriptEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWebMessageEnabled )(
+ ICoreWebView2Settings * This,
+ /* [retval][out] */ BOOL *isWebMessageEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsWebMessageEnabled )(
+ ICoreWebView2Settings * This,
+ /* [in] */ BOOL isWebMessageEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultScriptDialogsEnabled )(
+ ICoreWebView2Settings * This,
+ /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultScriptDialogsEnabled )(
+ ICoreWebView2Settings * This,
+ /* [in] */ BOOL areDefaultScriptDialogsEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStatusBarEnabled )(
+ ICoreWebView2Settings * This,
+ /* [retval][out] */ BOOL *isStatusBarEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStatusBarEnabled )(
+ ICoreWebView2Settings * This,
+ /* [in] */ BOOL isStatusBarEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDevToolsEnabled )(
+ ICoreWebView2Settings * This,
+ /* [retval][out] */ BOOL *areDevToolsEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDevToolsEnabled )(
+ ICoreWebView2Settings * This,
+ /* [in] */ BOOL areDevToolsEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultContextMenusEnabled )(
+ ICoreWebView2Settings * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultContextMenusEnabled )(
+ ICoreWebView2Settings * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreHostObjectsAllowed )(
+ ICoreWebView2Settings * This,
+ /* [retval][out] */ BOOL *allowed);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreHostObjectsAllowed )(
+ ICoreWebView2Settings * This,
+ /* [in] */ BOOL allowed);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsZoomControlEnabled )(
+ ICoreWebView2Settings * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsZoomControlEnabled )(
+ ICoreWebView2Settings * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBuiltInErrorPageEnabled )(
+ ICoreWebView2Settings * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsBuiltInErrorPageEnabled )(
+ ICoreWebView2Settings * This,
+ /* [in] */ BOOL enabled);
+
+ END_INTERFACE
+ } ICoreWebView2SettingsVtbl;
+
+ interface ICoreWebView2Settings
+ {
+ CONST_VTBL struct ICoreWebView2SettingsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Settings_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Settings_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Settings_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Settings_get_IsScriptEnabled(This,isScriptEnabled) \
+ ( (This)->lpVtbl -> get_IsScriptEnabled(This,isScriptEnabled) )
+
+#define ICoreWebView2Settings_put_IsScriptEnabled(This,isScriptEnabled) \
+ ( (This)->lpVtbl -> put_IsScriptEnabled(This,isScriptEnabled) )
+
+#define ICoreWebView2Settings_get_IsWebMessageEnabled(This,isWebMessageEnabled) \
+ ( (This)->lpVtbl -> get_IsWebMessageEnabled(This,isWebMessageEnabled) )
+
+#define ICoreWebView2Settings_put_IsWebMessageEnabled(This,isWebMessageEnabled) \
+ ( (This)->lpVtbl -> put_IsWebMessageEnabled(This,isWebMessageEnabled) )
+
+#define ICoreWebView2Settings_get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) \
+ ( (This)->lpVtbl -> get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) )
+
+#define ICoreWebView2Settings_put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) \
+ ( (This)->lpVtbl -> put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) )
+
+#define ICoreWebView2Settings_get_IsStatusBarEnabled(This,isStatusBarEnabled) \
+ ( (This)->lpVtbl -> get_IsStatusBarEnabled(This,isStatusBarEnabled) )
+
+#define ICoreWebView2Settings_put_IsStatusBarEnabled(This,isStatusBarEnabled) \
+ ( (This)->lpVtbl -> put_IsStatusBarEnabled(This,isStatusBarEnabled) )
+
+#define ICoreWebView2Settings_get_AreDevToolsEnabled(This,areDevToolsEnabled) \
+ ( (This)->lpVtbl -> get_AreDevToolsEnabled(This,areDevToolsEnabled) )
+
+#define ICoreWebView2Settings_put_AreDevToolsEnabled(This,areDevToolsEnabled) \
+ ( (This)->lpVtbl -> put_AreDevToolsEnabled(This,areDevToolsEnabled) )
+
+#define ICoreWebView2Settings_get_AreDefaultContextMenusEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_AreDefaultContextMenusEnabled(This,enabled) )
+
+#define ICoreWebView2Settings_put_AreDefaultContextMenusEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_AreDefaultContextMenusEnabled(This,enabled) )
+
+#define ICoreWebView2Settings_get_AreHostObjectsAllowed(This,allowed) \
+ ( (This)->lpVtbl -> get_AreHostObjectsAllowed(This,allowed) )
+
+#define ICoreWebView2Settings_put_AreHostObjectsAllowed(This,allowed) \
+ ( (This)->lpVtbl -> put_AreHostObjectsAllowed(This,allowed) )
+
+#define ICoreWebView2Settings_get_IsZoomControlEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_IsZoomControlEnabled(This,enabled) )
+
+#define ICoreWebView2Settings_put_IsZoomControlEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_IsZoomControlEnabled(This,enabled) )
+
+#define ICoreWebView2Settings_get_IsBuiltInErrorPageEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_IsBuiltInErrorPageEnabled(This,enabled) )
+
+#define ICoreWebView2Settings_put_IsBuiltInErrorPageEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_IsBuiltInErrorPageEnabled(This,enabled) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Settings_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Settings2_INTERFACE_DEFINED__
+#define __ICoreWebView2Settings2_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Settings2 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Settings2 = {0xee9a0f68,0xf46c,0x4e32,{0xac,0x23,0xef,0x8c,0xac,0x22,0x4d,0x2a}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("ee9a0f68-f46c-4e32-ac23-ef8cac224d2a")
+ ICoreWebView2Settings2 : public ICoreWebView2Settings
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_UserAgent(
+ /* [retval][out] */ LPWSTR *userAgent) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_UserAgent(
+ /* [in] */ LPCWSTR userAgent) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Settings2Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Settings2 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Settings2 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Settings2 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsScriptEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [retval][out] */ BOOL *isScriptEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsScriptEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [in] */ BOOL isScriptEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWebMessageEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [retval][out] */ BOOL *isWebMessageEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsWebMessageEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [in] */ BOOL isWebMessageEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultScriptDialogsEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultScriptDialogsEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [in] */ BOOL areDefaultScriptDialogsEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStatusBarEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [retval][out] */ BOOL *isStatusBarEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStatusBarEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [in] */ BOOL isStatusBarEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDevToolsEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [retval][out] */ BOOL *areDevToolsEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDevToolsEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [in] */ BOOL areDevToolsEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultContextMenusEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultContextMenusEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreHostObjectsAllowed )(
+ ICoreWebView2Settings2 * This,
+ /* [retval][out] */ BOOL *allowed);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreHostObjectsAllowed )(
+ ICoreWebView2Settings2 * This,
+ /* [in] */ BOOL allowed);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsZoomControlEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsZoomControlEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBuiltInErrorPageEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsBuiltInErrorPageEnabled )(
+ ICoreWebView2Settings2 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserAgent )(
+ ICoreWebView2Settings2 * This,
+ /* [retval][out] */ LPWSTR *userAgent);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserAgent )(
+ ICoreWebView2Settings2 * This,
+ /* [in] */ LPCWSTR userAgent);
+
+ END_INTERFACE
+ } ICoreWebView2Settings2Vtbl;
+
+ interface ICoreWebView2Settings2
+ {
+ CONST_VTBL struct ICoreWebView2Settings2Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Settings2_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Settings2_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Settings2_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Settings2_get_IsScriptEnabled(This,isScriptEnabled) \
+ ( (This)->lpVtbl -> get_IsScriptEnabled(This,isScriptEnabled) )
+
+#define ICoreWebView2Settings2_put_IsScriptEnabled(This,isScriptEnabled) \
+ ( (This)->lpVtbl -> put_IsScriptEnabled(This,isScriptEnabled) )
+
+#define ICoreWebView2Settings2_get_IsWebMessageEnabled(This,isWebMessageEnabled) \
+ ( (This)->lpVtbl -> get_IsWebMessageEnabled(This,isWebMessageEnabled) )
+
+#define ICoreWebView2Settings2_put_IsWebMessageEnabled(This,isWebMessageEnabled) \
+ ( (This)->lpVtbl -> put_IsWebMessageEnabled(This,isWebMessageEnabled) )
+
+#define ICoreWebView2Settings2_get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) \
+ ( (This)->lpVtbl -> get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) )
+
+#define ICoreWebView2Settings2_put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) \
+ ( (This)->lpVtbl -> put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) )
+
+#define ICoreWebView2Settings2_get_IsStatusBarEnabled(This,isStatusBarEnabled) \
+ ( (This)->lpVtbl -> get_IsStatusBarEnabled(This,isStatusBarEnabled) )
+
+#define ICoreWebView2Settings2_put_IsStatusBarEnabled(This,isStatusBarEnabled) \
+ ( (This)->lpVtbl -> put_IsStatusBarEnabled(This,isStatusBarEnabled) )
+
+#define ICoreWebView2Settings2_get_AreDevToolsEnabled(This,areDevToolsEnabled) \
+ ( (This)->lpVtbl -> get_AreDevToolsEnabled(This,areDevToolsEnabled) )
+
+#define ICoreWebView2Settings2_put_AreDevToolsEnabled(This,areDevToolsEnabled) \
+ ( (This)->lpVtbl -> put_AreDevToolsEnabled(This,areDevToolsEnabled) )
+
+#define ICoreWebView2Settings2_get_AreDefaultContextMenusEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_AreDefaultContextMenusEnabled(This,enabled) )
+
+#define ICoreWebView2Settings2_put_AreDefaultContextMenusEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_AreDefaultContextMenusEnabled(This,enabled) )
+
+#define ICoreWebView2Settings2_get_AreHostObjectsAllowed(This,allowed) \
+ ( (This)->lpVtbl -> get_AreHostObjectsAllowed(This,allowed) )
+
+#define ICoreWebView2Settings2_put_AreHostObjectsAllowed(This,allowed) \
+ ( (This)->lpVtbl -> put_AreHostObjectsAllowed(This,allowed) )
+
+#define ICoreWebView2Settings2_get_IsZoomControlEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_IsZoomControlEnabled(This,enabled) )
+
+#define ICoreWebView2Settings2_put_IsZoomControlEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_IsZoomControlEnabled(This,enabled) )
+
+#define ICoreWebView2Settings2_get_IsBuiltInErrorPageEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_IsBuiltInErrorPageEnabled(This,enabled) )
+
+#define ICoreWebView2Settings2_put_IsBuiltInErrorPageEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_IsBuiltInErrorPageEnabled(This,enabled) )
+
+
+#define ICoreWebView2Settings2_get_UserAgent(This,userAgent) \
+ ( (This)->lpVtbl -> get_UserAgent(This,userAgent) )
+
+#define ICoreWebView2Settings2_put_UserAgent(This,userAgent) \
+ ( (This)->lpVtbl -> put_UserAgent(This,userAgent) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Settings2_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Settings3_INTERFACE_DEFINED__
+#define __ICoreWebView2Settings3_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Settings3 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Settings3 = {0xfdb5ab74,0xaf33,0x4854,{0x84,0xf0,0x0a,0x63,0x1d,0xeb,0x5e,0xba}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("fdb5ab74-af33-4854-84f0-0a631deb5eba")
+ ICoreWebView2Settings3 : public ICoreWebView2Settings2
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AreBrowserAcceleratorKeysEnabled(
+ /* [retval][out] */ BOOL *areBrowserAcceleratorKeysEnabled) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AreBrowserAcceleratorKeysEnabled(
+ /* [in] */ BOOL areBrowserAcceleratorKeysEnabled) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Settings3Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Settings3 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Settings3 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Settings3 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsScriptEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [retval][out] */ BOOL *isScriptEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsScriptEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [in] */ BOOL isScriptEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWebMessageEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [retval][out] */ BOOL *isWebMessageEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsWebMessageEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [in] */ BOOL isWebMessageEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultScriptDialogsEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultScriptDialogsEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [in] */ BOOL areDefaultScriptDialogsEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStatusBarEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [retval][out] */ BOOL *isStatusBarEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStatusBarEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [in] */ BOOL isStatusBarEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDevToolsEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [retval][out] */ BOOL *areDevToolsEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDevToolsEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [in] */ BOOL areDevToolsEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultContextMenusEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultContextMenusEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreHostObjectsAllowed )(
+ ICoreWebView2Settings3 * This,
+ /* [retval][out] */ BOOL *allowed);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreHostObjectsAllowed )(
+ ICoreWebView2Settings3 * This,
+ /* [in] */ BOOL allowed);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsZoomControlEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsZoomControlEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBuiltInErrorPageEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsBuiltInErrorPageEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserAgent )(
+ ICoreWebView2Settings3 * This,
+ /* [retval][out] */ LPWSTR *userAgent);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserAgent )(
+ ICoreWebView2Settings3 * This,
+ /* [in] */ LPCWSTR userAgent);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreBrowserAcceleratorKeysEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [retval][out] */ BOOL *areBrowserAcceleratorKeysEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreBrowserAcceleratorKeysEnabled )(
+ ICoreWebView2Settings3 * This,
+ /* [in] */ BOOL areBrowserAcceleratorKeysEnabled);
+
+ END_INTERFACE
+ } ICoreWebView2Settings3Vtbl;
+
+ interface ICoreWebView2Settings3
+ {
+ CONST_VTBL struct ICoreWebView2Settings3Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Settings3_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Settings3_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Settings3_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Settings3_get_IsScriptEnabled(This,isScriptEnabled) \
+ ( (This)->lpVtbl -> get_IsScriptEnabled(This,isScriptEnabled) )
+
+#define ICoreWebView2Settings3_put_IsScriptEnabled(This,isScriptEnabled) \
+ ( (This)->lpVtbl -> put_IsScriptEnabled(This,isScriptEnabled) )
+
+#define ICoreWebView2Settings3_get_IsWebMessageEnabled(This,isWebMessageEnabled) \
+ ( (This)->lpVtbl -> get_IsWebMessageEnabled(This,isWebMessageEnabled) )
+
+#define ICoreWebView2Settings3_put_IsWebMessageEnabled(This,isWebMessageEnabled) \
+ ( (This)->lpVtbl -> put_IsWebMessageEnabled(This,isWebMessageEnabled) )
+
+#define ICoreWebView2Settings3_get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) \
+ ( (This)->lpVtbl -> get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) )
+
+#define ICoreWebView2Settings3_put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) \
+ ( (This)->lpVtbl -> put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) )
+
+#define ICoreWebView2Settings3_get_IsStatusBarEnabled(This,isStatusBarEnabled) \
+ ( (This)->lpVtbl -> get_IsStatusBarEnabled(This,isStatusBarEnabled) )
+
+#define ICoreWebView2Settings3_put_IsStatusBarEnabled(This,isStatusBarEnabled) \
+ ( (This)->lpVtbl -> put_IsStatusBarEnabled(This,isStatusBarEnabled) )
+
+#define ICoreWebView2Settings3_get_AreDevToolsEnabled(This,areDevToolsEnabled) \
+ ( (This)->lpVtbl -> get_AreDevToolsEnabled(This,areDevToolsEnabled) )
+
+#define ICoreWebView2Settings3_put_AreDevToolsEnabled(This,areDevToolsEnabled) \
+ ( (This)->lpVtbl -> put_AreDevToolsEnabled(This,areDevToolsEnabled) )
+
+#define ICoreWebView2Settings3_get_AreDefaultContextMenusEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_AreDefaultContextMenusEnabled(This,enabled) )
+
+#define ICoreWebView2Settings3_put_AreDefaultContextMenusEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_AreDefaultContextMenusEnabled(This,enabled) )
+
+#define ICoreWebView2Settings3_get_AreHostObjectsAllowed(This,allowed) \
+ ( (This)->lpVtbl -> get_AreHostObjectsAllowed(This,allowed) )
+
+#define ICoreWebView2Settings3_put_AreHostObjectsAllowed(This,allowed) \
+ ( (This)->lpVtbl -> put_AreHostObjectsAllowed(This,allowed) )
+
+#define ICoreWebView2Settings3_get_IsZoomControlEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_IsZoomControlEnabled(This,enabled) )
+
+#define ICoreWebView2Settings3_put_IsZoomControlEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_IsZoomControlEnabled(This,enabled) )
+
+#define ICoreWebView2Settings3_get_IsBuiltInErrorPageEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_IsBuiltInErrorPageEnabled(This,enabled) )
+
+#define ICoreWebView2Settings3_put_IsBuiltInErrorPageEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_IsBuiltInErrorPageEnabled(This,enabled) )
+
+
+#define ICoreWebView2Settings3_get_UserAgent(This,userAgent) \
+ ( (This)->lpVtbl -> get_UserAgent(This,userAgent) )
+
+#define ICoreWebView2Settings3_put_UserAgent(This,userAgent) \
+ ( (This)->lpVtbl -> put_UserAgent(This,userAgent) )
+
+
+#define ICoreWebView2Settings3_get_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) \
+ ( (This)->lpVtbl -> get_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) )
+
+#define ICoreWebView2Settings3_put_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) \
+ ( (This)->lpVtbl -> put_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Settings3_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Settings4_INTERFACE_DEFINED__
+#define __ICoreWebView2Settings4_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Settings4 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Settings4 = {0xcb56846c,0x4168,0x4d53,{0xb0,0x4f,0x03,0xb6,0xd6,0x79,0x6f,0xf2}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("cb56846c-4168-4d53-b04f-03b6d6796ff2")
+ ICoreWebView2Settings4 : public ICoreWebView2Settings3
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsPasswordAutosaveEnabled(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsPasswordAutosaveEnabled(
+ /* [in] */ BOOL value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsGeneralAutofillEnabled(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsGeneralAutofillEnabled(
+ /* [in] */ BOOL value) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Settings4Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Settings4 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Settings4 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Settings4 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsScriptEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [retval][out] */ BOOL *isScriptEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsScriptEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [in] */ BOOL isScriptEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWebMessageEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [retval][out] */ BOOL *isWebMessageEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsWebMessageEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [in] */ BOOL isWebMessageEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultScriptDialogsEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultScriptDialogsEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [in] */ BOOL areDefaultScriptDialogsEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStatusBarEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [retval][out] */ BOOL *isStatusBarEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStatusBarEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [in] */ BOOL isStatusBarEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDevToolsEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [retval][out] */ BOOL *areDevToolsEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDevToolsEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [in] */ BOOL areDevToolsEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultContextMenusEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultContextMenusEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreHostObjectsAllowed )(
+ ICoreWebView2Settings4 * This,
+ /* [retval][out] */ BOOL *allowed);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreHostObjectsAllowed )(
+ ICoreWebView2Settings4 * This,
+ /* [in] */ BOOL allowed);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsZoomControlEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsZoomControlEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBuiltInErrorPageEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsBuiltInErrorPageEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserAgent )(
+ ICoreWebView2Settings4 * This,
+ /* [retval][out] */ LPWSTR *userAgent);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserAgent )(
+ ICoreWebView2Settings4 * This,
+ /* [in] */ LPCWSTR userAgent);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreBrowserAcceleratorKeysEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [retval][out] */ BOOL *areBrowserAcceleratorKeysEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreBrowserAcceleratorKeysEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [in] */ BOOL areBrowserAcceleratorKeysEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPasswordAutosaveEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPasswordAutosaveEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [in] */ BOOL value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsGeneralAutofillEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsGeneralAutofillEnabled )(
+ ICoreWebView2Settings4 * This,
+ /* [in] */ BOOL value);
+
+ END_INTERFACE
+ } ICoreWebView2Settings4Vtbl;
+
+ interface ICoreWebView2Settings4
+ {
+ CONST_VTBL struct ICoreWebView2Settings4Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Settings4_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Settings4_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Settings4_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Settings4_get_IsScriptEnabled(This,isScriptEnabled) \
+ ( (This)->lpVtbl -> get_IsScriptEnabled(This,isScriptEnabled) )
+
+#define ICoreWebView2Settings4_put_IsScriptEnabled(This,isScriptEnabled) \
+ ( (This)->lpVtbl -> put_IsScriptEnabled(This,isScriptEnabled) )
+
+#define ICoreWebView2Settings4_get_IsWebMessageEnabled(This,isWebMessageEnabled) \
+ ( (This)->lpVtbl -> get_IsWebMessageEnabled(This,isWebMessageEnabled) )
+
+#define ICoreWebView2Settings4_put_IsWebMessageEnabled(This,isWebMessageEnabled) \
+ ( (This)->lpVtbl -> put_IsWebMessageEnabled(This,isWebMessageEnabled) )
+
+#define ICoreWebView2Settings4_get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) \
+ ( (This)->lpVtbl -> get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) )
+
+#define ICoreWebView2Settings4_put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) \
+ ( (This)->lpVtbl -> put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) )
+
+#define ICoreWebView2Settings4_get_IsStatusBarEnabled(This,isStatusBarEnabled) \
+ ( (This)->lpVtbl -> get_IsStatusBarEnabled(This,isStatusBarEnabled) )
+
+#define ICoreWebView2Settings4_put_IsStatusBarEnabled(This,isStatusBarEnabled) \
+ ( (This)->lpVtbl -> put_IsStatusBarEnabled(This,isStatusBarEnabled) )
+
+#define ICoreWebView2Settings4_get_AreDevToolsEnabled(This,areDevToolsEnabled) \
+ ( (This)->lpVtbl -> get_AreDevToolsEnabled(This,areDevToolsEnabled) )
+
+#define ICoreWebView2Settings4_put_AreDevToolsEnabled(This,areDevToolsEnabled) \
+ ( (This)->lpVtbl -> put_AreDevToolsEnabled(This,areDevToolsEnabled) )
+
+#define ICoreWebView2Settings4_get_AreDefaultContextMenusEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_AreDefaultContextMenusEnabled(This,enabled) )
+
+#define ICoreWebView2Settings4_put_AreDefaultContextMenusEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_AreDefaultContextMenusEnabled(This,enabled) )
+
+#define ICoreWebView2Settings4_get_AreHostObjectsAllowed(This,allowed) \
+ ( (This)->lpVtbl -> get_AreHostObjectsAllowed(This,allowed) )
+
+#define ICoreWebView2Settings4_put_AreHostObjectsAllowed(This,allowed) \
+ ( (This)->lpVtbl -> put_AreHostObjectsAllowed(This,allowed) )
+
+#define ICoreWebView2Settings4_get_IsZoomControlEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_IsZoomControlEnabled(This,enabled) )
+
+#define ICoreWebView2Settings4_put_IsZoomControlEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_IsZoomControlEnabled(This,enabled) )
+
+#define ICoreWebView2Settings4_get_IsBuiltInErrorPageEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_IsBuiltInErrorPageEnabled(This,enabled) )
+
+#define ICoreWebView2Settings4_put_IsBuiltInErrorPageEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_IsBuiltInErrorPageEnabled(This,enabled) )
+
+
+#define ICoreWebView2Settings4_get_UserAgent(This,userAgent) \
+ ( (This)->lpVtbl -> get_UserAgent(This,userAgent) )
+
+#define ICoreWebView2Settings4_put_UserAgent(This,userAgent) \
+ ( (This)->lpVtbl -> put_UserAgent(This,userAgent) )
+
+
+#define ICoreWebView2Settings4_get_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) \
+ ( (This)->lpVtbl -> get_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) )
+
+#define ICoreWebView2Settings4_put_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) \
+ ( (This)->lpVtbl -> put_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) )
+
+
+#define ICoreWebView2Settings4_get_IsPasswordAutosaveEnabled(This,value) \
+ ( (This)->lpVtbl -> get_IsPasswordAutosaveEnabled(This,value) )
+
+#define ICoreWebView2Settings4_put_IsPasswordAutosaveEnabled(This,value) \
+ ( (This)->lpVtbl -> put_IsPasswordAutosaveEnabled(This,value) )
+
+#define ICoreWebView2Settings4_get_IsGeneralAutofillEnabled(This,value) \
+ ( (This)->lpVtbl -> get_IsGeneralAutofillEnabled(This,value) )
+
+#define ICoreWebView2Settings4_put_IsGeneralAutofillEnabled(This,value) \
+ ( (This)->lpVtbl -> put_IsGeneralAutofillEnabled(This,value) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Settings4_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Settings5_INTERFACE_DEFINED__
+#define __ICoreWebView2Settings5_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Settings5 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Settings5 = {0x183e7052,0x1d03,0x43a0,{0xab,0x99,0x98,0xe0,0x43,0xb6,0x6b,0x39}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("183e7052-1d03-43a0-ab99-98e043b66b39")
+ ICoreWebView2Settings5 : public ICoreWebView2Settings4
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsPinchZoomEnabled(
+ /* [retval][out] */ BOOL *enabled) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsPinchZoomEnabled(
+ /* [in] */ BOOL enabled) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Settings5Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Settings5 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Settings5 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Settings5 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsScriptEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [retval][out] */ BOOL *isScriptEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsScriptEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [in] */ BOOL isScriptEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWebMessageEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [retval][out] */ BOOL *isWebMessageEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsWebMessageEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [in] */ BOOL isWebMessageEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultScriptDialogsEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultScriptDialogsEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [in] */ BOOL areDefaultScriptDialogsEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStatusBarEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [retval][out] */ BOOL *isStatusBarEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStatusBarEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [in] */ BOOL isStatusBarEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDevToolsEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [retval][out] */ BOOL *areDevToolsEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDevToolsEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [in] */ BOOL areDevToolsEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultContextMenusEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultContextMenusEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreHostObjectsAllowed )(
+ ICoreWebView2Settings5 * This,
+ /* [retval][out] */ BOOL *allowed);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreHostObjectsAllowed )(
+ ICoreWebView2Settings5 * This,
+ /* [in] */ BOOL allowed);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsZoomControlEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsZoomControlEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBuiltInErrorPageEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsBuiltInErrorPageEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserAgent )(
+ ICoreWebView2Settings5 * This,
+ /* [retval][out] */ LPWSTR *userAgent);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserAgent )(
+ ICoreWebView2Settings5 * This,
+ /* [in] */ LPCWSTR userAgent);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreBrowserAcceleratorKeysEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [retval][out] */ BOOL *areBrowserAcceleratorKeysEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreBrowserAcceleratorKeysEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [in] */ BOOL areBrowserAcceleratorKeysEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPasswordAutosaveEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPasswordAutosaveEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [in] */ BOOL value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsGeneralAutofillEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsGeneralAutofillEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [in] */ BOOL value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPinchZoomEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPinchZoomEnabled )(
+ ICoreWebView2Settings5 * This,
+ /* [in] */ BOOL enabled);
+
+ END_INTERFACE
+ } ICoreWebView2Settings5Vtbl;
+
+ interface ICoreWebView2Settings5
+ {
+ CONST_VTBL struct ICoreWebView2Settings5Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Settings5_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Settings5_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Settings5_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Settings5_get_IsScriptEnabled(This,isScriptEnabled) \
+ ( (This)->lpVtbl -> get_IsScriptEnabled(This,isScriptEnabled) )
+
+#define ICoreWebView2Settings5_put_IsScriptEnabled(This,isScriptEnabled) \
+ ( (This)->lpVtbl -> put_IsScriptEnabled(This,isScriptEnabled) )
+
+#define ICoreWebView2Settings5_get_IsWebMessageEnabled(This,isWebMessageEnabled) \
+ ( (This)->lpVtbl -> get_IsWebMessageEnabled(This,isWebMessageEnabled) )
+
+#define ICoreWebView2Settings5_put_IsWebMessageEnabled(This,isWebMessageEnabled) \
+ ( (This)->lpVtbl -> put_IsWebMessageEnabled(This,isWebMessageEnabled) )
+
+#define ICoreWebView2Settings5_get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) \
+ ( (This)->lpVtbl -> get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) )
+
+#define ICoreWebView2Settings5_put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) \
+ ( (This)->lpVtbl -> put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) )
+
+#define ICoreWebView2Settings5_get_IsStatusBarEnabled(This,isStatusBarEnabled) \
+ ( (This)->lpVtbl -> get_IsStatusBarEnabled(This,isStatusBarEnabled) )
+
+#define ICoreWebView2Settings5_put_IsStatusBarEnabled(This,isStatusBarEnabled) \
+ ( (This)->lpVtbl -> put_IsStatusBarEnabled(This,isStatusBarEnabled) )
+
+#define ICoreWebView2Settings5_get_AreDevToolsEnabled(This,areDevToolsEnabled) \
+ ( (This)->lpVtbl -> get_AreDevToolsEnabled(This,areDevToolsEnabled) )
+
+#define ICoreWebView2Settings5_put_AreDevToolsEnabled(This,areDevToolsEnabled) \
+ ( (This)->lpVtbl -> put_AreDevToolsEnabled(This,areDevToolsEnabled) )
+
+#define ICoreWebView2Settings5_get_AreDefaultContextMenusEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_AreDefaultContextMenusEnabled(This,enabled) )
+
+#define ICoreWebView2Settings5_put_AreDefaultContextMenusEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_AreDefaultContextMenusEnabled(This,enabled) )
+
+#define ICoreWebView2Settings5_get_AreHostObjectsAllowed(This,allowed) \
+ ( (This)->lpVtbl -> get_AreHostObjectsAllowed(This,allowed) )
+
+#define ICoreWebView2Settings5_put_AreHostObjectsAllowed(This,allowed) \
+ ( (This)->lpVtbl -> put_AreHostObjectsAllowed(This,allowed) )
+
+#define ICoreWebView2Settings5_get_IsZoomControlEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_IsZoomControlEnabled(This,enabled) )
+
+#define ICoreWebView2Settings5_put_IsZoomControlEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_IsZoomControlEnabled(This,enabled) )
+
+#define ICoreWebView2Settings5_get_IsBuiltInErrorPageEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_IsBuiltInErrorPageEnabled(This,enabled) )
+
+#define ICoreWebView2Settings5_put_IsBuiltInErrorPageEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_IsBuiltInErrorPageEnabled(This,enabled) )
+
+
+#define ICoreWebView2Settings5_get_UserAgent(This,userAgent) \
+ ( (This)->lpVtbl -> get_UserAgent(This,userAgent) )
+
+#define ICoreWebView2Settings5_put_UserAgent(This,userAgent) \
+ ( (This)->lpVtbl -> put_UserAgent(This,userAgent) )
+
+
+#define ICoreWebView2Settings5_get_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) \
+ ( (This)->lpVtbl -> get_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) )
+
+#define ICoreWebView2Settings5_put_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) \
+ ( (This)->lpVtbl -> put_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) )
+
+
+#define ICoreWebView2Settings5_get_IsPasswordAutosaveEnabled(This,value) \
+ ( (This)->lpVtbl -> get_IsPasswordAutosaveEnabled(This,value) )
+
+#define ICoreWebView2Settings5_put_IsPasswordAutosaveEnabled(This,value) \
+ ( (This)->lpVtbl -> put_IsPasswordAutosaveEnabled(This,value) )
+
+#define ICoreWebView2Settings5_get_IsGeneralAutofillEnabled(This,value) \
+ ( (This)->lpVtbl -> get_IsGeneralAutofillEnabled(This,value) )
+
+#define ICoreWebView2Settings5_put_IsGeneralAutofillEnabled(This,value) \
+ ( (This)->lpVtbl -> put_IsGeneralAutofillEnabled(This,value) )
+
+
+#define ICoreWebView2Settings5_get_IsPinchZoomEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_IsPinchZoomEnabled(This,enabled) )
+
+#define ICoreWebView2Settings5_put_IsPinchZoomEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_IsPinchZoomEnabled(This,enabled) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Settings5_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2Settings6_INTERFACE_DEFINED__
+#define __ICoreWebView2Settings6_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2Settings6 */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Settings6 = {0x11cb3acd,0x9bc8,0x43b8,{0x83,0xbf,0xf4,0x07,0x53,0x71,0x4f,0x87}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("11cb3acd-9bc8-43b8-83bf-f40753714f87")
+ ICoreWebView2Settings6 : public ICoreWebView2Settings5
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsSwipeNavigationEnabled(
+ /* [retval][out] */ BOOL *enabled) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsSwipeNavigationEnabled(
+ /* [in] */ BOOL enabled) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2Settings6Vtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2Settings6 * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2Settings6 * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsScriptEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [retval][out] */ BOOL *isScriptEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsScriptEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ BOOL isScriptEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWebMessageEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [retval][out] */ BOOL *isWebMessageEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsWebMessageEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ BOOL isWebMessageEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultScriptDialogsEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultScriptDialogsEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ BOOL areDefaultScriptDialogsEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStatusBarEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [retval][out] */ BOOL *isStatusBarEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStatusBarEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ BOOL isStatusBarEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDevToolsEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [retval][out] */ BOOL *areDevToolsEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDevToolsEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ BOOL areDevToolsEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultContextMenusEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultContextMenusEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreHostObjectsAllowed )(
+ ICoreWebView2Settings6 * This,
+ /* [retval][out] */ BOOL *allowed);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreHostObjectsAllowed )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ BOOL allowed);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsZoomControlEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsZoomControlEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBuiltInErrorPageEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsBuiltInErrorPageEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserAgent )(
+ ICoreWebView2Settings6 * This,
+ /* [retval][out] */ LPWSTR *userAgent);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserAgent )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ LPCWSTR userAgent);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreBrowserAcceleratorKeysEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [retval][out] */ BOOL *areBrowserAcceleratorKeysEnabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreBrowserAcceleratorKeysEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ BOOL areBrowserAcceleratorKeysEnabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPasswordAutosaveEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPasswordAutosaveEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ BOOL value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsGeneralAutofillEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsGeneralAutofillEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ BOOL value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPinchZoomEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPinchZoomEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ BOOL enabled);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSwipeNavigationEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [retval][out] */ BOOL *enabled);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsSwipeNavigationEnabled )(
+ ICoreWebView2Settings6 * This,
+ /* [in] */ BOOL enabled);
+
+ END_INTERFACE
+ } ICoreWebView2Settings6Vtbl;
+
+ interface ICoreWebView2Settings6
+ {
+ CONST_VTBL struct ICoreWebView2Settings6Vtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2Settings6_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2Settings6_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2Settings6_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2Settings6_get_IsScriptEnabled(This,isScriptEnabled) \
+ ( (This)->lpVtbl -> get_IsScriptEnabled(This,isScriptEnabled) )
+
+#define ICoreWebView2Settings6_put_IsScriptEnabled(This,isScriptEnabled) \
+ ( (This)->lpVtbl -> put_IsScriptEnabled(This,isScriptEnabled) )
+
+#define ICoreWebView2Settings6_get_IsWebMessageEnabled(This,isWebMessageEnabled) \
+ ( (This)->lpVtbl -> get_IsWebMessageEnabled(This,isWebMessageEnabled) )
+
+#define ICoreWebView2Settings6_put_IsWebMessageEnabled(This,isWebMessageEnabled) \
+ ( (This)->lpVtbl -> put_IsWebMessageEnabled(This,isWebMessageEnabled) )
+
+#define ICoreWebView2Settings6_get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) \
+ ( (This)->lpVtbl -> get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) )
+
+#define ICoreWebView2Settings6_put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) \
+ ( (This)->lpVtbl -> put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) )
+
+#define ICoreWebView2Settings6_get_IsStatusBarEnabled(This,isStatusBarEnabled) \
+ ( (This)->lpVtbl -> get_IsStatusBarEnabled(This,isStatusBarEnabled) )
+
+#define ICoreWebView2Settings6_put_IsStatusBarEnabled(This,isStatusBarEnabled) \
+ ( (This)->lpVtbl -> put_IsStatusBarEnabled(This,isStatusBarEnabled) )
+
+#define ICoreWebView2Settings6_get_AreDevToolsEnabled(This,areDevToolsEnabled) \
+ ( (This)->lpVtbl -> get_AreDevToolsEnabled(This,areDevToolsEnabled) )
+
+#define ICoreWebView2Settings6_put_AreDevToolsEnabled(This,areDevToolsEnabled) \
+ ( (This)->lpVtbl -> put_AreDevToolsEnabled(This,areDevToolsEnabled) )
+
+#define ICoreWebView2Settings6_get_AreDefaultContextMenusEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_AreDefaultContextMenusEnabled(This,enabled) )
+
+#define ICoreWebView2Settings6_put_AreDefaultContextMenusEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_AreDefaultContextMenusEnabled(This,enabled) )
+
+#define ICoreWebView2Settings6_get_AreHostObjectsAllowed(This,allowed) \
+ ( (This)->lpVtbl -> get_AreHostObjectsAllowed(This,allowed) )
+
+#define ICoreWebView2Settings6_put_AreHostObjectsAllowed(This,allowed) \
+ ( (This)->lpVtbl -> put_AreHostObjectsAllowed(This,allowed) )
+
+#define ICoreWebView2Settings6_get_IsZoomControlEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_IsZoomControlEnabled(This,enabled) )
+
+#define ICoreWebView2Settings6_put_IsZoomControlEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_IsZoomControlEnabled(This,enabled) )
+
+#define ICoreWebView2Settings6_get_IsBuiltInErrorPageEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_IsBuiltInErrorPageEnabled(This,enabled) )
+
+#define ICoreWebView2Settings6_put_IsBuiltInErrorPageEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_IsBuiltInErrorPageEnabled(This,enabled) )
+
+
+#define ICoreWebView2Settings6_get_UserAgent(This,userAgent) \
+ ( (This)->lpVtbl -> get_UserAgent(This,userAgent) )
+
+#define ICoreWebView2Settings6_put_UserAgent(This,userAgent) \
+ ( (This)->lpVtbl -> put_UserAgent(This,userAgent) )
+
+
+#define ICoreWebView2Settings6_get_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) \
+ ( (This)->lpVtbl -> get_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) )
+
+#define ICoreWebView2Settings6_put_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) \
+ ( (This)->lpVtbl -> put_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) )
+
+
+#define ICoreWebView2Settings6_get_IsPasswordAutosaveEnabled(This,value) \
+ ( (This)->lpVtbl -> get_IsPasswordAutosaveEnabled(This,value) )
+
+#define ICoreWebView2Settings6_put_IsPasswordAutosaveEnabled(This,value) \
+ ( (This)->lpVtbl -> put_IsPasswordAutosaveEnabled(This,value) )
+
+#define ICoreWebView2Settings6_get_IsGeneralAutofillEnabled(This,value) \
+ ( (This)->lpVtbl -> get_IsGeneralAutofillEnabled(This,value) )
+
+#define ICoreWebView2Settings6_put_IsGeneralAutofillEnabled(This,value) \
+ ( (This)->lpVtbl -> put_IsGeneralAutofillEnabled(This,value) )
+
+
+#define ICoreWebView2Settings6_get_IsPinchZoomEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_IsPinchZoomEnabled(This,enabled) )
+
+#define ICoreWebView2Settings6_put_IsPinchZoomEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_IsPinchZoomEnabled(This,enabled) )
+
+
+#define ICoreWebView2Settings6_get_IsSwipeNavigationEnabled(This,enabled) \
+ ( (This)->lpVtbl -> get_IsSwipeNavigationEnabled(This,enabled) )
+
+#define ICoreWebView2Settings6_put_IsSwipeNavigationEnabled(This,enabled) \
+ ( (This)->lpVtbl -> put_IsSwipeNavigationEnabled(This,enabled) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2Settings6_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2SourceChangedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2SourceChangedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2SourceChangedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2SourceChangedEventArgs = {0x31e0e545,0x1dba,0x4266,{0x89,0x14,0xf6,0x38,0x48,0xa1,0xf7,0xd7}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("31e0e545-1dba-4266-8914-f63848a1f7d7")
+ ICoreWebView2SourceChangedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsNewDocument(
+ /* [retval][out] */ BOOL *isNewDocument) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2SourceChangedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2SourceChangedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2SourceChangedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2SourceChangedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsNewDocument )(
+ ICoreWebView2SourceChangedEventArgs * This,
+ /* [retval][out] */ BOOL *isNewDocument);
+
+ END_INTERFACE
+ } ICoreWebView2SourceChangedEventArgsVtbl;
+
+ interface ICoreWebView2SourceChangedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2SourceChangedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2SourceChangedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2SourceChangedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2SourceChangedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2SourceChangedEventArgs_get_IsNewDocument(This,isNewDocument) \
+ ( (This)->lpVtbl -> get_IsNewDocument(This,isNewDocument) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2SourceChangedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2SourceChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2SourceChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2SourceChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2SourceChangedEventHandler = {0x3c067f9f,0x5388,0x4772,{0x8b,0x48,0x79,0xf7,0xef,0x1a,0xb3,0x7c}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("3c067f9f-5388-4772-8b48-79f7ef1ab37c")
+ ICoreWebView2SourceChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2SourceChangedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2SourceChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2SourceChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2SourceChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2SourceChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2SourceChangedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2SourceChangedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2SourceChangedEventHandlerVtbl;
+
+ interface ICoreWebView2SourceChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2SourceChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2SourceChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2SourceChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2SourceChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2SourceChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2SourceChangedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2StateChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2StateChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2StateChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2StateChangedEventHandler = {0x81336594,0x7ede,0x4ba9,{0xbf,0x71,0xac,0xf0,0xa9,0x5b,0x58,0xdd}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("81336594-7ede-4ba9-bf71-acf0a95b58dd")
+ ICoreWebView2StateChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2DownloadOperation *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2StateChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2StateChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2StateChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2StateChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2StateChangedEventHandler * This,
+ /* [in] */ ICoreWebView2DownloadOperation *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2StateChangedEventHandlerVtbl;
+
+ interface ICoreWebView2StateChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2StateChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2StateChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2StateChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2StateChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2StateChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2StateChangedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2TrySuspendCompletedHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2TrySuspendCompletedHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2TrySuspendCompletedHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2TrySuspendCompletedHandler = {0x00F206A7,0x9D17,0x4605,{0x91,0xF6,0x4E,0x8E,0x4D,0xE1,0x92,0xE3}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("00F206A7-9D17-4605-91F6-4E8E4DE192E3")
+ ICoreWebView2TrySuspendCompletedHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ HRESULT errorCode,
+ /* [in] */ BOOL isSuccessful) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2TrySuspendCompletedHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2TrySuspendCompletedHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2TrySuspendCompletedHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2TrySuspendCompletedHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2TrySuspendCompletedHandler * This,
+ /* [in] */ HRESULT errorCode,
+ /* [in] */ BOOL isSuccessful);
+
+ END_INTERFACE
+ } ICoreWebView2TrySuspendCompletedHandlerVtbl;
+
+ interface ICoreWebView2TrySuspendCompletedHandler
+ {
+ CONST_VTBL struct ICoreWebView2TrySuspendCompletedHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2TrySuspendCompletedHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2TrySuspendCompletedHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2TrySuspendCompletedHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2TrySuspendCompletedHandler_Invoke(This,errorCode,isSuccessful) \
+ ( (This)->lpVtbl -> Invoke(This,errorCode,isSuccessful) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2TrySuspendCompletedHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebMessageReceivedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2WebMessageReceivedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2WebMessageReceivedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2WebMessageReceivedEventArgs = {0x0f99a40c,0xe962,0x4207,{0x9e,0x92,0xe3,0xd5,0x42,0xef,0xf8,0x49}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("0f99a40c-e962-4207-9e92-e3d542eff849")
+ ICoreWebView2WebMessageReceivedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Source(
+ /* [retval][out] */ LPWSTR *source) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WebMessageAsJson(
+ /* [retval][out] */ LPWSTR *webMessageAsJson) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE TryGetWebMessageAsString(
+ /* [retval][out] */ LPWSTR *webMessageAsString) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2WebMessageReceivedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2WebMessageReceivedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2WebMessageReceivedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2WebMessageReceivedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )(
+ ICoreWebView2WebMessageReceivedEventArgs * This,
+ /* [retval][out] */ LPWSTR *source);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WebMessageAsJson )(
+ ICoreWebView2WebMessageReceivedEventArgs * This,
+ /* [retval][out] */ LPWSTR *webMessageAsJson);
+
+ HRESULT ( STDMETHODCALLTYPE *TryGetWebMessageAsString )(
+ ICoreWebView2WebMessageReceivedEventArgs * This,
+ /* [retval][out] */ LPWSTR *webMessageAsString);
+
+ END_INTERFACE
+ } ICoreWebView2WebMessageReceivedEventArgsVtbl;
+
+ interface ICoreWebView2WebMessageReceivedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2WebMessageReceivedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2WebMessageReceivedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2WebMessageReceivedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2WebMessageReceivedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2WebMessageReceivedEventArgs_get_Source(This,source) \
+ ( (This)->lpVtbl -> get_Source(This,source) )
+
+#define ICoreWebView2WebMessageReceivedEventArgs_get_WebMessageAsJson(This,webMessageAsJson) \
+ ( (This)->lpVtbl -> get_WebMessageAsJson(This,webMessageAsJson) )
+
+#define ICoreWebView2WebMessageReceivedEventArgs_TryGetWebMessageAsString(This,webMessageAsString) \
+ ( (This)->lpVtbl -> TryGetWebMessageAsString(This,webMessageAsString) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2WebMessageReceivedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebMessageReceivedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2WebMessageReceivedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2WebMessageReceivedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2WebMessageReceivedEventHandler = {0x57213f19,0x00e6,0x49fa,{0x8e,0x07,0x89,0x8e,0xa0,0x1e,0xcb,0xd2}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("57213f19-00e6-49fa-8e07-898ea01ecbd2")
+ ICoreWebView2WebMessageReceivedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2WebMessageReceivedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2WebMessageReceivedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2WebMessageReceivedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2WebMessageReceivedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2WebMessageReceivedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2WebMessageReceivedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2WebMessageReceivedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2WebMessageReceivedEventHandlerVtbl;
+
+ interface ICoreWebView2WebMessageReceivedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2WebMessageReceivedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2WebMessageReceivedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2WebMessageReceivedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2WebMessageReceivedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2WebMessageReceivedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2WebMessageReceivedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceRequest_INTERFACE_DEFINED__
+#define __ICoreWebView2WebResourceRequest_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2WebResourceRequest */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2WebResourceRequest = {0x97055cd4,0x512c,0x4264,{0x8b,0x5f,0xe3,0xf4,0x46,0xce,0xa6,0xa5}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("97055cd4-512c-4264-8b5f-e3f446cea6a5")
+ ICoreWebView2WebResourceRequest : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Uri(
+ /* [retval][out] */ LPWSTR *uri) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Uri(
+ /* [in] */ LPCWSTR uri) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Method(
+ /* [retval][out] */ LPWSTR *method) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Method(
+ /* [in] */ LPCWSTR method) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Content(
+ /* [retval][out] */ IStream **content) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Content(
+ /* [in] */ IStream *content) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Headers(
+ /* [retval][out] */ ICoreWebView2HttpRequestHeaders **headers) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2WebResourceRequestVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2WebResourceRequest * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2WebResourceRequest * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2WebResourceRequest * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )(
+ ICoreWebView2WebResourceRequest * This,
+ /* [retval][out] */ LPWSTR *uri);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Uri )(
+ ICoreWebView2WebResourceRequest * This,
+ /* [in] */ LPCWSTR uri);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Method )(
+ ICoreWebView2WebResourceRequest * This,
+ /* [retval][out] */ LPWSTR *method);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Method )(
+ ICoreWebView2WebResourceRequest * This,
+ /* [in] */ LPCWSTR method);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Content )(
+ ICoreWebView2WebResourceRequest * This,
+ /* [retval][out] */ IStream **content);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Content )(
+ ICoreWebView2WebResourceRequest * This,
+ /* [in] */ IStream *content);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Headers )(
+ ICoreWebView2WebResourceRequest * This,
+ /* [retval][out] */ ICoreWebView2HttpRequestHeaders **headers);
+
+ END_INTERFACE
+ } ICoreWebView2WebResourceRequestVtbl;
+
+ interface ICoreWebView2WebResourceRequest
+ {
+ CONST_VTBL struct ICoreWebView2WebResourceRequestVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2WebResourceRequest_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2WebResourceRequest_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2WebResourceRequest_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2WebResourceRequest_get_Uri(This,uri) \
+ ( (This)->lpVtbl -> get_Uri(This,uri) )
+
+#define ICoreWebView2WebResourceRequest_put_Uri(This,uri) \
+ ( (This)->lpVtbl -> put_Uri(This,uri) )
+
+#define ICoreWebView2WebResourceRequest_get_Method(This,method) \
+ ( (This)->lpVtbl -> get_Method(This,method) )
+
+#define ICoreWebView2WebResourceRequest_put_Method(This,method) \
+ ( (This)->lpVtbl -> put_Method(This,method) )
+
+#define ICoreWebView2WebResourceRequest_get_Content(This,content) \
+ ( (This)->lpVtbl -> get_Content(This,content) )
+
+#define ICoreWebView2WebResourceRequest_put_Content(This,content) \
+ ( (This)->lpVtbl -> put_Content(This,content) )
+
+#define ICoreWebView2WebResourceRequest_get_Headers(This,headers) \
+ ( (This)->lpVtbl -> get_Headers(This,headers) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2WebResourceRequest_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceRequestedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2WebResourceRequestedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2WebResourceRequestedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2WebResourceRequestedEventArgs = {0x453e667f,0x12c7,0x49d4,{0xbe,0x6d,0xdd,0xbe,0x79,0x56,0xf5,0x7a}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("453e667f-12c7-49d4-be6d-ddbe7956f57a")
+ ICoreWebView2WebResourceRequestedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Request(
+ /* [retval][out] */ ICoreWebView2WebResourceRequest **request) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Response(
+ /* [retval][out] */ ICoreWebView2WebResourceResponse **response) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Response(
+ /* [in] */ ICoreWebView2WebResourceResponse *response) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetDeferral(
+ /* [retval][out] */ ICoreWebView2Deferral **deferral) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ResourceContext(
+ /* [retval][out] */ COREWEBVIEW2_WEB_RESOURCE_CONTEXT *context) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2WebResourceRequestedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2WebResourceRequestedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2WebResourceRequestedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2WebResourceRequestedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Request )(
+ ICoreWebView2WebResourceRequestedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Response )(
+ ICoreWebView2WebResourceRequestedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Response )(
+ ICoreWebView2WebResourceRequestedEventArgs * This,
+ /* [in] */ ICoreWebView2WebResourceResponse *response);
+
+ HRESULT ( STDMETHODCALLTYPE *GetDeferral )(
+ ICoreWebView2WebResourceRequestedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2Deferral **deferral);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ResourceContext )(
+ ICoreWebView2WebResourceRequestedEventArgs * This,
+ /* [retval][out] */ COREWEBVIEW2_WEB_RESOURCE_CONTEXT *context);
+
+ END_INTERFACE
+ } ICoreWebView2WebResourceRequestedEventArgsVtbl;
+
+ interface ICoreWebView2WebResourceRequestedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2WebResourceRequestedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2WebResourceRequestedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2WebResourceRequestedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2WebResourceRequestedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2WebResourceRequestedEventArgs_get_Request(This,request) \
+ ( (This)->lpVtbl -> get_Request(This,request) )
+
+#define ICoreWebView2WebResourceRequestedEventArgs_get_Response(This,response) \
+ ( (This)->lpVtbl -> get_Response(This,response) )
+
+#define ICoreWebView2WebResourceRequestedEventArgs_put_Response(This,response) \
+ ( (This)->lpVtbl -> put_Response(This,response) )
+
+#define ICoreWebView2WebResourceRequestedEventArgs_GetDeferral(This,deferral) \
+ ( (This)->lpVtbl -> GetDeferral(This,deferral) )
+
+#define ICoreWebView2WebResourceRequestedEventArgs_get_ResourceContext(This,context) \
+ ( (This)->lpVtbl -> get_ResourceContext(This,context) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2WebResourceRequestedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceRequestedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2WebResourceRequestedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2WebResourceRequestedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2WebResourceRequestedEventHandler = {0xab00b74c,0x15f1,0x4646,{0x80,0xe8,0xe7,0x63,0x41,0xd2,0x5d,0x71}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("ab00b74c-15f1-4646-80e8-e76341d25d71")
+ ICoreWebView2WebResourceRequestedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2WebResourceRequestedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2WebResourceRequestedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2WebResourceRequestedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2WebResourceRequestedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2WebResourceRequestedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2WebResourceRequestedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2WebResourceRequestedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2WebResourceRequestedEventHandlerVtbl;
+
+ interface ICoreWebView2WebResourceRequestedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2WebResourceRequestedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2WebResourceRequestedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2WebResourceRequestedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2WebResourceRequestedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2WebResourceRequestedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2WebResourceRequestedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceResponse_INTERFACE_DEFINED__
+#define __ICoreWebView2WebResourceResponse_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2WebResourceResponse */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2WebResourceResponse = {0xaafcc94f,0xfa27,0x48fd,{0x97,0xdf,0x83,0x0e,0xf7,0x5a,0xae,0xc9}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("aafcc94f-fa27-48fd-97df-830ef75aaec9")
+ ICoreWebView2WebResourceResponse : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Content(
+ /* [retval][out] */ IStream **content) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Content(
+ /* [in] */ IStream *content) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Headers(
+ /* [retval][out] */ ICoreWebView2HttpResponseHeaders **headers) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StatusCode(
+ /* [retval][out] */ int *statusCode) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_StatusCode(
+ /* [in] */ int statusCode) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReasonPhrase(
+ /* [retval][out] */ LPWSTR *reasonPhrase) = 0;
+
+ virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ReasonPhrase(
+ /* [in] */ LPCWSTR reasonPhrase) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2WebResourceResponseVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2WebResourceResponse * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2WebResourceResponse * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2WebResourceResponse * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Content )(
+ ICoreWebView2WebResourceResponse * This,
+ /* [retval][out] */ IStream **content);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Content )(
+ ICoreWebView2WebResourceResponse * This,
+ /* [in] */ IStream *content);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Headers )(
+ ICoreWebView2WebResourceResponse * This,
+ /* [retval][out] */ ICoreWebView2HttpResponseHeaders **headers);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusCode )(
+ ICoreWebView2WebResourceResponse * This,
+ /* [retval][out] */ int *statusCode);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_StatusCode )(
+ ICoreWebView2WebResourceResponse * This,
+ /* [in] */ int statusCode);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReasonPhrase )(
+ ICoreWebView2WebResourceResponse * This,
+ /* [retval][out] */ LPWSTR *reasonPhrase);
+
+ /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ReasonPhrase )(
+ ICoreWebView2WebResourceResponse * This,
+ /* [in] */ LPCWSTR reasonPhrase);
+
+ END_INTERFACE
+ } ICoreWebView2WebResourceResponseVtbl;
+
+ interface ICoreWebView2WebResourceResponse
+ {
+ CONST_VTBL struct ICoreWebView2WebResourceResponseVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2WebResourceResponse_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2WebResourceResponse_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2WebResourceResponse_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2WebResourceResponse_get_Content(This,content) \
+ ( (This)->lpVtbl -> get_Content(This,content) )
+
+#define ICoreWebView2WebResourceResponse_put_Content(This,content) \
+ ( (This)->lpVtbl -> put_Content(This,content) )
+
+#define ICoreWebView2WebResourceResponse_get_Headers(This,headers) \
+ ( (This)->lpVtbl -> get_Headers(This,headers) )
+
+#define ICoreWebView2WebResourceResponse_get_StatusCode(This,statusCode) \
+ ( (This)->lpVtbl -> get_StatusCode(This,statusCode) )
+
+#define ICoreWebView2WebResourceResponse_put_StatusCode(This,statusCode) \
+ ( (This)->lpVtbl -> put_StatusCode(This,statusCode) )
+
+#define ICoreWebView2WebResourceResponse_get_ReasonPhrase(This,reasonPhrase) \
+ ( (This)->lpVtbl -> get_ReasonPhrase(This,reasonPhrase) )
+
+#define ICoreWebView2WebResourceResponse_put_ReasonPhrase(This,reasonPhrase) \
+ ( (This)->lpVtbl -> put_ReasonPhrase(This,reasonPhrase) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2WebResourceResponse_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceResponseReceivedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2WebResourceResponseReceivedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2WebResourceResponseReceivedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2WebResourceResponseReceivedEventHandler = {0x7DE9898A,0x24F5,0x40C3,{0xA2,0xDE,0xD4,0xF4,0x58,0xE6,0x98,0x28}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("7DE9898A-24F5-40C3-A2DE-D4F458E69828")
+ ICoreWebView2WebResourceResponseReceivedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2WebResourceResponseReceivedEventArgs *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2WebResourceResponseReceivedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2WebResourceResponseReceivedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2WebResourceResponseReceivedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2WebResourceResponseReceivedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2WebResourceResponseReceivedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ ICoreWebView2WebResourceResponseReceivedEventArgs *args);
+
+ END_INTERFACE
+ } ICoreWebView2WebResourceResponseReceivedEventHandlerVtbl;
+
+ interface ICoreWebView2WebResourceResponseReceivedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2WebResourceResponseReceivedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2WebResourceResponseReceivedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2WebResourceResponseReceivedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2WebResourceResponseReceivedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2WebResourceResponseReceivedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2WebResourceResponseReceivedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceResponseReceivedEventArgs_INTERFACE_DEFINED__
+#define __ICoreWebView2WebResourceResponseReceivedEventArgs_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2WebResourceResponseReceivedEventArgs */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2WebResourceResponseReceivedEventArgs = {0xD1DB483D,0x6796,0x4B8B,{0x80,0xFC,0x13,0x71,0x2B,0xB7,0x16,0xF4}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("D1DB483D-6796-4B8B-80FC-13712BB716F4")
+ ICoreWebView2WebResourceResponseReceivedEventArgs : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Request(
+ /* [retval][out] */ ICoreWebView2WebResourceRequest **request) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Response(
+ /* [retval][out] */ ICoreWebView2WebResourceResponseView **response) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2WebResourceResponseReceivedEventArgsVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2WebResourceResponseReceivedEventArgs * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2WebResourceResponseReceivedEventArgs * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2WebResourceResponseReceivedEventArgs * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Request )(
+ ICoreWebView2WebResourceResponseReceivedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Response )(
+ ICoreWebView2WebResourceResponseReceivedEventArgs * This,
+ /* [retval][out] */ ICoreWebView2WebResourceResponseView **response);
+
+ END_INTERFACE
+ } ICoreWebView2WebResourceResponseReceivedEventArgsVtbl;
+
+ interface ICoreWebView2WebResourceResponseReceivedEventArgs
+ {
+ CONST_VTBL struct ICoreWebView2WebResourceResponseReceivedEventArgsVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2WebResourceResponseReceivedEventArgs_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2WebResourceResponseReceivedEventArgs_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2WebResourceResponseReceivedEventArgs_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2WebResourceResponseReceivedEventArgs_get_Request(This,request) \
+ ( (This)->lpVtbl -> get_Request(This,request) )
+
+#define ICoreWebView2WebResourceResponseReceivedEventArgs_get_Response(This,response) \
+ ( (This)->lpVtbl -> get_Response(This,response) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2WebResourceResponseReceivedEventArgs_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceResponseView_INTERFACE_DEFINED__
+#define __ICoreWebView2WebResourceResponseView_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2WebResourceResponseView */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2WebResourceResponseView = {0x79701053,0x7759,0x4162,{0x8F,0x7D,0xF1,0xB3,0xF0,0x84,0x92,0x8D}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("79701053-7759-4162-8F7D-F1B3F084928D")
+ ICoreWebView2WebResourceResponseView : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Headers(
+ /* [retval][out] */ ICoreWebView2HttpResponseHeaders **headers) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StatusCode(
+ /* [retval][out] */ int *statusCode) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReasonPhrase(
+ /* [retval][out] */ LPWSTR *reasonPhrase) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetContent(
+ /* [in] */ ICoreWebView2WebResourceResponseViewGetContentCompletedHandler *handler) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2WebResourceResponseViewVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2WebResourceResponseView * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2WebResourceResponseView * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2WebResourceResponseView * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Headers )(
+ ICoreWebView2WebResourceResponseView * This,
+ /* [retval][out] */ ICoreWebView2HttpResponseHeaders **headers);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusCode )(
+ ICoreWebView2WebResourceResponseView * This,
+ /* [retval][out] */ int *statusCode);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReasonPhrase )(
+ ICoreWebView2WebResourceResponseView * This,
+ /* [retval][out] */ LPWSTR *reasonPhrase);
+
+ HRESULT ( STDMETHODCALLTYPE *GetContent )(
+ ICoreWebView2WebResourceResponseView * This,
+ /* [in] */ ICoreWebView2WebResourceResponseViewGetContentCompletedHandler *handler);
+
+ END_INTERFACE
+ } ICoreWebView2WebResourceResponseViewVtbl;
+
+ interface ICoreWebView2WebResourceResponseView
+ {
+ CONST_VTBL struct ICoreWebView2WebResourceResponseViewVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2WebResourceResponseView_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2WebResourceResponseView_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2WebResourceResponseView_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2WebResourceResponseView_get_Headers(This,headers) \
+ ( (This)->lpVtbl -> get_Headers(This,headers) )
+
+#define ICoreWebView2WebResourceResponseView_get_StatusCode(This,statusCode) \
+ ( (This)->lpVtbl -> get_StatusCode(This,statusCode) )
+
+#define ICoreWebView2WebResourceResponseView_get_ReasonPhrase(This,reasonPhrase) \
+ ( (This)->lpVtbl -> get_ReasonPhrase(This,reasonPhrase) )
+
+#define ICoreWebView2WebResourceResponseView_GetContent(This,handler) \
+ ( (This)->lpVtbl -> GetContent(This,handler) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2WebResourceResponseView_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2WebResourceResponseViewGetContentCompletedHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2WebResourceResponseViewGetContentCompletedHandler = {0x875738E1,0x9FA2,0x40E3,{0x8B,0x74,0x2E,0x89,0x72,0xDD,0x6F,0xE7}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("875738E1-9FA2-40E3-8B74-2E8972DD6FE7")
+ ICoreWebView2WebResourceResponseViewGetContentCompletedHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ HRESULT errorCode,
+ /* [in] */ IStream *content) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2WebResourceResponseViewGetContentCompletedHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2WebResourceResponseViewGetContentCompletedHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2WebResourceResponseViewGetContentCompletedHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2WebResourceResponseViewGetContentCompletedHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2WebResourceResponseViewGetContentCompletedHandler * This,
+ /* [in] */ HRESULT errorCode,
+ /* [in] */ IStream *content);
+
+ END_INTERFACE
+ } ICoreWebView2WebResourceResponseViewGetContentCompletedHandlerVtbl;
+
+ interface ICoreWebView2WebResourceResponseViewGetContentCompletedHandler
+ {
+ CONST_VTBL struct ICoreWebView2WebResourceResponseViewGetContentCompletedHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_Invoke(This,errorCode,content) \
+ ( (This)->lpVtbl -> Invoke(This,errorCode,content) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2WebResourceResponseViewGetContentCompletedHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WindowCloseRequestedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2WindowCloseRequestedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2WindowCloseRequestedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2WindowCloseRequestedEventHandler = {0x5c19e9e0,0x092f,0x486b,{0xaf,0xfa,0xca,0x82,0x31,0x91,0x30,0x39}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("5c19e9e0-092f-486b-affa-ca8231913039")
+ ICoreWebView2WindowCloseRequestedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2WindowCloseRequestedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2WindowCloseRequestedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2WindowCloseRequestedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2WindowCloseRequestedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2WindowCloseRequestedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2WindowCloseRequestedEventHandlerVtbl;
+
+ interface ICoreWebView2WindowCloseRequestedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2WindowCloseRequestedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2WindowCloseRequestedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2WindowCloseRequestedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2WindowCloseRequestedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2WindowCloseRequestedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2WindowCloseRequestedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2WindowFeatures_INTERFACE_DEFINED__
+#define __ICoreWebView2WindowFeatures_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2WindowFeatures */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2WindowFeatures = {0x5eaf559f,0xb46e,0x4397,{0x88,0x60,0xe4,0x22,0xf2,0x87,0xff,0x1e}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("5eaf559f-b46e-4397-8860-e422f287ff1e")
+ ICoreWebView2WindowFeatures : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasPosition(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasSize(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Left(
+ /* [retval][out] */ UINT32 *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Top(
+ /* [retval][out] */ UINT32 *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Height(
+ /* [retval][out] */ UINT32 *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Width(
+ /* [retval][out] */ UINT32 *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ShouldDisplayMenuBar(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ShouldDisplayStatus(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ShouldDisplayToolbar(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ShouldDisplayScrollBars(
+ /* [retval][out] */ BOOL *value) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2WindowFeaturesVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2WindowFeatures * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2WindowFeatures * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2WindowFeatures * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasPosition )(
+ ICoreWebView2WindowFeatures * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasSize )(
+ ICoreWebView2WindowFeatures * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Left )(
+ ICoreWebView2WindowFeatures * This,
+ /* [retval][out] */ UINT32 *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Top )(
+ ICoreWebView2WindowFeatures * This,
+ /* [retval][out] */ UINT32 *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )(
+ ICoreWebView2WindowFeatures * This,
+ /* [retval][out] */ UINT32 *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )(
+ ICoreWebView2WindowFeatures * This,
+ /* [retval][out] */ UINT32 *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldDisplayMenuBar )(
+ ICoreWebView2WindowFeatures * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldDisplayStatus )(
+ ICoreWebView2WindowFeatures * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldDisplayToolbar )(
+ ICoreWebView2WindowFeatures * This,
+ /* [retval][out] */ BOOL *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldDisplayScrollBars )(
+ ICoreWebView2WindowFeatures * This,
+ /* [retval][out] */ BOOL *value);
+
+ END_INTERFACE
+ } ICoreWebView2WindowFeaturesVtbl;
+
+ interface ICoreWebView2WindowFeatures
+ {
+ CONST_VTBL struct ICoreWebView2WindowFeaturesVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2WindowFeatures_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2WindowFeatures_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2WindowFeatures_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2WindowFeatures_get_HasPosition(This,value) \
+ ( (This)->lpVtbl -> get_HasPosition(This,value) )
+
+#define ICoreWebView2WindowFeatures_get_HasSize(This,value) \
+ ( (This)->lpVtbl -> get_HasSize(This,value) )
+
+#define ICoreWebView2WindowFeatures_get_Left(This,value) \
+ ( (This)->lpVtbl -> get_Left(This,value) )
+
+#define ICoreWebView2WindowFeatures_get_Top(This,value) \
+ ( (This)->lpVtbl -> get_Top(This,value) )
+
+#define ICoreWebView2WindowFeatures_get_Height(This,value) \
+ ( (This)->lpVtbl -> get_Height(This,value) )
+
+#define ICoreWebView2WindowFeatures_get_Width(This,value) \
+ ( (This)->lpVtbl -> get_Width(This,value) )
+
+#define ICoreWebView2WindowFeatures_get_ShouldDisplayMenuBar(This,value) \
+ ( (This)->lpVtbl -> get_ShouldDisplayMenuBar(This,value) )
+
+#define ICoreWebView2WindowFeatures_get_ShouldDisplayStatus(This,value) \
+ ( (This)->lpVtbl -> get_ShouldDisplayStatus(This,value) )
+
+#define ICoreWebView2WindowFeatures_get_ShouldDisplayToolbar(This,value) \
+ ( (This)->lpVtbl -> get_ShouldDisplayToolbar(This,value) )
+
+#define ICoreWebView2WindowFeatures_get_ShouldDisplayScrollBars(This,value) \
+ ( (This)->lpVtbl -> get_ShouldDisplayScrollBars(This,value) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2WindowFeatures_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ZoomFactorChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2ZoomFactorChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ZoomFactorChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ZoomFactorChangedEventHandler = {0xb52d71d6,0xc4df,0x4543,{0xa9,0x0c,0x64,0xa3,0xe6,0x0f,0x38,0xcb}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("b52d71d6-c4df-4543-a90c-64a3e60f38cb")
+ ICoreWebView2ZoomFactorChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2Controller *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ZoomFactorChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ZoomFactorChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ZoomFactorChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ZoomFactorChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2ZoomFactorChangedEventHandler * This,
+ /* [in] */ ICoreWebView2Controller *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2ZoomFactorChangedEventHandlerVtbl;
+
+ interface ICoreWebView2ZoomFactorChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2ZoomFactorChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ZoomFactorChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ZoomFactorChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ZoomFactorChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ZoomFactorChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ZoomFactorChangedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2IsMutedChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2IsMutedChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2IsMutedChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2IsMutedChangedEventHandler = {0x57D90347,0xCD0E,0x4952,{0xA4,0xA2,0x74,0x83,0xA2,0x75,0x6F,0x08}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("57D90347-CD0E-4952-A4A2-7483A2756F08")
+ ICoreWebView2IsMutedChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2IsMutedChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2IsMutedChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2IsMutedChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2IsMutedChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2IsMutedChangedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2IsMutedChangedEventHandlerVtbl;
+
+ interface ICoreWebView2IsMutedChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2IsMutedChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2IsMutedChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2IsMutedChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2IsMutedChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2IsMutedChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2IsMutedChangedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2IsDocumentPlayingAudioChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2IsDocumentPlayingAudioChangedEventHandler = {0x5DEF109A,0x2F4B,0x49FA,{0xB7,0xF6,0x11,0xC3,0x9E,0x51,0x33,0x28}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("5DEF109A-2F4B-49FA-B7F6-11C39E513328")
+ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2IsDocumentPlayingAudioChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler * This,
+ /* [in] */ ICoreWebView2 *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2IsDocumentPlayingAudioChangedEventHandlerVtbl;
+
+ interface ICoreWebView2IsDocumentPlayingAudioChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2IsDocumentPlayingAudioChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2IsDocumentPlayingAudioChangedEventHandler_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ProcessInfo_INTERFACE_DEFINED__
+#define __ICoreWebView2ProcessInfo_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ProcessInfo */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ProcessInfo = {0x84FA7612,0x3F3D,0x4FBF,{0x88,0x9D,0xFA,0xD0,0x00,0x49,0x2D,0x72}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("84FA7612-3F3D-4FBF-889D-FAD000492D72")
+ ICoreWebView2ProcessInfo : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProcessId(
+ /* [retval][out] */ INT32 *value) = 0;
+
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Kind(
+ /* [retval][out] */ COREWEBVIEW2_PROCESS_KIND *kind) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ProcessInfoVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ProcessInfo * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ProcessInfo * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ProcessInfo * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProcessId )(
+ ICoreWebView2ProcessInfo * This,
+ /* [retval][out] */ INT32 *value);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )(
+ ICoreWebView2ProcessInfo * This,
+ /* [retval][out] */ COREWEBVIEW2_PROCESS_KIND *kind);
+
+ END_INTERFACE
+ } ICoreWebView2ProcessInfoVtbl;
+
+ interface ICoreWebView2ProcessInfo
+ {
+ CONST_VTBL struct ICoreWebView2ProcessInfoVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ProcessInfo_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ProcessInfo_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ProcessInfo_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ProcessInfo_get_ProcessId(This,value) \
+ ( (This)->lpVtbl -> get_ProcessId(This,value) )
+
+#define ICoreWebView2ProcessInfo_get_Kind(This,kind) \
+ ( (This)->lpVtbl -> get_Kind(This,kind) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ProcessInfo_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ProcessInfoCollection_INTERFACE_DEFINED__
+#define __ICoreWebView2ProcessInfoCollection_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ProcessInfoCollection */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ProcessInfoCollection = {0x402B99CD,0xA0CC,0x4FA5,{0xB7,0xA5,0x51,0xD8,0x6A,0x1D,0x23,0x39}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("402B99CD-A0CC-4FA5-B7A5-51D86A1D2339")
+ ICoreWebView2ProcessInfoCollection : public IUnknown
+ {
+ public:
+ virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count(
+ /* [retval][out] */ UINT *count) = 0;
+
+ virtual HRESULT STDMETHODCALLTYPE GetValueAtIndex(
+ /* [in] */ UINT32 index,
+ /* [retval][out] */ ICoreWebView2ProcessInfo **processInfo) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ProcessInfoCollectionVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ProcessInfoCollection * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ProcessInfoCollection * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ProcessInfoCollection * This);
+
+ /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )(
+ ICoreWebView2ProcessInfoCollection * This,
+ /* [retval][out] */ UINT *count);
+
+ HRESULT ( STDMETHODCALLTYPE *GetValueAtIndex )(
+ ICoreWebView2ProcessInfoCollection * This,
+ /* [in] */ UINT32 index,
+ /* [retval][out] */ ICoreWebView2ProcessInfo **processInfo);
+
+ END_INTERFACE
+ } ICoreWebView2ProcessInfoCollectionVtbl;
+
+ interface ICoreWebView2ProcessInfoCollection
+ {
+ CONST_VTBL struct ICoreWebView2ProcessInfoCollectionVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ProcessInfoCollection_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ProcessInfoCollection_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ProcessInfoCollection_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ProcessInfoCollection_get_Count(This,count) \
+ ( (This)->lpVtbl -> get_Count(This,count) )
+
+#define ICoreWebView2ProcessInfoCollection_GetValueAtIndex(This,index,processInfo) \
+ ( (This)->lpVtbl -> GetValueAtIndex(This,index,processInfo) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ProcessInfoCollection_INTERFACE_DEFINED__ */
+
+
+#ifndef __ICoreWebView2ProcessInfosChangedEventHandler_INTERFACE_DEFINED__
+#define __ICoreWebView2ProcessInfosChangedEventHandler_INTERFACE_DEFINED__
+
+/* interface ICoreWebView2ProcessInfosChangedEventHandler */
+/* [unique][object][uuid] */
+
+
+EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ProcessInfosChangedEventHandler = {0xF4AF0C39,0x44B9,0x40E9,{0x8B,0x11,0x04,0x84,0xCF,0xB9,0xE0,0xA1}};
+
+#if defined(__cplusplus) && !defined(CINTERFACE)
+
+ MIDL_INTERFACE("F4AF0C39-44B9-40E9-8B11-0484CFB9E0A1")
+ ICoreWebView2ProcessInfosChangedEventHandler : public IUnknown
+ {
+ public:
+ virtual HRESULT STDMETHODCALLTYPE Invoke(
+ /* [in] */ ICoreWebView2Environment *sender,
+ /* [in] */ IUnknown *args) = 0;
+
+ };
+
+
+#else /* C style interface */
+
+ typedef struct ICoreWebView2ProcessInfosChangedEventHandlerVtbl
+ {
+ BEGIN_INTERFACE
+
+ HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
+ ICoreWebView2ProcessInfosChangedEventHandler * This,
+ /* [in] */ REFIID riid,
+ /* [annotation][iid_is][out] */
+ _COM_Outptr_ void **ppvObject);
+
+ ULONG ( STDMETHODCALLTYPE *AddRef )(
+ ICoreWebView2ProcessInfosChangedEventHandler * This);
+
+ ULONG ( STDMETHODCALLTYPE *Release )(
+ ICoreWebView2ProcessInfosChangedEventHandler * This);
+
+ HRESULT ( STDMETHODCALLTYPE *Invoke )(
+ ICoreWebView2ProcessInfosChangedEventHandler * This,
+ /* [in] */ ICoreWebView2Environment *sender,
+ /* [in] */ IUnknown *args);
+
+ END_INTERFACE
+ } ICoreWebView2ProcessInfosChangedEventHandlerVtbl;
+
+ interface ICoreWebView2ProcessInfosChangedEventHandler
+ {
+ CONST_VTBL struct ICoreWebView2ProcessInfosChangedEventHandlerVtbl *lpVtbl;
+ };
+
+
+
+#ifdef COBJMACROS
+
+
+#define ICoreWebView2ProcessInfosChangedEventHandler_QueryInterface(This,riid,ppvObject) \
+ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
+
+#define ICoreWebView2ProcessInfosChangedEventHandler_AddRef(This) \
+ ( (This)->lpVtbl -> AddRef(This) )
+
+#define ICoreWebView2ProcessInfosChangedEventHandler_Release(This) \
+ ( (This)->lpVtbl -> Release(This) )
+
+
+#define ICoreWebView2ProcessInfosChangedEventHandler_Invoke(This,sender,args) \
+ ( (This)->lpVtbl -> Invoke(This,sender,args) )
+
+#endif /* COBJMACROS */
+
+
+#endif /* C style interface */
+
+
+
+
+#endif /* __ICoreWebView2ProcessInfosChangedEventHandler_INTERFACE_DEFINED__ */
+
+#endif /* __WebView2_LIBRARY_DEFINED__ */
+
+/* Additional Prototypes for ALL interfaces */
+
+/* end of Additional Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
diff --git a/webkit-4.1/libs/mswebview2/version.txt b/webkit-4.1/libs/mswebview2/version.txt
new file mode 100644
index 0000000..d573b66
--- /dev/null
+++ b/webkit-4.1/libs/mswebview2/version.txt
@@ -0,0 +1 @@
+1.0.1150.38
diff --git a/webkit-4.1/libs/webview/LICENSE b/webkit-4.1/libs/webview/LICENSE
new file mode 100644
index 0000000..cb9601a
--- /dev/null
+++ b/webkit-4.1/libs/webview/LICENSE
@@ -0,0 +1,22 @@
+MIT License
+
+Copyright (c) 2017 Serge Zaitsev
+Copyright (c) 2022 Steffen André Langnes
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/webkit-4.1/libs/webview/include/webview.h b/webkit-4.1/libs/webview/include/webview.h
new file mode 100644
index 0000000..7a67776
--- /dev/null
+++ b/webkit-4.1/libs/webview/include/webview.h
@@ -0,0 +1,3597 @@
+/*
+ * MIT License
+ *
+ * Copyright (c) 2017 Serge Zaitsev
+ * Copyright (c) 2022 Steffen André Langnes
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+/// @file webview.h
+
+#ifndef WEBVIEW_H
+#define WEBVIEW_H
+
+/**
+ * Used to specify function linkage such as extern, inline, etc.
+ *
+ * When @c WEBVIEW_API is not already defined, the defaults are as follows:
+ *
+ * - @c inline when compiling C++ code.
+ * - @c extern when compiling C code.
+ *
+ * The following macros can be used to automatically set an appropriate
+ * value for @c WEBVIEW_API:
+ *
+ * - Define @c WEBVIEW_BUILD_SHARED when building a shared library.
+ * - Define @c WEBVIEW_SHARED when using a shared library.
+ * - Define @c WEBVIEW_STATIC when building or using a static library.
+ */
+#ifndef WEBVIEW_API
+#if defined(WEBVIEW_SHARED) || defined(WEBVIEW_BUILD_SHARED)
+#if defined(_WIN32) || defined(__CYGWIN__)
+#if defined(WEBVIEW_BUILD_SHARED)
+#define WEBVIEW_API __declspec(dllexport)
+#else
+#define WEBVIEW_API __declspec(dllimport)
+#endif
+#else
+#define WEBVIEW_API __attribute__((visibility("default")))
+#endif
+#elif !defined(WEBVIEW_STATIC) && defined(__cplusplus)
+#define WEBVIEW_API inline
+#else
+#define WEBVIEW_API extern
+#endif
+#endif
+
+/// @name Version
+/// @{
+
+#ifndef WEBVIEW_VERSION_MAJOR
+/// The current library major version.
+#define WEBVIEW_VERSION_MAJOR 0
+#endif
+
+#ifndef WEBVIEW_VERSION_MINOR
+/// The current library minor version.
+#define WEBVIEW_VERSION_MINOR 11
+#endif
+
+#ifndef WEBVIEW_VERSION_PATCH
+/// The current library patch version.
+#define WEBVIEW_VERSION_PATCH 0
+#endif
+
+#ifndef WEBVIEW_VERSION_PRE_RELEASE
+/// SemVer 2.0.0 pre-release labels prefixed with "-".
+#define WEBVIEW_VERSION_PRE_RELEASE ""
+#endif
+
+#ifndef WEBVIEW_VERSION_BUILD_METADATA
+/// SemVer 2.0.0 build metadata prefixed with "+".
+#define WEBVIEW_VERSION_BUILD_METADATA ""
+#endif
+
+/// @}
+
+/// @name Used internally
+/// @{
+
+/// Utility macro for stringifying a macro argument.
+#define WEBVIEW_STRINGIFY(x) #x
+
+/// Utility macro for stringifying the result of a macro argument expansion.
+#define WEBVIEW_EXPAND_AND_STRINGIFY(x) WEBVIEW_STRINGIFY(x)
+
+/// @}
+
+/// @name Version
+/// @{
+
+/// SemVer 2.0.0 version number in MAJOR.MINOR.PATCH format.
+#define WEBVIEW_VERSION_NUMBER \
+ WEBVIEW_EXPAND_AND_STRINGIFY(WEBVIEW_VERSION_MAJOR) \
+ "." WEBVIEW_EXPAND_AND_STRINGIFY( \
+ WEBVIEW_VERSION_MINOR) "." WEBVIEW_EXPAND_AND_STRINGIFY(WEBVIEW_VERSION_PATCH)
+
+/// @}
+
+/// Holds the elements of a MAJOR.MINOR.PATCH version number.
+typedef struct {
+ /// Major version.
+ unsigned int major;
+ /// Minor version.
+ unsigned int minor;
+ /// Patch version.
+ unsigned int patch;
+} webview_version_t;
+
+/// Holds the library's version information.
+typedef struct {
+ /// The elements of the version number.
+ webview_version_t version;
+ /// SemVer 2.0.0 version number in MAJOR.MINOR.PATCH format.
+ char version_number[32];
+ /// SemVer 2.0.0 pre-release labels prefixed with "-" if specified, otherwise
+ /// an empty string.
+ char pre_release[48];
+ /// SemVer 2.0.0 build metadata prefixed with "+", otherwise an empty string.
+ char build_metadata[48];
+} webview_version_info_t;
+
+/// Pointer to a webview instance.
+typedef void *webview_t;
+
+/// Native handle kind. The actual type depends on the backend.
+typedef enum {
+ /// Top-level window. @c GtkWindow pointer (GTK), @c NSWindow pointer (Cocoa)
+ /// or @c HWND (Win32).
+ WEBVIEW_NATIVE_HANDLE_KIND_UI_WINDOW,
+ /// Browser widget. @c GtkWidget pointer (GTK), @c NSView pointer (Cocoa) or
+ /// @c HWND (Win32).
+ WEBVIEW_NATIVE_HANDLE_KIND_UI_WIDGET,
+ /// Browser controller. @c WebKitWebView pointer (WebKitGTK), @c WKWebView
+ /// pointer (Cocoa/WebKit) or @c ICoreWebView2Controller pointer
+ /// (Win32/WebView2).
+ WEBVIEW_NATIVE_HANDLE_KIND_BROWSER_CONTROLLER
+} webview_native_handle_kind_t;
+
+/// Window size hints
+typedef enum {
+ /// Width and height are default size.
+ WEBVIEW_HINT_NONE,
+ /// Width and height are minimum bounds.
+ WEBVIEW_HINT_MIN,
+ /// Width and height are maximum bounds.
+ WEBVIEW_HINT_MAX,
+ /// Window size can not be changed by a user.
+ WEBVIEW_HINT_FIXED
+} webview_hint_t;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Creates a new webview instance.
+ *
+ * @param debug Enable developer tools if supported by the backend.
+ * @param window Optional native window handle, i.e. @c GtkWindow pointer
+ * @c NSWindow pointer (Cocoa) or @c HWND (Win32). If non-null,
+ * the webview widget is embedded into the given window, and the
+ * caller is expected to assume responsibility for the window as
+ * well as application lifecycle. If the window handle is null,
+ * a new window is created and both the window and application
+ * lifecycle are managed by the webview instance.
+ * @remark Win32: The function also accepts a pointer to @c HWND (Win32) in the
+ * window parameter for backward compatibility.
+ * @remark Win32/WebView2: @c CoInitializeEx should be called with
+ * @c COINIT_APARTMENTTHREADED before attempting to call this function
+ * with an existing window. Omitting this step may cause WebView2
+ * initialization to fail.
+ * @return @c NULL on failure. Creation can fail for various reasons such
+ * as when required runtime dependencies are missing or when window
+ * creation fails.
+ */
+WEBVIEW_API webview_t webview_create(int debug, void *window);
+
+/**
+ * Destroys a webview instance and closes the native window.
+ *
+ * @param w The webview instance.
+ */
+WEBVIEW_API void webview_destroy(webview_t w);
+
+/**
+ * Runs the main loop until it's terminated.
+ *
+ * @param w The webview instance.
+ */
+WEBVIEW_API void webview_run(webview_t w);
+
+/**
+ * Stops the main loop. It is safe to call this function from another other
+ * background thread.
+ *
+ * @param w The webview instance.
+ */
+WEBVIEW_API void webview_terminate(webview_t w);
+
+/**
+ * Schedules a function to be invoked on the thread with the run/event loop.
+ * Use this function e.g. to interact with the library or native handles.
+ *
+ * @param w The webview instance.
+ * @param fn The function to be invoked.
+ * @param arg An optional argument passed along to the callback function.
+ */
+WEBVIEW_API void
+webview_dispatch(webview_t w, void (*fn)(webview_t w, void *arg), void *arg);
+
+/**
+ * Returns the native handle of the window associated with the webview instance.
+ * The handle can be a @c GtkWindow pointer (GTK), @c NSWindow pointer (Cocoa)
+ * or @c HWND (Win32).
+ *
+ * @param w The webview instance.
+ * @return The handle of the native window.
+ */
+WEBVIEW_API void *webview_get_window(webview_t w);
+
+/**
+ * Get a native handle of choice.
+ *
+ * @param w The webview instance.
+ * @param kind The kind of handle to retrieve.
+ * @return The native handle or @c NULL.
+ * @since 0.11
+ */
+WEBVIEW_API void *webview_get_native_handle(webview_t w,
+ webview_native_handle_kind_t kind);
+
+/**
+ * Updates the title of the native window.
+ *
+ * @param w The webview instance.
+ * @param title The new title.
+ */
+WEBVIEW_API void webview_set_title(webview_t w, const char *title);
+
+/**
+ * Updates the size of the native window.
+ *
+ * @param w The webview instance.
+ * @param width New width.
+ * @param height New height.
+ * @param hints Size hints.
+ */
+WEBVIEW_API void webview_set_size(webview_t w, int width, int height,
+ webview_hint_t hints);
+
+/**
+ * Navigates webview to the given URL. URL may be a properly encoded data URI.
+ *
+ * Example:
+ * @code{.c}
+ * webview_navigate(w, "https://github.com/webview/webview");
+ * webview_navigate(w, "data:text/html,%3Ch1%3EHello%3C%2Fh1%3E");
+ * webview_navigate(w, "data:text/html;base64,PGgxPkhlbGxvPC9oMT4=");
+ * @endcode
+ *
+ * @param w The webview instance.
+ * @param url URL.
+ */
+WEBVIEW_API void webview_navigate(webview_t w, const char *url);
+
+/**
+ * Load HTML content into the webview.
+ *
+ * Example:
+ * @code{.c}
+ * webview_set_html(w, "Hello ");
+ * @endcode
+ *
+ * @param w The webview instance.
+ * @param html HTML content.
+ */
+WEBVIEW_API void webview_set_html(webview_t w, const char *html);
+
+/**
+ * Injects JavaScript code to be executed immediately upon loading a page.
+ * The code will be executed before @c window.onload.
+ *
+ * @param w The webview instance.
+ * @param js JS content.
+ */
+WEBVIEW_API void webview_init(webview_t w, const char *js);
+
+/**
+ * Evaluates arbitrary JavaScript code.
+ *
+ * Use bindings if you need to communicate the result of the evaluation.
+ *
+ * @param w The webview instance.
+ * @param js JS content.
+ */
+WEBVIEW_API void webview_eval(webview_t w, const char *js);
+
+/**
+ * Binds a function pointer to a new global JavaScript function.
+ *
+ * Internally, JS glue code is injected to create the JS function by the
+ * given name. The callback function is passed a sequential request
+ * identifier, a request string and a user-provided argument. The request
+ * string is a JSON array of the arguments passed to the JS function.
+ *
+ * @param w The webview instance.
+ * @param name Name of the JS function.
+ * @param fn Callback function.
+ * @param arg User argument.
+ */
+WEBVIEW_API void webview_bind(webview_t w, const char *name,
+ void (*fn)(const char *seq, const char *req,
+ void *arg),
+ void *arg);
+
+/**
+ * Removes a binding created with webview_bind().
+ *
+ * @param w The webview instance.
+ * @param name Name of the binding.
+ */
+WEBVIEW_API void webview_unbind(webview_t w, const char *name);
+
+/**
+ * Responds to a binding call from the JS side.
+ *
+ * @param w The webview instance.
+ * @param seq The sequence number of the binding call. Pass along the value
+ * received in the binding handler (see webview_bind()).
+ * @param status A status of zero tells the JS side that the binding call was
+ * succesful; any other value indicates an error.
+ * @param result The result of the binding call to be returned to the JS side.
+ * This must either be a valid JSON value or an empty string for
+ * the primitive JS value @c undefined.
+ */
+WEBVIEW_API void webview_return(webview_t w, const char *seq, int status,
+ const char *result);
+
+/**
+ * Get the library's version information.
+ *
+ * @since 0.10
+ */
+WEBVIEW_API const webview_version_info_t *webview_version(void);
+
+#ifdef __cplusplus
+}
+
+#ifndef WEBVIEW_HEADER
+
+#if !defined(WEBVIEW_GTK) && !defined(WEBVIEW_COCOA) && !defined(WEBVIEW_EDGE)
+#if defined(__APPLE__)
+#define WEBVIEW_COCOA
+#elif defined(__unix__)
+#define WEBVIEW_GTK
+#elif defined(_WIN32)
+#define WEBVIEW_EDGE
+#else
+#error "please, specify webview backend"
+#endif
+#endif
+
+#ifndef WEBVIEW_DEPRECATED
+#if __cplusplus >= 201402L
+#define WEBVIEW_DEPRECATED(reason) [[deprecated(reason)]]
+#elif defined(_MSC_VER)
+#define WEBVIEW_DEPRECATED(reason) __declspec(deprecated(reason))
+#else
+#define WEBVIEW_DEPRECATED(reason) __attribute__((deprecated(reason)))
+#endif
+#endif
+
+#ifndef WEBVIEW_DEPRECATED_PRIVATE
+#define WEBVIEW_DEPRECATED_PRIVATE \
+ WEBVIEW_DEPRECATED("Private API should not be used")
+#endif
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include
+
+#if defined(_WIN32)
+#define WIN32_LEAN_AND_MEAN
+#include
+#else
+#include
+#endif
+
+namespace webview {
+
+using dispatch_fn_t = std::function;
+
+namespace detail {
+
+// The library's version information.
+constexpr const webview_version_info_t library_version_info{
+ {WEBVIEW_VERSION_MAJOR, WEBVIEW_VERSION_MINOR, WEBVIEW_VERSION_PATCH},
+ WEBVIEW_VERSION_NUMBER,
+ WEBVIEW_VERSION_PRE_RELEASE,
+ WEBVIEW_VERSION_BUILD_METADATA};
+
+#if defined(_WIN32)
+// Converts a narrow (UTF-8-encoded) string into a wide (UTF-16-encoded) string.
+inline std::wstring widen_string(const std::string &input) {
+ if (input.empty()) {
+ return std::wstring();
+ }
+ UINT cp = CP_UTF8;
+ DWORD flags = MB_ERR_INVALID_CHARS;
+ auto input_c = input.c_str();
+ auto input_length = static_cast(input.size());
+ auto required_length =
+ MultiByteToWideChar(cp, flags, input_c, input_length, nullptr, 0);
+ if (required_length > 0) {
+ std::wstring output(static_cast(required_length), L'\0');
+ if (MultiByteToWideChar(cp, flags, input_c, input_length, &output[0],
+ required_length) > 0) {
+ return output;
+ }
+ }
+ // Failed to convert string from UTF-8 to UTF-16
+ return std::wstring();
+}
+
+// Converts a wide (UTF-16-encoded) string into a narrow (UTF-8-encoded) string.
+inline std::string narrow_string(const std::wstring &input) {
+ struct wc_flags {
+ enum TYPE : unsigned int {
+ // WC_ERR_INVALID_CHARS
+ err_invalid_chars = 0x00000080U
+ };
+ };
+ if (input.empty()) {
+ return std::string();
+ }
+ UINT cp = CP_UTF8;
+ DWORD flags = wc_flags::err_invalid_chars;
+ auto input_c = input.c_str();
+ auto input_length = static_cast(input.size());
+ auto required_length = WideCharToMultiByte(cp, flags, input_c, input_length,
+ nullptr, 0, nullptr, nullptr);
+ if (required_length > 0) {
+ std::string output(static_cast(required_length), '\0');
+ if (WideCharToMultiByte(cp, flags, input_c, input_length, &output[0],
+ required_length, nullptr, nullptr) > 0) {
+ return output;
+ }
+ }
+ // Failed to convert string from UTF-16 to UTF-8
+ return std::string();
+}
+#endif
+
+inline int json_parse_c(const char *s, size_t sz, const char *key, size_t keysz,
+ const char **value, size_t *valuesz) {
+ enum {
+ JSON_STATE_VALUE,
+ JSON_STATE_LITERAL,
+ JSON_STATE_STRING,
+ JSON_STATE_ESCAPE,
+ JSON_STATE_UTF8
+ } state = JSON_STATE_VALUE;
+ const char *k = nullptr;
+ int index = 1;
+ int depth = 0;
+ int utf8_bytes = 0;
+
+ *value = nullptr;
+ *valuesz = 0;
+
+ if (key == nullptr) {
+ index = static_cast(keysz);
+ if (index < 0) {
+ return -1;
+ }
+ keysz = 0;
+ }
+
+ for (; sz > 0; s++, sz--) {
+ enum {
+ JSON_ACTION_NONE,
+ JSON_ACTION_START,
+ JSON_ACTION_END,
+ JSON_ACTION_START_STRUCT,
+ JSON_ACTION_END_STRUCT
+ } action = JSON_ACTION_NONE;
+ auto c = static_cast(*s);
+ switch (state) {
+ case JSON_STATE_VALUE:
+ if (c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == ',' ||
+ c == ':') {
+ continue;
+ } else if (c == '"') {
+ action = JSON_ACTION_START;
+ state = JSON_STATE_STRING;
+ } else if (c == '{' || c == '[') {
+ action = JSON_ACTION_START_STRUCT;
+ } else if (c == '}' || c == ']') {
+ action = JSON_ACTION_END_STRUCT;
+ } else if (c == 't' || c == 'f' || c == 'n' || c == '-' ||
+ (c >= '0' && c <= '9')) {
+ action = JSON_ACTION_START;
+ state = JSON_STATE_LITERAL;
+ } else {
+ return -1;
+ }
+ break;
+ case JSON_STATE_LITERAL:
+ if (c == ' ' || c == '\t' || c == '\n' || c == '\r' || c == ',' ||
+ c == ']' || c == '}' || c == ':') {
+ state = JSON_STATE_VALUE;
+ s--;
+ sz++;
+ action = JSON_ACTION_END;
+ } else if (c < 32 || c > 126) {
+ return -1;
+ } // fallthrough
+ case JSON_STATE_STRING:
+ if (c < 32 || (c > 126 && c < 192)) {
+ return -1;
+ } else if (c == '"') {
+ action = JSON_ACTION_END;
+ state = JSON_STATE_VALUE;
+ } else if (c == '\\') {
+ state = JSON_STATE_ESCAPE;
+ } else if (c >= 192 && c < 224) {
+ utf8_bytes = 1;
+ state = JSON_STATE_UTF8;
+ } else if (c >= 224 && c < 240) {
+ utf8_bytes = 2;
+ state = JSON_STATE_UTF8;
+ } else if (c >= 240 && c < 247) {
+ utf8_bytes = 3;
+ state = JSON_STATE_UTF8;
+ } else if (c >= 128 && c < 192) {
+ return -1;
+ }
+ break;
+ case JSON_STATE_ESCAPE:
+ if (c == '"' || c == '\\' || c == '/' || c == 'b' || c == 'f' ||
+ c == 'n' || c == 'r' || c == 't' || c == 'u') {
+ state = JSON_STATE_STRING;
+ } else {
+ return -1;
+ }
+ break;
+ case JSON_STATE_UTF8:
+ if (c < 128 || c > 191) {
+ return -1;
+ }
+ utf8_bytes--;
+ if (utf8_bytes == 0) {
+ state = JSON_STATE_STRING;
+ }
+ break;
+ default:
+ return -1;
+ }
+
+ if (action == JSON_ACTION_END_STRUCT) {
+ depth--;
+ }
+
+ if (depth == 1) {
+ if (action == JSON_ACTION_START || action == JSON_ACTION_START_STRUCT) {
+ if (index == 0) {
+ *value = s;
+ } else if (keysz > 0 && index == 1) {
+ k = s;
+ } else {
+ index--;
+ }
+ } else if (action == JSON_ACTION_END ||
+ action == JSON_ACTION_END_STRUCT) {
+ if (*value != nullptr && index == 0) {
+ *valuesz = (size_t)(s + 1 - *value);
+ return 0;
+ } else if (keysz > 0 && k != nullptr) {
+ if (keysz == (size_t)(s - k - 1) && memcmp(key, k + 1, keysz) == 0) {
+ index = 0;
+ } else {
+ index = 2;
+ }
+ k = nullptr;
+ }
+ }
+ }
+
+ if (action == JSON_ACTION_START_STRUCT) {
+ depth++;
+ }
+ }
+ return -1;
+}
+
+constexpr bool is_json_special_char(char c) {
+ return c == '"' || c == '\\' || c == '\b' || c == '\f' || c == '\n' ||
+ c == '\r' || c == '\t';
+}
+
+constexpr bool is_ascii_control_char(char c) { return c >= 0 && c <= 0x1f; }
+
+inline std::string json_escape(const std::string &s, bool add_quotes = true) {
+ // Calculate the size of the resulting string.
+ // Add space for the double quotes.
+ size_t required_length = add_quotes ? 2 : 0;
+ for (auto c : s) {
+ if (is_json_special_char(c)) {
+ // '\' and a single following character
+ required_length += 2;
+ continue;
+ }
+ if (is_ascii_control_char(c)) {
+ // '\', 'u', 4 digits
+ required_length += 6;
+ continue;
+ }
+ ++required_length;
+ }
+ // Allocate memory for resulting string only once.
+ std::string result;
+ result.reserve(required_length);
+ if (add_quotes) {
+ result += '"';
+ }
+ // Copy string while escaping characters.
+ for (auto c : s) {
+ if (is_json_special_char(c)) {
+ static constexpr char special_escape_table[256] =
+ "\0\0\0\0\0\0\0\0btn\0fr\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\"\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+ "\0\0\0\0\0\0\0\0\0\0\0\0\\";
+ result += '\\';
+ // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-constant-array-index)
+ result += special_escape_table[static_cast(c)];
+ continue;
+ }
+ if (is_ascii_control_char(c)) {
+ // Escape as \u00xx
+ static constexpr char hex_alphabet[]{"0123456789abcdef"};
+ auto uc = static_cast(c);
+ auto h = (uc >> 4) & 0x0f;
+ auto l = uc & 0x0f;
+ result += "\\u00";
+ // NOLINTBEGIN(cppcoreguidelines-pro-bounds-constant-array-index)
+ result += hex_alphabet[h];
+ result += hex_alphabet[l];
+ // NOLINTEND(cppcoreguidelines-pro-bounds-constant-array-index)
+ continue;
+ }
+ result += c;
+ }
+ if (add_quotes) {
+ result += '"';
+ }
+ // Should have calculated the exact amount of memory needed
+ assert(required_length == result.size());
+ return result;
+}
+
+inline int json_unescape(const char *s, size_t n, char *out) {
+ int r = 0;
+ if (*s++ != '"') {
+ return -1;
+ }
+ while (n > 2) {
+ char c = *s;
+ if (c == '\\') {
+ s++;
+ n--;
+ switch (*s) {
+ case 'b':
+ c = '\b';
+ break;
+ case 'f':
+ c = '\f';
+ break;
+ case 'n':
+ c = '\n';
+ break;
+ case 'r':
+ c = '\r';
+ break;
+ case 't':
+ c = '\t';
+ break;
+ case '\\':
+ c = '\\';
+ break;
+ case '/':
+ c = '/';
+ break;
+ case '\"':
+ c = '\"';
+ break;
+ default: // TODO: support unicode decoding
+ return -1;
+ }
+ }
+ if (out != nullptr) {
+ *out++ = c;
+ }
+ s++;
+ n--;
+ r++;
+ }
+ if (*s != '"') {
+ return -1;
+ }
+ if (out != nullptr) {
+ *out = '\0';
+ }
+ return r;
+}
+
+inline std::string json_parse(const std::string &s, const std::string &key,
+ const int index) {
+ const char *value;
+ size_t value_sz;
+ if (key.empty()) {
+ json_parse_c(s.c_str(), s.length(), nullptr, index, &value, &value_sz);
+ } else {
+ json_parse_c(s.c_str(), s.length(), key.c_str(), key.length(), &value,
+ &value_sz);
+ }
+ if (value != nullptr) {
+ if (value[0] != '"') {
+ return {value, value_sz};
+ }
+ int n = json_unescape(value, value_sz, nullptr);
+ if (n > 0) {
+ char *decoded = new char[n + 1];
+ json_unescape(value, value_sz, decoded);
+ std::string result(decoded, n);
+ delete[] decoded;
+ return result;
+ }
+ }
+ return "";
+}
+
+// Holds a symbol name and associated type for code clarity.
+template class library_symbol {
+public:
+ using type = T;
+
+ constexpr explicit library_symbol(const char *name) : m_name(name) {}
+ constexpr const char *get_name() const { return m_name; }
+
+private:
+ const char *m_name;
+};
+
+// Loads a native shared library and allows one to get addresses for those
+// symbols.
+class native_library {
+public:
+ native_library() = default;
+
+ explicit native_library(const std::string &name)
+ : m_handle{load_library(name)} {}
+
+#ifdef _WIN32
+ explicit native_library(const std::wstring &name)
+ : m_handle{load_library(name)} {}
+#endif
+
+ ~native_library() {
+ if (m_handle) {
+#ifdef _WIN32
+ FreeLibrary(m_handle);
+#else
+ dlclose(m_handle);
+#endif
+ m_handle = nullptr;
+ }
+ }
+
+ native_library(const native_library &other) = delete;
+ native_library &operator=(const native_library &other) = delete;
+ native_library(native_library &&other) noexcept { *this = std::move(other); }
+
+ native_library &operator=(native_library &&other) noexcept {
+ if (this == &other) {
+ return *this;
+ }
+ m_handle = other.m_handle;
+ other.m_handle = nullptr;
+ return *this;
+ }
+
+ // Returns true if the library is currently loaded; otherwise false.
+ operator bool() const { return is_loaded(); }
+
+ // Get the address for the specified symbol or nullptr if not found.
+ template
+ typename Symbol::type get(const Symbol &symbol) const {
+ if (is_loaded()) {
+ // NOLINTBEGIN(cppcoreguidelines-pro-type-reinterpret-cast)
+#ifdef _WIN32
+#ifdef __GNUC__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wcast-function-type"
+#endif
+ return reinterpret_cast(
+ GetProcAddress(m_handle, symbol.get_name()));
+#ifdef __GNUC__
+#pragma GCC diagnostic pop
+#endif
+#else
+ return reinterpret_cast(
+ dlsym(m_handle, symbol.get_name()));
+#endif
+ // NOLINTEND(cppcoreguidelines-pro-type-reinterpret-cast)
+ }
+ return nullptr;
+ }
+
+ // Returns true if the library is currently loaded; otherwise false.
+ bool is_loaded() const { return !!m_handle; }
+
+ void detach() { m_handle = nullptr; }
+
+ // Returns true if the library by the given name is currently loaded; otherwise false.
+ static inline bool is_loaded(const std::string &name) {
+#ifdef _WIN32
+ auto handle = GetModuleHandleW(widen_string(name).c_str());
+#else
+ auto handle = dlopen(name.c_str(), RTLD_NOW | RTLD_NOLOAD);
+ if (handle) {
+ dlclose(handle);
+ }
+#endif
+ return !!handle;
+ }
+
+private:
+#ifdef _WIN32
+ using mod_handle_t = HMODULE;
+#else
+ using mod_handle_t = void *;
+#endif
+
+ static inline mod_handle_t load_library(const std::string &name) {
+#ifdef _WIN32
+ return load_library(widen_string(name));
+#else
+ return dlopen(name.c_str(), RTLD_NOW);
+#endif
+ }
+
+#ifdef _WIN32
+ static inline mod_handle_t load_library(const std::wstring &name) {
+ return LoadLibraryW(name.c_str());
+ }
+#endif
+
+ mod_handle_t m_handle{};
+};
+
+class engine_base {
+public:
+ virtual ~engine_base() = default;
+
+ void navigate(const std::string &url) {
+ if (url.empty()) {
+ navigate_impl("about:blank");
+ return;
+ }
+ navigate_impl(url);
+ }
+
+ using binding_t = std::function;
+ class binding_ctx_t {
+ public:
+ binding_ctx_t(binding_t callback, void *arg)
+ : callback(callback), arg(arg) {}
+ // This function is called upon execution of the bound JS function
+ binding_t callback;
+ // This user-supplied argument is passed to the callback
+ void *arg;
+ };
+
+ using sync_binding_t = std::function;
+
+ // Synchronous bind
+ void bind(const std::string &name, sync_binding_t fn) {
+ auto wrapper = [this, fn](const std::string &seq, const std::string &req,
+ void * /*arg*/) { resolve(seq, 0, fn(req)); };
+ bind(name, wrapper, nullptr);
+ }
+
+ // Asynchronous bind
+ void bind(const std::string &name, binding_t fn, void *arg) {
+ // NOLINTNEXTLINE(readability-container-contains): contains() requires C++20
+ if (bindings.count(name) > 0) {
+ return;
+ }
+ bindings.emplace(name, binding_ctx_t(fn, arg));
+ auto js = "(function() { var name = '" + name + "';" + R""(
+ var RPC = window._rpc = (window._rpc || {nextSeq: 1});
+ window[name] = function() {
+ var seq = RPC.nextSeq++;
+ var promise = new Promise(function(resolve, reject) {
+ RPC[seq] = {
+ resolve: resolve,
+ reject: reject,
+ };
+ });
+ window.external.invoke(JSON.stringify({
+ id: seq,
+ method: name,
+ params: Array.prototype.slice.call(arguments),
+ }));
+ return promise;
+ }
+ })())"";
+ init(js);
+ eval(js);
+ }
+
+ void unbind(const std::string &name) {
+ auto found = bindings.find(name);
+ if (found != bindings.end()) {
+ auto js = "delete window['" + name + "'];";
+ init(js);
+ eval(js);
+ bindings.erase(found);
+ }
+ }
+
+ void resolve(const std::string &seq, int status, const std::string &result) {
+ // NOLINTNEXTLINE(modernize-avoid-bind): Lambda with move requires C++14
+ dispatch(std::bind(
+ [seq, status, this](std::string escaped_result) {
+ std::string js;
+ js += "(function(){var seq = \"";
+ js += seq;
+ js += "\";\n";
+ js += "var status = ";
+ js += std::to_string(status);
+ js += ";\n";
+ js += "var result = ";
+ js += escaped_result;
+ js += ";\
+var promise = window._rpc[seq];\
+delete window._rpc[seq];\
+if (result !== undefined) {\
+ try {\
+ result = JSON.parse(result);\
+ } catch {\
+ promise.reject(new Error(\"Failed to parse binding result as JSON\"));\
+ return;\
+ }\
+}\
+if (status === 0) {\
+ promise.resolve(result);\
+} else {\
+ promise.reject(result);\
+}\
+})()";
+ eval(js);
+ },
+ result.empty() ? "undefined" : json_escape(result)));
+ }
+
+ void *window() { return window_impl(); }
+ void *widget() { return widget_impl(); }
+ void *browser_controller() { return browser_controller_impl(); };
+ void run() { run_impl(); }
+ void terminate() { terminate_impl(); }
+ void dispatch(std::function f) { dispatch_impl(f); }
+ void set_title(const std::string &title) { set_title_impl(title); }
+
+ void set_size(int width, int height, webview_hint_t hints) {
+ set_size_impl(width, height, hints);
+ }
+
+ void set_html(const std::string &html) { set_html_impl(html); }
+ void init(const std::string &js) { init_impl(js); }
+ void eval(const std::string &js) { eval_impl(js); }
+
+protected:
+ virtual void navigate_impl(const std::string &url) = 0;
+ virtual void *window_impl() = 0;
+ virtual void *widget_impl() = 0;
+ virtual void *browser_controller_impl() = 0;
+ virtual void run_impl() = 0;
+ virtual void terminate_impl() = 0;
+ virtual void dispatch_impl(std::function f) = 0;
+ virtual void set_title_impl(const std::string &title) = 0;
+ virtual void set_size_impl(int width, int height, webview_hint_t hints) = 0;
+ virtual void set_html_impl(const std::string &html) = 0;
+ virtual void init_impl(const std::string &js) = 0;
+ virtual void eval_impl(const std::string &js) = 0;
+
+ virtual void on_message(const std::string &msg) {
+ auto seq = json_parse(msg, "id", 0);
+ auto name = json_parse(msg, "method", 0);
+ auto args = json_parse(msg, "params", 0);
+ auto found = bindings.find(name);
+ if (found == bindings.end()) {
+ return;
+ }
+ const auto &context = found->second;
+ context.callback(seq, args, context.arg);
+ }
+
+ virtual void on_window_created() { inc_window_count(); }
+
+ virtual void on_window_destroyed(bool skip_termination = false) {
+ if (dec_window_count() <= 0) {
+ if (!skip_termination) {
+ terminate();
+ }
+ }
+ }
+
+private:
+ static std::atomic_uint &window_ref_count() {
+ static std::atomic_uint ref_count{0};
+ return ref_count;
+ }
+
+ static unsigned int inc_window_count() { return ++window_ref_count(); }
+
+ static unsigned int dec_window_count() {
+ auto &count = window_ref_count();
+ if (count > 0) {
+ return --count;
+ }
+ return 0;
+ }
+
+ std::map bindings;
+};
+
+} // namespace detail
+
+WEBVIEW_DEPRECATED_PRIVATE
+inline int json_parse_c(const char *s, size_t sz, const char *key, size_t keysz,
+ const char **value, size_t *valuesz) {
+ return detail::json_parse_c(s, sz, key, keysz, value, valuesz);
+}
+
+WEBVIEW_DEPRECATED_PRIVATE
+inline std::string json_escape(const std::string &s) {
+ return detail::json_escape(s);
+}
+
+WEBVIEW_DEPRECATED_PRIVATE
+inline int json_unescape(const char *s, size_t n, char *out) {
+ return detail::json_unescape(s, n, out);
+}
+
+WEBVIEW_DEPRECATED_PRIVATE
+inline std::string json_parse(const std::string &s, const std::string &key,
+ const int index) {
+ return detail::json_parse(s, key, index);
+}
+
+} // namespace webview
+
+#if defined(WEBVIEW_GTK)
+//
+// ====================================================================
+//
+// This implementation uses webkit2gtk backend. It requires gtk+3.0 and
+// webkit2gtk-4.1 libraries. Proper compiler flags can be retrieved via:
+//
+// pkg-config --cflags --libs gtk+-3.0 webkit2gtk-4.1
+//
+// ====================================================================
+//
+#include
+
+#include
+#include
+#include
+
+#ifdef GDK_WINDOWING_X11
+#include
+#endif
+
+#include
+#include
+
+namespace webview {
+namespace detail {
+
+// Namespace containing workaround for WebKit 2.42 when using NVIDIA GPU
+// driver.
+// See WebKit bug: https://bugs.webkit.org/show_bug.cgi?id=261874
+// Please remove all of the code in this namespace when it's no longer needed.
+namespace webkit_dmabuf {
+
+// Get environment variable. Not thread-safe.
+static inline std::string get_env(const std::string &name) {
+ auto *value = std::getenv(name.c_str());
+ if (value) {
+ return {value};
+ }
+ return {};
+}
+
+// Set environment variable. Not thread-safe.
+static inline void set_env(const std::string &name, const std::string &value) {
+ ::setenv(name.c_str(), value.c_str(), 1);
+}
+
+// Checks whether the NVIDIA GPU driver is used based on whether the kernel
+// module is loaded.
+static inline bool is_using_nvidia_driver() {
+ struct ::stat buffer {};
+ if (::stat("/sys/module/nvidia", &buffer) != 0) {
+ return false;
+ }
+ return S_ISDIR(buffer.st_mode);
+}
+
+// Checks whether the windowing system is Wayland.
+static inline bool is_wayland_display() {
+ if (!get_env("WAYLAND_DISPLAY").empty()) {
+ return true;
+ }
+ if (get_env("XDG_SESSION_TYPE") == "wayland") {
+ return true;
+ }
+ if (get_env("DESKTOP_SESSION").find("wayland") != std::string::npos) {
+ return true;
+ }
+ return false;
+}
+
+// Checks whether the GDK X11 backend is used.
+// See: https://docs.gtk.org/gdk3/class.DisplayManager.html
+static inline bool is_gdk_x11_backend() {
+#ifdef GDK_WINDOWING_X11
+ auto *manager = gdk_display_manager_get();
+ auto *display = gdk_display_manager_get_default_display(manager);
+ return GDK_IS_X11_DISPLAY(display); // NOLINT(misc-const-correctness)
+#else
+ return false;
+#endif
+}
+
+// Checks whether WebKit is affected by bug when using DMA-BUF renderer.
+// Returns true if all of the following conditions are met:
+// - WebKit version is >= 2.42 (please narrow this down when there's a fix).
+// - Environment variables are empty or not set:
+// - WEBKIT_DISABLE_DMABUF_RENDERER
+// - Windowing system is not Wayland.
+// - GDK backend is X11.
+// - NVIDIA GPU driver is used.
+static inline bool is_webkit_dmabuf_bugged() {
+ auto wk_major = webkit_get_major_version();
+ auto wk_minor = webkit_get_minor_version();
+ // TODO: Narrow down affected WebKit version when there's a fixed version
+ auto is_affected_wk_version = wk_major == 2 && wk_minor >= 42;
+ if (!is_affected_wk_version) {
+ return false;
+ }
+ if (!get_env("WEBKIT_DISABLE_DMABUF_RENDERER").empty()) {
+ return false;
+ }
+ if (is_wayland_display()) {
+ return false;
+ }
+ if (!is_gdk_x11_backend()) {
+ return false;
+ }
+ if (!is_using_nvidia_driver()) {
+ return false;
+ }
+ return true;
+}
+
+// Applies workaround for WebKit DMA-BUF bug if needed.
+// See WebKit bug: https://bugs.webkit.org/show_bug.cgi?id=261874
+static inline void apply_webkit_dmabuf_workaround() {
+ if (!is_webkit_dmabuf_bugged()) {
+ return;
+ }
+ set_env("WEBKIT_DISABLE_DMABUF_RENDERER", "1");
+}
+} // namespace webkit_dmabuf
+
+namespace webkit_symbols {
+using webkit_web_view_evaluate_javascript_t =
+ void (*)(WebKitWebView *, const char *, gssize, const char *, const char *,
+ GCancellable *, GAsyncReadyCallback, gpointer);
+
+using webkit_web_view_run_javascript_t = void (*)(WebKitWebView *,
+ const gchar *, GCancellable *,
+ GAsyncReadyCallback,
+ gpointer);
+
+constexpr auto webkit_web_view_evaluate_javascript =
+ library_symbol(
+ "webkit_web_view_evaluate_javascript");
+constexpr auto webkit_web_view_run_javascript =
+ library_symbol(
+ "webkit_web_view_run_javascript");
+} // namespace webkit_symbols
+
+class gtk_webkit_engine : public engine_base {
+public:
+ gtk_webkit_engine(bool debug, void *window)
+ : m_owns_window{!window}, m_window(static_cast(window)) {
+ if (m_owns_window) {
+ if (gtk_init_check(nullptr, nullptr) == FALSE) {
+ return;
+ }
+ m_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+ on_window_created();
+ g_signal_connect(G_OBJECT(m_window), "destroy",
+ G_CALLBACK(+[](GtkWidget *, gpointer arg) {
+ auto *w = static_cast(arg);
+ // Widget destroyed along with window.
+ w->m_webview = nullptr;
+ w->m_window = nullptr;
+ w->on_window_destroyed();
+ }),
+ this);
+ }
+ webkit_dmabuf::apply_webkit_dmabuf_workaround();
+ // Initialize webview widget
+ m_webview = webkit_web_view_new();
+ WebKitUserContentManager *manager =
+ webkit_web_view_get_user_content_manager(WEBKIT_WEB_VIEW(m_webview));
+ g_signal_connect(manager, "script-message-received::external",
+ G_CALLBACK(+[](WebKitUserContentManager *,
+ WebKitJavascriptResult *r, gpointer arg) {
+ auto *w = static_cast(arg);
+ char *s = get_string_from_js_result(r);
+ w->on_message(s);
+ g_free(s);
+ }),
+ this);
+ webkit_user_content_manager_register_script_message_handler(manager,
+ "external");
+ init("window.external={invoke:function(s){window.webkit.messageHandlers."
+ "external.postMessage(s);}}");
+
+ gtk_container_add(GTK_CONTAINER(m_window), GTK_WIDGET(m_webview));
+ gtk_widget_show(GTK_WIDGET(m_webview));
+
+ WebKitSettings *settings =
+ webkit_web_view_get_settings(WEBKIT_WEB_VIEW(m_webview));
+ webkit_settings_set_javascript_can_access_clipboard(settings, true);
+ if (debug) {
+ webkit_settings_set_enable_write_console_messages_to_stdout(settings,
+ true);
+ webkit_settings_set_enable_developer_extras(settings, true);
+ }
+
+ if (m_owns_window) {
+ gtk_widget_grab_focus(GTK_WIDGET(m_webview));
+ gtk_widget_show_all(m_window);
+ }
+ }
+
+ gtk_webkit_engine(const gtk_webkit_engine &) = delete;
+ gtk_webkit_engine &operator=(const gtk_webkit_engine &) = delete;
+ gtk_webkit_engine(gtk_webkit_engine &&) = delete;
+ gtk_webkit_engine &operator=(gtk_webkit_engine &&) = delete;
+
+ virtual ~gtk_webkit_engine() {
+ if (m_webview) {
+ gtk_widget_destroy(GTK_WIDGET(m_webview));
+ m_webview = nullptr;
+ }
+ if (m_window) {
+ if (m_owns_window) {
+ // Disconnect handlers to avoid callbacks invoked during destruction.
+ g_signal_handlers_disconnect_by_data(GTK_WINDOW(m_window), this);
+ gtk_window_close(GTK_WINDOW(m_window));
+ on_window_destroyed(true);
+ }
+ m_window = nullptr;
+ }
+ if (m_owns_window) {
+ // Needed for the window to close immediately.
+ deplete_run_loop_event_queue();
+ }
+ }
+
+ void *window_impl() override { return (void *)m_window; }
+ void *widget_impl() override { return (void *)m_webview; }
+ void *browser_controller_impl() override { return (void *)m_webview; };
+ void run_impl() override { gtk_main(); }
+ void terminate_impl() override {
+ dispatch_impl([] { gtk_main_quit(); });
+ }
+ void dispatch_impl(std::function f) override {
+ g_idle_add_full(G_PRIORITY_HIGH_IDLE, (GSourceFunc)([](void *f) -> int {
+ (*static_cast(f))();
+ return G_SOURCE_REMOVE;
+ }),
+ new std::function(f),
+ [](void *f) { delete static_cast(f); });
+ }
+
+ void set_title_impl(const std::string &title) override {
+ gtk_window_set_title(GTK_WINDOW(m_window), title.c_str());
+ }
+
+ void set_size_impl(int width, int height, webview_hint_t hints) override {
+ gtk_window_set_resizable(GTK_WINDOW(m_window), hints != WEBVIEW_HINT_FIXED);
+ if (hints == WEBVIEW_HINT_NONE) {
+ gtk_window_resize(GTK_WINDOW(m_window), width, height);
+ } else if (hints == WEBVIEW_HINT_FIXED) {
+ gtk_widget_set_size_request(m_window, width, height);
+ } else {
+ GdkGeometry g;
+ g.min_width = g.max_width = width;
+ g.min_height = g.max_height = height;
+ GdkWindowHints h =
+ (hints == WEBVIEW_HINT_MIN ? GDK_HINT_MIN_SIZE : GDK_HINT_MAX_SIZE);
+ // This defines either MIN_SIZE, or MAX_SIZE, but not both:
+ gtk_window_set_geometry_hints(GTK_WINDOW(m_window), nullptr, &g, h);
+ }
+ }
+
+ void navigate_impl(const std::string &url) override {
+ webkit_web_view_load_uri(WEBKIT_WEB_VIEW(m_webview), url.c_str());
+ }
+
+ void set_html_impl(const std::string &html) override {
+ webkit_web_view_load_html(WEBKIT_WEB_VIEW(m_webview), html.c_str(),
+ nullptr);
+ }
+
+ void init_impl(const std::string &js) override {
+ WebKitUserContentManager *manager =
+ webkit_web_view_get_user_content_manager(WEBKIT_WEB_VIEW(m_webview));
+ webkit_user_content_manager_add_script(
+ manager,
+ webkit_user_script_new(js.c_str(), WEBKIT_USER_CONTENT_INJECT_TOP_FRAME,
+ WEBKIT_USER_SCRIPT_INJECT_AT_DOCUMENT_START,
+ nullptr, nullptr));
+ }
+
+ void eval_impl(const std::string &js) override {
+ auto &lib = get_webkit_library();
+ auto wkmajor = webkit_get_major_version();
+ auto wkminor = webkit_get_minor_version();
+ if ((wkmajor == 2 && wkminor >= 40) || wkmajor > 2) {
+ if (auto fn =
+ lib.get(webkit_symbols::webkit_web_view_evaluate_javascript)) {
+ fn(WEBKIT_WEB_VIEW(m_webview), js.c_str(),
+ static_cast(js.size()), nullptr, nullptr, nullptr, nullptr,
+ nullptr);
+ }
+ } else if (auto fn =
+ lib.get(webkit_symbols::webkit_web_view_run_javascript)) {
+ fn(WEBKIT_WEB_VIEW(m_webview), js.c_str(), nullptr, nullptr, nullptr);
+ }
+ }
+
+private:
+ static char *get_string_from_js_result(WebKitJavascriptResult *r) {
+ char *s;
+#if (WEBKIT_MAJOR_VERSION == 2 && WEBKIT_MINOR_VERSION >= 22) || \
+ WEBKIT_MAJOR_VERSION > 2
+ JSCValue *value = webkit_javascript_result_get_js_value(r);
+ s = jsc_value_to_string(value);
+#else
+ JSGlobalContextRef ctx = webkit_javascript_result_get_global_context(r);
+ JSValueRef value = webkit_javascript_result_get_value(r);
+ JSStringRef js = JSValueToStringCopy(ctx, value, nullptr);
+ size_t n = JSStringGetMaximumUTF8CStringSize(js);
+ s = g_new(char, n);
+ JSStringGetUTF8CString(js, s, n);
+ JSStringRelease(js);
+#endif
+ return s;
+ }
+
+ static const native_library &get_webkit_library() {
+ static const native_library non_loaded_lib;
+ static native_library loaded_lib;
+
+ if (loaded_lib.is_loaded()) {
+ return loaded_lib;
+ }
+
+ constexpr std::array lib_names{"libwebkit2gtk-4.1.so"};
+ auto found =
+ std::find_if(lib_names.begin(), lib_names.end(), [](const char *name) {
+ return native_library::is_loaded(name);
+ });
+
+ if (found == lib_names.end()) {
+ return non_loaded_lib;
+ }
+
+ loaded_lib = native_library(*found);
+
+ auto loaded = loaded_lib.is_loaded();
+ if (!loaded) {
+ return non_loaded_lib;
+ }
+
+ return loaded_lib;
+ }
+
+ // Blocks while depleting the run loop of events.
+ void deplete_run_loop_event_queue() {
+ bool done{};
+ dispatch([&] { done = true; });
+ while (!done) {
+ gtk_main_iteration();
+ }
+ }
+
+ bool m_owns_window{};
+ GtkWidget *m_window{};
+ GtkWidget *m_webview{};
+};
+
+} // namespace detail
+
+using browser_engine = detail::gtk_webkit_engine;
+
+} // namespace webview
+
+#elif defined(WEBVIEW_COCOA)
+
+//
+// ====================================================================
+//
+// This implementation uses Cocoa WKWebView backend on macOS. It is
+// written using ObjC runtime and uses WKWebView class as a browser runtime.
+// You should pass "-framework Webkit" flag to the compiler.
+//
+// ====================================================================
+//
+
+#include
+#include
+#include
+
+namespace webview {
+namespace detail {
+namespace objc {
+
+// A convenient template function for unconditionally casting the specified
+// C-like function into a function that can be called with the given return
+// type and arguments. Caller takes full responsibility for ensuring that
+// the function call is valid. It is assumed that the function will not
+// throw exceptions.
+template
+Result invoke(Callable callable, Args... args) noexcept {
+ return reinterpret_cast(callable)(args...);
+}
+
+// Calls objc_msgSend.
+template
+Result msg_send(Args... args) noexcept {
+ return invoke(objc_msgSend, args...);
+}
+
+// Wrapper around NSAutoreleasePool that drains the pool on destruction.
+class autoreleasepool {
+public:
+ autoreleasepool()
+ : m_pool(msg_send(objc_getClass("NSAutoreleasePool"),
+ sel_registerName("new"))) {}
+
+ ~autoreleasepool() {
+ if (m_pool) {
+ msg_send(m_pool, sel_registerName("drain"));
+ }
+ }
+
+ autoreleasepool(const autoreleasepool &) = delete;
+ autoreleasepool &operator=(const autoreleasepool &) = delete;
+ autoreleasepool(autoreleasepool &&) = delete;
+ autoreleasepool &operator=(autoreleasepool &&) = delete;
+
+private:
+ id m_pool{};
+};
+
+inline id autoreleased(id object) {
+ msg_send(object, sel_registerName("autorelease"));
+ return object;
+}
+
+} // namespace objc
+
+enum NSBackingStoreType : NSUInteger { NSBackingStoreBuffered = 2 };
+
+enum NSWindowStyleMask : NSUInteger {
+ NSWindowStyleMaskTitled = 1,
+ NSWindowStyleMaskClosable = 2,
+ NSWindowStyleMaskMiniaturizable = 4,
+ NSWindowStyleMaskResizable = 8
+};
+
+enum NSApplicationActivationPolicy : NSInteger {
+ NSApplicationActivationPolicyRegular = 0
+};
+
+enum WKUserScriptInjectionTime : NSInteger {
+ WKUserScriptInjectionTimeAtDocumentStart = 0
+};
+
+enum NSModalResponse : NSInteger { NSModalResponseOK = 1 };
+
+// Convenient conversion of string literals.
+inline id operator"" _cls(const char *s, std::size_t) {
+ return (id)objc_getClass(s);
+}
+inline SEL operator"" _sel(const char *s, std::size_t) {
+ return sel_registerName(s);
+}
+inline id operator"" _str(const char *s, std::size_t) {
+ return objc::msg_send("NSString"_cls, "stringWithUTF8String:"_sel, s);
+}
+
+class cocoa_wkwebview_engine : public engine_base {
+public:
+ cocoa_wkwebview_engine(bool debug, void *window)
+ : m_debug{debug}, m_window{static_cast(window)}, m_owns_window{
+ !window} {
+ auto app = get_shared_application();
+ // See comments related to application lifecycle in create_app_delegate().
+ if (!m_owns_window) {
+ set_up_window();
+ } else {
+ // Only set the app delegate if it hasn't already been set.
+ auto delegate = objc::msg_send(app, "delegate"_sel);
+ if (delegate) {
+ set_up_window();
+ } else {
+ m_app_delegate = create_app_delegate();
+ objc_setAssociatedObject(m_app_delegate, "webview", (id)this,
+ OBJC_ASSOCIATION_ASSIGN);
+ objc::msg_send(app, "setDelegate:"_sel, m_app_delegate);
+
+ // Start the main run loop so that the app delegate gets the
+ // NSApplicationDidFinishLaunchingNotification notification after the run
+ // loop has started in order to perform further initialization.
+ // We need to return from this constructor so this run loop is only
+ // temporary.
+ // Skip the main loop if this isn't the first instance of this class
+ // because the launch event is only sent once. Instead, proceed to
+ // create a window.
+ if (get_and_set_is_first_instance()) {
+ objc::msg_send(app, "run"_sel);
+ } else {
+ set_up_window();
+ }
+ }
+ }
+ }
+
+ cocoa_wkwebview_engine(const cocoa_wkwebview_engine &) = delete;
+ cocoa_wkwebview_engine &operator=(const cocoa_wkwebview_engine &) = delete;
+ cocoa_wkwebview_engine(cocoa_wkwebview_engine &&) = delete;
+ cocoa_wkwebview_engine &operator=(cocoa_wkwebview_engine &&) = delete;
+
+ virtual ~cocoa_wkwebview_engine() {
+ objc::autoreleasepool arp;
+ if (m_window) {
+ if (m_webview) {
+ if (m_webview == objc::msg_send(m_window, "contentView"_sel)) {
+ objc::msg_send(m_window, "setContentView:"_sel, nullptr);
+ }
+ objc::msg_send(m_webview, "release"_sel);
+ m_webview = nullptr;
+ }
+ if (m_owns_window) {
+ // Replace delegate to avoid callbacks and other bad things during
+ // destruction.
+ objc::msg_send(m_window, "setDelegate:"_sel, nullptr);
+ objc::msg_send(m_window, "close"_sel);
+ on_window_destroyed(true);
+ }
+ m_window = nullptr;
+ }
+ if (m_window_delegate) {
+ objc::msg_send(m_window_delegate, "release"_sel);
+ m_window_delegate = nullptr;
+ }
+ if (m_app_delegate) {
+ auto app = get_shared_application();
+ objc::msg_send(app, "setDelegate:"_sel, nullptr);
+ // Make sure to release the delegate we created.
+ objc::msg_send(m_app_delegate, "release"_sel);
+ m_app_delegate = nullptr;
+ }
+ if (m_owns_window) {
+ // Needed for the window to close immediately.
+ deplete_run_loop_event_queue();
+ }
+ // TODO: Figure out why m_manager is still alive after the autoreleasepool
+ // has been drained.
+ }
+
+ void *window_impl() override { return (void *)m_window; }
+ void *widget_impl() override { return (void *)m_webview; }
+ void *browser_controller_impl() override { return (void *)m_webview; };
+ void terminate_impl() override { stop_run_loop(); }
+ void run_impl() override {
+ auto app = get_shared_application();
+ objc::msg_send(app, "run"_sel);
+ }
+ void dispatch_impl(std::function f) override {
+ dispatch_async_f(dispatch_get_main_queue(), new dispatch_fn_t(f),
+ (dispatch_function_t)([](void *arg) {
+ auto f = static_cast(arg);
+ (*f)();
+ delete f;
+ }));
+ }
+ void set_title_impl(const std::string &title) override {
+ objc::autoreleasepool arp;
+
+ objc::msg_send(m_window, "setTitle:"_sel,
+ objc::msg_send("NSString"_cls,
+ "stringWithUTF8String:"_sel,
+ title.c_str()));
+ }
+ void set_size_impl(int width, int height, webview_hint_t hints) override {
+ objc::autoreleasepool arp;
+
+ auto style = static_cast(
+ NSWindowStyleMaskTitled | NSWindowStyleMaskClosable |
+ NSWindowStyleMaskMiniaturizable);
+ if (hints != WEBVIEW_HINT_FIXED) {
+ style =
+ static_cast(style | NSWindowStyleMaskResizable);
+ }
+ objc::msg_send(m_window, "setStyleMask:"_sel, style);
+
+ if (hints == WEBVIEW_HINT_MIN) {
+ objc::msg_send(m_window, "setContentMinSize:"_sel,
+ CGSizeMake(width, height));
+ } else if (hints == WEBVIEW_HINT_MAX) {
+ objc::msg_send(m_window, "setContentMaxSize:"_sel,
+ CGSizeMake(width, height));
+ } else {
+ objc::msg_send(m_window, "setFrame:display:animate:"_sel,
+ CGRectMake(0, 0, width, height), YES, NO);
+ }
+ objc::msg_send(m_window, "center"_sel);
+ }
+ void navigate_impl(const std::string &url) override {
+ objc::autoreleasepool arp;
+
+ auto nsurl = objc::msg_send(
+ "NSURL"_cls, "URLWithString:"_sel,
+ objc::msg_send("NSString"_cls, "stringWithUTF8String:"_sel,
+ url.c_str()));
+
+ objc::msg_send(
+ m_webview, "loadRequest:"_sel,
+ objc::msg_send("NSURLRequest"_cls, "requestWithURL:"_sel, nsurl));
+ }
+ void set_html_impl(const std::string &html) override {
+ objc::autoreleasepool arp;
+ objc::msg_send(m_webview, "loadHTMLString:baseURL:"_sel,
+ objc::msg_send("NSString"_cls,
+ "stringWithUTF8String:"_sel,
+ html.c_str()),
+ nullptr);
+ }
+ void init_impl(const std::string &js) override {
+ objc::autoreleasepool arp;
+ auto script = objc::autoreleased(objc::msg_send(
+ objc::msg_send("WKUserScript"_cls, "alloc"_sel),
+ "initWithSource:injectionTime:forMainFrameOnly:"_sel,
+ objc::msg_send("NSString"_cls, "stringWithUTF8String:"_sel,
+ js.c_str()),
+ WKUserScriptInjectionTimeAtDocumentStart, YES));
+ objc::msg_send(m_manager, "addUserScript:"_sel, script);
+ }
+ void eval_impl(const std::string &js) override {
+ objc::autoreleasepool arp;
+ objc::msg_send(m_webview, "evaluateJavaScript:completionHandler:"_sel,
+ objc::msg_send("NSString"_cls,
+ "stringWithUTF8String:"_sel,
+ js.c_str()),
+ nullptr);
+ }
+
+private:
+ id create_app_delegate() {
+ objc::autoreleasepool arp;
+ constexpr auto class_name = "WebviewAppDelegate";
+ // Avoid crash due to registering same class twice
+ auto cls = objc_lookUpClass(class_name);
+ if (!cls) {
+ // Note: Avoid registering the class name "AppDelegate" as it is the
+ // default name in projects created with Xcode, and using the same name
+ // causes objc_registerClassPair to crash.
+ cls = objc_allocateClassPair((Class) "NSResponder"_cls, class_name, 0);
+ class_addProtocol(cls, objc_getProtocol("NSTouchBarProvider"));
+ class_addMethod(cls,
+ "applicationShouldTerminateAfterLastWindowClosed:"_sel,
+ (IMP)(+[](id, SEL, id) -> BOOL { return NO; }), "c@:@");
+ class_addMethod(cls, "applicationDidFinishLaunching:"_sel,
+ (IMP)(+[](id self, SEL, id notification) {
+ auto app =
+ objc::msg_send(notification, "object"_sel);
+ auto w = get_associated_webview(self);
+ w->on_application_did_finish_launching(self, app);
+ }),
+ "v@:@");
+ objc_registerClassPair(cls);
+ }
+ return objc::msg_send((id)cls, "new"_sel);
+ }
+ id create_script_message_handler() {
+ objc::autoreleasepool arp;
+ constexpr auto class_name = "WebviewWKScriptMessageHandler";
+ // Avoid crash due to registering same class twice
+ auto cls = objc_lookUpClass(class_name);
+ if (!cls) {
+ cls = objc_allocateClassPair((Class) "NSResponder"_cls, class_name, 0);
+ class_addProtocol(cls, objc_getProtocol("WKScriptMessageHandler"));
+ class_addMethod(
+ cls, "userContentController:didReceiveScriptMessage:"_sel,
+ (IMP)(+[](id self, SEL, id, id msg) {
+ auto w = get_associated_webview(self);
+ w->on_message(objc::msg_send(
+ objc::msg_send(msg, "body"_sel), "UTF8String"_sel));
+ }),
+ "v@:@@");
+ objc_registerClassPair(cls);
+ }
+ auto instance = objc::msg_send((id)cls, "new"_sel);
+ objc_setAssociatedObject(instance, "webview", (id)this,
+ OBJC_ASSOCIATION_ASSIGN);
+ return instance;
+ }
+ static id create_webkit_ui_delegate() {
+ objc::autoreleasepool arp;
+ constexpr auto class_name = "WebviewWKUIDelegate";
+ // Avoid crash due to registering same class twice
+ auto cls = objc_lookUpClass(class_name);
+ if (!cls) {
+ cls = objc_allocateClassPair((Class) "NSObject"_cls, class_name, 0);
+ class_addProtocol(cls, objc_getProtocol("WKUIDelegate"));
+ class_addMethod(
+ cls,
+ "webView:runOpenPanelWithParameters:initiatedByFrame:completionHandler:"_sel,
+ (IMP)(+[](id, SEL, id, id parameters, id, id completion_handler) {
+ auto allows_multiple_selection =
+ objc::msg_send(parameters, "allowsMultipleSelection"_sel);
+ auto allows_directories =
+ objc::msg_send(parameters, "allowsDirectories"_sel);
+
+ // Show a panel for selecting files.
+ auto panel = objc::msg_send("NSOpenPanel"_cls, "openPanel"_sel);
+ objc::msg_send(panel, "setCanChooseFiles:"_sel, YES);
+ objc::msg_send(panel, "setCanChooseDirectories:"_sel,
+ allows_directories);
+ objc::msg_send(panel, "setAllowsMultipleSelection:"_sel,
+ allows_multiple_selection);
+ auto modal_response =
+ objc::msg_send(panel, "runModal"_sel);
+
+ // Get the URLs for the selected files. If the modal was canceled
+ // then we pass null to the completion handler to signify
+ // cancellation.
+ id urls = modal_response == NSModalResponseOK
+ ? objc::msg_send(panel, "URLs"_sel)
+ : nullptr;
+
+ // Invoke the completion handler block.
+ auto sig = objc::msg_send(
+ "NSMethodSignature"_cls, "signatureWithObjCTypes:"_sel, "v@?@");
+ auto invocation = objc::msg_send(
+ "NSInvocation"_cls, "invocationWithMethodSignature:"_sel, sig);
+ objc::msg_send(invocation, "setTarget:"_sel,
+ completion_handler);
+ objc::msg_send(invocation, "setArgument:atIndex:"_sel, &urls,
+ 1);
+ objc::msg_send(invocation, "invoke"_sel);
+ }),
+ "v@:@@@@");
+ objc_registerClassPair(cls);
+ }
+ return objc::msg_send((id)cls, "new"_sel);
+ }
+ static id create_window_delegate() {
+ objc::autoreleasepool arp;
+ constexpr auto class_name = "WebviewNSWindowDelegate";
+ // Avoid crash due to registering same class twice
+ auto cls = objc_lookUpClass(class_name);
+ if (!cls) {
+ cls = objc_allocateClassPair((Class) "NSObject"_cls, class_name, 0);
+ class_addProtocol(cls, objc_getProtocol("NSWindowDelegate"));
+ class_addMethod(cls, "windowWillClose:"_sel,
+ (IMP)(+[](id self, SEL, id notification) {
+ auto window =
+ objc::msg_send(notification, "object"_sel);
+ auto w = get_associated_webview(self);
+ w->on_window_will_close(self, window);
+ }),
+ "v@:@");
+ objc_registerClassPair(cls);
+ }
+ return objc::msg_send((id)cls, "new"_sel);
+ }
+ static id get_shared_application() {
+ return objc::msg_send("NSApplication"_cls, "sharedApplication"_sel);
+ }
+ static cocoa_wkwebview_engine *get_associated_webview(id object) {
+ auto w =
+ (cocoa_wkwebview_engine *)objc_getAssociatedObject(object, "webview");
+ assert(w);
+ return w;
+ }
+ static id get_main_bundle() noexcept {
+ return objc::msg_send("NSBundle"_cls, "mainBundle"_sel);
+ }
+ static bool is_app_bundled() noexcept {
+ auto bundle = get_main_bundle();
+ if (!bundle) {
+ return false;
+ }
+ auto bundle_path = objc::msg_send(bundle, "bundlePath"_sel);
+ auto bundled =
+ objc::msg_send(bundle_path, "hasSuffix:"_sel, ".app"_str);
+ return !!bundled;
+ }
+ void on_application_did_finish_launching(id /*delegate*/, id app) {
+ // See comments related to application lifecycle in create_app_delegate().
+ if (m_owns_window) {
+ // Stop the main run loop so that we can return
+ // from the constructor.
+ stop_run_loop();
+ }
+
+ // Activate the app if it is not bundled.
+ // Bundled apps launched from Finder are activated automatically but
+ // otherwise not. Activating the app even when it has been launched from
+ // Finder does not seem to be harmful but calling this function is rarely
+ // needed as proper activation is normally taken care of for us.
+ // Bundled apps have a default activation policy of
+ // NSApplicationActivationPolicyRegular while non-bundled apps have a
+ // default activation policy of NSApplicationActivationPolicyProhibited.
+ if (!is_app_bundled()) {
+ // "setActivationPolicy:" must be invoked before
+ // "activateIgnoringOtherApps:" for activation to work.
+ objc::msg_send(app, "setActivationPolicy:"_sel,
+ NSApplicationActivationPolicyRegular);
+ // Activate the app regardless of other active apps.
+ // This can be obtrusive so we only do it when necessary.
+ objc::msg_send(app, "activateIgnoringOtherApps:"_sel, YES);
+ }
+
+ set_up_window();
+ }
+ void on_window_will_close(id /*delegate*/, id /*window*/) {
+ // Widget destroyed along with window.
+ m_webview = nullptr;
+ m_window = nullptr;
+ dispatch([this] { on_window_destroyed(); });
+ }
+ void set_up_window() {
+ objc::autoreleasepool arp;
+
+ // Main window
+ if (m_owns_window) {
+ m_window = objc::msg_send("NSWindow"_cls, "alloc"_sel);
+ auto style = NSWindowStyleMaskTitled;
+ m_window = objc::msg_send(
+ m_window, "initWithContentRect:styleMask:backing:defer:"_sel,
+ CGRectMake(0, 0, 0, 0), style, NSBackingStoreBuffered, NO);
+
+ m_window_delegate = create_window_delegate();
+ objc_setAssociatedObject(m_window_delegate, "webview", (id)this,
+ OBJC_ASSOCIATION_ASSIGN);
+ objc::msg_send(m_window, "setDelegate:"_sel, m_window_delegate);
+
+ on_window_created();
+ }
+
+ set_up_web_view();
+
+ objc::msg_send(m_window, "setContentView:"_sel, m_webview);
+
+ if (m_owns_window) {
+ objc::msg_send(m_window, "makeKeyAndOrderFront:"_sel, nullptr);
+ }
+ }
+ void set_up_web_view() {
+ objc::autoreleasepool arp;
+
+ auto config = objc::autoreleased(
+ objc::msg_send("WKWebViewConfiguration"_cls, "new"_sel));
+
+ m_manager = objc::msg_send(config, "userContentController"_sel);
+ m_webview = objc::msg_send("WKWebView"_cls, "alloc"_sel);
+
+ auto preferences = objc::msg_send(config, "preferences"_sel);
+ auto yes_value =
+ objc::msg_send("NSNumber"_cls, "numberWithBool:"_sel, YES);
+
+ if (m_debug) {
+ // Equivalent Obj-C:
+ // [[config preferences] setValue:@YES forKey:@"developerExtrasEnabled"];
+ objc::msg_send(preferences, "setValue:forKey:"_sel, yes_value,
+ "developerExtrasEnabled"_str);
+ }
+
+ // Equivalent Obj-C:
+ // [[config preferences] setValue:@YES forKey:@"fullScreenEnabled"];
+ objc::msg_send(preferences, "setValue:forKey:"_sel, yes_value,
+ "fullScreenEnabled"_str);
+
+ // Equivalent Obj-C:
+ // [[config preferences] setValue:@YES forKey:@"javaScriptCanAccessClipboard"];
+ objc::msg_send(preferences, "setValue:forKey:"_sel, yes_value,
+ "javaScriptCanAccessClipboard"_str);
+
+ // Equivalent Obj-C:
+ // [[config preferences] setValue:@YES forKey:@"DOMPasteAllowed"];
+ objc::msg_send(preferences, "setValue:forKey:"_sel, yes_value,
+ "DOMPasteAllowed"_str);
+
+ auto ui_delegate = objc::autoreleased(create_webkit_ui_delegate());
+ objc::msg_send(m_webview, "initWithFrame:configuration:"_sel,
+ CGRectMake(0, 0, 0, 0), config);
+ objc::msg_send(m_webview, "setUIDelegate:"_sel, ui_delegate);
+
+ if (m_debug) {
+ // Explicitly make WKWebView inspectable via Safari on OS versions that
+ // disable the feature by default (macOS 13.3 and later) and support
+ // enabling it. According to Apple, the behavior on older OS versions is
+ // for content to always be inspectable in "debug builds".
+ // Testing shows that this is true for macOS 12.6 but somehow not 10.15.
+ // https://webkit.org/blog/13936/enabling-the-inspection-of-web-content-in-apps/
+#if defined(__has_builtin)
+#if __has_builtin(__builtin_available)
+ if (__builtin_available(macOS 13.3, iOS 16.4, tvOS 16.4, *)) {
+ objc::msg_send(
+ m_webview, "setInspectable:"_sel,
+ objc::msg_send("NSNumber"_cls, "numberWithBool:"_sel, YES));
+ }
+#else
+#error __builtin_available not supported by compiler
+#endif
+#else
+#error __has_builtin not supported by compiler
+#endif
+ }
+
+ auto script_message_handler =
+ objc::autoreleased(create_script_message_handler());
+ objc::msg_send(m_manager, "addScriptMessageHandler:name:"_sel,
+ script_message_handler, "external"_str);
+
+ init(R""(
+ window.external = {
+ invoke: function(s) {
+ window.webkit.messageHandlers.external.postMessage(s);
+ },
+ };
+ )"");
+ }
+ void stop_run_loop() {
+ objc::autoreleasepool arp;
+ auto app = get_shared_application();
+ // Request the run loop to stop. This doesn't immediately stop the loop.
+ objc::msg_send(app, "stop:"_sel, nullptr);
+ // The run loop will stop after processing an NSEvent.
+ // Event type: NSEventTypeApplicationDefined (macOS 10.12+),
+ // NSApplicationDefined (macOS 10.0–10.12)
+ int type = 15;
+ auto event = objc::msg_send(
+ "NSEvent"_cls,
+ "otherEventWithType:location:modifierFlags:timestamp:windowNumber:context:subtype:data1:data2:"_sel,
+ type, CGPointMake(0, 0), 0, 0, 0, nullptr, 0, 0, 0);
+ objc::msg_send(app, "postEvent:atStart:"_sel, event, YES);
+ }
+ static bool get_and_set_is_first_instance() noexcept {
+ static std::atomic_bool first{true};
+ bool temp = first;
+ if (temp) {
+ first = false;
+ }
+ return temp;
+ }
+
+ // Blocks while depleting the run loop of events.
+ void deplete_run_loop_event_queue() {
+ objc::autoreleasepool arp;
+ auto app = get_shared_application();
+ bool done{};
+ dispatch([&] { done = true; });
+ auto mask = NSUIntegerMax; // NSEventMaskAny
+ // NSDefaultRunLoopMode
+ auto mode = objc::msg_send("NSString"_cls, "stringWithUTF8String:"_sel,
+ "kCFRunLoopDefaultMode");
+ while (!done) {
+ objc::autoreleasepool arp;
+ auto event = objc::msg_send(
+ app, "nextEventMatchingMask:untilDate:inMode:dequeue:"_sel, mask,
+ nullptr, mode, YES);
+ if (event) {
+ objc::msg_send(app, "sendEvent:"_sel, event);
+ }
+ }
+ }
+
+ bool m_debug{};
+ id m_app_delegate{};
+ id m_window_delegate{};
+ id m_window{};
+ id m_webview{};
+ id m_manager{};
+ bool m_owns_window{};
+};
+
+} // namespace detail
+
+using browser_engine = detail::cocoa_wkwebview_engine;
+
+} // namespace webview
+
+#elif defined(WEBVIEW_EDGE)
+
+//
+// ====================================================================
+//
+// This implementation uses Win32 API to create a native window. It
+// uses Edge/Chromium webview2 backend as a browser engine.
+//
+// ====================================================================
+//
+
+#define WIN32_LEAN_AND_MEAN
+#include
+#include
+#include
+#include
+
+#include "WebView2.h"
+
+#ifdef _MSC_VER
+#pragma comment(lib, "advapi32.lib")
+#pragma comment(lib, "ole32.lib")
+#pragma comment(lib, "shell32.lib")
+#pragma comment(lib, "shlwapi.lib")
+#pragma comment(lib, "user32.lib")
+#pragma comment(lib, "version.lib")
+#endif
+
+namespace webview {
+namespace detail {
+
+using msg_cb_t = std::function;
+
+// Parses a version string with 1-4 integral components, e.g. "1.2.3.4".
+// Missing or invalid components default to 0, and excess components are ignored.
+template
+std::array
+parse_version(const std::basic_string &version) noexcept {
+ auto parse_component = [](auto sb, auto se) -> unsigned int {
+ try {
+ auto n = std::stol(std::basic_string(sb, se));
+ return n < 0 ? 0 : n;
+ } catch (std::exception &) {
+ return 0;
+ }
+ };
+ auto end = version.end();
+ auto sb = version.begin(); // subrange begin
+ auto se = sb; // subrange end
+ unsigned int ci = 0; // component index
+ std::array components{};
+ while (sb != end && se != end && ci < components.size()) {
+ if (*se == static_cast('.')) {
+ components[ci++] = parse_component(sb, se);
+ sb = ++se;
+ continue;
+ }
+ ++se;
+ }
+ if (sb < se && ci < components.size()) {
+ components[ci] = parse_component(sb, se);
+ }
+ return components;
+}
+
+template
+auto parse_version(const T (&version)[Length]) noexcept {
+ return parse_version(std::basic_string(version, Length));
+}
+
+std::wstring get_file_version_string(const std::wstring &file_path) noexcept {
+ DWORD dummy_handle; // Unused
+ DWORD info_buffer_length =
+ GetFileVersionInfoSizeW(file_path.c_str(), &dummy_handle);
+ if (info_buffer_length == 0) {
+ return std::wstring();
+ }
+ std::vector info_buffer;
+ info_buffer.reserve(info_buffer_length);
+ if (!GetFileVersionInfoW(file_path.c_str(), 0, info_buffer_length,
+ info_buffer.data())) {
+ return std::wstring();
+ }
+ auto sub_block = L"\\StringFileInfo\\040904B0\\ProductVersion";
+ LPWSTR version = nullptr;
+ unsigned int version_length = 0;
+ if (!VerQueryValueW(info_buffer.data(), sub_block,
+ reinterpret_cast(&version), &version_length)) {
+ return std::wstring();
+ }
+ if (!version || version_length == 0) {
+ return std::wstring();
+ }
+ return std::wstring(version, version_length);
+}
+
+// A wrapper around COM library initialization. Calls CoInitializeEx in the
+// constructor and CoUninitialize in the destructor.
+class com_init_wrapper {
+public:
+ com_init_wrapper() = default;
+
+ com_init_wrapper(DWORD dwCoInit) {
+ // We can safely continue as long as COM was either successfully
+ // initialized or already initialized.
+ // RPC_E_CHANGED_MODE means that CoInitializeEx was already called with
+ // a different concurrency model.
+ switch (CoInitializeEx(nullptr, dwCoInit)) {
+ case S_OK:
+ case S_FALSE:
+ m_initialized = true;
+ break;
+ }
+ }
+
+ ~com_init_wrapper() {
+ if (m_initialized) {
+ CoUninitialize();
+ m_initialized = false;
+ }
+ }
+
+ com_init_wrapper(const com_init_wrapper &other) = delete;
+ com_init_wrapper &operator=(const com_init_wrapper &other) = delete;
+ com_init_wrapper(com_init_wrapper &&other) { *this = std::move(other); }
+
+ com_init_wrapper &operator=(com_init_wrapper &&other) {
+ if (this == &other) {
+ return *this;
+ }
+ m_initialized = std::exchange(other.m_initialized, false);
+ return *this;
+ }
+
+ bool is_initialized() const { return m_initialized; }
+
+private:
+ bool m_initialized = false;
+};
+
+namespace ntdll_symbols {
+using RtlGetVersion_t =
+ unsigned int /*NTSTATUS*/ (WINAPI *)(RTL_OSVERSIONINFOW *);
+
+constexpr auto RtlGetVersion = library_symbol("RtlGetVersion");
+} // namespace ntdll_symbols
+
+namespace user32_symbols {
+using DPI_AWARENESS_CONTEXT = HANDLE;
+using SetProcessDpiAwarenessContext_t = BOOL(WINAPI *)(DPI_AWARENESS_CONTEXT);
+using SetProcessDPIAware_t = BOOL(WINAPI *)();
+using GetDpiForWindow_t = UINT(WINAPI *)(HWND);
+using EnableNonClientDpiScaling_t = BOOL(WINAPI *)(HWND);
+using AdjustWindowRectExForDpi_t = BOOL(WINAPI *)(LPRECT, DWORD, BOOL, DWORD,
+ UINT);
+using GetWindowDpiAwarenessContext_t = DPI_AWARENESS_CONTEXT(WINAPI *)(HWND);
+using AreDpiAwarenessContextsEqual_t = BOOL(WINAPI *)(DPI_AWARENESS_CONTEXT,
+ DPI_AWARENESS_CONTEXT);
+
+// Use intptr_t as the underlying type because we need to
+// reinterpret_cast which is a pointer.
+// Available since Windows 10, version 1607
+enum class dpi_awareness : intptr_t {
+ per_monitor_v2_aware = -4, // Available since Windows 10, version 1703
+ per_monitor_aware = -3
+};
+
+constexpr auto SetProcessDpiAwarenessContext =
+ library_symbol(
+ "SetProcessDpiAwarenessContext");
+constexpr auto SetProcessDPIAware =
+ library_symbol("SetProcessDPIAware");
+constexpr auto GetDpiForWindow =
+ library_symbol("GetDpiForWindow");
+constexpr auto EnableNonClientDpiScaling =
+ library_symbol("EnableNonClientDpiScaling");
+constexpr auto AdjustWindowRectExForDpi =
+ library_symbol("AdjustWindowRectExForDpi");
+constexpr auto GetWindowDpiAwarenessContext =
+ library_symbol(
+ "GetWindowDpiAwarenessContext");
+constexpr auto AreDpiAwarenessContextsEqual =
+ library_symbol(
+ "AreDpiAwarenessContextsEqual");
+} // namespace user32_symbols
+
+namespace dwmapi_symbols {
+typedef enum {
+ // This undocumented value is used instead of DWMWA_USE_IMMERSIVE_DARK_MODE
+ // on Windows 10 older than build 19041 (2004/20H1).
+ DWMWA_USE_IMMERSIVE_DARK_MODE_BEFORE_V10_0_19041 = 19,
+ // Documented as being supported since Windows 11 build 22000 (21H2) but it
+ // works since Windows 10 build 19041 (2004/20H1).
+ DWMWA_USE_IMMERSIVE_DARK_MODE = 20
+} DWMWINDOWATTRIBUTE;
+using DwmSetWindowAttribute_t = HRESULT(WINAPI *)(HWND, DWORD, LPCVOID, DWORD);
+
+constexpr auto DwmSetWindowAttribute =
+ library_symbol("DwmSetWindowAttribute");
+} // namespace dwmapi_symbols
+
+namespace shcore_symbols {
+typedef enum { PROCESS_PER_MONITOR_DPI_AWARE = 2 } PROCESS_DPI_AWARENESS;
+using SetProcessDpiAwareness_t = HRESULT(WINAPI *)(PROCESS_DPI_AWARENESS);
+
+constexpr auto SetProcessDpiAwareness =
+ library_symbol("SetProcessDpiAwareness");
+} // namespace shcore_symbols
+
+class reg_key {
+public:
+ explicit reg_key(HKEY root_key, const wchar_t *sub_key, DWORD options,
+ REGSAM sam_desired) {
+ HKEY handle;
+ auto status =
+ RegOpenKeyExW(root_key, sub_key, options, sam_desired, &handle);
+ if (status == ERROR_SUCCESS) {
+ m_handle = handle;
+ }
+ }
+
+ explicit reg_key(HKEY root_key, const std::wstring &sub_key, DWORD options,
+ REGSAM sam_desired)
+ : reg_key(root_key, sub_key.c_str(), options, sam_desired) {}
+
+ virtual ~reg_key() {
+ if (m_handle) {
+ RegCloseKey(m_handle);
+ m_handle = nullptr;
+ }
+ }
+
+ reg_key(const reg_key &other) = delete;
+ reg_key &operator=(const reg_key &other) = delete;
+ reg_key(reg_key &&other) = delete;
+ reg_key &operator=(reg_key &&other) = delete;
+
+ bool is_open() const { return !!m_handle; }
+ bool get_handle() const { return m_handle; }
+
+ template
+ void query_bytes(const wchar_t *name, Container &result) const {
+ DWORD buf_length = 0;
+ // Get the size of the data in bytes.
+ auto status = RegQueryValueExW(m_handle, name, nullptr, nullptr, nullptr,
+ &buf_length);
+ if (status != ERROR_SUCCESS && status != ERROR_MORE_DATA) {
+ result.resize(0);
+ return;
+ }
+ // Read the data.
+ result.resize(buf_length / sizeof(typename Container::value_type));
+ auto *buf = reinterpret_cast(&result[0]);
+ status =
+ RegQueryValueExW(m_handle, name, nullptr, nullptr, buf, &buf_length);
+ if (status != ERROR_SUCCESS) {
+ result.resize(0);
+ return;
+ }
+ }
+
+ std::wstring query_string(const wchar_t *name) const {
+ std::wstring result;
+ query_bytes(name, result);
+ // Remove trailing null-characters.
+ for (std::size_t length = result.size(); length > 0; --length) {
+ if (result[length - 1] != 0) {
+ result.resize(length);
+ break;
+ }
+ }
+ return result;
+ }
+
+ unsigned int query_uint(const wchar_t *name,
+ unsigned int default_value) const {
+ std::vector data;
+ query_bytes(name, data);
+ if (data.size() < sizeof(DWORD)) {
+ return default_value;
+ }
+ return static_cast(*reinterpret_cast(data.data()));
+ }
+
+private:
+ HKEY m_handle = nullptr;
+};
+
+// Compare the specified version against the OS version.
+// Returns less than 0 if the OS version is less.
+// Returns 0 if the versions are equal.
+// Returns greater than 0 if the specified version is greater.
+inline int compare_os_version(unsigned int major, unsigned int minor,
+ unsigned int build) {
+ // Use RtlGetVersion both to bypass potential issues related to
+ // VerifyVersionInfo and manifests, and because both GetVersion and
+ // GetVersionEx are deprecated.
+ auto ntdll = native_library(L"ntdll.dll");
+ if (auto fn = ntdll.get(ntdll_symbols::RtlGetVersion)) {
+ RTL_OSVERSIONINFOW vi{};
+ vi.dwOSVersionInfoSize = sizeof(vi);
+ if (fn(&vi) != 0) {
+ return false;
+ }
+ if (vi.dwMajorVersion == major) {
+ if (vi.dwMinorVersion == minor) {
+ return static_cast(vi.dwBuildNumber) - static_cast(build);
+ }
+ return static_cast(vi.dwMinorVersion) - static_cast(minor);
+ }
+ return static_cast(vi.dwMajorVersion) - static_cast(major);
+ }
+ return false;
+}
+
+inline bool is_per_monitor_v2_awareness_available() {
+ // Windows 10, version 1703
+ return compare_os_version(10, 0, 15063) >= 0;
+}
+
+inline bool enable_dpi_awareness() {
+ auto user32 = native_library(L"user32.dll");
+ if (auto fn = user32.get(user32_symbols::SetProcessDpiAwarenessContext)) {
+ auto dpi_awareness =
+ reinterpret_cast(
+ is_per_monitor_v2_awareness_available()
+ ? user32_symbols::dpi_awareness::per_monitor_v2_aware
+ : user32_symbols::dpi_awareness::per_monitor_aware);
+ if (fn(dpi_awareness)) {
+ return true;
+ }
+ return GetLastError() == ERROR_ACCESS_DENIED;
+ }
+ if (auto shcore = native_library(L"shcore.dll")) {
+ if (auto fn = shcore.get(shcore_symbols::SetProcessDpiAwareness)) {
+ auto result = fn(shcore_symbols::PROCESS_PER_MONITOR_DPI_AWARE);
+ return result == S_OK || result == E_ACCESSDENIED;
+ }
+ }
+ if (auto fn = user32.get(user32_symbols::SetProcessDPIAware)) {
+ return !!fn();
+ }
+ return true;
+}
+
+inline bool enable_non_client_dpi_scaling_if_needed(HWND window) {
+ auto user32 = native_library(L"user32.dll");
+ auto get_ctx_fn = user32.get(user32_symbols::GetWindowDpiAwarenessContext);
+ if (!get_ctx_fn) {
+ return true;
+ }
+ auto awareness = get_ctx_fn(window);
+ if (!awareness) {
+ return false;
+ }
+ auto ctx_equal_fn = user32.get(user32_symbols::AreDpiAwarenessContextsEqual);
+ if (!ctx_equal_fn) {
+ return true;
+ }
+ // EnableNonClientDpiScaling is only needed with per monitor v1 awareness.
+ auto per_monitor = reinterpret_cast(
+ user32_symbols::dpi_awareness::per_monitor_aware);
+ if (!ctx_equal_fn(awareness, per_monitor)) {
+ return true;
+ }
+ auto enable_fn = user32.get(user32_symbols::EnableNonClientDpiScaling);
+ if (!enable_fn) {
+ return true;
+ }
+ return !!enable_fn(window);
+}
+
+constexpr int get_default_window_dpi() {
+ constexpr const int default_dpi = 96; // USER_DEFAULT_SCREEN_DPI
+ return default_dpi;
+}
+
+inline int get_window_dpi(HWND window) {
+ auto user32 = native_library(L"user32.dll");
+ if (auto fn = user32.get(user32_symbols::GetDpiForWindow)) {
+ auto dpi = static_cast(fn(window));
+ return dpi;
+ }
+ return get_default_window_dpi();
+}
+
+constexpr int scale_value_for_dpi(int value, int from_dpi, int to_dpi) {
+ return (value * to_dpi) / from_dpi;
+}
+
+constexpr SIZE scale_size(int width, int height, int from_dpi, int to_dpi) {
+ auto scaled_width = scale_value_for_dpi(width, from_dpi, to_dpi);
+ auto scaled_height = scale_value_for_dpi(height, from_dpi, to_dpi);
+ return {scaled_width, scaled_height};
+}
+
+inline SIZE make_window_frame_size(HWND window, int width, int height,
+ int dpi) {
+ auto style = GetWindowLong(window, GWL_STYLE);
+ RECT r{0, 0, width, height};
+ auto user32 = native_library(L"user32.dll");
+ if (auto fn = user32.get(user32_symbols::AdjustWindowRectExForDpi)) {
+ fn(&r, style, FALSE, 0, static_cast(dpi));
+ } else {
+ AdjustWindowRect(&r, style, 0);
+ }
+ auto frame_width = r.right - r.left;
+ auto frame_height = r.bottom - r.top;
+ return {frame_width, frame_height};
+}
+
+inline bool is_dark_theme_enabled() {
+ constexpr auto *sub_key =
+ L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize";
+ reg_key key(HKEY_CURRENT_USER, sub_key, 0, KEY_READ);
+ if (!key.is_open()) {
+ // Default is light theme
+ return false;
+ }
+ return key.query_uint(L"AppsUseLightTheme", 1) == 0;
+}
+
+inline void apply_window_theme(HWND window) {
+ auto dark_theme_enabled = is_dark_theme_enabled();
+
+ // Use "immersive dark mode" on systems that support it.
+ // Changes the color of the window's title bar (light or dark).
+ BOOL use_dark_mode{dark_theme_enabled ? TRUE : FALSE};
+ static native_library dwmapi{L"dwmapi.dll"};
+ if (auto fn = dwmapi.get(dwmapi_symbols::DwmSetWindowAttribute)) {
+ // Try the modern, documented attribute before the older, undocumented one.
+ if (fn(window, dwmapi_symbols::DWMWA_USE_IMMERSIVE_DARK_MODE,
+ &use_dark_mode, sizeof(use_dark_mode)) != S_OK) {
+ fn(window,
+ dwmapi_symbols::DWMWA_USE_IMMERSIVE_DARK_MODE_BEFORE_V10_0_19041,
+ &use_dark_mode, sizeof(use_dark_mode));
+ }
+ }
+}
+
+// Enable built-in WebView2Loader implementation by default.
+#ifndef WEBVIEW_MSWEBVIEW2_BUILTIN_IMPL
+#define WEBVIEW_MSWEBVIEW2_BUILTIN_IMPL 1
+#endif
+
+// Link WebView2Loader.dll explicitly by default only if the built-in
+// implementation is enabled.
+#ifndef WEBVIEW_MSWEBVIEW2_EXPLICIT_LINK
+#define WEBVIEW_MSWEBVIEW2_EXPLICIT_LINK WEBVIEW_MSWEBVIEW2_BUILTIN_IMPL
+#endif
+
+// Explicit linking of WebView2Loader.dll should be used along with
+// the built-in implementation.
+#if WEBVIEW_MSWEBVIEW2_BUILTIN_IMPL == 1 && \
+ WEBVIEW_MSWEBVIEW2_EXPLICIT_LINK != 1
+#undef WEBVIEW_MSWEBVIEW2_EXPLICIT_LINK
+#error Please set WEBVIEW_MSWEBVIEW2_EXPLICIT_LINK=1.
+#endif
+
+#if WEBVIEW_MSWEBVIEW2_BUILTIN_IMPL == 1
+// Gets the last component of a Windows native file path.
+// For example, if the path is "C:\a\b" then the result is "b".
+template
+std::basic_string
+get_last_native_path_component(const std::basic_string &path) {
+ auto pos = path.find_last_of(static_cast('\\'));
+ if (pos != std::basic_string::npos) {
+ return path.substr(pos + 1);
+ }
+ return std::basic_string();
+}
+#endif /* WEBVIEW_MSWEBVIEW2_BUILTIN_IMPL */
+
+template struct cast_info_t {
+ using type = T;
+ IID iid;
+};
+
+namespace mswebview2 {
+static constexpr IID
+ IID_ICoreWebView2CreateCoreWebView2ControllerCompletedHandler{
+ 0x6C4819F3,
+ 0xC9B7,
+ 0x4260,
+ {0x81, 0x27, 0xC9, 0xF5, 0xBD, 0xE7, 0xF6, 0x8C}};
+static constexpr IID
+ IID_ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler{
+ 0x4E8A3389,
+ 0xC9D8,
+ 0x4BD2,
+ {0xB6, 0xB5, 0x12, 0x4F, 0xEE, 0x6C, 0xC1, 0x4D}};
+static constexpr IID IID_ICoreWebView2PermissionRequestedEventHandler{
+ 0x15E1C6A3,
+ 0xC72A,
+ 0x4DF3,
+ {0x91, 0xD7, 0xD0, 0x97, 0xFB, 0xEC, 0x6B, 0xFD}};
+static constexpr IID IID_ICoreWebView2WebMessageReceivedEventHandler{
+ 0x57213F19,
+ 0x00E6,
+ 0x49FA,
+ {0x8E, 0x07, 0x89, 0x8E, 0xA0, 0x1E, 0xCB, 0xD2}};
+
+#if WEBVIEW_MSWEBVIEW2_BUILTIN_IMPL == 1
+enum class webview2_runtime_type { installed = 0, embedded = 1 };
+
+namespace webview2_symbols {
+using CreateWebViewEnvironmentWithOptionsInternal_t =
+ HRESULT(STDMETHODCALLTYPE *)(
+ bool, webview2_runtime_type, PCWSTR, IUnknown *,
+ ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler *);
+using DllCanUnloadNow_t = HRESULT(STDMETHODCALLTYPE *)();
+
+static constexpr auto CreateWebViewEnvironmentWithOptionsInternal =
+ library_symbol(
+ "CreateWebViewEnvironmentWithOptionsInternal");
+static constexpr auto DllCanUnloadNow =
+ library_symbol("DllCanUnloadNow");
+} // namespace webview2_symbols
+#endif /* WEBVIEW_MSWEBVIEW2_BUILTIN_IMPL */
+
+#if WEBVIEW_MSWEBVIEW2_EXPLICIT_LINK == 1
+namespace webview2_symbols {
+using CreateCoreWebView2EnvironmentWithOptions_t = HRESULT(STDMETHODCALLTYPE *)(
+ PCWSTR, PCWSTR, ICoreWebView2EnvironmentOptions *,
+ ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler *);
+using GetAvailableCoreWebView2BrowserVersionString_t =
+ HRESULT(STDMETHODCALLTYPE *)(PCWSTR, LPWSTR *);
+
+static constexpr auto CreateCoreWebView2EnvironmentWithOptions =
+ library_symbol(
+ "CreateCoreWebView2EnvironmentWithOptions");
+static constexpr auto GetAvailableCoreWebView2BrowserVersionString =
+ library_symbol(
+ "GetAvailableCoreWebView2BrowserVersionString");
+} // namespace webview2_symbols
+#endif /* WEBVIEW_MSWEBVIEW2_EXPLICIT_LINK */
+
+class loader {
+public:
+ HRESULT create_environment_with_options(
+ PCWSTR browser_dir, PCWSTR user_data_dir,
+ ICoreWebView2EnvironmentOptions *env_options,
+ ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler
+ *created_handler) const {
+#if WEBVIEW_MSWEBVIEW2_EXPLICIT_LINK == 1
+ if (m_lib.is_loaded()) {
+ if (auto fn = m_lib.get(
+ webview2_symbols::CreateCoreWebView2EnvironmentWithOptions)) {
+ return fn(browser_dir, user_data_dir, env_options, created_handler);
+ }
+ }
+#if WEBVIEW_MSWEBVIEW2_BUILTIN_IMPL == 1
+ return create_environment_with_options_impl(browser_dir, user_data_dir,
+ env_options, created_handler);
+#else
+ return S_FALSE;
+#endif
+#else
+ return ::CreateCoreWebView2EnvironmentWithOptions(
+ browser_dir, user_data_dir, env_options, created_handler);
+#endif /* WEBVIEW_MSWEBVIEW2_EXPLICIT_LINK */
+ }
+
+ HRESULT
+ get_available_browser_version_string(PCWSTR browser_dir,
+ LPWSTR *version) const {
+#if WEBVIEW_MSWEBVIEW2_EXPLICIT_LINK == 1
+ if (m_lib.is_loaded()) {
+ if (auto fn = m_lib.get(
+ webview2_symbols::GetAvailableCoreWebView2BrowserVersionString)) {
+ return fn(browser_dir, version);
+ }
+ }
+#if WEBVIEW_MSWEBVIEW2_BUILTIN_IMPL == 1
+ return get_available_browser_version_string_impl(browser_dir, version);
+#else
+ return S_FALSE;
+#endif
+#else
+ return ::GetAvailableCoreWebView2BrowserVersionString(browser_dir, version);
+#endif /* WEBVIEW_MSWEBVIEW2_EXPLICIT_LINK */
+ }
+
+private:
+#if WEBVIEW_MSWEBVIEW2_BUILTIN_IMPL == 1
+ struct client_info_t {
+ bool found = false;
+ std::wstring dll_path;
+ std::wstring version;
+ webview2_runtime_type runtime_type;
+ };
+
+ HRESULT create_environment_with_options_impl(
+ PCWSTR browser_dir, PCWSTR user_data_dir,
+ ICoreWebView2EnvironmentOptions *env_options,
+ ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler
+ *created_handler) const {
+ auto found_client = find_available_client(browser_dir);
+ if (!found_client.found) {
+ return -1;
+ }
+ auto client_dll = native_library(found_client.dll_path.c_str());
+ if (auto fn = client_dll.get(
+ webview2_symbols::CreateWebViewEnvironmentWithOptionsInternal)) {
+ return fn(true, found_client.runtime_type, user_data_dir, env_options,
+ created_handler);
+ }
+ if (auto fn = client_dll.get(webview2_symbols::DllCanUnloadNow)) {
+ if (!fn()) {
+ client_dll.detach();
+ }
+ }
+ return ERROR_SUCCESS;
+ }
+
+ HRESULT
+ get_available_browser_version_string_impl(PCWSTR browser_dir,
+ LPWSTR *version) const {
+ if (!version) {
+ return -1;
+ }
+ auto found_client = find_available_client(browser_dir);
+ if (!found_client.found) {
+ return -1;
+ }
+ auto info_length_bytes =
+ found_client.version.size() * sizeof(found_client.version[0]);
+ auto info = static_cast(CoTaskMemAlloc(info_length_bytes));
+ if (!info) {
+ return -1;
+ }
+ CopyMemory(info, found_client.version.c_str(), info_length_bytes);
+ *version = info;
+ return 0;
+ }
+
+ client_info_t find_available_client(PCWSTR browser_dir) const {
+ if (browser_dir) {
+ return find_embedded_client(api_version, browser_dir);
+ }
+ auto found_client =
+ find_installed_client(api_version, true, default_release_channel_guid);
+ if (!found_client.found) {
+ found_client = find_installed_client(api_version, false,
+ default_release_channel_guid);
+ }
+ return found_client;
+ }
+
+ std::wstring make_client_dll_path(const std::wstring &dir) const {
+ auto dll_path = dir;
+ if (!dll_path.empty()) {
+ auto last_char = dir[dir.size() - 1];
+ if (last_char != L'\\' && last_char != L'/') {
+ dll_path += L'\\';
+ }
+ }
+ dll_path += L"EBWebView\\";
+#if defined(_M_X64) || defined(__x86_64__)
+ dll_path += L"x64";
+#elif defined(_M_IX86) || defined(__i386__)
+ dll_path += L"x86";
+#elif defined(_M_ARM64) || defined(__aarch64__)
+ dll_path += L"arm64";
+#else
+#error WebView2 integration for this platform is not yet supported.
+#endif
+ dll_path += L"\\EmbeddedBrowserWebView.dll";
+ return dll_path;
+ }
+
+ client_info_t
+ find_installed_client(unsigned int min_api_version, bool system,
+ const std::wstring &release_channel) const {
+ std::wstring sub_key = client_state_reg_sub_key;
+ sub_key += release_channel;
+ auto root_key = system ? HKEY_LOCAL_MACHINE : HKEY_CURRENT_USER;
+ reg_key key(root_key, sub_key, 0, KEY_READ | KEY_WOW64_32KEY);
+ if (!key.is_open()) {
+ return {};
+ }
+ auto ebwebview_value = key.query_string(L"EBWebView");
+
+ auto client_version_string =
+ get_last_native_path_component(ebwebview_value);
+ auto client_version = parse_version(client_version_string);
+ if (client_version[2] < min_api_version) {
+ // Our API version is greater than the runtime API version.
+ return {};
+ }
+
+ auto client_dll_path = make_client_dll_path(ebwebview_value);
+ return {true, client_dll_path, client_version_string,
+ webview2_runtime_type::installed};
+ }
+
+ client_info_t find_embedded_client(unsigned int min_api_version,
+ const std::wstring &dir) const {
+ auto client_dll_path = make_client_dll_path(dir);
+
+ auto client_version_string = get_file_version_string(client_dll_path);
+ auto client_version = parse_version(client_version_string);
+ if (client_version[2] < min_api_version) {
+ // Our API version is greater than the runtime API version.
+ return {};
+ }
+
+ return {true, client_dll_path, client_version_string,
+ webview2_runtime_type::embedded};
+ }
+
+ // The minimum WebView2 API version we need regardless of the SDK release
+ // actually used. The number comes from the SDK release version,
+ // e.g. 1.0.1150.38. To be safe the SDK should have a number that is greater
+ // than or equal to this number. The Edge browser webview client must
+ // have a number greater than or equal to this number.
+ static constexpr unsigned int api_version = 1150;
+
+ static constexpr auto client_state_reg_sub_key =
+ L"SOFTWARE\\Microsoft\\EdgeUpdate\\ClientState\\";
+
+ // GUID for the stable release channel.
+ static constexpr auto stable_release_guid =
+ L"{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}";
+
+ static constexpr auto default_release_channel_guid = stable_release_guid;
+#endif /* WEBVIEW_MSWEBVIEW2_BUILTIN_IMPL */
+
+#if WEBVIEW_MSWEBVIEW2_EXPLICIT_LINK == 1
+ native_library m_lib{L"WebView2Loader.dll"};
+#endif
+};
+
+namespace cast_info {
+static constexpr auto controller_completed =
+ cast_info_t{
+ IID_ICoreWebView2CreateCoreWebView2ControllerCompletedHandler};
+
+static constexpr auto environment_completed =
+ cast_info_t{
+ IID_ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler};
+
+static constexpr auto message_received =
+ cast_info_t{
+ IID_ICoreWebView2WebMessageReceivedEventHandler};
+
+static constexpr auto permission_requested =
+ cast_info_t{
+ IID_ICoreWebView2PermissionRequestedEventHandler};
+} // namespace cast_info
+} // namespace mswebview2
+
+class webview2_com_handler
+ : public ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler,
+ public ICoreWebView2CreateCoreWebView2ControllerCompletedHandler,
+ public ICoreWebView2WebMessageReceivedEventHandler,
+ public ICoreWebView2PermissionRequestedEventHandler {
+ using webview2_com_handler_cb_t =
+ std::function;
+
+public:
+ webview2_com_handler(HWND hwnd, msg_cb_t msgCb, webview2_com_handler_cb_t cb)
+ : m_window(hwnd), m_msgCb(msgCb), m_cb(cb) {}
+
+ virtual ~webview2_com_handler() = default;
+ webview2_com_handler(const webview2_com_handler &other) = delete;
+ webview2_com_handler &operator=(const webview2_com_handler &other) = delete;
+ webview2_com_handler(webview2_com_handler &&other) = delete;
+ webview2_com_handler &operator=(webview2_com_handler &&other) = delete;
+
+ ULONG STDMETHODCALLTYPE AddRef() { return ++m_ref_count; }
+ ULONG STDMETHODCALLTYPE Release() {
+ if (m_ref_count > 1) {
+ return --m_ref_count;
+ }
+ delete this;
+ return 0;
+ }
+ HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, LPVOID *ppv) {
+ using namespace mswebview2::cast_info;
+
+ if (!ppv) {
+ return E_POINTER;
+ }
+
+ // All of the COM interfaces we implement should be added here regardless
+ // of whether they are required.
+ // This is just to be on the safe side in case the WebView2 Runtime ever
+ // requests a pointer to an interface we implement.
+ // The WebView2 Runtime must at the very least be able to get a pointer to
+ // ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler when we use
+ // our custom WebView2 loader implementation, and observations have shown
+ // that it is the only interface requested in this case. None have been
+ // observed to be requested when using the official WebView2 loader.
+
+ if (cast_if_equal_iid(riid, controller_completed, ppv) ||
+ cast_if_equal_iid(riid, environment_completed, ppv) ||
+ cast_if_equal_iid(riid, message_received, ppv) ||
+ cast_if_equal_iid(riid, permission_requested, ppv)) {
+ return S_OK;
+ }
+
+ return E_NOINTERFACE;
+ }
+ HRESULT STDMETHODCALLTYPE Invoke(HRESULT res, ICoreWebView2Environment *env) {
+ if (SUCCEEDED(res)) {
+ res = env->CreateCoreWebView2Controller(m_window, this);
+ if (SUCCEEDED(res)) {
+ return S_OK;
+ }
+ }
+ try_create_environment();
+ return S_OK;
+ }
+ HRESULT STDMETHODCALLTYPE Invoke(HRESULT res,
+ ICoreWebView2Controller *controller) {
+ if (FAILED(res)) {
+ // See try_create_environment() regarding
+ // HRESULT_FROM_WIN32(ERROR_INVALID_STATE).
+ // The result is E_ABORT if the parent window has been destroyed already.
+ switch (res) {
+ case HRESULT_FROM_WIN32(ERROR_INVALID_STATE):
+ case E_ABORT:
+ return S_OK;
+ }
+ try_create_environment();
+ return S_OK;
+ }
+
+ ICoreWebView2 *webview;
+ ::EventRegistrationToken token;
+ controller->get_CoreWebView2(&webview);
+ webview->add_WebMessageReceived(this, &token);
+ webview->add_PermissionRequested(this, &token);
+
+ m_cb(controller, webview);
+ return S_OK;
+ }
+ HRESULT STDMETHODCALLTYPE Invoke(
+ ICoreWebView2 *sender, ICoreWebView2WebMessageReceivedEventArgs *args) {
+ LPWSTR message;
+ args->TryGetWebMessageAsString(&message);
+ m_msgCb(narrow_string(message));
+ sender->PostWebMessageAsString(message);
+
+ CoTaskMemFree(message);
+ return S_OK;
+ }
+ HRESULT STDMETHODCALLTYPE
+ Invoke(ICoreWebView2 * /*sender*/,
+ ICoreWebView2PermissionRequestedEventArgs *args) {
+ COREWEBVIEW2_PERMISSION_KIND kind;
+ args->get_PermissionKind(&kind);
+ if (kind == COREWEBVIEW2_PERMISSION_KIND_CLIPBOARD_READ) {
+ args->put_State(COREWEBVIEW2_PERMISSION_STATE_ALLOW);
+ }
+ return S_OK;
+ }
+
+ // Checks whether the specified IID equals the IID of the specified type and
+ // if so casts the "this" pointer to T and returns it. Returns nullptr on
+ // mismatching IIDs.
+ // If ppv is specified then the pointer will also be assigned to *ppv.
+ template
+ T *cast_if_equal_iid(REFIID riid, const cast_info_t &info,
+ LPVOID *ppv = nullptr) noexcept {
+ T *ptr = nullptr;
+ if (IsEqualIID(riid, info.iid)) {
+ ptr = static_cast(this);
+ ptr->AddRef();
+ }
+ if (ppv) {
+ *ppv = ptr;
+ }
+ return ptr;
+ }
+
+ // Set the function that will perform the initiating logic for creating
+ // the WebView2 environment.
+ void set_attempt_handler(std::function attempt_handler) noexcept {
+ m_attempt_handler = attempt_handler;
+ }
+
+ // Retry creating a WebView2 environment.
+ // The initiating logic for creating the environment is defined by the
+ // caller of set_attempt_handler().
+ void try_create_environment() noexcept {
+ // WebView creation fails with HRESULT_FROM_WIN32(ERROR_INVALID_STATE) if
+ // a running instance using the same user data folder exists, and the
+ // Environment objects have different EnvironmentOptions.
+ // Source: https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/icorewebview2environment?view=webview2-1.0.1150.38
+ if (m_attempts < m_max_attempts) {
+ ++m_attempts;
+ auto res = m_attempt_handler();
+ if (SUCCEEDED(res)) {
+ return;
+ }
+ // Not entirely sure if this error code only applies to
+ // CreateCoreWebView2Controller so we check here as well.
+ if (res == HRESULT_FROM_WIN32(ERROR_INVALID_STATE)) {
+ return;
+ }
+ try_create_environment();
+ return;
+ }
+ // Give up.
+ m_cb(nullptr, nullptr);
+ }
+
+private:
+ HWND m_window;
+ msg_cb_t m_msgCb;
+ webview2_com_handler_cb_t m_cb;
+ std::atomic m_ref_count{1};
+ std::function m_attempt_handler;
+ unsigned int m_max_attempts = 5;
+ unsigned int m_attempts = 0;
+};
+
+class win32_edge_engine : public engine_base {
+public:
+ win32_edge_engine(bool debug, void *window) : m_owns_window{!window} {
+ if (!is_webview2_available()) {
+ return;
+ }
+
+ HINSTANCE hInstance = GetModuleHandle(nullptr);
+
+ if (m_owns_window) {
+ m_com_init = {COINIT_APARTMENTTHREADED};
+ if (!m_com_init.is_initialized()) {
+ return;
+ }
+ enable_dpi_awareness();
+
+ HICON icon = (HICON)LoadImage(
+ hInstance, IDI_APPLICATION, IMAGE_ICON, GetSystemMetrics(SM_CXICON),
+ GetSystemMetrics(SM_CYICON), LR_DEFAULTCOLOR);
+
+ // Create a top-level window.
+ WNDCLASSEXW wc;
+ ZeroMemory(&wc, sizeof(WNDCLASSEX));
+ wc.cbSize = sizeof(WNDCLASSEX);
+ wc.hInstance = hInstance;
+ wc.lpszClassName = L"webview";
+ wc.hIcon = icon;
+ wc.lpfnWndProc = (WNDPROC)(+[](HWND hwnd, UINT msg, WPARAM wp,
+ LPARAM lp) -> LRESULT {
+ win32_edge_engine *w{};
+
+ if (msg == WM_NCCREATE) {
+ auto *lpcs{reinterpret_cast(lp)};
+ w = static_cast(lpcs->lpCreateParams);
+ w->m_window = hwnd;
+ SetWindowLongPtrW(hwnd, GWLP_USERDATA, reinterpret_cast(w));
+ enable_non_client_dpi_scaling_if_needed(hwnd);
+ apply_window_theme(hwnd);
+ } else {
+ w = reinterpret_cast(
+ GetWindowLongPtrW(hwnd, GWLP_USERDATA));
+ }
+
+ if (!w) {
+ return DefWindowProcW(hwnd, msg, wp, lp);
+ }
+
+ switch (msg) {
+ case WM_SIZE:
+ w->resize_widget();
+ break;
+ case WM_CLOSE:
+ DestroyWindow(hwnd);
+ break;
+ case WM_DESTROY:
+ w->m_window = nullptr;
+ SetWindowLongPtrW(hwnd, GWLP_USERDATA, 0);
+ w->on_window_destroyed();
+ break;
+ case WM_GETMINMAXINFO: {
+ auto lpmmi = (LPMINMAXINFO)lp;
+ if (w->m_maxsz.x > 0 && w->m_maxsz.y > 0) {
+ lpmmi->ptMaxSize = w->m_maxsz;
+ lpmmi->ptMaxTrackSize = w->m_maxsz;
+ }
+ if (w->m_minsz.x > 0 && w->m_minsz.y > 0) {
+ lpmmi->ptMinTrackSize = w->m_minsz;
+ }
+ } break;
+ case 0x02E4 /*WM_GETDPISCALEDSIZE*/: {
+ auto dpi = static_cast(wp);
+ auto *size{reinterpret_cast(lp)};
+ *size = w->get_scaled_size(w->m_dpi, dpi);
+ return TRUE;
+ }
+ case 0x02E0 /*WM_DPICHANGED*/: {
+ // Windows 10: The size we get here is exactly what we supplied to WM_GETDPISCALEDSIZE.
+ // Windows 11: The size we get here is NOT what we supplied to WM_GETDPISCALEDSIZE.
+ // Due to this difference, don't use the suggested bounds.
+ auto dpi = static_cast(HIWORD(wp));
+ w->on_dpi_changed(dpi);
+ break;
+ }
+ case WM_SETTINGCHANGE: {
+ auto *area = reinterpret_cast(lp);
+ if (area) {
+ w->on_system_setting_change(area);
+ }
+ break;
+ }
+ case WM_ACTIVATE:
+ if (LOWORD(wp) != WA_INACTIVE) {
+ w->focus_webview();
+ }
+ break;
+ default:
+ return DefWindowProcW(hwnd, msg, wp, lp);
+ }
+ return 0;
+ });
+ RegisterClassExW(&wc);
+
+ CreateWindowW(L"webview", L"", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,
+ CW_USEDEFAULT, 0, 0, nullptr, nullptr, hInstance, this);
+ if (m_window == nullptr) {
+ return;
+ }
+ on_window_created();
+
+ m_dpi = get_window_dpi(m_window);
+ constexpr const int initial_width = 640;
+ constexpr const int initial_height = 480;
+ set_size(initial_width, initial_height, WEBVIEW_HINT_NONE);
+ } else {
+ m_window = IsWindow(static_cast(window))
+ ? static_cast(window)
+ : *(static_cast(window));
+ m_dpi = get_window_dpi(m_window);
+ }
+
+ // Create a window that WebView2 will be embedded into.
+ WNDCLASSEXW widget_wc{};
+ widget_wc.cbSize = sizeof(WNDCLASSEX);
+ widget_wc.hInstance = hInstance;
+ widget_wc.lpszClassName = L"webview_widget";
+ widget_wc.lpfnWndProc = (WNDPROC)(+[](HWND hwnd, UINT msg, WPARAM wp,
+ LPARAM lp) -> LRESULT {
+ win32_edge_engine *w{};
+
+ if (msg == WM_NCCREATE) {
+ auto *lpcs{reinterpret_cast(lp)};
+ w = static_cast(lpcs->lpCreateParams);
+ w->m_widget = hwnd;
+ SetWindowLongPtrW(hwnd, GWLP_USERDATA, reinterpret_cast(w));
+ } else {
+ w = reinterpret_cast(
+ GetWindowLongPtrW(hwnd, GWLP_USERDATA));
+ }
+
+ if (!w) {
+ return DefWindowProcW(hwnd, msg, wp, lp);
+ }
+
+ switch (msg) {
+ case WM_SIZE:
+ w->resize_webview();
+ break;
+ case WM_DESTROY:
+ w->m_widget = nullptr;
+ SetWindowLongPtrW(hwnd, GWLP_USERDATA, 0);
+ break;
+ default:
+ return DefWindowProcW(hwnd, msg, wp, lp);
+ }
+ return 0;
+ });
+ RegisterClassExW(&widget_wc);
+ CreateWindowExW(WS_EX_CONTROLPARENT, L"webview_widget", nullptr, WS_CHILD,
+ 0, 0, 0, 0, m_window, nullptr, hInstance, this);
+
+ // Create a message-only window for internal messaging.
+ WNDCLASSEXW message_wc{};
+ message_wc.cbSize = sizeof(WNDCLASSEX);
+ message_wc.hInstance = hInstance;
+ message_wc.lpszClassName = L"webview_message";
+ message_wc.lpfnWndProc = (WNDPROC)(+[](HWND hwnd, UINT msg, WPARAM wp,
+ LPARAM lp) -> LRESULT {
+ win32_edge_engine *w{};
+
+ if (msg == WM_NCCREATE) {
+ auto *lpcs{reinterpret_cast(lp)};
+ w = static_cast(lpcs->lpCreateParams);
+ w->m_message_window = hwnd;
+ SetWindowLongPtrW(hwnd, GWLP_USERDATA, reinterpret_cast(w));
+ } else {
+ w = reinterpret_cast(
+ GetWindowLongPtrW(hwnd, GWLP_USERDATA));
+ }
+
+ if (!w) {
+ return DefWindowProcW(hwnd, msg, wp, lp);
+ }
+
+ switch (msg) {
+ case WM_APP:
+ if (auto f = (dispatch_fn_t *)(lp)) {
+ (*f)();
+ delete f;
+ }
+ break;
+ case WM_DESTROY:
+ w->m_message_window = nullptr;
+ SetWindowLongPtrW(hwnd, GWLP_USERDATA, 0);
+ break;
+ default:
+ return DefWindowProcW(hwnd, msg, wp, lp);
+ }
+ return 0;
+ });
+ RegisterClassExW(&message_wc);
+ CreateWindowExW(0, L"webview_message", nullptr, 0, 0, 0, 0, 0, HWND_MESSAGE,
+ nullptr, hInstance, this);
+
+ if (m_owns_window) {
+ ShowWindow(m_window, SW_SHOW);
+ UpdateWindow(m_window);
+ SetFocus(m_window);
+ }
+
+ auto cb =
+ std::bind(&win32_edge_engine::on_message, this, std::placeholders::_1);
+
+ embed(m_widget, debug, cb);
+ }
+
+ virtual ~win32_edge_engine() {
+ if (m_com_handler) {
+ m_com_handler->Release();
+ m_com_handler = nullptr;
+ }
+ if (m_webview) {
+ m_webview->Release();
+ m_webview = nullptr;
+ }
+ if (m_controller) {
+ m_controller->Release();
+ m_controller = nullptr;
+ }
+ // Replace wndproc to avoid callbacks and other bad things during
+ // destruction.
+ auto wndproc = reinterpret_cast(
+ +[](HWND hwnd, UINT msg, WPARAM wp, LPARAM lp) -> LRESULT {
+ return DefWindowProcW(hwnd, msg, wp, lp);
+ });
+ if (m_widget) {
+ SetWindowLongPtrW(m_widget, GWLP_WNDPROC, wndproc);
+ }
+ if (m_window && m_owns_window) {
+ SetWindowLongPtrW(m_window, GWLP_WNDPROC, wndproc);
+ }
+ if (m_widget) {
+ DestroyWindow(m_widget);
+ m_widget = nullptr;
+ }
+ if (m_window) {
+ if (m_owns_window) {
+ DestroyWindow(m_window);
+ on_window_destroyed(true);
+ }
+ m_window = nullptr;
+ }
+ if (m_owns_window) {
+ // Not strictly needed for windows to close immediately but aligns
+ // behavior across backends.
+ deplete_run_loop_event_queue();
+ }
+ // We need the message window in order to deplete the event queue.
+ if (m_message_window) {
+ SetWindowLongPtrW(m_message_window, GWLP_WNDPROC, wndproc);
+ DestroyWindow(m_message_window);
+ m_message_window = nullptr;
+ }
+ }
+
+ win32_edge_engine(const win32_edge_engine &other) = delete;
+ win32_edge_engine &operator=(const win32_edge_engine &other) = delete;
+ win32_edge_engine(win32_edge_engine &&other) = delete;
+ win32_edge_engine &operator=(win32_edge_engine &&other) = delete;
+
+ void run_impl() override {
+ MSG msg;
+ while (GetMessageW(&msg, nullptr, 0, 0) > 0) {
+ TranslateMessage(&msg);
+ DispatchMessageW(&msg);
+ }
+ }
+ void *window_impl() override { return (void *)m_window; }
+ void *widget_impl() override { return (void *)m_widget; }
+ void *browser_controller_impl() override { return (void *)m_controller; }
+ void terminate_impl() override { PostQuitMessage(0); }
+ void dispatch_impl(dispatch_fn_t f) override {
+ PostMessageW(m_message_window, WM_APP, 0, (LPARAM) new dispatch_fn_t(f));
+ }
+
+ void set_title_impl(const std::string &title) override {
+ SetWindowTextW(m_window, widen_string(title).c_str());
+ }
+
+ void set_size_impl(int width, int height, webview_hint_t hints) override {
+ auto style = GetWindowLong(m_window, GWL_STYLE);
+ if (hints == WEBVIEW_HINT_FIXED) {
+ style &= ~(WS_THICKFRAME | WS_MAXIMIZEBOX);
+ } else {
+ style |= (WS_THICKFRAME | WS_MAXIMIZEBOX);
+ }
+ SetWindowLong(m_window, GWL_STYLE, style);
+
+ if (hints == WEBVIEW_HINT_MAX) {
+ m_maxsz.x = width;
+ m_maxsz.y = height;
+ } else if (hints == WEBVIEW_HINT_MIN) {
+ m_minsz.x = width;
+ m_minsz.y = height;
+ } else {
+ auto dpi = get_window_dpi(m_window);
+ m_dpi = dpi;
+ auto scaled_size =
+ scale_size(width, height, get_default_window_dpi(), dpi);
+ auto frame_size =
+ make_window_frame_size(m_window, scaled_size.cx, scaled_size.cy, dpi);
+ SetWindowPos(m_window, nullptr, 0, 0, frame_size.cx, frame_size.cy,
+ SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOMOVE |
+ SWP_FRAMECHANGED);
+ }
+ }
+
+ void navigate_impl(const std::string &url) override {
+ auto wurl = widen_string(url);
+ m_webview->Navigate(wurl.c_str());
+ }
+
+ void init_impl(const std::string &js) override {
+ auto wjs = widen_string(js);
+ m_webview->AddScriptToExecuteOnDocumentCreated(wjs.c_str(), nullptr);
+ }
+
+ void eval_impl(const std::string &js) override {
+ auto wjs = widen_string(js);
+ m_webview->ExecuteScript(wjs.c_str(), nullptr);
+ }
+
+ void set_html_impl(const std::string &html) override {
+ m_webview->NavigateToString(widen_string(html).c_str());
+ }
+
+private:
+ bool embed(HWND wnd, bool debug, msg_cb_t cb) {
+ std::atomic_flag flag = ATOMIC_FLAG_INIT;
+ flag.test_and_set();
+
+ wchar_t currentExePath[MAX_PATH];
+ GetModuleFileNameW(nullptr, currentExePath, MAX_PATH);
+ wchar_t *currentExeName = PathFindFileNameW(currentExePath);
+
+ wchar_t dataPath[MAX_PATH];
+ if (!SUCCEEDED(
+ SHGetFolderPathW(nullptr, CSIDL_APPDATA, nullptr, 0, dataPath))) {
+ return false;
+ }
+ wchar_t userDataFolder[MAX_PATH];
+ PathCombineW(userDataFolder, dataPath, currentExeName);
+
+ m_com_handler = new webview2_com_handler(
+ wnd, cb,
+ [&](ICoreWebView2Controller *controller, ICoreWebView2 *webview) {
+ if (!controller || !webview) {
+ flag.clear();
+ return;
+ }
+ controller->AddRef();
+ webview->AddRef();
+ m_controller = controller;
+ m_webview = webview;
+ flag.clear();
+ });
+
+ m_com_handler->set_attempt_handler([&] {
+ return m_webview2_loader.create_environment_with_options(
+ nullptr, userDataFolder, nullptr, m_com_handler);
+ });
+ m_com_handler->try_create_environment();
+
+ // Pump the message loop until WebView2 has finished initialization.
+ bool got_quit_msg = false;
+ MSG msg;
+ while (flag.test_and_set() && GetMessageW(&msg, nullptr, 0, 0) >= 0) {
+ if (msg.message == WM_QUIT) {
+ got_quit_msg = true;
+ break;
+ }
+ TranslateMessage(&msg);
+ DispatchMessageW(&msg);
+ }
+ if (got_quit_msg) {
+ return false;
+ }
+ if (!m_controller || !m_webview) {
+ return false;
+ }
+ ICoreWebView2Settings *settings = nullptr;
+ auto res = m_webview->get_Settings(&settings);
+ if (res != S_OK) {
+ return false;
+ }
+ res = settings->put_AreDevToolsEnabled(debug ? TRUE : FALSE);
+ if (res != S_OK) {
+ return false;
+ }
+ res = settings->put_IsStatusBarEnabled(FALSE);
+ if (res != S_OK) {
+ return false;
+ }
+ init("window.external={invoke:s=>window.chrome.webview.postMessage(s)}");
+ resize_webview();
+ m_controller->put_IsVisible(TRUE);
+ ShowWindow(m_widget, SW_SHOW);
+ UpdateWindow(m_widget);
+ if (m_owns_window) {
+ focus_webview();
+ }
+ return true;
+ }
+
+ void resize_widget() {
+ if (m_widget) {
+ RECT r{};
+ if (GetClientRect(GetParent(m_widget), &r)) {
+ MoveWindow(m_widget, r.left, r.top, r.right - r.left, r.bottom - r.top,
+ TRUE);
+ }
+ }
+ }
+
+ void resize_webview() {
+ if (m_widget && m_controller) {
+ RECT bounds{};
+ if (GetClientRect(m_widget, &bounds)) {
+ m_controller->put_Bounds(bounds);
+ }
+ }
+ }
+
+ void focus_webview() {
+ if (m_controller) {
+ m_controller->MoveFocus(COREWEBVIEW2_MOVE_FOCUS_REASON_PROGRAMMATIC);
+ }
+ }
+
+ bool is_webview2_available() const noexcept {
+ LPWSTR version_info = nullptr;
+ auto res = m_webview2_loader.get_available_browser_version_string(
+ nullptr, &version_info);
+ // The result will be equal to HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
+ // if the WebView2 runtime is not installed.
+ auto ok = SUCCEEDED(res) && version_info;
+ if (version_info) {
+ CoTaskMemFree(version_info);
+ }
+ return ok;
+ }
+
+ void on_dpi_changed(int dpi) {
+ auto scaled_size = get_scaled_size(m_dpi, dpi);
+ auto frame_size =
+ make_window_frame_size(m_window, scaled_size.cx, scaled_size.cy, dpi);
+ SetWindowPos(m_window, nullptr, 0, 0, frame_size.cx, frame_size.cy,
+ SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOMOVE | SWP_FRAMECHANGED);
+ m_dpi = dpi;
+ }
+
+ SIZE get_size() const {
+ RECT bounds;
+ GetClientRect(m_window, &bounds);
+ auto width = bounds.right - bounds.left;
+ auto height = bounds.bottom - bounds.top;
+ return {width, height};
+ }
+
+ SIZE get_scaled_size(int from_dpi, int to_dpi) const {
+ auto size = get_size();
+ return scale_size(size.cx, size.cy, from_dpi, to_dpi);
+ }
+
+ void on_system_setting_change(const wchar_t *area) {
+ // Detect light/dark mode change in system.
+ if (lstrcmpW(area, L"ImmersiveColorSet") == 0) {
+ apply_window_theme(m_window);
+ }
+ }
+
+ // Blocks while depleting the run loop of events.
+ void deplete_run_loop_event_queue() {
+ bool done{};
+ dispatch([&] { done = true; });
+ while (!done) {
+ MSG msg;
+ if (GetMessageW(&msg, nullptr, 0, 0) > 0) {
+ TranslateMessage(&msg);
+ DispatchMessageW(&msg);
+ }
+ }
+ }
+
+ // The app is expected to call CoInitializeEx before
+ // CreateCoreWebView2EnvironmentWithOptions.
+ // Source: https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/webview2-idl#createcorewebview2environmentwithoptions
+ com_init_wrapper m_com_init;
+ HWND m_window = nullptr;
+ HWND m_widget = nullptr;
+ HWND m_message_window = nullptr;
+ POINT m_minsz = POINT{0, 0};
+ POINT m_maxsz = POINT{0, 0};
+ DWORD m_main_thread = GetCurrentThreadId();
+ ICoreWebView2 *m_webview = nullptr;
+ ICoreWebView2Controller *m_controller = nullptr;
+ webview2_com_handler *m_com_handler = nullptr;
+ mswebview2::loader m_webview2_loader;
+ int m_dpi{};
+ bool m_owns_window{};
+};
+
+} // namespace detail
+
+using browser_engine = detail::win32_edge_engine;
+
+} // namespace webview
+
+#endif /* WEBVIEW_GTK, WEBVIEW_COCOA, WEBVIEW_EDGE */
+
+namespace webview {
+using webview = browser_engine;
+} // namespace webview
+
+WEBVIEW_API webview_t webview_create(int debug, void *wnd) {
+ auto w = new webview::webview(debug, wnd);
+ if (!w->window()) {
+ delete w;
+ return nullptr;
+ }
+ return w;
+}
+
+WEBVIEW_API void webview_destroy(webview_t w) {
+ delete static_cast(w);
+}
+
+WEBVIEW_API void webview_run(webview_t w) {
+ static_cast(w)->run();
+}
+
+WEBVIEW_API void webview_terminate(webview_t w) {
+ static_cast(w)->terminate();
+}
+
+WEBVIEW_API void webview_dispatch(webview_t w, void (*fn)(webview_t, void *),
+ void *arg) {
+ static_cast(w)->dispatch([=]() { fn(w, arg); });
+}
+
+WEBVIEW_API void *webview_get_window(webview_t w) {
+ return static_cast(w)->window();
+}
+
+WEBVIEW_API void *webview_get_native_handle(webview_t w,
+ webview_native_handle_kind_t kind) {
+ auto *w_ = static_cast(w);
+ switch (kind) {
+ case WEBVIEW_NATIVE_HANDLE_KIND_UI_WINDOW:
+ return w_->window();
+ case WEBVIEW_NATIVE_HANDLE_KIND_UI_WIDGET:
+ return w_->widget();
+ case WEBVIEW_NATIVE_HANDLE_KIND_BROWSER_CONTROLLER:
+ return w_->browser_controller();
+ default:
+ return nullptr;
+ }
+}
+
+WEBVIEW_API void webview_set_title(webview_t w, const char *title) {
+ static_cast(w)->set_title(title);
+}
+
+WEBVIEW_API void webview_set_size(webview_t w, int width, int height,
+ webview_hint_t hints) {
+ static_cast(w)->set_size(width, height, hints);
+}
+
+WEBVIEW_API void webview_navigate(webview_t w, const char *url) {
+ static_cast(w)->navigate(url);
+}
+
+WEBVIEW_API void webview_set_html(webview_t w, const char *html) {
+ static_cast(w)->set_html(html);
+}
+
+WEBVIEW_API void webview_init(webview_t w, const char *js) {
+ static_cast(w)->init(js);
+}
+
+WEBVIEW_API void webview_eval(webview_t w, const char *js) {
+ static_cast(w)->eval(js);
+}
+
+WEBVIEW_API void webview_bind(webview_t w, const char *name,
+ void (*fn)(const char *seq, const char *req,
+ void *arg),
+ void *arg) {
+ static_cast(w)->bind(
+ name,
+ [=](const std::string &seq, const std::string &req, void *arg) {
+ fn(seq.c_str(), req.c_str(), arg);
+ },
+ arg);
+}
+
+WEBVIEW_API void webview_unbind(webview_t w, const char *name) {
+ static_cast(w)->unbind(name);
+}
+
+WEBVIEW_API void webview_return(webview_t w, const char *seq, int status,
+ const char *result) {
+ static_cast(w)->resolve(seq, status, result);
+}
+
+WEBVIEW_API const webview_version_info_t *webview_version(void) {
+ return &webview::detail::library_version_info;
+}
+
+#endif /* WEBVIEW_HEADER */
+#endif /* __cplusplus */
+#endif /* WEBVIEW_H */
diff --git a/webkit-4.1/libs/webview/version.txt b/webkit-4.1/libs/webview/version.txt
new file mode 100644
index 0000000..88d62d1
--- /dev/null
+++ b/webkit-4.1/libs/webview/version.txt
@@ -0,0 +1 @@
+fb6b17d826041411e6346cd9a785a5ceba7987c4
diff --git a/webkit-4.1/webview.cc b/webkit-4.1/webview.cc
new file mode 100644
index 0000000..0d861df
--- /dev/null
+++ b/webkit-4.1/webview.cc
@@ -0,0 +1 @@
+#include "webview.h"
diff --git a/webkit-4.1/webview.go b/webkit-4.1/webview.go
new file mode 100644
index 0000000..5e013c2
--- /dev/null
+++ b/webkit-4.1/webview.go
@@ -0,0 +1,327 @@
+package webview
+
+/*
+#cgo CFLAGS: -I${SRCDIR}/libs/webview/include
+#cgo CXXFLAGS: -I${SRCDIR}/libs/webview/include -DWEBVIEW_STATIC
+
+#cgo linux openbsd freebsd netbsd CXXFLAGS: -DWEBVIEW_GTK -std=c++11
+#cgo linux openbsd freebsd netbsd LDFLAGS: -ldl
+#cgo linux openbsd freebsd netbsd pkg-config: gtk+-3.0 webkit2gtk-4.1
+
+#cgo darwin CXXFLAGS: -DWEBVIEW_COCOA -std=c++11
+#cgo darwin LDFLAGS: -framework WebKit -ldl
+
+#cgo windows CXXFLAGS: -DWEBVIEW_EDGE -std=c++14 -I${SRCDIR}/libs/mswebview2/include
+#cgo windows LDFLAGS: -static -ladvapi32 -lole32 -lshell32 -lshlwapi -luser32 -lversion
+
+#include "webview.h"
+
+#include
+#include