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 = ` +
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 + +void CgoWebViewDispatch(webview_t w, uintptr_t arg); +void CgoWebViewBind(webview_t w, const char *name, uintptr_t index); +void CgoWebViewUnbind(webview_t w, const char *name); +*/ +import "C" +import ( + "encoding/json" + "errors" + "reflect" + "runtime" + "sync" + "unsafe" +) + +func init() { + // Ensure that main.main is called from the main thread + runtime.LockOSThread() +} + +// Hints are used to configure window sizing and resizing +type Hint int + +const ( + // Width and height are default size + HintNone = C.WEBVIEW_HINT_NONE + + // Window size can not be changed by a user + HintFixed = C.WEBVIEW_HINT_FIXED + + // Width and height are minimum bounds + HintMin = C.WEBVIEW_HINT_MIN + + // Width and height are maximum bounds + HintMax = C.WEBVIEW_HINT_MAX +) + +type WebView interface { + + // Run runs the main loop until it's terminated. After this function exits - + // you must destroy the webview. + Run() + + // Terminate stops the main loop. It is safe to call this function from + // a background thread. + Terminate() + + // Dispatch posts a function to be executed on the main thread. You normally + // do not need to call this function, unless you want to tweak the native + // window. + Dispatch(f func()) + + // Destroy destroys a webview and closes the native window. + Destroy() + + // Window returns a native window handle pointer. When using GTK backend the + // pointer is GtkWindow pointer, when using Cocoa backend the pointer is + // NSWindow pointer, when using Win32 backend the pointer is HWND pointer. + Window() unsafe.Pointer + + // SetTitle updates the title of the native window. Must be called from the UI + // thread. + SetTitle(title string) + + // SetSize updates native window size. See Hint constants. + SetSize(w int, h int, hint Hint) + + // Navigate navigates webview to the given URL. URL may be a properly encoded data. + // URI. Examples: + // w.Navigate("https://github.com/webview/webview") + // w.Navigate("data:text/html,%3Ch1%3EHello%3C%2Fh1%3E") + // w.Navigate("data:text/html;base64,PGgxPkhlbGxvPC9oMT4=") + Navigate(url string) + + // SetHtml sets the webview HTML directly. + // Example: w.SetHtml(w, "

Hello

"); + SetHtml(html string) + + // Init injects JavaScript code at the initialization of the new page. Every + // time the webview will open a the new page - this initialization code will + // be executed. It is guaranteed that code is executed before window.onload. + Init(js string) + + // Eval evaluates arbitrary JavaScript code. Evaluation happens asynchronously, + // also the result of the expression is ignored. Use RPC bindings if you want + // to receive notifications about the results of the evaluation. + Eval(js string) + + // Bind binds a callback function so that it will appear under the given name + // as a global JavaScript function. Internally it uses webview_init(). + // Callback receives a request string and a user-provided argument pointer. + // Request string is a JSON array of all the arguments passed to the + // JavaScript function. + // + // f must be a function + // f must return either value and error or just error + Bind(name string, f interface{}) error + + // Removes a callback that was previously set by Bind. + Unbind(name string) error +} + +type webview struct { + w C.webview_t +} + +var ( + m sync.Mutex + index uintptr + dispatch = map[uintptr]func(){} + bindings = map[uintptr]func(id, req string) (interface{}, error){} +) + +func boolToInt(b bool) C.int { + if b { + return 1 + } + return 0 +} + +// New calls NewWindow to create a new window and a new webview instance. If debug +// is non-zero - developer tools will be enabled (if the platform supports them). +func New(debug bool) WebView { return NewWindow(debug, nil) } + +// NewWindow creates a new webview instance. If debug is non-zero - developer +// tools will be enabled (if the platform supports them). Window parameter can be +// a pointer to the native window handle. If it's non-null - then child WebView is +// embedded into the given parent window. Otherwise a new window is created. +// Depending on the platform, a GtkWindow, NSWindow or HWND pointer can be passed +// here. +func NewWindow(debug bool, window unsafe.Pointer) WebView { + w := &webview{} + w.w = C.webview_create(boolToInt(debug), window) + return w +} + +func (w *webview) Destroy() { + C.webview_destroy(w.w) +} + +func (w *webview) Run() { + C.webview_run(w.w) +} + +func (w *webview) Terminate() { + C.webview_terminate(w.w) +} + +func (w *webview) Window() unsafe.Pointer { + return C.webview_get_window(w.w) +} + +func (w *webview) Navigate(url string) { + s := C.CString(url) + defer C.free(unsafe.Pointer(s)) + C.webview_navigate(w.w, s) +} + +func (w *webview) SetHtml(html string) { + s := C.CString(html) + defer C.free(unsafe.Pointer(s)) + C.webview_set_html(w.w, s) +} + +func (w *webview) SetTitle(title string) { + s := C.CString(title) + defer C.free(unsafe.Pointer(s)) + C.webview_set_title(w.w, s) +} + +func (w *webview) SetSize(width int, height int, hint Hint) { + C.webview_set_size(w.w, C.int(width), C.int(height), C.webview_hint_t(hint)) +} + +func (w *webview) Init(js string) { + s := C.CString(js) + defer C.free(unsafe.Pointer(s)) + C.webview_init(w.w, s) +} + +func (w *webview) Eval(js string) { + s := C.CString(js) + defer C.free(unsafe.Pointer(s)) + C.webview_eval(w.w, s) +} + +func (w *webview) Dispatch(f func()) { + m.Lock() + for ; dispatch[index] != nil; index++ { + } + dispatch[index] = f + m.Unlock() + C.CgoWebViewDispatch(w.w, C.uintptr_t(index)) +} + +//export _webviewDispatchGoCallback +func _webviewDispatchGoCallback(index unsafe.Pointer) { + m.Lock() + f := dispatch[uintptr(index)] + delete(dispatch, uintptr(index)) + m.Unlock() + f() +} + +//export _webviewBindingGoCallback +func _webviewBindingGoCallback(w C.webview_t, id *C.char, req *C.char, index uintptr) { + m.Lock() + f := bindings[uintptr(index)] + m.Unlock() + jsString := func(v interface{}) string { b, _ := json.Marshal(v); return string(b) } + status, result := 0, "" + if res, err := f(C.GoString(id), C.GoString(req)); err != nil { + status = -1 + result = jsString(err.Error()) + } else if b, err := json.Marshal(res); err != nil { + status = -1 + result = jsString(err.Error()) + } else { + status = 0 + result = string(b) + } + s := C.CString(result) + defer C.free(unsafe.Pointer(s)) + C.webview_return(w, id, C.int(status), s) +} + +func (w *webview) Bind(name string, f interface{}) error { + v := reflect.ValueOf(f) + // f must be a function + if v.Kind() != reflect.Func { + return errors.New("only functions can be bound") + } + // f must return either value and error or just error + if n := v.Type().NumOut(); n > 2 { + return errors.New("function may only return a value or a value+error") + } + + binding := func(id, req string) (interface{}, error) { + raw := []json.RawMessage{} + if err := json.Unmarshal([]byte(req), &raw); err != nil { + return nil, err + } + + isVariadic := v.Type().IsVariadic() + numIn := v.Type().NumIn() + if (isVariadic && len(raw) < numIn-1) || (!isVariadic && len(raw) != numIn) { + return nil, errors.New("function arguments mismatch") + } + args := []reflect.Value{} + for i := range raw { + var arg reflect.Value + if isVariadic && i >= numIn-1 { + arg = reflect.New(v.Type().In(numIn - 1).Elem()) + } else { + arg = reflect.New(v.Type().In(i)) + } + if err := json.Unmarshal(raw[i], arg.Interface()); err != nil { + return nil, err + } + args = append(args, arg.Elem()) + } + errorType := reflect.TypeOf((*error)(nil)).Elem() + res := v.Call(args) + switch len(res) { + case 0: + // No results from the function, just return nil + return nil, nil + case 1: + // One result may be a value, or an error + if res[0].Type().Implements(errorType) { + if res[0].Interface() != nil { + return nil, res[0].Interface().(error) + } + return nil, nil + } + return res[0].Interface(), nil + case 2: + // Two results: first one is value, second is error + if !res[1].Type().Implements(errorType) { + return nil, errors.New("second return value must be an error") + } + if res[1].Interface() == nil { + return res[0].Interface(), nil + } + return res[0].Interface(), res[1].Interface().(error) + default: + return nil, errors.New("unexpected number of return values") + } + } + + m.Lock() + for ; bindings[index] != nil; index++ { + } + bindings[index] = binding + m.Unlock() + cname := C.CString(name) + defer C.free(unsafe.Pointer(cname)) + C.CgoWebViewBind(w.w, cname, C.uintptr_t(index)) + return nil +} + +func (w *webview) Unbind(name string) error { + cname := C.CString(name) + defer C.free(unsafe.Pointer(cname)) + C.CgoWebViewUnbind(w.w, cname) + return nil +} diff --git a/webkit-4.1/webview_test.go b/webkit-4.1/webview_test.go new file mode 100644 index 0000000..49f24d0 --- /dev/null +++ b/webkit-4.1/webview_test.go @@ -0,0 +1,50 @@ +package webview + +import ( + "flag" + "log" + "os" + "testing" +) + +func Example() { + w := New(true) + defer w.Destroy() + w.SetTitle("Hello") + w.Bind("noop", func() string { + log.Println("hello") + return "hello" + }) + w.Bind("add", func(a, b int) int { + return a + b + }) + w.Bind("quit", func() { + w.Terminate() + }) + w.SetHtml(` + + hello + + + )`) + w.Run() +} + +func TestMain(m *testing.M) { + flag.Parse() + if testing.Verbose() { + Example() + } + os.Exit(m.Run()) +}