// Disable All Warnings
#ifdef _MSC_VER
#pragma warning(push, 0)
#pragma warning(disable: 4996)
#elif defined(__clang__)
#pragma clang system_header
#elif defined(__GNUC__)
#pragma GCC system_header
#endif

/* 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 <rpcndr.h> 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 <rpcndr.h>
#endif /* __RPCNDR_H_VERSION__ */


#ifndef __webview2_h__
#define __webview2_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

#ifndef DECLSPEC_XFGVIRT
#if defined(_CONTROL_FLOW_GUARD_XFG)
#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))
#else
#define DECLSPEC_XFGVIRT(base, func)
#endif
#endif

/* Forward Declarations */ 

#ifndef __ICoreWebView2AcceleratorKeyPressedEventArgs_FWD_DEFINED__
#define __ICoreWebView2AcceleratorKeyPressedEventArgs_FWD_DEFINED__
typedef interface ICoreWebView2AcceleratorKeyPressedEventArgs ICoreWebView2AcceleratorKeyPressedEventArgs;

#endif 	/* __ICoreWebView2AcceleratorKeyPressedEventArgs_FWD_DEFINED__ */


#ifndef __ICoreWebView2AcceleratorKeyPressedEventArgs2_FWD_DEFINED__
#define __ICoreWebView2AcceleratorKeyPressedEventArgs2_FWD_DEFINED__
typedef interface ICoreWebView2AcceleratorKeyPressedEventArgs2 ICoreWebView2AcceleratorKeyPressedEventArgs2;

#endif 	/* __ICoreWebView2AcceleratorKeyPressedEventArgs2_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 __ICoreWebView2_11_FWD_DEFINED__
#define __ICoreWebView2_11_FWD_DEFINED__
typedef interface ICoreWebView2_11 ICoreWebView2_11;

#endif 	/* __ICoreWebView2_11_FWD_DEFINED__ */


#ifndef __ICoreWebView2_12_FWD_DEFINED__
#define __ICoreWebView2_12_FWD_DEFINED__
typedef interface ICoreWebView2_12 ICoreWebView2_12;

#endif 	/* __ICoreWebView2_12_FWD_DEFINED__ */


#ifndef __ICoreWebView2_13_FWD_DEFINED__
#define __ICoreWebView2_13_FWD_DEFINED__
typedef interface ICoreWebView2_13 ICoreWebView2_13;

#endif 	/* __ICoreWebView2_13_FWD_DEFINED__ */


#ifndef __ICoreWebView2_14_FWD_DEFINED__
#define __ICoreWebView2_14_FWD_DEFINED__
typedef interface ICoreWebView2_14 ICoreWebView2_14;

#endif 	/* __ICoreWebView2_14_FWD_DEFINED__ */


#ifndef __ICoreWebView2_15_FWD_DEFINED__
#define __ICoreWebView2_15_FWD_DEFINED__
typedef interface ICoreWebView2_15 ICoreWebView2_15;

#endif 	/* __ICoreWebView2_15_FWD_DEFINED__ */


#ifndef __ICoreWebView2_16_FWD_DEFINED__
#define __ICoreWebView2_16_FWD_DEFINED__
typedef interface ICoreWebView2_16 ICoreWebView2_16;

#endif 	/* __ICoreWebView2_16_FWD_DEFINED__ */


#ifndef __ICoreWebView2_17_FWD_DEFINED__
#define __ICoreWebView2_17_FWD_DEFINED__
typedef interface ICoreWebView2_17 ICoreWebView2_17;

#endif 	/* __ICoreWebView2_17_FWD_DEFINED__ */


#ifndef __ICoreWebView2_18_FWD_DEFINED__
#define __ICoreWebView2_18_FWD_DEFINED__
typedef interface ICoreWebView2_18 ICoreWebView2_18;

#endif 	/* __ICoreWebView2_18_FWD_DEFINED__ */


#ifndef __ICoreWebView2_19_FWD_DEFINED__
#define __ICoreWebView2_19_FWD_DEFINED__
typedef interface ICoreWebView2_19 ICoreWebView2_19;

#endif 	/* __ICoreWebView2_19_FWD_DEFINED__ */


#ifndef __ICoreWebView2_20_FWD_DEFINED__
#define __ICoreWebView2_20_FWD_DEFINED__
typedef interface ICoreWebView2_20 ICoreWebView2_20;

#endif 	/* __ICoreWebView2_20_FWD_DEFINED__ */


#ifndef __ICoreWebView2_21_FWD_DEFINED__
#define __ICoreWebView2_21_FWD_DEFINED__
typedef interface ICoreWebView2_21 ICoreWebView2_21;

#endif 	/* __ICoreWebView2_21_FWD_DEFINED__ */


#ifndef __ICoreWebView2_22_FWD_DEFINED__
#define __ICoreWebView2_22_FWD_DEFINED__
typedef interface ICoreWebView2_22 ICoreWebView2_22;

#endif 	/* __ICoreWebView2_22_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 __ICoreWebView2CompositionController3_FWD_DEFINED__
#define __ICoreWebView2CompositionController3_FWD_DEFINED__
typedef interface ICoreWebView2CompositionController3 ICoreWebView2CompositionController3;

#endif 	/* __ICoreWebView2CompositionController3_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 __ICoreWebView2Controller4_FWD_DEFINED__
#define __ICoreWebView2Controller4_FWD_DEFINED__
typedef interface ICoreWebView2Controller4 ICoreWebView2Controller4;

#endif 	/* __ICoreWebView2Controller4_FWD_DEFINED__ */


#ifndef __ICoreWebView2ControllerOptions_FWD_DEFINED__
#define __ICoreWebView2ControllerOptions_FWD_DEFINED__
typedef interface ICoreWebView2ControllerOptions ICoreWebView2ControllerOptions;

#endif 	/* __ICoreWebView2ControllerOptions_FWD_DEFINED__ */


#ifndef __ICoreWebView2ControllerOptions2_FWD_DEFINED__
#define __ICoreWebView2ControllerOptions2_FWD_DEFINED__
typedef interface ICoreWebView2ControllerOptions2 ICoreWebView2ControllerOptions2;

#endif 	/* __ICoreWebView2ControllerOptions2_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 __ICoreWebView2ContextMenuRequestedEventArgs_FWD_DEFINED__
#define __ICoreWebView2ContextMenuRequestedEventArgs_FWD_DEFINED__
typedef interface ICoreWebView2ContextMenuRequestedEventArgs ICoreWebView2ContextMenuRequestedEventArgs;

#endif 	/* __ICoreWebView2ContextMenuRequestedEventArgs_FWD_DEFINED__ */


#ifndef __ICoreWebView2ContextMenuRequestedEventHandler_FWD_DEFINED__
#define __ICoreWebView2ContextMenuRequestedEventHandler_FWD_DEFINED__
typedef interface ICoreWebView2ContextMenuRequestedEventHandler ICoreWebView2ContextMenuRequestedEventHandler;

#endif 	/* __ICoreWebView2ContextMenuRequestedEventHandler_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 __ICoreWebView2Certificate_FWD_DEFINED__
#define __ICoreWebView2Certificate_FWD_DEFINED__
typedef interface ICoreWebView2Certificate ICoreWebView2Certificate;

#endif 	/* __ICoreWebView2Certificate_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 __ICoreWebView2ClearBrowsingDataCompletedHandler_FWD_DEFINED__
#define __ICoreWebView2ClearBrowsingDataCompletedHandler_FWD_DEFINED__
typedef interface ICoreWebView2ClearBrowsingDataCompletedHandler ICoreWebView2ClearBrowsingDataCompletedHandler;

#endif 	/* __ICoreWebView2ClearBrowsingDataCompletedHandler_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 __ICoreWebView2ContextMenuItem_FWD_DEFINED__
#define __ICoreWebView2ContextMenuItem_FWD_DEFINED__
typedef interface ICoreWebView2ContextMenuItem ICoreWebView2ContextMenuItem;

#endif 	/* __ICoreWebView2ContextMenuItem_FWD_DEFINED__ */


#ifndef __ICoreWebView2ContextMenuItemCollection_FWD_DEFINED__
#define __ICoreWebView2ContextMenuItemCollection_FWD_DEFINED__
typedef interface ICoreWebView2ContextMenuItemCollection ICoreWebView2ContextMenuItemCollection;

#endif 	/* __ICoreWebView2ContextMenuItemCollection_FWD_DEFINED__ */


#ifndef __ICoreWebView2ContextMenuTarget_FWD_DEFINED__
#define __ICoreWebView2ContextMenuTarget_FWD_DEFINED__
typedef interface ICoreWebView2ContextMenuTarget ICoreWebView2ContextMenuTarget;

#endif 	/* __ICoreWebView2ContextMenuTarget_FWD_DEFINED__ */


#ifndef __ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_FWD_DEFINED__
#define __ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_FWD_DEFINED__
typedef interface ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler;

#endif 	/* __ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_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 __ICoreWebView2CustomItemSelectedEventHandler_FWD_DEFINED__
#define __ICoreWebView2CustomItemSelectedEventHandler_FWD_DEFINED__
typedef interface ICoreWebView2CustomItemSelectedEventHandler ICoreWebView2CustomItemSelectedEventHandler;

#endif 	/* __ICoreWebView2CustomItemSelectedEventHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2CustomSchemeRegistration_FWD_DEFINED__
#define __ICoreWebView2CustomSchemeRegistration_FWD_DEFINED__
typedef interface ICoreWebView2CustomSchemeRegistration ICoreWebView2CustomSchemeRegistration;

#endif 	/* __ICoreWebView2CustomSchemeRegistration_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 __ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_FWD_DEFINED__
#define __ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_FWD_DEFINED__
typedef interface ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 ICoreWebView2DevToolsProtocolEventReceivedEventArgs2;

#endif 	/* __ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_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 __ICoreWebView2Environment9_FWD_DEFINED__
#define __ICoreWebView2Environment9_FWD_DEFINED__
typedef interface ICoreWebView2Environment9 ICoreWebView2Environment9;

#endif 	/* __ICoreWebView2Environment9_FWD_DEFINED__ */


#ifndef __ICoreWebView2Environment10_FWD_DEFINED__
#define __ICoreWebView2Environment10_FWD_DEFINED__
typedef interface ICoreWebView2Environment10 ICoreWebView2Environment10;

#endif 	/* __ICoreWebView2Environment10_FWD_DEFINED__ */


#ifndef __ICoreWebView2Environment11_FWD_DEFINED__
#define __ICoreWebView2Environment11_FWD_DEFINED__
typedef interface ICoreWebView2Environment11 ICoreWebView2Environment11;

#endif 	/* __ICoreWebView2Environment11_FWD_DEFINED__ */


#ifndef __ICoreWebView2Environment12_FWD_DEFINED__
#define __ICoreWebView2Environment12_FWD_DEFINED__
typedef interface ICoreWebView2Environment12 ICoreWebView2Environment12;

#endif 	/* __ICoreWebView2Environment12_FWD_DEFINED__ */


#ifndef __ICoreWebView2Environment13_FWD_DEFINED__
#define __ICoreWebView2Environment13_FWD_DEFINED__
typedef interface ICoreWebView2Environment13 ICoreWebView2Environment13;

#endif 	/* __ICoreWebView2Environment13_FWD_DEFINED__ */


#ifndef __ICoreWebView2EnvironmentOptions_FWD_DEFINED__
#define __ICoreWebView2EnvironmentOptions_FWD_DEFINED__
typedef interface ICoreWebView2EnvironmentOptions ICoreWebView2EnvironmentOptions;

#endif 	/* __ICoreWebView2EnvironmentOptions_FWD_DEFINED__ */


#ifndef __ICoreWebView2EnvironmentOptions2_FWD_DEFINED__
#define __ICoreWebView2EnvironmentOptions2_FWD_DEFINED__
typedef interface ICoreWebView2EnvironmentOptions2 ICoreWebView2EnvironmentOptions2;

#endif 	/* __ICoreWebView2EnvironmentOptions2_FWD_DEFINED__ */


#ifndef __ICoreWebView2EnvironmentOptions3_FWD_DEFINED__
#define __ICoreWebView2EnvironmentOptions3_FWD_DEFINED__
typedef interface ICoreWebView2EnvironmentOptions3 ICoreWebView2EnvironmentOptions3;

#endif 	/* __ICoreWebView2EnvironmentOptions3_FWD_DEFINED__ */


#ifndef __ICoreWebView2EnvironmentOptions4_FWD_DEFINED__
#define __ICoreWebView2EnvironmentOptions4_FWD_DEFINED__
typedef interface ICoreWebView2EnvironmentOptions4 ICoreWebView2EnvironmentOptions4;

#endif 	/* __ICoreWebView2EnvironmentOptions4_FWD_DEFINED__ */


#ifndef __ICoreWebView2EnvironmentOptions5_FWD_DEFINED__
#define __ICoreWebView2EnvironmentOptions5_FWD_DEFINED__
typedef interface ICoreWebView2EnvironmentOptions5 ICoreWebView2EnvironmentOptions5;

#endif 	/* __ICoreWebView2EnvironmentOptions5_FWD_DEFINED__ */


#ifndef __ICoreWebView2EnvironmentOptions6_FWD_DEFINED__
#define __ICoreWebView2EnvironmentOptions6_FWD_DEFINED__
typedef interface ICoreWebView2EnvironmentOptions6 ICoreWebView2EnvironmentOptions6;

#endif 	/* __ICoreWebView2EnvironmentOptions6_FWD_DEFINED__ */


#ifndef __ICoreWebView2EnvironmentOptions7_FWD_DEFINED__
#define __ICoreWebView2EnvironmentOptions7_FWD_DEFINED__
typedef interface ICoreWebView2EnvironmentOptions7 ICoreWebView2EnvironmentOptions7;

#endif 	/* __ICoreWebView2EnvironmentOptions7_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 __ICoreWebView2GetProcessExtendedInfosCompletedHandler_FWD_DEFINED__
#define __ICoreWebView2GetProcessExtendedInfosCompletedHandler_FWD_DEFINED__
typedef interface ICoreWebView2GetProcessExtendedInfosCompletedHandler ICoreWebView2GetProcessExtendedInfosCompletedHandler;

#endif 	/* __ICoreWebView2GetProcessExtendedInfosCompletedHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2ProcessExtendedInfo_FWD_DEFINED__
#define __ICoreWebView2ProcessExtendedInfo_FWD_DEFINED__
typedef interface ICoreWebView2ProcessExtendedInfo ICoreWebView2ProcessExtendedInfo;

#endif 	/* __ICoreWebView2ProcessExtendedInfo_FWD_DEFINED__ */


#ifndef __ICoreWebView2ProcessExtendedInfoCollection_FWD_DEFINED__
#define __ICoreWebView2ProcessExtendedInfoCollection_FWD_DEFINED__
typedef interface ICoreWebView2ProcessExtendedInfoCollection ICoreWebView2ProcessExtendedInfoCollection;

#endif 	/* __ICoreWebView2ProcessExtendedInfoCollection_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 __ICoreWebView2Frame3_FWD_DEFINED__
#define __ICoreWebView2Frame3_FWD_DEFINED__
typedef interface ICoreWebView2Frame3 ICoreWebView2Frame3;

#endif 	/* __ICoreWebView2Frame3_FWD_DEFINED__ */


#ifndef __ICoreWebView2Frame4_FWD_DEFINED__
#define __ICoreWebView2Frame4_FWD_DEFINED__
typedef interface ICoreWebView2Frame4 ICoreWebView2Frame4;

#endif 	/* __ICoreWebView2Frame4_FWD_DEFINED__ */


#ifndef __ICoreWebView2Frame5_FWD_DEFINED__
#define __ICoreWebView2Frame5_FWD_DEFINED__
typedef interface ICoreWebView2Frame5 ICoreWebView2Frame5;

#endif 	/* __ICoreWebView2Frame5_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 __ICoreWebView2FramePermissionRequestedEventHandler_FWD_DEFINED__
#define __ICoreWebView2FramePermissionRequestedEventHandler_FWD_DEFINED__
typedef interface ICoreWebView2FramePermissionRequestedEventHandler ICoreWebView2FramePermissionRequestedEventHandler;

#endif 	/* __ICoreWebView2FramePermissionRequestedEventHandler_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 __ICoreWebView2FrameInfo2_FWD_DEFINED__
#define __ICoreWebView2FrameInfo2_FWD_DEFINED__
typedef interface ICoreWebView2FrameInfo2 ICoreWebView2FrameInfo2;

#endif 	/* __ICoreWebView2FrameInfo2_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 __ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_FWD_DEFINED__
#define __ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_FWD_DEFINED__
typedef interface ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler;

#endif 	/* __ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_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 __ICoreWebView2LaunchingExternalUriSchemeEventArgs_FWD_DEFINED__
#define __ICoreWebView2LaunchingExternalUriSchemeEventArgs_FWD_DEFINED__
typedef interface ICoreWebView2LaunchingExternalUriSchemeEventArgs ICoreWebView2LaunchingExternalUriSchemeEventArgs;

#endif 	/* __ICoreWebView2LaunchingExternalUriSchemeEventArgs_FWD_DEFINED__ */


#ifndef __ICoreWebView2LaunchingExternalUriSchemeEventHandler_FWD_DEFINED__
#define __ICoreWebView2LaunchingExternalUriSchemeEventHandler_FWD_DEFINED__
typedef interface ICoreWebView2LaunchingExternalUriSchemeEventHandler ICoreWebView2LaunchingExternalUriSchemeEventHandler;

#endif 	/* __ICoreWebView2LaunchingExternalUriSchemeEventHandler_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 __ICoreWebView2NavigationCompletedEventArgs2_FWD_DEFINED__
#define __ICoreWebView2NavigationCompletedEventArgs2_FWD_DEFINED__
typedef interface ICoreWebView2NavigationCompletedEventArgs2 ICoreWebView2NavigationCompletedEventArgs2;

#endif 	/* __ICoreWebView2NavigationCompletedEventArgs2_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 __ICoreWebView2NavigationStartingEventArgs3_FWD_DEFINED__
#define __ICoreWebView2NavigationStartingEventArgs3_FWD_DEFINED__
typedef interface ICoreWebView2NavigationStartingEventArgs3 ICoreWebView2NavigationStartingEventArgs3;

#endif 	/* __ICoreWebView2NavigationStartingEventArgs3_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 __ICoreWebView2NewWindowRequestedEventArgs3_FWD_DEFINED__
#define __ICoreWebView2NewWindowRequestedEventArgs3_FWD_DEFINED__
typedef interface ICoreWebView2NewWindowRequestedEventArgs3 ICoreWebView2NewWindowRequestedEventArgs3;

#endif 	/* __ICoreWebView2NewWindowRequestedEventArgs3_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 __ICoreWebView2PermissionRequestedEventArgs2_FWD_DEFINED__
#define __ICoreWebView2PermissionRequestedEventArgs2_FWD_DEFINED__
typedef interface ICoreWebView2PermissionRequestedEventArgs2 ICoreWebView2PermissionRequestedEventArgs2;

#endif 	/* __ICoreWebView2PermissionRequestedEventArgs2_FWD_DEFINED__ */


#ifndef __ICoreWebView2PermissionRequestedEventArgs3_FWD_DEFINED__
#define __ICoreWebView2PermissionRequestedEventArgs3_FWD_DEFINED__
typedef interface ICoreWebView2PermissionRequestedEventArgs3 ICoreWebView2PermissionRequestedEventArgs3;

#endif 	/* __ICoreWebView2PermissionRequestedEventArgs3_FWD_DEFINED__ */


#ifndef __ICoreWebView2PermissionRequestedEventHandler_FWD_DEFINED__
#define __ICoreWebView2PermissionRequestedEventHandler_FWD_DEFINED__
typedef interface ICoreWebView2PermissionRequestedEventHandler ICoreWebView2PermissionRequestedEventHandler;

#endif 	/* __ICoreWebView2PermissionRequestedEventHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2PermissionSettingCollectionView_FWD_DEFINED__
#define __ICoreWebView2PermissionSettingCollectionView_FWD_DEFINED__
typedef interface ICoreWebView2PermissionSettingCollectionView ICoreWebView2PermissionSettingCollectionView;

#endif 	/* __ICoreWebView2PermissionSettingCollectionView_FWD_DEFINED__ */


#ifndef __ICoreWebView2PermissionSetting_FWD_DEFINED__
#define __ICoreWebView2PermissionSetting_FWD_DEFINED__
typedef interface ICoreWebView2PermissionSetting ICoreWebView2PermissionSetting;

#endif 	/* __ICoreWebView2PermissionSetting_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 __ICoreWebView2PrintSettings2_FWD_DEFINED__
#define __ICoreWebView2PrintSettings2_FWD_DEFINED__
typedef interface ICoreWebView2PrintSettings2 ICoreWebView2PrintSettings2;

#endif 	/* __ICoreWebView2PrintSettings2_FWD_DEFINED__ */


#ifndef __ICoreWebView2PrintToPdfCompletedHandler_FWD_DEFINED__
#define __ICoreWebView2PrintToPdfCompletedHandler_FWD_DEFINED__
typedef interface ICoreWebView2PrintToPdfCompletedHandler ICoreWebView2PrintToPdfCompletedHandler;

#endif 	/* __ICoreWebView2PrintToPdfCompletedHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2PrintCompletedHandler_FWD_DEFINED__
#define __ICoreWebView2PrintCompletedHandler_FWD_DEFINED__
typedef interface ICoreWebView2PrintCompletedHandler ICoreWebView2PrintCompletedHandler;

#endif 	/* __ICoreWebView2PrintCompletedHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2PrintToPdfStreamCompletedHandler_FWD_DEFINED__
#define __ICoreWebView2PrintToPdfStreamCompletedHandler_FWD_DEFINED__
typedef interface ICoreWebView2PrintToPdfStreamCompletedHandler ICoreWebView2PrintToPdfStreamCompletedHandler;

#endif 	/* __ICoreWebView2PrintToPdfStreamCompletedHandler_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 __ICoreWebView2ProcessFailedEventArgs3_FWD_DEFINED__
#define __ICoreWebView2ProcessFailedEventArgs3_FWD_DEFINED__
typedef interface ICoreWebView2ProcessFailedEventArgs3 ICoreWebView2ProcessFailedEventArgs3;

#endif 	/* __ICoreWebView2ProcessFailedEventArgs3_FWD_DEFINED__ */


#ifndef __ICoreWebView2ProcessFailedEventHandler_FWD_DEFINED__
#define __ICoreWebView2ProcessFailedEventHandler_FWD_DEFINED__
typedef interface ICoreWebView2ProcessFailedEventHandler ICoreWebView2ProcessFailedEventHandler;

#endif 	/* __ICoreWebView2ProcessFailedEventHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2Profile_FWD_DEFINED__
#define __ICoreWebView2Profile_FWD_DEFINED__
typedef interface ICoreWebView2Profile ICoreWebView2Profile;

#endif 	/* __ICoreWebView2Profile_FWD_DEFINED__ */


#ifndef __ICoreWebView2Profile2_FWD_DEFINED__
#define __ICoreWebView2Profile2_FWD_DEFINED__
typedef interface ICoreWebView2Profile2 ICoreWebView2Profile2;

#endif 	/* __ICoreWebView2Profile2_FWD_DEFINED__ */


#ifndef __ICoreWebView2Profile3_FWD_DEFINED__
#define __ICoreWebView2Profile3_FWD_DEFINED__
typedef interface ICoreWebView2Profile3 ICoreWebView2Profile3;

#endif 	/* __ICoreWebView2Profile3_FWD_DEFINED__ */


#ifndef __ICoreWebView2Profile4_FWD_DEFINED__
#define __ICoreWebView2Profile4_FWD_DEFINED__
typedef interface ICoreWebView2Profile4 ICoreWebView2Profile4;

#endif 	/* __ICoreWebView2Profile4_FWD_DEFINED__ */


#ifndef __ICoreWebView2Profile5_FWD_DEFINED__
#define __ICoreWebView2Profile5_FWD_DEFINED__
typedef interface ICoreWebView2Profile5 ICoreWebView2Profile5;

#endif 	/* __ICoreWebView2Profile5_FWD_DEFINED__ */


#ifndef __ICoreWebView2Profile6_FWD_DEFINED__
#define __ICoreWebView2Profile6_FWD_DEFINED__
typedef interface ICoreWebView2Profile6 ICoreWebView2Profile6;

#endif 	/* __ICoreWebView2Profile6_FWD_DEFINED__ */


#ifndef __ICoreWebView2Profile7_FWD_DEFINED__
#define __ICoreWebView2Profile7_FWD_DEFINED__
typedef interface ICoreWebView2Profile7 ICoreWebView2Profile7;

#endif 	/* __ICoreWebView2Profile7_FWD_DEFINED__ */


#ifndef __ICoreWebView2Profile8_FWD_DEFINED__
#define __ICoreWebView2Profile8_FWD_DEFINED__
typedef interface ICoreWebView2Profile8 ICoreWebView2Profile8;

#endif 	/* __ICoreWebView2Profile8_FWD_DEFINED__ */


#ifndef __ICoreWebView2ProfileDeletedEventHandler_FWD_DEFINED__
#define __ICoreWebView2ProfileDeletedEventHandler_FWD_DEFINED__
typedef interface ICoreWebView2ProfileDeletedEventHandler ICoreWebView2ProfileDeletedEventHandler;

#endif 	/* __ICoreWebView2ProfileDeletedEventHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2RasterizationScaleChangedEventHandler_FWD_DEFINED__
#define __ICoreWebView2RasterizationScaleChangedEventHandler_FWD_DEFINED__
typedef interface ICoreWebView2RasterizationScaleChangedEventHandler ICoreWebView2RasterizationScaleChangedEventHandler;

#endif 	/* __ICoreWebView2RasterizationScaleChangedEventHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2ServerCertificateErrorDetectedEventArgs_FWD_DEFINED__
#define __ICoreWebView2ServerCertificateErrorDetectedEventArgs_FWD_DEFINED__
typedef interface ICoreWebView2ServerCertificateErrorDetectedEventArgs ICoreWebView2ServerCertificateErrorDetectedEventArgs;

#endif 	/* __ICoreWebView2ServerCertificateErrorDetectedEventArgs_FWD_DEFINED__ */


#ifndef __ICoreWebView2ServerCertificateErrorDetectedEventHandler_FWD_DEFINED__
#define __ICoreWebView2ServerCertificateErrorDetectedEventHandler_FWD_DEFINED__
typedef interface ICoreWebView2ServerCertificateErrorDetectedEventHandler ICoreWebView2ServerCertificateErrorDetectedEventHandler;

#endif 	/* __ICoreWebView2ServerCertificateErrorDetectedEventHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2SetPermissionStateCompletedHandler_FWD_DEFINED__
#define __ICoreWebView2SetPermissionStateCompletedHandler_FWD_DEFINED__
typedef interface ICoreWebView2SetPermissionStateCompletedHandler ICoreWebView2SetPermissionStateCompletedHandler;

#endif 	/* __ICoreWebView2SetPermissionStateCompletedHandler_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 __ICoreWebView2Settings7_FWD_DEFINED__
#define __ICoreWebView2Settings7_FWD_DEFINED__
typedef interface ICoreWebView2Settings7 ICoreWebView2Settings7;

#endif 	/* __ICoreWebView2Settings7_FWD_DEFINED__ */


#ifndef __ICoreWebView2Settings8_FWD_DEFINED__
#define __ICoreWebView2Settings8_FWD_DEFINED__
typedef interface ICoreWebView2Settings8 ICoreWebView2Settings8;

#endif 	/* __ICoreWebView2Settings8_FWD_DEFINED__ */


#ifndef __ICoreWebView2Settings9_FWD_DEFINED__
#define __ICoreWebView2Settings9_FWD_DEFINED__
typedef interface ICoreWebView2Settings9 ICoreWebView2Settings9;

#endif 	/* __ICoreWebView2Settings9_FWD_DEFINED__ */


#ifndef __ICoreWebView2SharedBuffer_FWD_DEFINED__
#define __ICoreWebView2SharedBuffer_FWD_DEFINED__
typedef interface ICoreWebView2SharedBuffer ICoreWebView2SharedBuffer;

#endif 	/* __ICoreWebView2SharedBuffer_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 __ICoreWebView2StatusBarTextChangedEventHandler_FWD_DEFINED__
#define __ICoreWebView2StatusBarTextChangedEventHandler_FWD_DEFINED__
typedef interface ICoreWebView2StatusBarTextChangedEventHandler ICoreWebView2StatusBarTextChangedEventHandler;

#endif 	/* __ICoreWebView2StatusBarTextChangedEventHandler_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 __ICoreWebView2WebResourceRequestedEventArgs2_FWD_DEFINED__
#define __ICoreWebView2WebResourceRequestedEventArgs2_FWD_DEFINED__
typedef interface ICoreWebView2WebResourceRequestedEventArgs2 ICoreWebView2WebResourceRequestedEventArgs2;

#endif 	/* __ICoreWebView2WebResourceRequestedEventArgs2_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__ */


#ifndef __ICoreWebView2FaviconChangedEventHandler_FWD_DEFINED__
#define __ICoreWebView2FaviconChangedEventHandler_FWD_DEFINED__
typedef interface ICoreWebView2FaviconChangedEventHandler ICoreWebView2FaviconChangedEventHandler;

#endif 	/* __ICoreWebView2FaviconChangedEventHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2GetFaviconCompletedHandler_FWD_DEFINED__
#define __ICoreWebView2GetFaviconCompletedHandler_FWD_DEFINED__
typedef interface ICoreWebView2GetFaviconCompletedHandler ICoreWebView2GetFaviconCompletedHandler;

#endif 	/* __ICoreWebView2GetFaviconCompletedHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_FWD_DEFINED__
#define __ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_FWD_DEFINED__
typedef interface ICoreWebView2ProfileAddBrowserExtensionCompletedHandler ICoreWebView2ProfileAddBrowserExtensionCompletedHandler;

#endif 	/* __ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_FWD_DEFINED__
#define __ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_FWD_DEFINED__
typedef interface ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler;

#endif 	/* __ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2BrowserExtensionList_FWD_DEFINED__
#define __ICoreWebView2BrowserExtensionList_FWD_DEFINED__
typedef interface ICoreWebView2BrowserExtensionList ICoreWebView2BrowserExtensionList;

#endif 	/* __ICoreWebView2BrowserExtensionList_FWD_DEFINED__ */


#ifndef __ICoreWebView2BrowserExtension_FWD_DEFINED__
#define __ICoreWebView2BrowserExtension_FWD_DEFINED__
typedef interface ICoreWebView2BrowserExtension ICoreWebView2BrowserExtension;

#endif 	/* __ICoreWebView2BrowserExtension_FWD_DEFINED__ */


#ifndef __ICoreWebView2BrowserExtensionEnableCompletedHandler_FWD_DEFINED__
#define __ICoreWebView2BrowserExtensionEnableCompletedHandler_FWD_DEFINED__
typedef interface ICoreWebView2BrowserExtensionEnableCompletedHandler ICoreWebView2BrowserExtensionEnableCompletedHandler;

#endif 	/* __ICoreWebView2BrowserExtensionEnableCompletedHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2BrowserExtensionRemoveCompletedHandler_FWD_DEFINED__
#define __ICoreWebView2BrowserExtensionRemoveCompletedHandler_FWD_DEFINED__
typedef interface ICoreWebView2BrowserExtensionRemoveCompletedHandler ICoreWebView2BrowserExtensionRemoveCompletedHandler;

#endif 	/* __ICoreWebView2BrowserExtensionRemoveCompletedHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2ExecuteScriptResult_FWD_DEFINED__
#define __ICoreWebView2ExecuteScriptResult_FWD_DEFINED__
typedef interface ICoreWebView2ExecuteScriptResult ICoreWebView2ExecuteScriptResult;

#endif 	/* __ICoreWebView2ExecuteScriptResult_FWD_DEFINED__ */


#ifndef __ICoreWebView2ExecuteScriptWithResultCompletedHandler_FWD_DEFINED__
#define __ICoreWebView2ExecuteScriptWithResultCompletedHandler_FWD_DEFINED__
typedef interface ICoreWebView2ExecuteScriptWithResultCompletedHandler ICoreWebView2ExecuteScriptWithResultCompletedHandler;

#endif 	/* __ICoreWebView2ExecuteScriptWithResultCompletedHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2ScriptException_FWD_DEFINED__
#define __ICoreWebView2ScriptException_FWD_DEFINED__
typedef interface ICoreWebView2ScriptException ICoreWebView2ScriptException;

#endif 	/* __ICoreWebView2ScriptException_FWD_DEFINED__ */


#ifndef __ICoreWebView2NonClientRegionChangedEventHandler_FWD_DEFINED__
#define __ICoreWebView2NonClientRegionChangedEventHandler_FWD_DEFINED__
typedef interface ICoreWebView2NonClientRegionChangedEventHandler ICoreWebView2NonClientRegionChangedEventHandler;

#endif 	/* __ICoreWebView2NonClientRegionChangedEventHandler_FWD_DEFINED__ */


#ifndef __ICoreWebView2RegionRectCollectionView_FWD_DEFINED__
#define __ICoreWebView2RegionRectCollectionView_FWD_DEFINED__
typedef interface ICoreWebView2RegionRectCollectionView ICoreWebView2RegionRectCollectionView;

#endif 	/* __ICoreWebView2RegionRectCollectionView_FWD_DEFINED__ */


#ifndef __ICoreWebView2CompositionController4_FWD_DEFINED__
#define __ICoreWebView2CompositionController4_FWD_DEFINED__
typedef interface ICoreWebView2CompositionController4 ICoreWebView2CompositionController4;

#endif 	/* __ICoreWebView2CompositionController4_FWD_DEFINED__ */


#ifndef __ICoreWebView2File_FWD_DEFINED__
#define __ICoreWebView2File_FWD_DEFINED__
typedef interface ICoreWebView2File ICoreWebView2File;

#endif 	/* __ICoreWebView2File_FWD_DEFINED__ */


#ifndef __ICoreWebView2ObjectCollectionView_FWD_DEFINED__
#define __ICoreWebView2ObjectCollectionView_FWD_DEFINED__
typedef interface ICoreWebView2ObjectCollectionView ICoreWebView2ObjectCollectionView;

#endif 	/* __ICoreWebView2ObjectCollectionView_FWD_DEFINED__ */


#ifndef __ICoreWebView2WebMessageReceivedEventArgs2_FWD_DEFINED__
#define __ICoreWebView2WebMessageReceivedEventArgs2_FWD_DEFINED__
typedef interface ICoreWebView2WebMessageReceivedEventArgs2 ICoreWebView2WebMessageReceivedEventArgs2;

#endif 	/* __ICoreWebView2WebMessageReceivedEventArgs2_FWD_DEFINED__ */


#ifndef __ICoreWebView2NonClientRegionChangedEventArgs_FWD_DEFINED__
#define __ICoreWebView2NonClientRegionChangedEventArgs_FWD_DEFINED__
typedef interface ICoreWebView2NonClientRegionChangedEventArgs ICoreWebView2NonClientRegionChangedEventArgs;

#endif 	/* __ICoreWebView2NonClientRegionChangedEventArgs_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_PROFILE_DELETED	= ( COREWEBVIEW2_PROCESS_FAILED_REASON_OUT_OF_MEMORY + 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_MULTIPLE_AUTOMATIC_DOWNLOADS	= ( COREWEBVIEW2_PERMISSION_KIND_CLIPBOARD_READ + 1 ) ,
        COREWEBVIEW2_PERMISSION_KIND_FILE_READ_WRITE	= ( COREWEBVIEW2_PERMISSION_KIND_MULTIPLE_AUTOMATIC_DOWNLOADS + 1 ) ,
        COREWEBVIEW2_PERMISSION_KIND_AUTOPLAY	= ( COREWEBVIEW2_PERMISSION_KIND_FILE_READ_WRITE + 1 ) ,
        COREWEBVIEW2_PERMISSION_KIND_LOCAL_FONTS	= ( COREWEBVIEW2_PERMISSION_KIND_AUTOPLAY + 1 ) ,
        COREWEBVIEW2_PERMISSION_KIND_MIDI_SYSTEM_EXCLUSIVE_MESSAGES	= ( COREWEBVIEW2_PERMISSION_KIND_LOCAL_FONTS + 1 ) ,
        COREWEBVIEW2_PERMISSION_KIND_WINDOW_MANAGEMENT	= ( COREWEBVIEW2_PERMISSION_KIND_MIDI_SYSTEM_EXCLUSIVE_MESSAGES + 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_NON_CLIENT_RIGHT_BUTTON_DOWN	= 0xa4,
        COREWEBVIEW2_MOUSE_EVENT_KIND_NON_CLIENT_RIGHT_BUTTON_UP	= 0xa5
    } 	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;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_PDF_TOOLBAR_ITEMS
    {
        COREWEBVIEW2_PDF_TOOLBAR_ITEMS_NONE	= 0,
        COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SAVE	= 0x1,
        COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PRINT	= 0x2,
        COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SAVE_AS	= 0x4,
        COREWEBVIEW2_PDF_TOOLBAR_ITEMS_ZOOM_IN	= 0x8,
        COREWEBVIEW2_PDF_TOOLBAR_ITEMS_ZOOM_OUT	= 0x10,
        COREWEBVIEW2_PDF_TOOLBAR_ITEMS_ROTATE	= 0x20,
        COREWEBVIEW2_PDF_TOOLBAR_ITEMS_FIT_PAGE	= 0x40,
        COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PAGE_LAYOUT	= 0x80,
        COREWEBVIEW2_PDF_TOOLBAR_ITEMS_BOOKMARKS	= 0x100,
        COREWEBVIEW2_PDF_TOOLBAR_ITEMS_PAGE_SELECTOR	= 0x200,
        COREWEBVIEW2_PDF_TOOLBAR_ITEMS_SEARCH	= 0x400,
        COREWEBVIEW2_PDF_TOOLBAR_ITEMS_FULL_SCREEN	= 0x800,
        COREWEBVIEW2_PDF_TOOLBAR_ITEMS_MORE_SETTINGS	= 0x1000
    } 	COREWEBVIEW2_PDF_TOOLBAR_ITEMS;

DEFINE_ENUM_FLAG_OPERATORS(COREWEBVIEW2_PDF_TOOLBAR_ITEMS)
typedef /* [v1_enum] */ 
enum COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND
    {
        COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_PAGE	= 0,
        COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_IMAGE	= ( COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_PAGE + 1 ) ,
        COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_SELECTED_TEXT	= ( COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_IMAGE + 1 ) ,
        COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_AUDIO	= ( COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_SELECTED_TEXT + 1 ) ,
        COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_VIDEO	= ( COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND_AUDIO + 1 ) 
    } 	COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND
    {
        COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_COMMAND	= 0,
        COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_CHECK_BOX	= ( COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_COMMAND + 1 ) ,
        COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_RADIO	= ( COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_CHECK_BOX + 1 ) ,
        COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_SEPARATOR	= ( COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_RADIO + 1 ) ,
        COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_SUBMENU	= ( COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND_SEPARATOR + 1 ) 
    } 	COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_PREFERRED_COLOR_SCHEME
    {
        COREWEBVIEW2_PREFERRED_COLOR_SCHEME_AUTO	= 0,
        COREWEBVIEW2_PREFERRED_COLOR_SCHEME_LIGHT	= ( COREWEBVIEW2_PREFERRED_COLOR_SCHEME_AUTO + 1 ) ,
        COREWEBVIEW2_PREFERRED_COLOR_SCHEME_DARK	= ( COREWEBVIEW2_PREFERRED_COLOR_SCHEME_LIGHT + 1 ) 
    } 	COREWEBVIEW2_PREFERRED_COLOR_SCHEME;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_BROWSING_DATA_KINDS
    {
        COREWEBVIEW2_BROWSING_DATA_KINDS_FILE_SYSTEMS	= ( 1 << 0 ) ,
        COREWEBVIEW2_BROWSING_DATA_KINDS_INDEXED_DB	= ( 1 << 1 ) ,
        COREWEBVIEW2_BROWSING_DATA_KINDS_LOCAL_STORAGE	= ( 1 << 2 ) ,
        COREWEBVIEW2_BROWSING_DATA_KINDS_WEB_SQL	= ( 1 << 3 ) ,
        COREWEBVIEW2_BROWSING_DATA_KINDS_CACHE_STORAGE	= ( 1 << 4 ) ,
        COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_DOM_STORAGE	= ( 1 << 5 ) ,
        COREWEBVIEW2_BROWSING_DATA_KINDS_COOKIES	= ( 1 << 6 ) ,
        COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_SITE	= ( 1 << 7 ) ,
        COREWEBVIEW2_BROWSING_DATA_KINDS_DISK_CACHE	= ( 1 << 8 ) ,
        COREWEBVIEW2_BROWSING_DATA_KINDS_DOWNLOAD_HISTORY	= ( 1 << 9 ) ,
        COREWEBVIEW2_BROWSING_DATA_KINDS_GENERAL_AUTOFILL	= ( 1 << 10 ) ,
        COREWEBVIEW2_BROWSING_DATA_KINDS_PASSWORD_AUTOSAVE	= ( 1 << 11 ) ,
        COREWEBVIEW2_BROWSING_DATA_KINDS_BROWSING_HISTORY	= ( 1 << 12 ) ,
        COREWEBVIEW2_BROWSING_DATA_KINDS_SETTINGS	= ( 1 << 13 ) ,
        COREWEBVIEW2_BROWSING_DATA_KINDS_ALL_PROFILE	= ( 1 << 14 ) ,
        COREWEBVIEW2_BROWSING_DATA_KINDS_SERVICE_WORKERS	= ( 1 << 15 ) 
    } 	COREWEBVIEW2_BROWSING_DATA_KINDS;

DEFINE_ENUM_FLAG_OPERATORS(COREWEBVIEW2_BROWSING_DATA_KINDS)
typedef /* [v1_enum] */ 
enum COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION
    {
        COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_ALWAYS_ALLOW	= 0,
        COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_CANCEL	= ( COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_ALWAYS_ALLOW + 1 ) ,
        COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_DEFAULT	= ( COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION_CANCEL + 1 ) 
    } 	COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_FAVICON_IMAGE_FORMAT
    {
        COREWEBVIEW2_FAVICON_IMAGE_FORMAT_PNG	= 0,
        COREWEBVIEW2_FAVICON_IMAGE_FORMAT_JPEG	= ( COREWEBVIEW2_FAVICON_IMAGE_FORMAT_PNG + 1 ) 
    } 	COREWEBVIEW2_FAVICON_IMAGE_FORMAT;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_PRINT_DIALOG_KIND
    {
        COREWEBVIEW2_PRINT_DIALOG_KIND_BROWSER	= 0,
        COREWEBVIEW2_PRINT_DIALOG_KIND_SYSTEM	= ( COREWEBVIEW2_PRINT_DIALOG_KIND_BROWSER + 1 ) 
    } 	COREWEBVIEW2_PRINT_DIALOG_KIND;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_PRINT_DUPLEX
    {
        COREWEBVIEW2_PRINT_DUPLEX_DEFAULT	= 0,
        COREWEBVIEW2_PRINT_DUPLEX_ONE_SIDED	= ( COREWEBVIEW2_PRINT_DUPLEX_DEFAULT + 1 ) ,
        COREWEBVIEW2_PRINT_DUPLEX_TWO_SIDED_LONG_EDGE	= ( COREWEBVIEW2_PRINT_DUPLEX_ONE_SIDED + 1 ) ,
        COREWEBVIEW2_PRINT_DUPLEX_TWO_SIDED_SHORT_EDGE	= ( COREWEBVIEW2_PRINT_DUPLEX_TWO_SIDED_LONG_EDGE + 1 ) 
    } 	COREWEBVIEW2_PRINT_DUPLEX;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_PRINT_COLOR_MODE
    {
        COREWEBVIEW2_PRINT_COLOR_MODE_DEFAULT	= 0,
        COREWEBVIEW2_PRINT_COLOR_MODE_COLOR	= ( COREWEBVIEW2_PRINT_COLOR_MODE_DEFAULT + 1 ) ,
        COREWEBVIEW2_PRINT_COLOR_MODE_GRAYSCALE	= ( COREWEBVIEW2_PRINT_COLOR_MODE_COLOR + 1 ) 
    } 	COREWEBVIEW2_PRINT_COLOR_MODE;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_PRINT_COLLATION
    {
        COREWEBVIEW2_PRINT_COLLATION_DEFAULT	= 0,
        COREWEBVIEW2_PRINT_COLLATION_COLLATED	= ( COREWEBVIEW2_PRINT_COLLATION_DEFAULT + 1 ) ,
        COREWEBVIEW2_PRINT_COLLATION_UNCOLLATED	= ( COREWEBVIEW2_PRINT_COLLATION_COLLATED + 1 ) 
    } 	COREWEBVIEW2_PRINT_COLLATION;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_PRINT_MEDIA_SIZE
    {
        COREWEBVIEW2_PRINT_MEDIA_SIZE_DEFAULT	= 0,
        COREWEBVIEW2_PRINT_MEDIA_SIZE_CUSTOM	= ( COREWEBVIEW2_PRINT_MEDIA_SIZE_DEFAULT + 1 ) 
    } 	COREWEBVIEW2_PRINT_MEDIA_SIZE;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_PRINT_STATUS
    {
        COREWEBVIEW2_PRINT_STATUS_SUCCEEDED	= 0,
        COREWEBVIEW2_PRINT_STATUS_PRINTER_UNAVAILABLE	= ( COREWEBVIEW2_PRINT_STATUS_SUCCEEDED + 1 ) ,
        COREWEBVIEW2_PRINT_STATUS_OTHER_ERROR	= ( COREWEBVIEW2_PRINT_STATUS_PRINTER_UNAVAILABLE + 1 ) 
    } 	COREWEBVIEW2_PRINT_STATUS;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_TRACKING_PREVENTION_LEVEL
    {
        COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_NONE	= 0,
        COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BASIC	= ( COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_NONE + 1 ) ,
        COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BALANCED	= ( COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BASIC + 1 ) ,
        COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_STRICT	= ( COREWEBVIEW2_TRACKING_PREVENTION_LEVEL_BALANCED + 1 ) 
    } 	COREWEBVIEW2_TRACKING_PREVENTION_LEVEL;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_SHARED_BUFFER_ACCESS
    {
        COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_ONLY	= 0,
        COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_WRITE	= ( COREWEBVIEW2_SHARED_BUFFER_ACCESS_READ_ONLY + 1 ) 
    } 	COREWEBVIEW2_SHARED_BUFFER_ACCESS;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL
    {
        COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL_NORMAL	= 0,
        COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL_LOW	= ( COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL_NORMAL + 1 ) 
    } 	COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_NAVIGATION_KIND
    {
        COREWEBVIEW2_NAVIGATION_KIND_RELOAD	= 0,
        COREWEBVIEW2_NAVIGATION_KIND_BACK_OR_FORWARD	= 1,
        COREWEBVIEW2_NAVIGATION_KIND_NEW_DOCUMENT	= 2
    } 	COREWEBVIEW2_NAVIGATION_KIND;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_FRAME_KIND
    {
        COREWEBVIEW2_FRAME_KIND_UNKNOWN	= 0,
        COREWEBVIEW2_FRAME_KIND_MAIN_FRAME	= ( COREWEBVIEW2_FRAME_KIND_UNKNOWN + 1 ) ,
        COREWEBVIEW2_FRAME_KIND_IFRAME	= ( COREWEBVIEW2_FRAME_KIND_MAIN_FRAME + 1 ) ,
        COREWEBVIEW2_FRAME_KIND_EMBED	= ( COREWEBVIEW2_FRAME_KIND_IFRAME + 1 ) ,
        COREWEBVIEW2_FRAME_KIND_OBJECT	= ( COREWEBVIEW2_FRAME_KIND_EMBED + 1 ) 
    } 	COREWEBVIEW2_FRAME_KIND;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS
    {
        COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_NONE	= 0,
        COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_DOCUMENT	= 1,
        COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SHARED_WORKER	= 2,
        COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_SERVICE_WORKER	= 4,
        COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS_ALL	= 0xffffffff
    } 	COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS;

DEFINE_ENUM_FLAG_OPERATORS(COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS)
typedef /* [v1_enum] */ 
enum COREWEBVIEW2_NON_CLIENT_REGION_KIND
    {
        COREWEBVIEW2_NON_CLIENT_REGION_KIND_NOWHERE	= 0,
        COREWEBVIEW2_NON_CLIENT_REGION_KIND_CLIENT	= 1,
        COREWEBVIEW2_NON_CLIENT_REGION_KIND_CAPTION	= 2
    } 	COREWEBVIEW2_NON_CLIENT_REGION_KIND;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_CHANNEL_SEARCH_KIND
    {
        COREWEBVIEW2_CHANNEL_SEARCH_KIND_MOST_STABLE	= 0,
        COREWEBVIEW2_CHANNEL_SEARCH_KIND_LEAST_STABLE	= ( COREWEBVIEW2_CHANNEL_SEARCH_KIND_MOST_STABLE + 1 ) 
    } 	COREWEBVIEW2_CHANNEL_SEARCH_KIND;

typedef /* [v1_enum] */ 
enum COREWEBVIEW2_RELEASE_CHANNELS
    {
        COREWEBVIEW2_RELEASE_CHANNELS_NONE	= 0,
        COREWEBVIEW2_RELEASE_CHANNELS_STABLE	= 0x1,
        COREWEBVIEW2_RELEASE_CHANNELS_BETA	= 0x2,
        COREWEBVIEW2_RELEASE_CHANNELS_DEV	= 0x4,
        COREWEBVIEW2_RELEASE_CHANNELS_CANARY	= 0x8
    } 	COREWEBVIEW2_RELEASE_CHANNELS;

DEFINE_ENUM_FLAG_OPERATORS(COREWEBVIEW2_RELEASE_CHANNELS)
STDAPI CreateCoreWebView2EnvironmentWithOptions(PCWSTR browserExecutableFolder, PCWSTR userDataFolder, ICoreWebView2EnvironmentOptions* environmentOptions, ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler* environmentCreatedHandler);
STDAPI CreateCoreWebView2Environment(ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler* environmentCreatedHandler);
STDAPI GetAvailableCoreWebView2BrowserVersionString(PCWSTR browserExecutableFolder, LPWSTR* versionInfo);
STDAPI GetAvailableCoreWebView2BrowserVersionStringWithOptions(PCWSTR browserExecutableFolder, ICoreWebView2EnvironmentOptions* environmentOptions, 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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AcceleratorKeyPressedEventArgs, get_KeyEventKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyEventKind )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs * This,
            /* [retval][out] */ COREWEBVIEW2_KEY_EVENT_KIND *keyEventKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AcceleratorKeyPressedEventArgs, get_VirtualKey)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VirtualKey )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs * This,
            /* [retval][out] */ UINT *virtualKey);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AcceleratorKeyPressedEventArgs, get_KeyEventLParam)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyEventLParam )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs * This,
            /* [retval][out] */ INT *lParam);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AcceleratorKeyPressedEventArgs, get_PhysicalKeyStatus)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhysicalKeyStatus )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs * This,
            /* [retval][out] */ COREWEBVIEW2_PHYSICAL_KEY_STATUS *physicalKeyStatus);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AcceleratorKeyPressedEventArgs, get_Handled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs * This,
            /* [retval][out] */ BOOL *handled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AcceleratorKeyPressedEventArgs, put_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 __ICoreWebView2AcceleratorKeyPressedEventArgs2_INTERFACE_DEFINED__
#define __ICoreWebView2AcceleratorKeyPressedEventArgs2_INTERFACE_DEFINED__

/* interface ICoreWebView2AcceleratorKeyPressedEventArgs2 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2AcceleratorKeyPressedEventArgs2 = {0x03b2c8c8,0x7799,0x4e34,{0xbd,0x66,0xed,0x26,0xaa,0x85,0xf2,0xbf}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("03b2c8c8-7799-4e34-bd66-ed26aa85f2bf")
    ICoreWebView2AcceleratorKeyPressedEventArgs2 : public ICoreWebView2AcceleratorKeyPressedEventArgs
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsBrowserAcceleratorKeyEnabled( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsBrowserAcceleratorKeyEnabled( 
            /* [in] */ BOOL value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2AcceleratorKeyPressedEventArgs2Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AcceleratorKeyPressedEventArgs, get_KeyEventKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyEventKind )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs2 * This,
            /* [retval][out] */ COREWEBVIEW2_KEY_EVENT_KIND *keyEventKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AcceleratorKeyPressedEventArgs, get_VirtualKey)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_VirtualKey )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs2 * This,
            /* [retval][out] */ UINT *virtualKey);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AcceleratorKeyPressedEventArgs, get_KeyEventLParam)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyEventLParam )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs2 * This,
            /* [retval][out] */ INT *lParam);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AcceleratorKeyPressedEventArgs, get_PhysicalKeyStatus)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhysicalKeyStatus )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs2 * This,
            /* [retval][out] */ COREWEBVIEW2_PHYSICAL_KEY_STATUS *physicalKeyStatus);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AcceleratorKeyPressedEventArgs, get_Handled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs2 * This,
            /* [retval][out] */ BOOL *handled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AcceleratorKeyPressedEventArgs, put_Handled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs2 * This,
            /* [in] */ BOOL handled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AcceleratorKeyPressedEventArgs2, get_IsBrowserAcceleratorKeyEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBrowserAcceleratorKeyEnabled )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs2 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AcceleratorKeyPressedEventArgs2, put_IsBrowserAcceleratorKeyEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsBrowserAcceleratorKeyEnabled )( 
            ICoreWebView2AcceleratorKeyPressedEventArgs2 * This,
            /* [in] */ BOOL value);
        
        END_INTERFACE
    } ICoreWebView2AcceleratorKeyPressedEventArgs2Vtbl;

    interface ICoreWebView2AcceleratorKeyPressedEventArgs2
    {
        CONST_VTBL struct ICoreWebView2AcceleratorKeyPressedEventArgs2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2AcceleratorKeyPressedEventArgs2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2AcceleratorKeyPressedEventArgs2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2AcceleratorKeyPressedEventArgs2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2AcceleratorKeyPressedEventArgs2_get_KeyEventKind(This,keyEventKind)	\
    ( (This)->lpVtbl -> get_KeyEventKind(This,keyEventKind) ) 

#define ICoreWebView2AcceleratorKeyPressedEventArgs2_get_VirtualKey(This,virtualKey)	\
    ( (This)->lpVtbl -> get_VirtualKey(This,virtualKey) ) 

#define ICoreWebView2AcceleratorKeyPressedEventArgs2_get_KeyEventLParam(This,lParam)	\
    ( (This)->lpVtbl -> get_KeyEventLParam(This,lParam) ) 

#define ICoreWebView2AcceleratorKeyPressedEventArgs2_get_PhysicalKeyStatus(This,physicalKeyStatus)	\
    ( (This)->lpVtbl -> get_PhysicalKeyStatus(This,physicalKeyStatus) ) 

#define ICoreWebView2AcceleratorKeyPressedEventArgs2_get_Handled(This,handled)	\
    ( (This)->lpVtbl -> get_Handled(This,handled) ) 

#define ICoreWebView2AcceleratorKeyPressedEventArgs2_put_Handled(This,handled)	\
    ( (This)->lpVtbl -> put_Handled(This,handled) ) 


#define ICoreWebView2AcceleratorKeyPressedEventArgs2_get_IsBrowserAcceleratorKeyEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsBrowserAcceleratorKeyEnabled(This,value) ) 

#define ICoreWebView2AcceleratorKeyPressedEventArgs2_put_IsBrowserAcceleratorKeyEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsBrowserAcceleratorKeyEnabled(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2AcceleratorKeyPressedEventArgs2_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2AcceleratorKeyPressedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2AcceleratorKeyPressedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2AcceleratorKeyPressedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AcceleratorKeyPressedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2CallDevToolsProtocolMethodCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2CallDevToolsProtocolMethodCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2CallDevToolsProtocolMethodCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CallDevToolsProtocolMethodCompletedHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2CapturePreviewCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2CapturePreviewCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2CapturePreviewCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CapturePreviewCompletedHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_2 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_2 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_2 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_2 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_2 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_2 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_2 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_2 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_2 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_2 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_2 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_2 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_2 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_2 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_2 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_2 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_2 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_2 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_2 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_2 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_2 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_2 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_2 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_3 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_3 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_3 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_3 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_3 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_3 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_3 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_3 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_3 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_3 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_3 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_3 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_3 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_3 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_3 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_3 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_3 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_3 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_3 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_3 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_3 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_3 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_3 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_3 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_3 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_3 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_3 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_3 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_4 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_4 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_4 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_4 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_4 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_4 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_4 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_4 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_4 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_4 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_4 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_4 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_4 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_4 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_4 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_4 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_4 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_4 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_4 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_4 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_4 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_4 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_4 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_4 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_4 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_4 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_4 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_4 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_4 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_5 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_5 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_5 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_5 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_5 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_5 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_5 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_5 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_5 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_5 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_5 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_5 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_5 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_5 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_5 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_5 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_5 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_5 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_5 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_5 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_5 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_5 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_5 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_5 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_5 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_5 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_5 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_5 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_5 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_5 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_5 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_5 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_5 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_5 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_5 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_5 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_6 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_6 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_6 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_6 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_6 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_6 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_6 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_6 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_6 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_6 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_6 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_6 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_6 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_6 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_6 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_6 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_6 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_6 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_6 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_6 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_6 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_6 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_6 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_6 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_6 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_6 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_6 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_6 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_6 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_6 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_6 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_6 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_6 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_6 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_6 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_6 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_7 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_7 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_7 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_7 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_7 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_7 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_7 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_7 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_7 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_7 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_7 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_7 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_7 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_7 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_7 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_7 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_7 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_7 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_7 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_7 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_7 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_7 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_7 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_7 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_7 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_7 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_7 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_7 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_7 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_7 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_7 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_7 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_7 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_7 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_7 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_7 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_7 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_8 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_8 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_8 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_8 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_8 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_8 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_8 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_8 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_8 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_8 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_8 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_8 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_8 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_8 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_8 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_8 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_8 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_8 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_8 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_8 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_8 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_8 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_8 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_8 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_8 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_8 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_8 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_8 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_8 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_8 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_8 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_8 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_8 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_8 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_8 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_8 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdf )( 
            ICoreWebView2_8 * This,
            /* [in] */ LPCWSTR resultFilePath,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsMuted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )( 
            ICoreWebView2_8 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, put_IsMuted)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )( 
            ICoreWebView2_8 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_8 * This,
            /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsDocumentPlayingAudio)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_9 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_9 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_9 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_9 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_9 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_9 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_9 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_9 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_9 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_9 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_9 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_9 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_9 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_9 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_9 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_9 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_9 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_9 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_9 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_9 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_9 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_9 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_9 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_9 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_9 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_9 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_9 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_9 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_9 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_9 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_9 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_9 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_9 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_9 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_9 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_9 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdf )( 
            ICoreWebView2_9 * This,
            /* [in] */ LPCWSTR resultFilePath,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsMuted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )( 
            ICoreWebView2_9 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, put_IsMuted)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )( 
            ICoreWebView2_9 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsDocumentPlayingAudio)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )( 
            ICoreWebView2_9 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, add_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_9 * This,
            /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, remove_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_IsDefaultDownloadDialogOpen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )( 
            ICoreWebView2_9 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, OpenDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )( 
            ICoreWebView2_9 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, CloseDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )( 
            ICoreWebView2_9 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogCornerAlignment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_9 * This,
            /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogCornerAlignment)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_9 * This,
            /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogMargin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )( 
            ICoreWebView2_9 * This,
            /* [retval][out] */ POINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogMargin)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_10 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_10 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_10 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_10 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_10 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_10 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_10 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_10 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_10 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_10 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_10 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_10 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_10 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_10 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_10 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_10 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_10 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_10 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_10 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_10 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_10 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_10 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_10 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_10 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_10 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_10 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_10 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_10 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_10 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_10 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_10 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_10 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_10 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_10 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_10 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_10 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdf )( 
            ICoreWebView2_10 * This,
            /* [in] */ LPCWSTR resultFilePath,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsMuted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )( 
            ICoreWebView2_10 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, put_IsMuted)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )( 
            ICoreWebView2_10 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsDocumentPlayingAudio)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )( 
            ICoreWebView2_10 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, add_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, remove_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_IsDefaultDownloadDialogOpen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )( 
            ICoreWebView2_10 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, OpenDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )( 
            ICoreWebView2_10 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, CloseDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )( 
            ICoreWebView2_10 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogCornerAlignment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_10 * This,
            /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogCornerAlignment)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_10 * This,
            /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogMargin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )( 
            ICoreWebView2_10 * This,
            /* [retval][out] */ POINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogMargin)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogMargin )( 
            ICoreWebView2_10 * This,
            /* [in] */ POINT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, add_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *add_BasicAuthenticationRequested )( 
            ICoreWebView2_10 * This,
            /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, remove_BasicAuthenticationRequested)
        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 __ICoreWebView2_11_INTERFACE_DEFINED__
#define __ICoreWebView2_11_INTERFACE_DEFINED__

/* interface ICoreWebView2_11 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_11 = {0x0be78e56,0xc193,0x4051,{0xb9,0x43,0x23,0xb4,0x60,0xc0,0x8b,0xdb}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0be78e56-c193-4051-b943-23b460c08bdb")
    ICoreWebView2_11 : public ICoreWebView2_10
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE CallDevToolsProtocolMethodForSession( 
            /* [in] */ LPCWSTR sessionId,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE add_ContextMenuRequested( 
            /* [in] */ ICoreWebView2ContextMenuRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE remove_ContextMenuRequested( 
            /* [in] */ EventRegistrationToken token) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2_11Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_11 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_11 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_11 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_11 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_11 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_11 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_11 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_11 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_11 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_11 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_11 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_11 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_11 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_11 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_11 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_11 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_11 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_11 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_11 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_11 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_11 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_11 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_11 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_11 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_11 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_11 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_11 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_11 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_11 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_11 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_11 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_11 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_11 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_11 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_11 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_11 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdf )( 
            ICoreWebView2_11 * This,
            /* [in] */ LPCWSTR resultFilePath,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsMuted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )( 
            ICoreWebView2_11 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, put_IsMuted)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )( 
            ICoreWebView2_11 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsDocumentPlayingAudio)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )( 
            ICoreWebView2_11 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, add_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, remove_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_IsDefaultDownloadDialogOpen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )( 
            ICoreWebView2_11 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, OpenDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )( 
            ICoreWebView2_11 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, CloseDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )( 
            ICoreWebView2_11 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogCornerAlignment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_11 * This,
            /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogCornerAlignment)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_11 * This,
            /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogMargin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )( 
            ICoreWebView2_11 * This,
            /* [retval][out] */ POINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogMargin)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogMargin )( 
            ICoreWebView2_11 * This,
            /* [in] */ POINT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, add_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *add_BasicAuthenticationRequested )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, remove_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_BasicAuthenticationRequested )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, CallDevToolsProtocolMethodForSession)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethodForSession )( 
            ICoreWebView2_11 * This,
            /* [in] */ LPCWSTR sessionId,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, add_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ContextMenuRequested )( 
            ICoreWebView2_11 * This,
            /* [in] */ ICoreWebView2ContextMenuRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, remove_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ContextMenuRequested )( 
            ICoreWebView2_11 * This,
            /* [in] */ EventRegistrationToken token);
        
        END_INTERFACE
    } ICoreWebView2_11Vtbl;

    interface ICoreWebView2_11
    {
        CONST_VTBL struct ICoreWebView2_11Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2_11_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2_11_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2_11_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2_11_get_Settings(This,settings)	\
    ( (This)->lpVtbl -> get_Settings(This,settings) ) 

#define ICoreWebView2_11_get_Source(This,uri)	\
    ( (This)->lpVtbl -> get_Source(This,uri) ) 

#define ICoreWebView2_11_Navigate(This,uri)	\
    ( (This)->lpVtbl -> Navigate(This,uri) ) 

#define ICoreWebView2_11_NavigateToString(This,htmlContent)	\
    ( (This)->lpVtbl -> NavigateToString(This,htmlContent) ) 

#define ICoreWebView2_11_add_NavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_NavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationStarting(This,token) ) 

#define ICoreWebView2_11_add_ContentLoading(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_ContentLoading(This,token)	\
    ( (This)->lpVtbl -> remove_ContentLoading(This,token) ) 

#define ICoreWebView2_11_add_SourceChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_SourceChanged(This,token)	\
    ( (This)->lpVtbl -> remove_SourceChanged(This,token) ) 

#define ICoreWebView2_11_add_HistoryChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_HistoryChanged(This,token)	\
    ( (This)->lpVtbl -> remove_HistoryChanged(This,token) ) 

#define ICoreWebView2_11_add_NavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_NavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) ) 

#define ICoreWebView2_11_add_FrameNavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_FrameNavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) ) 

#define ICoreWebView2_11_add_FrameNavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_FrameNavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) ) 

#define ICoreWebView2_11_add_ScriptDialogOpening(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_ScriptDialogOpening(This,token)	\
    ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) ) 

#define ICoreWebView2_11_add_PermissionRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_PermissionRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PermissionRequested(This,token) ) 

#define ICoreWebView2_11_add_ProcessFailed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_ProcessFailed(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessFailed(This,token) ) 

#define ICoreWebView2_11_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler)	\
    ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) ) 

#define ICoreWebView2_11_RemoveScriptToExecuteOnDocumentCreated(This,id)	\
    ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) ) 

#define ICoreWebView2_11_ExecuteScript(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) ) 

#define ICoreWebView2_11_CapturePreview(This,imageFormat,imageStream,handler)	\
    ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) ) 

#define ICoreWebView2_11_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define ICoreWebView2_11_PostWebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2_11_PostWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) ) 

#define ICoreWebView2_11_add_WebMessageReceived(This,handler,token)	\
    ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) ) 

#define ICoreWebView2_11_remove_WebMessageReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) ) 

#define ICoreWebView2_11_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_11_get_BrowserProcessId(This,value)	\
    ( (This)->lpVtbl -> get_BrowserProcessId(This,value) ) 

#define ICoreWebView2_11_get_CanGoBack(This,canGoBack)	\
    ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) ) 

#define ICoreWebView2_11_get_CanGoForward(This,canGoForward)	\
    ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) ) 

#define ICoreWebView2_11_GoBack(This)	\
    ( (This)->lpVtbl -> GoBack(This) ) 

#define ICoreWebView2_11_GoForward(This)	\
    ( (This)->lpVtbl -> GoForward(This) ) 

#define ICoreWebView2_11_GetDevToolsProtocolEventReceiver(This,eventName,receiver)	\
    ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) ) 

#define ICoreWebView2_11_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#define ICoreWebView2_11_add_NewWindowRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_NewWindowRequested(This,token)	\
    ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) ) 

#define ICoreWebView2_11_add_DocumentTitleChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_DocumentTitleChanged(This,token)	\
    ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) ) 

#define ICoreWebView2_11_get_DocumentTitle(This,title)	\
    ( (This)->lpVtbl -> get_DocumentTitle(This,title) ) 

#define ICoreWebView2_11_AddHostObjectToScript(This,name,object)	\
    ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) ) 

#define ICoreWebView2_11_RemoveHostObjectFromScript(This,name)	\
    ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) ) 

#define ICoreWebView2_11_OpenDevToolsWindow(This)	\
    ( (This)->lpVtbl -> OpenDevToolsWindow(This) ) 

#define ICoreWebView2_11_add_ContainsFullScreenElementChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_ContainsFullScreenElementChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) ) 

#define ICoreWebView2_11_get_ContainsFullScreenElement(This,containsFullScreenElement)	\
    ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) ) 

#define ICoreWebView2_11_add_WebResourceRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_WebResourceRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) ) 

#define ICoreWebView2_11_AddWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_11_RemoveWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_11_add_WindowCloseRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_WindowCloseRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) ) 


#define ICoreWebView2_11_add_WebResourceResponseReceived(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_WebResourceResponseReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) ) 

#define ICoreWebView2_11_NavigateWithWebResourceRequest(This,request)	\
    ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) ) 

#define ICoreWebView2_11_add_DOMContentLoaded(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_DOMContentLoaded(This,token)	\
    ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) ) 

#define ICoreWebView2_11_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 

#define ICoreWebView2_11_get_Environment(This,environment)	\
    ( (This)->lpVtbl -> get_Environment(This,environment) ) 


#define ICoreWebView2_11_TrySuspend(This,handler)	\
    ( (This)->lpVtbl -> TrySuspend(This,handler) ) 

#define ICoreWebView2_11_Resume(This)	\
    ( (This)->lpVtbl -> Resume(This) ) 

#define ICoreWebView2_11_get_IsSuspended(This,isSuspended)	\
    ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) ) 

#define ICoreWebView2_11_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind)	\
    ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) ) 

#define ICoreWebView2_11_ClearVirtualHostNameToFolderMapping(This,hostName)	\
    ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) ) 


#define ICoreWebView2_11_add_FrameCreated(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_FrameCreated(This,token)	\
    ( (This)->lpVtbl -> remove_FrameCreated(This,token) ) 

#define ICoreWebView2_11_add_DownloadStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_DownloadStarting(This,token)	\
    ( (This)->lpVtbl -> remove_DownloadStarting(This,token) ) 


#define ICoreWebView2_11_add_ClientCertificateRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_ClientCertificateRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) ) 


#define ICoreWebView2_11_OpenTaskManagerWindow(This)	\
    ( (This)->lpVtbl -> OpenTaskManagerWindow(This) ) 


#define ICoreWebView2_11_PrintToPdf(This,resultFilePath,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) ) 


#define ICoreWebView2_11_add_IsMutedChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsMutedChanged(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_IsMutedChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsMutedChanged(This,token) ) 

#define ICoreWebView2_11_get_IsMuted(This,value)	\
    ( (This)->lpVtbl -> get_IsMuted(This,value) ) 

#define ICoreWebView2_11_put_IsMuted(This,value)	\
    ( (This)->lpVtbl -> put_IsMuted(This,value) ) 

#define ICoreWebView2_11_add_IsDocumentPlayingAudioChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsDocumentPlayingAudioChanged(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_IsDocumentPlayingAudioChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDocumentPlayingAudioChanged(This,token) ) 

#define ICoreWebView2_11_get_IsDocumentPlayingAudio(This,value)	\
    ( (This)->lpVtbl -> get_IsDocumentPlayingAudio(This,value) ) 


#define ICoreWebView2_11_add_IsDefaultDownloadDialogOpenChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_IsDefaultDownloadDialogOpenChanged(This,handler,token) ) 

#define ICoreWebView2_11_remove_IsDefaultDownloadDialogOpenChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDefaultDownloadDialogOpenChanged(This,token) ) 

#define ICoreWebView2_11_get_IsDefaultDownloadDialogOpen(This,value)	\
    ( (This)->lpVtbl -> get_IsDefaultDownloadDialogOpen(This,value) ) 

#define ICoreWebView2_11_OpenDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> OpenDefaultDownloadDialog(This) ) 

#define ICoreWebView2_11_CloseDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> CloseDefaultDownloadDialog(This) ) 

#define ICoreWebView2_11_get_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_11_put_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_11_get_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogMargin(This,value) ) 

#define ICoreWebView2_11_put_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogMargin(This,value) ) 


#define ICoreWebView2_11_add_BasicAuthenticationRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BasicAuthenticationRequested(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_BasicAuthenticationRequested(This,token)	\
    ( (This)->lpVtbl -> remove_BasicAuthenticationRequested(This,token) ) 


#define ICoreWebView2_11_CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_11_add_ContextMenuRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContextMenuRequested(This,eventHandler,token) ) 

#define ICoreWebView2_11_remove_ContextMenuRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ContextMenuRequested(This,token) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2_11_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2_12_INTERFACE_DEFINED__
#define __ICoreWebView2_12_INTERFACE_DEFINED__

/* interface ICoreWebView2_12 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_12 = {0x35D69927,0xBCFA,0x4566,{0x93,0x49,0x6B,0x3E,0x0D,0x15,0x4C,0xAC}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("35D69927-BCFA-4566-9349-6B3E0D154CAC")
    ICoreWebView2_12 : public ICoreWebView2_11
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE add_StatusBarTextChanged( 
            /* [in] */ ICoreWebView2StatusBarTextChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE remove_StatusBarTextChanged( 
            /* [in] */ EventRegistrationToken token) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_StatusBarText( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2_12Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_12 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_12 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_12 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_12 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_12 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_12 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_12 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_12 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_12 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_12 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_12 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_12 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_12 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_12 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_12 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_12 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_12 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_12 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_12 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_12 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_12 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_12 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_12 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_12 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_12 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_12 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdf )( 
            ICoreWebView2_12 * This,
            /* [in] */ LPCWSTR resultFilePath,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsMuted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, put_IsMuted)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )( 
            ICoreWebView2_12 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsDocumentPlayingAudio)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, add_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, remove_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_IsDefaultDownloadDialogOpen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, OpenDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )( 
            ICoreWebView2_12 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, CloseDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )( 
            ICoreWebView2_12 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogCornerAlignment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogCornerAlignment)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_12 * This,
            /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogMargin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ POINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogMargin)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogMargin )( 
            ICoreWebView2_12 * This,
            /* [in] */ POINT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, add_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *add_BasicAuthenticationRequested )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, remove_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_BasicAuthenticationRequested )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, CallDevToolsProtocolMethodForSession)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethodForSession )( 
            ICoreWebView2_12 * This,
            /* [in] */ LPCWSTR sessionId,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, add_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ContextMenuRequested )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2ContextMenuRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, remove_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ContextMenuRequested )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, add_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *add_StatusBarTextChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ ICoreWebView2StatusBarTextChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, remove_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_StatusBarTextChanged )( 
            ICoreWebView2_12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, get_StatusBarText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusBarText )( 
            ICoreWebView2_12 * This,
            /* [retval][out] */ LPWSTR *value);
        
        END_INTERFACE
    } ICoreWebView2_12Vtbl;

    interface ICoreWebView2_12
    {
        CONST_VTBL struct ICoreWebView2_12Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2_12_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2_12_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2_12_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2_12_get_Settings(This,settings)	\
    ( (This)->lpVtbl -> get_Settings(This,settings) ) 

#define ICoreWebView2_12_get_Source(This,uri)	\
    ( (This)->lpVtbl -> get_Source(This,uri) ) 

#define ICoreWebView2_12_Navigate(This,uri)	\
    ( (This)->lpVtbl -> Navigate(This,uri) ) 

#define ICoreWebView2_12_NavigateToString(This,htmlContent)	\
    ( (This)->lpVtbl -> NavigateToString(This,htmlContent) ) 

#define ICoreWebView2_12_add_NavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_NavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationStarting(This,token) ) 

#define ICoreWebView2_12_add_ContentLoading(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_ContentLoading(This,token)	\
    ( (This)->lpVtbl -> remove_ContentLoading(This,token) ) 

#define ICoreWebView2_12_add_SourceChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_SourceChanged(This,token)	\
    ( (This)->lpVtbl -> remove_SourceChanged(This,token) ) 

#define ICoreWebView2_12_add_HistoryChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_HistoryChanged(This,token)	\
    ( (This)->lpVtbl -> remove_HistoryChanged(This,token) ) 

#define ICoreWebView2_12_add_NavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_NavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) ) 

#define ICoreWebView2_12_add_FrameNavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_FrameNavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) ) 

#define ICoreWebView2_12_add_FrameNavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_FrameNavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) ) 

#define ICoreWebView2_12_add_ScriptDialogOpening(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_ScriptDialogOpening(This,token)	\
    ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) ) 

#define ICoreWebView2_12_add_PermissionRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_PermissionRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PermissionRequested(This,token) ) 

#define ICoreWebView2_12_add_ProcessFailed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_ProcessFailed(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessFailed(This,token) ) 

#define ICoreWebView2_12_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler)	\
    ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) ) 

#define ICoreWebView2_12_RemoveScriptToExecuteOnDocumentCreated(This,id)	\
    ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) ) 

#define ICoreWebView2_12_ExecuteScript(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) ) 

#define ICoreWebView2_12_CapturePreview(This,imageFormat,imageStream,handler)	\
    ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) ) 

#define ICoreWebView2_12_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define ICoreWebView2_12_PostWebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2_12_PostWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) ) 

#define ICoreWebView2_12_add_WebMessageReceived(This,handler,token)	\
    ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) ) 

#define ICoreWebView2_12_remove_WebMessageReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) ) 

#define ICoreWebView2_12_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_12_get_BrowserProcessId(This,value)	\
    ( (This)->lpVtbl -> get_BrowserProcessId(This,value) ) 

#define ICoreWebView2_12_get_CanGoBack(This,canGoBack)	\
    ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) ) 

#define ICoreWebView2_12_get_CanGoForward(This,canGoForward)	\
    ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) ) 

#define ICoreWebView2_12_GoBack(This)	\
    ( (This)->lpVtbl -> GoBack(This) ) 

#define ICoreWebView2_12_GoForward(This)	\
    ( (This)->lpVtbl -> GoForward(This) ) 

#define ICoreWebView2_12_GetDevToolsProtocolEventReceiver(This,eventName,receiver)	\
    ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) ) 

#define ICoreWebView2_12_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#define ICoreWebView2_12_add_NewWindowRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_NewWindowRequested(This,token)	\
    ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) ) 

#define ICoreWebView2_12_add_DocumentTitleChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_DocumentTitleChanged(This,token)	\
    ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) ) 

#define ICoreWebView2_12_get_DocumentTitle(This,title)	\
    ( (This)->lpVtbl -> get_DocumentTitle(This,title) ) 

#define ICoreWebView2_12_AddHostObjectToScript(This,name,object)	\
    ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) ) 

#define ICoreWebView2_12_RemoveHostObjectFromScript(This,name)	\
    ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) ) 

#define ICoreWebView2_12_OpenDevToolsWindow(This)	\
    ( (This)->lpVtbl -> OpenDevToolsWindow(This) ) 

#define ICoreWebView2_12_add_ContainsFullScreenElementChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_ContainsFullScreenElementChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) ) 

#define ICoreWebView2_12_get_ContainsFullScreenElement(This,containsFullScreenElement)	\
    ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) ) 

#define ICoreWebView2_12_add_WebResourceRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_WebResourceRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) ) 

#define ICoreWebView2_12_AddWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_12_RemoveWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_12_add_WindowCloseRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_WindowCloseRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) ) 


#define ICoreWebView2_12_add_WebResourceResponseReceived(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_WebResourceResponseReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) ) 

#define ICoreWebView2_12_NavigateWithWebResourceRequest(This,request)	\
    ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) ) 

#define ICoreWebView2_12_add_DOMContentLoaded(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_DOMContentLoaded(This,token)	\
    ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) ) 

#define ICoreWebView2_12_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 

#define ICoreWebView2_12_get_Environment(This,environment)	\
    ( (This)->lpVtbl -> get_Environment(This,environment) ) 


#define ICoreWebView2_12_TrySuspend(This,handler)	\
    ( (This)->lpVtbl -> TrySuspend(This,handler) ) 

#define ICoreWebView2_12_Resume(This)	\
    ( (This)->lpVtbl -> Resume(This) ) 

#define ICoreWebView2_12_get_IsSuspended(This,isSuspended)	\
    ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) ) 

#define ICoreWebView2_12_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind)	\
    ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) ) 

#define ICoreWebView2_12_ClearVirtualHostNameToFolderMapping(This,hostName)	\
    ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) ) 


#define ICoreWebView2_12_add_FrameCreated(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_FrameCreated(This,token)	\
    ( (This)->lpVtbl -> remove_FrameCreated(This,token) ) 

#define ICoreWebView2_12_add_DownloadStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_DownloadStarting(This,token)	\
    ( (This)->lpVtbl -> remove_DownloadStarting(This,token) ) 


#define ICoreWebView2_12_add_ClientCertificateRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_ClientCertificateRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) ) 


#define ICoreWebView2_12_OpenTaskManagerWindow(This)	\
    ( (This)->lpVtbl -> OpenTaskManagerWindow(This) ) 


#define ICoreWebView2_12_PrintToPdf(This,resultFilePath,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) ) 


#define ICoreWebView2_12_add_IsMutedChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsMutedChanged(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_IsMutedChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsMutedChanged(This,token) ) 

#define ICoreWebView2_12_get_IsMuted(This,value)	\
    ( (This)->lpVtbl -> get_IsMuted(This,value) ) 

#define ICoreWebView2_12_put_IsMuted(This,value)	\
    ( (This)->lpVtbl -> put_IsMuted(This,value) ) 

#define ICoreWebView2_12_add_IsDocumentPlayingAudioChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsDocumentPlayingAudioChanged(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_IsDocumentPlayingAudioChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDocumentPlayingAudioChanged(This,token) ) 

#define ICoreWebView2_12_get_IsDocumentPlayingAudio(This,value)	\
    ( (This)->lpVtbl -> get_IsDocumentPlayingAudio(This,value) ) 


#define ICoreWebView2_12_add_IsDefaultDownloadDialogOpenChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_IsDefaultDownloadDialogOpenChanged(This,handler,token) ) 

#define ICoreWebView2_12_remove_IsDefaultDownloadDialogOpenChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDefaultDownloadDialogOpenChanged(This,token) ) 

#define ICoreWebView2_12_get_IsDefaultDownloadDialogOpen(This,value)	\
    ( (This)->lpVtbl -> get_IsDefaultDownloadDialogOpen(This,value) ) 

#define ICoreWebView2_12_OpenDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> OpenDefaultDownloadDialog(This) ) 

#define ICoreWebView2_12_CloseDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> CloseDefaultDownloadDialog(This) ) 

#define ICoreWebView2_12_get_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_12_put_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_12_get_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogMargin(This,value) ) 

#define ICoreWebView2_12_put_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogMargin(This,value) ) 


#define ICoreWebView2_12_add_BasicAuthenticationRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BasicAuthenticationRequested(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_BasicAuthenticationRequested(This,token)	\
    ( (This)->lpVtbl -> remove_BasicAuthenticationRequested(This,token) ) 


#define ICoreWebView2_12_CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_12_add_ContextMenuRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContextMenuRequested(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_ContextMenuRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ContextMenuRequested(This,token) ) 


#define ICoreWebView2_12_add_StatusBarTextChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_StatusBarTextChanged(This,eventHandler,token) ) 

#define ICoreWebView2_12_remove_StatusBarTextChanged(This,token)	\
    ( (This)->lpVtbl -> remove_StatusBarTextChanged(This,token) ) 

#define ICoreWebView2_12_get_StatusBarText(This,value)	\
    ( (This)->lpVtbl -> get_StatusBarText(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2_12_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2_13_INTERFACE_DEFINED__
#define __ICoreWebView2_13_INTERFACE_DEFINED__

/* interface ICoreWebView2_13 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_13 = {0xF75F09A8,0x667E,0x4983,{0x88,0xD6,0xC8,0x77,0x3F,0x31,0x5E,0x84}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F75F09A8-667E-4983-88D6-C8773F315E84")
    ICoreWebView2_13 : public ICoreWebView2_12
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Profile( 
            /* [retval][out] */ ICoreWebView2Profile **value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2_13Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_13 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_13 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_13 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_13 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_13 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_13 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_13 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_13 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_13 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_13 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_13 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_13 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_13 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_13 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_13 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_13 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_13 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_13 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_13 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_13 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_13 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_13 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_13 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_13 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_13 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_13 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdf )( 
            ICoreWebView2_13 * This,
            /* [in] */ LPCWSTR resultFilePath,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsMuted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, put_IsMuted)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )( 
            ICoreWebView2_13 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsDocumentPlayingAudio)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, add_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, remove_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_IsDefaultDownloadDialogOpen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, OpenDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )( 
            ICoreWebView2_13 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, CloseDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )( 
            ICoreWebView2_13 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogCornerAlignment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogCornerAlignment)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_13 * This,
            /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogMargin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ POINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogMargin)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogMargin )( 
            ICoreWebView2_13 * This,
            /* [in] */ POINT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, add_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *add_BasicAuthenticationRequested )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, remove_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_BasicAuthenticationRequested )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, CallDevToolsProtocolMethodForSession)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethodForSession )( 
            ICoreWebView2_13 * This,
            /* [in] */ LPCWSTR sessionId,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, add_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ContextMenuRequested )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2ContextMenuRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, remove_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ContextMenuRequested )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, add_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *add_StatusBarTextChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ ICoreWebView2StatusBarTextChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, remove_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_StatusBarTextChanged )( 
            ICoreWebView2_13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, get_StatusBarText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusBarText )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_13, get_Profile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profile )( 
            ICoreWebView2_13 * This,
            /* [retval][out] */ ICoreWebView2Profile **value);
        
        END_INTERFACE
    } ICoreWebView2_13Vtbl;

    interface ICoreWebView2_13
    {
        CONST_VTBL struct ICoreWebView2_13Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2_13_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2_13_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2_13_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2_13_get_Settings(This,settings)	\
    ( (This)->lpVtbl -> get_Settings(This,settings) ) 

#define ICoreWebView2_13_get_Source(This,uri)	\
    ( (This)->lpVtbl -> get_Source(This,uri) ) 

#define ICoreWebView2_13_Navigate(This,uri)	\
    ( (This)->lpVtbl -> Navigate(This,uri) ) 

#define ICoreWebView2_13_NavigateToString(This,htmlContent)	\
    ( (This)->lpVtbl -> NavigateToString(This,htmlContent) ) 

#define ICoreWebView2_13_add_NavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_NavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationStarting(This,token) ) 

#define ICoreWebView2_13_add_ContentLoading(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_ContentLoading(This,token)	\
    ( (This)->lpVtbl -> remove_ContentLoading(This,token) ) 

#define ICoreWebView2_13_add_SourceChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_SourceChanged(This,token)	\
    ( (This)->lpVtbl -> remove_SourceChanged(This,token) ) 

#define ICoreWebView2_13_add_HistoryChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_HistoryChanged(This,token)	\
    ( (This)->lpVtbl -> remove_HistoryChanged(This,token) ) 

#define ICoreWebView2_13_add_NavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_NavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) ) 

#define ICoreWebView2_13_add_FrameNavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_FrameNavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) ) 

#define ICoreWebView2_13_add_FrameNavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_FrameNavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) ) 

#define ICoreWebView2_13_add_ScriptDialogOpening(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_ScriptDialogOpening(This,token)	\
    ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) ) 

#define ICoreWebView2_13_add_PermissionRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_PermissionRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PermissionRequested(This,token) ) 

#define ICoreWebView2_13_add_ProcessFailed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_ProcessFailed(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessFailed(This,token) ) 

#define ICoreWebView2_13_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler)	\
    ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) ) 

#define ICoreWebView2_13_RemoveScriptToExecuteOnDocumentCreated(This,id)	\
    ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) ) 

#define ICoreWebView2_13_ExecuteScript(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) ) 

#define ICoreWebView2_13_CapturePreview(This,imageFormat,imageStream,handler)	\
    ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) ) 

#define ICoreWebView2_13_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define ICoreWebView2_13_PostWebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2_13_PostWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) ) 

#define ICoreWebView2_13_add_WebMessageReceived(This,handler,token)	\
    ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) ) 

#define ICoreWebView2_13_remove_WebMessageReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) ) 

#define ICoreWebView2_13_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_13_get_BrowserProcessId(This,value)	\
    ( (This)->lpVtbl -> get_BrowserProcessId(This,value) ) 

#define ICoreWebView2_13_get_CanGoBack(This,canGoBack)	\
    ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) ) 

#define ICoreWebView2_13_get_CanGoForward(This,canGoForward)	\
    ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) ) 

#define ICoreWebView2_13_GoBack(This)	\
    ( (This)->lpVtbl -> GoBack(This) ) 

#define ICoreWebView2_13_GoForward(This)	\
    ( (This)->lpVtbl -> GoForward(This) ) 

#define ICoreWebView2_13_GetDevToolsProtocolEventReceiver(This,eventName,receiver)	\
    ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) ) 

#define ICoreWebView2_13_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#define ICoreWebView2_13_add_NewWindowRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_NewWindowRequested(This,token)	\
    ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) ) 

#define ICoreWebView2_13_add_DocumentTitleChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_DocumentTitleChanged(This,token)	\
    ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) ) 

#define ICoreWebView2_13_get_DocumentTitle(This,title)	\
    ( (This)->lpVtbl -> get_DocumentTitle(This,title) ) 

#define ICoreWebView2_13_AddHostObjectToScript(This,name,object)	\
    ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) ) 

#define ICoreWebView2_13_RemoveHostObjectFromScript(This,name)	\
    ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) ) 

#define ICoreWebView2_13_OpenDevToolsWindow(This)	\
    ( (This)->lpVtbl -> OpenDevToolsWindow(This) ) 

#define ICoreWebView2_13_add_ContainsFullScreenElementChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_ContainsFullScreenElementChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) ) 

#define ICoreWebView2_13_get_ContainsFullScreenElement(This,containsFullScreenElement)	\
    ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) ) 

#define ICoreWebView2_13_add_WebResourceRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_WebResourceRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) ) 

#define ICoreWebView2_13_AddWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_13_RemoveWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_13_add_WindowCloseRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_WindowCloseRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) ) 


#define ICoreWebView2_13_add_WebResourceResponseReceived(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_WebResourceResponseReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) ) 

#define ICoreWebView2_13_NavigateWithWebResourceRequest(This,request)	\
    ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) ) 

#define ICoreWebView2_13_add_DOMContentLoaded(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_DOMContentLoaded(This,token)	\
    ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) ) 

#define ICoreWebView2_13_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 

#define ICoreWebView2_13_get_Environment(This,environment)	\
    ( (This)->lpVtbl -> get_Environment(This,environment) ) 


#define ICoreWebView2_13_TrySuspend(This,handler)	\
    ( (This)->lpVtbl -> TrySuspend(This,handler) ) 

#define ICoreWebView2_13_Resume(This)	\
    ( (This)->lpVtbl -> Resume(This) ) 

#define ICoreWebView2_13_get_IsSuspended(This,isSuspended)	\
    ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) ) 

#define ICoreWebView2_13_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind)	\
    ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) ) 

#define ICoreWebView2_13_ClearVirtualHostNameToFolderMapping(This,hostName)	\
    ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) ) 


#define ICoreWebView2_13_add_FrameCreated(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_FrameCreated(This,token)	\
    ( (This)->lpVtbl -> remove_FrameCreated(This,token) ) 

#define ICoreWebView2_13_add_DownloadStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_DownloadStarting(This,token)	\
    ( (This)->lpVtbl -> remove_DownloadStarting(This,token) ) 


#define ICoreWebView2_13_add_ClientCertificateRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_ClientCertificateRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) ) 


#define ICoreWebView2_13_OpenTaskManagerWindow(This)	\
    ( (This)->lpVtbl -> OpenTaskManagerWindow(This) ) 


#define ICoreWebView2_13_PrintToPdf(This,resultFilePath,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) ) 


#define ICoreWebView2_13_add_IsMutedChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsMutedChanged(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_IsMutedChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsMutedChanged(This,token) ) 

#define ICoreWebView2_13_get_IsMuted(This,value)	\
    ( (This)->lpVtbl -> get_IsMuted(This,value) ) 

#define ICoreWebView2_13_put_IsMuted(This,value)	\
    ( (This)->lpVtbl -> put_IsMuted(This,value) ) 

#define ICoreWebView2_13_add_IsDocumentPlayingAudioChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsDocumentPlayingAudioChanged(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_IsDocumentPlayingAudioChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDocumentPlayingAudioChanged(This,token) ) 

#define ICoreWebView2_13_get_IsDocumentPlayingAudio(This,value)	\
    ( (This)->lpVtbl -> get_IsDocumentPlayingAudio(This,value) ) 


#define ICoreWebView2_13_add_IsDefaultDownloadDialogOpenChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_IsDefaultDownloadDialogOpenChanged(This,handler,token) ) 

#define ICoreWebView2_13_remove_IsDefaultDownloadDialogOpenChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDefaultDownloadDialogOpenChanged(This,token) ) 

#define ICoreWebView2_13_get_IsDefaultDownloadDialogOpen(This,value)	\
    ( (This)->lpVtbl -> get_IsDefaultDownloadDialogOpen(This,value) ) 

#define ICoreWebView2_13_OpenDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> OpenDefaultDownloadDialog(This) ) 

#define ICoreWebView2_13_CloseDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> CloseDefaultDownloadDialog(This) ) 

#define ICoreWebView2_13_get_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_13_put_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_13_get_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogMargin(This,value) ) 

#define ICoreWebView2_13_put_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogMargin(This,value) ) 


#define ICoreWebView2_13_add_BasicAuthenticationRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BasicAuthenticationRequested(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_BasicAuthenticationRequested(This,token)	\
    ( (This)->lpVtbl -> remove_BasicAuthenticationRequested(This,token) ) 


#define ICoreWebView2_13_CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_13_add_ContextMenuRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContextMenuRequested(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_ContextMenuRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ContextMenuRequested(This,token) ) 


#define ICoreWebView2_13_add_StatusBarTextChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_StatusBarTextChanged(This,eventHandler,token) ) 

#define ICoreWebView2_13_remove_StatusBarTextChanged(This,token)	\
    ( (This)->lpVtbl -> remove_StatusBarTextChanged(This,token) ) 

#define ICoreWebView2_13_get_StatusBarText(This,value)	\
    ( (This)->lpVtbl -> get_StatusBarText(This,value) ) 


#define ICoreWebView2_13_get_Profile(This,value)	\
    ( (This)->lpVtbl -> get_Profile(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2_13_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2_14_INTERFACE_DEFINED__
#define __ICoreWebView2_14_INTERFACE_DEFINED__

/* interface ICoreWebView2_14 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_14 = {0x6DAA4F10,0x4A90,0x4753,{0x88,0x98,0x77,0xC5,0xDF,0x53,0x41,0x65}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6DAA4F10-4A90-4753-8898-77C5DF534165")
    ICoreWebView2_14 : public ICoreWebView2_13
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE add_ServerCertificateErrorDetected( 
            /* [in] */ ICoreWebView2ServerCertificateErrorDetectedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE remove_ServerCertificateErrorDetected( 
            /* [in] */ EventRegistrationToken token) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ClearServerCertificateErrorActions( 
            /* [in] */ ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler *handler) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2_14Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_14 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_14 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_14 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_14 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_14 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_14 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_14 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_14 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_14 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_14 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_14 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_14 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_14 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_14 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_14 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_14 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_14 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_14 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_14 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_14 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_14 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_14 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_14 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_14 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_14 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_14 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdf )( 
            ICoreWebView2_14 * This,
            /* [in] */ LPCWSTR resultFilePath,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsMuted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, put_IsMuted)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )( 
            ICoreWebView2_14 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsDocumentPlayingAudio)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, add_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, remove_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_IsDefaultDownloadDialogOpen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, OpenDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )( 
            ICoreWebView2_14 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, CloseDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )( 
            ICoreWebView2_14 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogCornerAlignment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogCornerAlignment)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_14 * This,
            /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogMargin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ POINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogMargin)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogMargin )( 
            ICoreWebView2_14 * This,
            /* [in] */ POINT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, add_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *add_BasicAuthenticationRequested )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, remove_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_BasicAuthenticationRequested )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, CallDevToolsProtocolMethodForSession)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethodForSession )( 
            ICoreWebView2_14 * This,
            /* [in] */ LPCWSTR sessionId,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, add_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ContextMenuRequested )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2ContextMenuRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, remove_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ContextMenuRequested )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, add_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *add_StatusBarTextChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2StatusBarTextChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, remove_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_StatusBarTextChanged )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, get_StatusBarText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusBarText )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_13, get_Profile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profile )( 
            ICoreWebView2_14 * This,
            /* [retval][out] */ ICoreWebView2Profile **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, add_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *add_ServerCertificateErrorDetected )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2ServerCertificateErrorDetectedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, remove_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *remove_ServerCertificateErrorDetected )( 
            ICoreWebView2_14 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, ClearServerCertificateErrorActions)
        HRESULT ( STDMETHODCALLTYPE *ClearServerCertificateErrorActions )( 
            ICoreWebView2_14 * This,
            /* [in] */ ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler *handler);
        
        END_INTERFACE
    } ICoreWebView2_14Vtbl;

    interface ICoreWebView2_14
    {
        CONST_VTBL struct ICoreWebView2_14Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2_14_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2_14_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2_14_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2_14_get_Settings(This,settings)	\
    ( (This)->lpVtbl -> get_Settings(This,settings) ) 

#define ICoreWebView2_14_get_Source(This,uri)	\
    ( (This)->lpVtbl -> get_Source(This,uri) ) 

#define ICoreWebView2_14_Navigate(This,uri)	\
    ( (This)->lpVtbl -> Navigate(This,uri) ) 

#define ICoreWebView2_14_NavigateToString(This,htmlContent)	\
    ( (This)->lpVtbl -> NavigateToString(This,htmlContent) ) 

#define ICoreWebView2_14_add_NavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_NavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationStarting(This,token) ) 

#define ICoreWebView2_14_add_ContentLoading(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_ContentLoading(This,token)	\
    ( (This)->lpVtbl -> remove_ContentLoading(This,token) ) 

#define ICoreWebView2_14_add_SourceChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_SourceChanged(This,token)	\
    ( (This)->lpVtbl -> remove_SourceChanged(This,token) ) 

#define ICoreWebView2_14_add_HistoryChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_HistoryChanged(This,token)	\
    ( (This)->lpVtbl -> remove_HistoryChanged(This,token) ) 

#define ICoreWebView2_14_add_NavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_NavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) ) 

#define ICoreWebView2_14_add_FrameNavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_FrameNavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) ) 

#define ICoreWebView2_14_add_FrameNavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_FrameNavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) ) 

#define ICoreWebView2_14_add_ScriptDialogOpening(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_ScriptDialogOpening(This,token)	\
    ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) ) 

#define ICoreWebView2_14_add_PermissionRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_PermissionRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PermissionRequested(This,token) ) 

#define ICoreWebView2_14_add_ProcessFailed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_ProcessFailed(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessFailed(This,token) ) 

#define ICoreWebView2_14_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler)	\
    ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) ) 

#define ICoreWebView2_14_RemoveScriptToExecuteOnDocumentCreated(This,id)	\
    ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) ) 

#define ICoreWebView2_14_ExecuteScript(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) ) 

#define ICoreWebView2_14_CapturePreview(This,imageFormat,imageStream,handler)	\
    ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) ) 

#define ICoreWebView2_14_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define ICoreWebView2_14_PostWebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2_14_PostWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) ) 

#define ICoreWebView2_14_add_WebMessageReceived(This,handler,token)	\
    ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) ) 

#define ICoreWebView2_14_remove_WebMessageReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) ) 

#define ICoreWebView2_14_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_14_get_BrowserProcessId(This,value)	\
    ( (This)->lpVtbl -> get_BrowserProcessId(This,value) ) 

#define ICoreWebView2_14_get_CanGoBack(This,canGoBack)	\
    ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) ) 

#define ICoreWebView2_14_get_CanGoForward(This,canGoForward)	\
    ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) ) 

#define ICoreWebView2_14_GoBack(This)	\
    ( (This)->lpVtbl -> GoBack(This) ) 

#define ICoreWebView2_14_GoForward(This)	\
    ( (This)->lpVtbl -> GoForward(This) ) 

#define ICoreWebView2_14_GetDevToolsProtocolEventReceiver(This,eventName,receiver)	\
    ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) ) 

#define ICoreWebView2_14_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#define ICoreWebView2_14_add_NewWindowRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_NewWindowRequested(This,token)	\
    ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) ) 

#define ICoreWebView2_14_add_DocumentTitleChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_DocumentTitleChanged(This,token)	\
    ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) ) 

#define ICoreWebView2_14_get_DocumentTitle(This,title)	\
    ( (This)->lpVtbl -> get_DocumentTitle(This,title) ) 

#define ICoreWebView2_14_AddHostObjectToScript(This,name,object)	\
    ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) ) 

#define ICoreWebView2_14_RemoveHostObjectFromScript(This,name)	\
    ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) ) 

#define ICoreWebView2_14_OpenDevToolsWindow(This)	\
    ( (This)->lpVtbl -> OpenDevToolsWindow(This) ) 

#define ICoreWebView2_14_add_ContainsFullScreenElementChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_ContainsFullScreenElementChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) ) 

#define ICoreWebView2_14_get_ContainsFullScreenElement(This,containsFullScreenElement)	\
    ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) ) 

#define ICoreWebView2_14_add_WebResourceRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_WebResourceRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) ) 

#define ICoreWebView2_14_AddWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_14_RemoveWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_14_add_WindowCloseRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_WindowCloseRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) ) 


#define ICoreWebView2_14_add_WebResourceResponseReceived(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_WebResourceResponseReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) ) 

#define ICoreWebView2_14_NavigateWithWebResourceRequest(This,request)	\
    ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) ) 

#define ICoreWebView2_14_add_DOMContentLoaded(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_DOMContentLoaded(This,token)	\
    ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) ) 

#define ICoreWebView2_14_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 

#define ICoreWebView2_14_get_Environment(This,environment)	\
    ( (This)->lpVtbl -> get_Environment(This,environment) ) 


#define ICoreWebView2_14_TrySuspend(This,handler)	\
    ( (This)->lpVtbl -> TrySuspend(This,handler) ) 

#define ICoreWebView2_14_Resume(This)	\
    ( (This)->lpVtbl -> Resume(This) ) 

#define ICoreWebView2_14_get_IsSuspended(This,isSuspended)	\
    ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) ) 

#define ICoreWebView2_14_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind)	\
    ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) ) 

#define ICoreWebView2_14_ClearVirtualHostNameToFolderMapping(This,hostName)	\
    ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) ) 


#define ICoreWebView2_14_add_FrameCreated(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_FrameCreated(This,token)	\
    ( (This)->lpVtbl -> remove_FrameCreated(This,token) ) 

#define ICoreWebView2_14_add_DownloadStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_DownloadStarting(This,token)	\
    ( (This)->lpVtbl -> remove_DownloadStarting(This,token) ) 


#define ICoreWebView2_14_add_ClientCertificateRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_ClientCertificateRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) ) 


#define ICoreWebView2_14_OpenTaskManagerWindow(This)	\
    ( (This)->lpVtbl -> OpenTaskManagerWindow(This) ) 


#define ICoreWebView2_14_PrintToPdf(This,resultFilePath,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) ) 


#define ICoreWebView2_14_add_IsMutedChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsMutedChanged(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_IsMutedChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsMutedChanged(This,token) ) 

#define ICoreWebView2_14_get_IsMuted(This,value)	\
    ( (This)->lpVtbl -> get_IsMuted(This,value) ) 

#define ICoreWebView2_14_put_IsMuted(This,value)	\
    ( (This)->lpVtbl -> put_IsMuted(This,value) ) 

#define ICoreWebView2_14_add_IsDocumentPlayingAudioChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsDocumentPlayingAudioChanged(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_IsDocumentPlayingAudioChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDocumentPlayingAudioChanged(This,token) ) 

#define ICoreWebView2_14_get_IsDocumentPlayingAudio(This,value)	\
    ( (This)->lpVtbl -> get_IsDocumentPlayingAudio(This,value) ) 


#define ICoreWebView2_14_add_IsDefaultDownloadDialogOpenChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_IsDefaultDownloadDialogOpenChanged(This,handler,token) ) 

#define ICoreWebView2_14_remove_IsDefaultDownloadDialogOpenChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDefaultDownloadDialogOpenChanged(This,token) ) 

#define ICoreWebView2_14_get_IsDefaultDownloadDialogOpen(This,value)	\
    ( (This)->lpVtbl -> get_IsDefaultDownloadDialogOpen(This,value) ) 

#define ICoreWebView2_14_OpenDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> OpenDefaultDownloadDialog(This) ) 

#define ICoreWebView2_14_CloseDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> CloseDefaultDownloadDialog(This) ) 

#define ICoreWebView2_14_get_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_14_put_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_14_get_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogMargin(This,value) ) 

#define ICoreWebView2_14_put_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogMargin(This,value) ) 


#define ICoreWebView2_14_add_BasicAuthenticationRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BasicAuthenticationRequested(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_BasicAuthenticationRequested(This,token)	\
    ( (This)->lpVtbl -> remove_BasicAuthenticationRequested(This,token) ) 


#define ICoreWebView2_14_CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_14_add_ContextMenuRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContextMenuRequested(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_ContextMenuRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ContextMenuRequested(This,token) ) 


#define ICoreWebView2_14_add_StatusBarTextChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_StatusBarTextChanged(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_StatusBarTextChanged(This,token)	\
    ( (This)->lpVtbl -> remove_StatusBarTextChanged(This,token) ) 

#define ICoreWebView2_14_get_StatusBarText(This,value)	\
    ( (This)->lpVtbl -> get_StatusBarText(This,value) ) 


#define ICoreWebView2_14_get_Profile(This,value)	\
    ( (This)->lpVtbl -> get_Profile(This,value) ) 


#define ICoreWebView2_14_add_ServerCertificateErrorDetected(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ServerCertificateErrorDetected(This,eventHandler,token) ) 

#define ICoreWebView2_14_remove_ServerCertificateErrorDetected(This,token)	\
    ( (This)->lpVtbl -> remove_ServerCertificateErrorDetected(This,token) ) 

#define ICoreWebView2_14_ClearServerCertificateErrorActions(This,handler)	\
    ( (This)->lpVtbl -> ClearServerCertificateErrorActions(This,handler) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2_14_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2_15_INTERFACE_DEFINED__
#define __ICoreWebView2_15_INTERFACE_DEFINED__

/* interface ICoreWebView2_15 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_15 = {0x517B2D1D,0x7DAE,0x4A66,{0xA4,0xF4,0x10,0x35,0x2F,0xFB,0x95,0x18}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("517B2D1D-7DAE-4A66-A4F4-10352FFB9518")
    ICoreWebView2_15 : public ICoreWebView2_14
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE add_FaviconChanged( 
            /* [in] */ ICoreWebView2FaviconChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE remove_FaviconChanged( 
            /* [in] */ EventRegistrationToken token) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FaviconUri( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetFavicon( 
            /* [in] */ COREWEBVIEW2_FAVICON_IMAGE_FORMAT format,
            /* [in] */ ICoreWebView2GetFaviconCompletedHandler *completedHandler) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2_15Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_15 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_15 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_15 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_15 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_15 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_15 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_15 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_15 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_15 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_15 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_15 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_15 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_15 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_15 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_15 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_15 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_15 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_15 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_15 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_15 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_15 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_15 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_15 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_15 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_15 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_15 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdf )( 
            ICoreWebView2_15 * This,
            /* [in] */ LPCWSTR resultFilePath,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsMuted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, put_IsMuted)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )( 
            ICoreWebView2_15 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsDocumentPlayingAudio)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, add_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, remove_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_IsDefaultDownloadDialogOpen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, OpenDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )( 
            ICoreWebView2_15 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, CloseDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )( 
            ICoreWebView2_15 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogCornerAlignment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogCornerAlignment)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_15 * This,
            /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogMargin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ POINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogMargin)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogMargin )( 
            ICoreWebView2_15 * This,
            /* [in] */ POINT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, add_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *add_BasicAuthenticationRequested )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, remove_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_BasicAuthenticationRequested )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, CallDevToolsProtocolMethodForSession)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethodForSession )( 
            ICoreWebView2_15 * This,
            /* [in] */ LPCWSTR sessionId,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, add_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ContextMenuRequested )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2ContextMenuRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, remove_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ContextMenuRequested )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, add_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *add_StatusBarTextChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2StatusBarTextChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, remove_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_StatusBarTextChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, get_StatusBarText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusBarText )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_13, get_Profile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profile )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ ICoreWebView2Profile **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, add_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *add_ServerCertificateErrorDetected )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2ServerCertificateErrorDetectedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, remove_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *remove_ServerCertificateErrorDetected )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, ClearServerCertificateErrorActions)
        HRESULT ( STDMETHODCALLTYPE *ClearServerCertificateErrorActions )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, add_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *add_FaviconChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ ICoreWebView2FaviconChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, remove_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_FaviconChanged )( 
            ICoreWebView2_15 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, get_FaviconUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaviconUri )( 
            ICoreWebView2_15 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, GetFavicon)
        HRESULT ( STDMETHODCALLTYPE *GetFavicon )( 
            ICoreWebView2_15 * This,
            /* [in] */ COREWEBVIEW2_FAVICON_IMAGE_FORMAT format,
            /* [in] */ ICoreWebView2GetFaviconCompletedHandler *completedHandler);
        
        END_INTERFACE
    } ICoreWebView2_15Vtbl;

    interface ICoreWebView2_15
    {
        CONST_VTBL struct ICoreWebView2_15Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2_15_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2_15_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2_15_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2_15_get_Settings(This,settings)	\
    ( (This)->lpVtbl -> get_Settings(This,settings) ) 

#define ICoreWebView2_15_get_Source(This,uri)	\
    ( (This)->lpVtbl -> get_Source(This,uri) ) 

#define ICoreWebView2_15_Navigate(This,uri)	\
    ( (This)->lpVtbl -> Navigate(This,uri) ) 

#define ICoreWebView2_15_NavigateToString(This,htmlContent)	\
    ( (This)->lpVtbl -> NavigateToString(This,htmlContent) ) 

#define ICoreWebView2_15_add_NavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_NavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationStarting(This,token) ) 

#define ICoreWebView2_15_add_ContentLoading(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_ContentLoading(This,token)	\
    ( (This)->lpVtbl -> remove_ContentLoading(This,token) ) 

#define ICoreWebView2_15_add_SourceChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_SourceChanged(This,token)	\
    ( (This)->lpVtbl -> remove_SourceChanged(This,token) ) 

#define ICoreWebView2_15_add_HistoryChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_HistoryChanged(This,token)	\
    ( (This)->lpVtbl -> remove_HistoryChanged(This,token) ) 

#define ICoreWebView2_15_add_NavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_NavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) ) 

#define ICoreWebView2_15_add_FrameNavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_FrameNavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) ) 

#define ICoreWebView2_15_add_FrameNavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_FrameNavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) ) 

#define ICoreWebView2_15_add_ScriptDialogOpening(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_ScriptDialogOpening(This,token)	\
    ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) ) 

#define ICoreWebView2_15_add_PermissionRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_PermissionRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PermissionRequested(This,token) ) 

#define ICoreWebView2_15_add_ProcessFailed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_ProcessFailed(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessFailed(This,token) ) 

#define ICoreWebView2_15_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler)	\
    ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) ) 

#define ICoreWebView2_15_RemoveScriptToExecuteOnDocumentCreated(This,id)	\
    ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) ) 

#define ICoreWebView2_15_ExecuteScript(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) ) 

#define ICoreWebView2_15_CapturePreview(This,imageFormat,imageStream,handler)	\
    ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) ) 

#define ICoreWebView2_15_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define ICoreWebView2_15_PostWebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2_15_PostWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) ) 

#define ICoreWebView2_15_add_WebMessageReceived(This,handler,token)	\
    ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) ) 

#define ICoreWebView2_15_remove_WebMessageReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) ) 

#define ICoreWebView2_15_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_15_get_BrowserProcessId(This,value)	\
    ( (This)->lpVtbl -> get_BrowserProcessId(This,value) ) 

#define ICoreWebView2_15_get_CanGoBack(This,canGoBack)	\
    ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) ) 

#define ICoreWebView2_15_get_CanGoForward(This,canGoForward)	\
    ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) ) 

#define ICoreWebView2_15_GoBack(This)	\
    ( (This)->lpVtbl -> GoBack(This) ) 

#define ICoreWebView2_15_GoForward(This)	\
    ( (This)->lpVtbl -> GoForward(This) ) 

#define ICoreWebView2_15_GetDevToolsProtocolEventReceiver(This,eventName,receiver)	\
    ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) ) 

#define ICoreWebView2_15_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#define ICoreWebView2_15_add_NewWindowRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_NewWindowRequested(This,token)	\
    ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) ) 

#define ICoreWebView2_15_add_DocumentTitleChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_DocumentTitleChanged(This,token)	\
    ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) ) 

#define ICoreWebView2_15_get_DocumentTitle(This,title)	\
    ( (This)->lpVtbl -> get_DocumentTitle(This,title) ) 

#define ICoreWebView2_15_AddHostObjectToScript(This,name,object)	\
    ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) ) 

#define ICoreWebView2_15_RemoveHostObjectFromScript(This,name)	\
    ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) ) 

#define ICoreWebView2_15_OpenDevToolsWindow(This)	\
    ( (This)->lpVtbl -> OpenDevToolsWindow(This) ) 

#define ICoreWebView2_15_add_ContainsFullScreenElementChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_ContainsFullScreenElementChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) ) 

#define ICoreWebView2_15_get_ContainsFullScreenElement(This,containsFullScreenElement)	\
    ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) ) 

#define ICoreWebView2_15_add_WebResourceRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_WebResourceRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) ) 

#define ICoreWebView2_15_AddWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_15_RemoveWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_15_add_WindowCloseRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_WindowCloseRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) ) 


#define ICoreWebView2_15_add_WebResourceResponseReceived(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_WebResourceResponseReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) ) 

#define ICoreWebView2_15_NavigateWithWebResourceRequest(This,request)	\
    ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) ) 

#define ICoreWebView2_15_add_DOMContentLoaded(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_DOMContentLoaded(This,token)	\
    ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) ) 

#define ICoreWebView2_15_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 

#define ICoreWebView2_15_get_Environment(This,environment)	\
    ( (This)->lpVtbl -> get_Environment(This,environment) ) 


#define ICoreWebView2_15_TrySuspend(This,handler)	\
    ( (This)->lpVtbl -> TrySuspend(This,handler) ) 

#define ICoreWebView2_15_Resume(This)	\
    ( (This)->lpVtbl -> Resume(This) ) 

#define ICoreWebView2_15_get_IsSuspended(This,isSuspended)	\
    ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) ) 

#define ICoreWebView2_15_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind)	\
    ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) ) 

#define ICoreWebView2_15_ClearVirtualHostNameToFolderMapping(This,hostName)	\
    ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) ) 


#define ICoreWebView2_15_add_FrameCreated(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_FrameCreated(This,token)	\
    ( (This)->lpVtbl -> remove_FrameCreated(This,token) ) 

#define ICoreWebView2_15_add_DownloadStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_DownloadStarting(This,token)	\
    ( (This)->lpVtbl -> remove_DownloadStarting(This,token) ) 


#define ICoreWebView2_15_add_ClientCertificateRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_ClientCertificateRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) ) 


#define ICoreWebView2_15_OpenTaskManagerWindow(This)	\
    ( (This)->lpVtbl -> OpenTaskManagerWindow(This) ) 


#define ICoreWebView2_15_PrintToPdf(This,resultFilePath,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) ) 


#define ICoreWebView2_15_add_IsMutedChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsMutedChanged(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_IsMutedChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsMutedChanged(This,token) ) 

#define ICoreWebView2_15_get_IsMuted(This,value)	\
    ( (This)->lpVtbl -> get_IsMuted(This,value) ) 

#define ICoreWebView2_15_put_IsMuted(This,value)	\
    ( (This)->lpVtbl -> put_IsMuted(This,value) ) 

#define ICoreWebView2_15_add_IsDocumentPlayingAudioChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsDocumentPlayingAudioChanged(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_IsDocumentPlayingAudioChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDocumentPlayingAudioChanged(This,token) ) 

#define ICoreWebView2_15_get_IsDocumentPlayingAudio(This,value)	\
    ( (This)->lpVtbl -> get_IsDocumentPlayingAudio(This,value) ) 


#define ICoreWebView2_15_add_IsDefaultDownloadDialogOpenChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_IsDefaultDownloadDialogOpenChanged(This,handler,token) ) 

#define ICoreWebView2_15_remove_IsDefaultDownloadDialogOpenChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDefaultDownloadDialogOpenChanged(This,token) ) 

#define ICoreWebView2_15_get_IsDefaultDownloadDialogOpen(This,value)	\
    ( (This)->lpVtbl -> get_IsDefaultDownloadDialogOpen(This,value) ) 

#define ICoreWebView2_15_OpenDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> OpenDefaultDownloadDialog(This) ) 

#define ICoreWebView2_15_CloseDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> CloseDefaultDownloadDialog(This) ) 

#define ICoreWebView2_15_get_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_15_put_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_15_get_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogMargin(This,value) ) 

#define ICoreWebView2_15_put_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogMargin(This,value) ) 


#define ICoreWebView2_15_add_BasicAuthenticationRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BasicAuthenticationRequested(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_BasicAuthenticationRequested(This,token)	\
    ( (This)->lpVtbl -> remove_BasicAuthenticationRequested(This,token) ) 


#define ICoreWebView2_15_CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_15_add_ContextMenuRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContextMenuRequested(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_ContextMenuRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ContextMenuRequested(This,token) ) 


#define ICoreWebView2_15_add_StatusBarTextChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_StatusBarTextChanged(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_StatusBarTextChanged(This,token)	\
    ( (This)->lpVtbl -> remove_StatusBarTextChanged(This,token) ) 

#define ICoreWebView2_15_get_StatusBarText(This,value)	\
    ( (This)->lpVtbl -> get_StatusBarText(This,value) ) 


#define ICoreWebView2_15_get_Profile(This,value)	\
    ( (This)->lpVtbl -> get_Profile(This,value) ) 


#define ICoreWebView2_15_add_ServerCertificateErrorDetected(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ServerCertificateErrorDetected(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_ServerCertificateErrorDetected(This,token)	\
    ( (This)->lpVtbl -> remove_ServerCertificateErrorDetected(This,token) ) 

#define ICoreWebView2_15_ClearServerCertificateErrorActions(This,handler)	\
    ( (This)->lpVtbl -> ClearServerCertificateErrorActions(This,handler) ) 


#define ICoreWebView2_15_add_FaviconChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FaviconChanged(This,eventHandler,token) ) 

#define ICoreWebView2_15_remove_FaviconChanged(This,token)	\
    ( (This)->lpVtbl -> remove_FaviconChanged(This,token) ) 

#define ICoreWebView2_15_get_FaviconUri(This,value)	\
    ( (This)->lpVtbl -> get_FaviconUri(This,value) ) 

#define ICoreWebView2_15_GetFavicon(This,format,completedHandler)	\
    ( (This)->lpVtbl -> GetFavicon(This,format,completedHandler) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2_15_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2_16_INTERFACE_DEFINED__
#define __ICoreWebView2_16_INTERFACE_DEFINED__

/* interface ICoreWebView2_16 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_16 = {0x0EB34DC9,0x9F91,0x41E1,{0x86,0x39,0x95,0xCD,0x59,0x43,0x90,0x6B}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0EB34DC9-9F91-41E1-8639-95CD5943906B")
    ICoreWebView2_16 : public ICoreWebView2_15
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Print( 
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintCompletedHandler *handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ShowPrintUI( 
            /* [in] */ COREWEBVIEW2_PRINT_DIALOG_KIND printDialogKind) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE PrintToPdfStream( 
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfStreamCompletedHandler *handler) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2_16Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_16 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_16 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_16 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_16 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_16 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_16 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_16 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_16 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_16 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_16 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_16 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_16 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_16 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_16 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_16 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_16 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_16 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_16 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_16 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_16 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_16 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_16 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_16 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_16 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_16 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_16 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdf )( 
            ICoreWebView2_16 * This,
            /* [in] */ LPCWSTR resultFilePath,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsMuted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, put_IsMuted)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )( 
            ICoreWebView2_16 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsDocumentPlayingAudio)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, add_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, remove_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_IsDefaultDownloadDialogOpen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, OpenDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )( 
            ICoreWebView2_16 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, CloseDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )( 
            ICoreWebView2_16 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogCornerAlignment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogCornerAlignment)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_16 * This,
            /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogMargin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ POINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogMargin)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogMargin )( 
            ICoreWebView2_16 * This,
            /* [in] */ POINT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, add_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *add_BasicAuthenticationRequested )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, remove_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_BasicAuthenticationRequested )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, CallDevToolsProtocolMethodForSession)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethodForSession )( 
            ICoreWebView2_16 * This,
            /* [in] */ LPCWSTR sessionId,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, add_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ContextMenuRequested )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2ContextMenuRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, remove_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ContextMenuRequested )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, add_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *add_StatusBarTextChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2StatusBarTextChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, remove_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_StatusBarTextChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, get_StatusBarText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusBarText )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_13, get_Profile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profile )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ ICoreWebView2Profile **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, add_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *add_ServerCertificateErrorDetected )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2ServerCertificateErrorDetectedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, remove_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *remove_ServerCertificateErrorDetected )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, ClearServerCertificateErrorActions)
        HRESULT ( STDMETHODCALLTYPE *ClearServerCertificateErrorActions )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, add_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *add_FaviconChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2FaviconChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, remove_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_FaviconChanged )( 
            ICoreWebView2_16 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, get_FaviconUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaviconUri )( 
            ICoreWebView2_16 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, GetFavicon)
        HRESULT ( STDMETHODCALLTYPE *GetFavicon )( 
            ICoreWebView2_16 * This,
            /* [in] */ COREWEBVIEW2_FAVICON_IMAGE_FORMAT format,
            /* [in] */ ICoreWebView2GetFaviconCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, Print)
        HRESULT ( STDMETHODCALLTYPE *Print )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, ShowPrintUI)
        HRESULT ( STDMETHODCALLTYPE *ShowPrintUI )( 
            ICoreWebView2_16 * This,
            /* [in] */ COREWEBVIEW2_PRINT_DIALOG_KIND printDialogKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, PrintToPdfStream)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdfStream )( 
            ICoreWebView2_16 * This,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfStreamCompletedHandler *handler);
        
        END_INTERFACE
    } ICoreWebView2_16Vtbl;

    interface ICoreWebView2_16
    {
        CONST_VTBL struct ICoreWebView2_16Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2_16_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2_16_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2_16_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2_16_get_Settings(This,settings)	\
    ( (This)->lpVtbl -> get_Settings(This,settings) ) 

#define ICoreWebView2_16_get_Source(This,uri)	\
    ( (This)->lpVtbl -> get_Source(This,uri) ) 

#define ICoreWebView2_16_Navigate(This,uri)	\
    ( (This)->lpVtbl -> Navigate(This,uri) ) 

#define ICoreWebView2_16_NavigateToString(This,htmlContent)	\
    ( (This)->lpVtbl -> NavigateToString(This,htmlContent) ) 

#define ICoreWebView2_16_add_NavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_NavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationStarting(This,token) ) 

#define ICoreWebView2_16_add_ContentLoading(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_ContentLoading(This,token)	\
    ( (This)->lpVtbl -> remove_ContentLoading(This,token) ) 

#define ICoreWebView2_16_add_SourceChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_SourceChanged(This,token)	\
    ( (This)->lpVtbl -> remove_SourceChanged(This,token) ) 

#define ICoreWebView2_16_add_HistoryChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_HistoryChanged(This,token)	\
    ( (This)->lpVtbl -> remove_HistoryChanged(This,token) ) 

#define ICoreWebView2_16_add_NavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_NavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) ) 

#define ICoreWebView2_16_add_FrameNavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_FrameNavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) ) 

#define ICoreWebView2_16_add_FrameNavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_FrameNavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) ) 

#define ICoreWebView2_16_add_ScriptDialogOpening(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_ScriptDialogOpening(This,token)	\
    ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) ) 

#define ICoreWebView2_16_add_PermissionRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_PermissionRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PermissionRequested(This,token) ) 

#define ICoreWebView2_16_add_ProcessFailed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_ProcessFailed(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessFailed(This,token) ) 

#define ICoreWebView2_16_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler)	\
    ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) ) 

#define ICoreWebView2_16_RemoveScriptToExecuteOnDocumentCreated(This,id)	\
    ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) ) 

#define ICoreWebView2_16_ExecuteScript(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) ) 

#define ICoreWebView2_16_CapturePreview(This,imageFormat,imageStream,handler)	\
    ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) ) 

#define ICoreWebView2_16_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define ICoreWebView2_16_PostWebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2_16_PostWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) ) 

#define ICoreWebView2_16_add_WebMessageReceived(This,handler,token)	\
    ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) ) 

#define ICoreWebView2_16_remove_WebMessageReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) ) 

#define ICoreWebView2_16_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_16_get_BrowserProcessId(This,value)	\
    ( (This)->lpVtbl -> get_BrowserProcessId(This,value) ) 

#define ICoreWebView2_16_get_CanGoBack(This,canGoBack)	\
    ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) ) 

#define ICoreWebView2_16_get_CanGoForward(This,canGoForward)	\
    ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) ) 

#define ICoreWebView2_16_GoBack(This)	\
    ( (This)->lpVtbl -> GoBack(This) ) 

#define ICoreWebView2_16_GoForward(This)	\
    ( (This)->lpVtbl -> GoForward(This) ) 

#define ICoreWebView2_16_GetDevToolsProtocolEventReceiver(This,eventName,receiver)	\
    ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) ) 

#define ICoreWebView2_16_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#define ICoreWebView2_16_add_NewWindowRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_NewWindowRequested(This,token)	\
    ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) ) 

#define ICoreWebView2_16_add_DocumentTitleChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_DocumentTitleChanged(This,token)	\
    ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) ) 

#define ICoreWebView2_16_get_DocumentTitle(This,title)	\
    ( (This)->lpVtbl -> get_DocumentTitle(This,title) ) 

#define ICoreWebView2_16_AddHostObjectToScript(This,name,object)	\
    ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) ) 

#define ICoreWebView2_16_RemoveHostObjectFromScript(This,name)	\
    ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) ) 

#define ICoreWebView2_16_OpenDevToolsWindow(This)	\
    ( (This)->lpVtbl -> OpenDevToolsWindow(This) ) 

#define ICoreWebView2_16_add_ContainsFullScreenElementChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_ContainsFullScreenElementChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) ) 

#define ICoreWebView2_16_get_ContainsFullScreenElement(This,containsFullScreenElement)	\
    ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) ) 

#define ICoreWebView2_16_add_WebResourceRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_WebResourceRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) ) 

#define ICoreWebView2_16_AddWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_16_RemoveWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_16_add_WindowCloseRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_WindowCloseRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) ) 


#define ICoreWebView2_16_add_WebResourceResponseReceived(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_WebResourceResponseReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) ) 

#define ICoreWebView2_16_NavigateWithWebResourceRequest(This,request)	\
    ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) ) 

#define ICoreWebView2_16_add_DOMContentLoaded(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_DOMContentLoaded(This,token)	\
    ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) ) 

#define ICoreWebView2_16_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 

#define ICoreWebView2_16_get_Environment(This,environment)	\
    ( (This)->lpVtbl -> get_Environment(This,environment) ) 


#define ICoreWebView2_16_TrySuspend(This,handler)	\
    ( (This)->lpVtbl -> TrySuspend(This,handler) ) 

#define ICoreWebView2_16_Resume(This)	\
    ( (This)->lpVtbl -> Resume(This) ) 

#define ICoreWebView2_16_get_IsSuspended(This,isSuspended)	\
    ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) ) 

#define ICoreWebView2_16_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind)	\
    ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) ) 

#define ICoreWebView2_16_ClearVirtualHostNameToFolderMapping(This,hostName)	\
    ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) ) 


#define ICoreWebView2_16_add_FrameCreated(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_FrameCreated(This,token)	\
    ( (This)->lpVtbl -> remove_FrameCreated(This,token) ) 

#define ICoreWebView2_16_add_DownloadStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_DownloadStarting(This,token)	\
    ( (This)->lpVtbl -> remove_DownloadStarting(This,token) ) 


#define ICoreWebView2_16_add_ClientCertificateRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_ClientCertificateRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) ) 


#define ICoreWebView2_16_OpenTaskManagerWindow(This)	\
    ( (This)->lpVtbl -> OpenTaskManagerWindow(This) ) 


#define ICoreWebView2_16_PrintToPdf(This,resultFilePath,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) ) 


#define ICoreWebView2_16_add_IsMutedChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsMutedChanged(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_IsMutedChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsMutedChanged(This,token) ) 

#define ICoreWebView2_16_get_IsMuted(This,value)	\
    ( (This)->lpVtbl -> get_IsMuted(This,value) ) 

#define ICoreWebView2_16_put_IsMuted(This,value)	\
    ( (This)->lpVtbl -> put_IsMuted(This,value) ) 

#define ICoreWebView2_16_add_IsDocumentPlayingAudioChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsDocumentPlayingAudioChanged(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_IsDocumentPlayingAudioChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDocumentPlayingAudioChanged(This,token) ) 

#define ICoreWebView2_16_get_IsDocumentPlayingAudio(This,value)	\
    ( (This)->lpVtbl -> get_IsDocumentPlayingAudio(This,value) ) 


#define ICoreWebView2_16_add_IsDefaultDownloadDialogOpenChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_IsDefaultDownloadDialogOpenChanged(This,handler,token) ) 

#define ICoreWebView2_16_remove_IsDefaultDownloadDialogOpenChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDefaultDownloadDialogOpenChanged(This,token) ) 

#define ICoreWebView2_16_get_IsDefaultDownloadDialogOpen(This,value)	\
    ( (This)->lpVtbl -> get_IsDefaultDownloadDialogOpen(This,value) ) 

#define ICoreWebView2_16_OpenDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> OpenDefaultDownloadDialog(This) ) 

#define ICoreWebView2_16_CloseDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> CloseDefaultDownloadDialog(This) ) 

#define ICoreWebView2_16_get_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_16_put_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_16_get_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogMargin(This,value) ) 

#define ICoreWebView2_16_put_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogMargin(This,value) ) 


#define ICoreWebView2_16_add_BasicAuthenticationRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BasicAuthenticationRequested(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_BasicAuthenticationRequested(This,token)	\
    ( (This)->lpVtbl -> remove_BasicAuthenticationRequested(This,token) ) 


#define ICoreWebView2_16_CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_16_add_ContextMenuRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContextMenuRequested(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_ContextMenuRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ContextMenuRequested(This,token) ) 


#define ICoreWebView2_16_add_StatusBarTextChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_StatusBarTextChanged(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_StatusBarTextChanged(This,token)	\
    ( (This)->lpVtbl -> remove_StatusBarTextChanged(This,token) ) 

#define ICoreWebView2_16_get_StatusBarText(This,value)	\
    ( (This)->lpVtbl -> get_StatusBarText(This,value) ) 


#define ICoreWebView2_16_get_Profile(This,value)	\
    ( (This)->lpVtbl -> get_Profile(This,value) ) 


#define ICoreWebView2_16_add_ServerCertificateErrorDetected(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ServerCertificateErrorDetected(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_ServerCertificateErrorDetected(This,token)	\
    ( (This)->lpVtbl -> remove_ServerCertificateErrorDetected(This,token) ) 

#define ICoreWebView2_16_ClearServerCertificateErrorActions(This,handler)	\
    ( (This)->lpVtbl -> ClearServerCertificateErrorActions(This,handler) ) 


#define ICoreWebView2_16_add_FaviconChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FaviconChanged(This,eventHandler,token) ) 

#define ICoreWebView2_16_remove_FaviconChanged(This,token)	\
    ( (This)->lpVtbl -> remove_FaviconChanged(This,token) ) 

#define ICoreWebView2_16_get_FaviconUri(This,value)	\
    ( (This)->lpVtbl -> get_FaviconUri(This,value) ) 

#define ICoreWebView2_16_GetFavicon(This,format,completedHandler)	\
    ( (This)->lpVtbl -> GetFavicon(This,format,completedHandler) ) 


#define ICoreWebView2_16_Print(This,printSettings,handler)	\
    ( (This)->lpVtbl -> Print(This,printSettings,handler) ) 

#define ICoreWebView2_16_ShowPrintUI(This,printDialogKind)	\
    ( (This)->lpVtbl -> ShowPrintUI(This,printDialogKind) ) 

#define ICoreWebView2_16_PrintToPdfStream(This,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdfStream(This,printSettings,handler) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2_16_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2_17_INTERFACE_DEFINED__
#define __ICoreWebView2_17_INTERFACE_DEFINED__

/* interface ICoreWebView2_17 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_17 = {0x702E75D4,0xFD44,0x434D,{0x9D,0x70,0x1A,0x68,0xA6,0xB1,0x19,0x2A}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("702E75D4-FD44-434D-9D70-1A68A6B1192A")
    ICoreWebView2_17 : public ICoreWebView2_16
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE PostSharedBufferToScript( 
            /* [in] */ ICoreWebView2SharedBuffer *sharedBuffer,
            /* [in] */ COREWEBVIEW2_SHARED_BUFFER_ACCESS access,
            /* [in] */ LPCWSTR additionalDataAsJson) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2_17Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_17 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_17 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_17 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_17 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_17 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_17 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_17 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_17 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_17 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_17 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_17 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_17 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_17 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_17 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_17 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_17 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_17 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_17 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_17 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_17 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_17 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_17 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_17 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_17 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_17 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_17 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdf )( 
            ICoreWebView2_17 * This,
            /* [in] */ LPCWSTR resultFilePath,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsMuted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, put_IsMuted)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )( 
            ICoreWebView2_17 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsDocumentPlayingAudio)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, add_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, remove_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_IsDefaultDownloadDialogOpen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, OpenDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )( 
            ICoreWebView2_17 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, CloseDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )( 
            ICoreWebView2_17 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogCornerAlignment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogCornerAlignment)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_17 * This,
            /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogMargin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ POINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogMargin)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogMargin )( 
            ICoreWebView2_17 * This,
            /* [in] */ POINT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, add_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *add_BasicAuthenticationRequested )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, remove_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_BasicAuthenticationRequested )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, CallDevToolsProtocolMethodForSession)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethodForSession )( 
            ICoreWebView2_17 * This,
            /* [in] */ LPCWSTR sessionId,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, add_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ContextMenuRequested )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2ContextMenuRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, remove_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ContextMenuRequested )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, add_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *add_StatusBarTextChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2StatusBarTextChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, remove_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_StatusBarTextChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, get_StatusBarText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusBarText )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_13, get_Profile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profile )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ ICoreWebView2Profile **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, add_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *add_ServerCertificateErrorDetected )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2ServerCertificateErrorDetectedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, remove_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *remove_ServerCertificateErrorDetected )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, ClearServerCertificateErrorActions)
        HRESULT ( STDMETHODCALLTYPE *ClearServerCertificateErrorActions )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, add_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *add_FaviconChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2FaviconChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, remove_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_FaviconChanged )( 
            ICoreWebView2_17 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, get_FaviconUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaviconUri )( 
            ICoreWebView2_17 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, GetFavicon)
        HRESULT ( STDMETHODCALLTYPE *GetFavicon )( 
            ICoreWebView2_17 * This,
            /* [in] */ COREWEBVIEW2_FAVICON_IMAGE_FORMAT format,
            /* [in] */ ICoreWebView2GetFaviconCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, Print)
        HRESULT ( STDMETHODCALLTYPE *Print )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, ShowPrintUI)
        HRESULT ( STDMETHODCALLTYPE *ShowPrintUI )( 
            ICoreWebView2_17 * This,
            /* [in] */ COREWEBVIEW2_PRINT_DIALOG_KIND printDialogKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, PrintToPdfStream)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdfStream )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfStreamCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_17, PostSharedBufferToScript)
        HRESULT ( STDMETHODCALLTYPE *PostSharedBufferToScript )( 
            ICoreWebView2_17 * This,
            /* [in] */ ICoreWebView2SharedBuffer *sharedBuffer,
            /* [in] */ COREWEBVIEW2_SHARED_BUFFER_ACCESS access,
            /* [in] */ LPCWSTR additionalDataAsJson);
        
        END_INTERFACE
    } ICoreWebView2_17Vtbl;

    interface ICoreWebView2_17
    {
        CONST_VTBL struct ICoreWebView2_17Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2_17_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2_17_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2_17_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2_17_get_Settings(This,settings)	\
    ( (This)->lpVtbl -> get_Settings(This,settings) ) 

#define ICoreWebView2_17_get_Source(This,uri)	\
    ( (This)->lpVtbl -> get_Source(This,uri) ) 

#define ICoreWebView2_17_Navigate(This,uri)	\
    ( (This)->lpVtbl -> Navigate(This,uri) ) 

#define ICoreWebView2_17_NavigateToString(This,htmlContent)	\
    ( (This)->lpVtbl -> NavigateToString(This,htmlContent) ) 

#define ICoreWebView2_17_add_NavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_NavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationStarting(This,token) ) 

#define ICoreWebView2_17_add_ContentLoading(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_ContentLoading(This,token)	\
    ( (This)->lpVtbl -> remove_ContentLoading(This,token) ) 

#define ICoreWebView2_17_add_SourceChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_SourceChanged(This,token)	\
    ( (This)->lpVtbl -> remove_SourceChanged(This,token) ) 

#define ICoreWebView2_17_add_HistoryChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_HistoryChanged(This,token)	\
    ( (This)->lpVtbl -> remove_HistoryChanged(This,token) ) 

#define ICoreWebView2_17_add_NavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_NavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) ) 

#define ICoreWebView2_17_add_FrameNavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_FrameNavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) ) 

#define ICoreWebView2_17_add_FrameNavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_FrameNavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) ) 

#define ICoreWebView2_17_add_ScriptDialogOpening(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_ScriptDialogOpening(This,token)	\
    ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) ) 

#define ICoreWebView2_17_add_PermissionRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_PermissionRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PermissionRequested(This,token) ) 

#define ICoreWebView2_17_add_ProcessFailed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_ProcessFailed(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessFailed(This,token) ) 

#define ICoreWebView2_17_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler)	\
    ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) ) 

#define ICoreWebView2_17_RemoveScriptToExecuteOnDocumentCreated(This,id)	\
    ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) ) 

#define ICoreWebView2_17_ExecuteScript(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) ) 

#define ICoreWebView2_17_CapturePreview(This,imageFormat,imageStream,handler)	\
    ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) ) 

#define ICoreWebView2_17_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define ICoreWebView2_17_PostWebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2_17_PostWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) ) 

#define ICoreWebView2_17_add_WebMessageReceived(This,handler,token)	\
    ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) ) 

#define ICoreWebView2_17_remove_WebMessageReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) ) 

#define ICoreWebView2_17_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_17_get_BrowserProcessId(This,value)	\
    ( (This)->lpVtbl -> get_BrowserProcessId(This,value) ) 

#define ICoreWebView2_17_get_CanGoBack(This,canGoBack)	\
    ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) ) 

#define ICoreWebView2_17_get_CanGoForward(This,canGoForward)	\
    ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) ) 

#define ICoreWebView2_17_GoBack(This)	\
    ( (This)->lpVtbl -> GoBack(This) ) 

#define ICoreWebView2_17_GoForward(This)	\
    ( (This)->lpVtbl -> GoForward(This) ) 

#define ICoreWebView2_17_GetDevToolsProtocolEventReceiver(This,eventName,receiver)	\
    ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) ) 

#define ICoreWebView2_17_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#define ICoreWebView2_17_add_NewWindowRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_NewWindowRequested(This,token)	\
    ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) ) 

#define ICoreWebView2_17_add_DocumentTitleChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_DocumentTitleChanged(This,token)	\
    ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) ) 

#define ICoreWebView2_17_get_DocumentTitle(This,title)	\
    ( (This)->lpVtbl -> get_DocumentTitle(This,title) ) 

#define ICoreWebView2_17_AddHostObjectToScript(This,name,object)	\
    ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) ) 

#define ICoreWebView2_17_RemoveHostObjectFromScript(This,name)	\
    ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) ) 

#define ICoreWebView2_17_OpenDevToolsWindow(This)	\
    ( (This)->lpVtbl -> OpenDevToolsWindow(This) ) 

#define ICoreWebView2_17_add_ContainsFullScreenElementChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_ContainsFullScreenElementChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) ) 

#define ICoreWebView2_17_get_ContainsFullScreenElement(This,containsFullScreenElement)	\
    ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) ) 

#define ICoreWebView2_17_add_WebResourceRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_WebResourceRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) ) 

#define ICoreWebView2_17_AddWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_17_RemoveWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_17_add_WindowCloseRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_WindowCloseRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) ) 


#define ICoreWebView2_17_add_WebResourceResponseReceived(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_WebResourceResponseReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) ) 

#define ICoreWebView2_17_NavigateWithWebResourceRequest(This,request)	\
    ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) ) 

#define ICoreWebView2_17_add_DOMContentLoaded(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_DOMContentLoaded(This,token)	\
    ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) ) 

#define ICoreWebView2_17_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 

#define ICoreWebView2_17_get_Environment(This,environment)	\
    ( (This)->lpVtbl -> get_Environment(This,environment) ) 


#define ICoreWebView2_17_TrySuspend(This,handler)	\
    ( (This)->lpVtbl -> TrySuspend(This,handler) ) 

#define ICoreWebView2_17_Resume(This)	\
    ( (This)->lpVtbl -> Resume(This) ) 

#define ICoreWebView2_17_get_IsSuspended(This,isSuspended)	\
    ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) ) 

#define ICoreWebView2_17_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind)	\
    ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) ) 

#define ICoreWebView2_17_ClearVirtualHostNameToFolderMapping(This,hostName)	\
    ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) ) 


#define ICoreWebView2_17_add_FrameCreated(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_FrameCreated(This,token)	\
    ( (This)->lpVtbl -> remove_FrameCreated(This,token) ) 

#define ICoreWebView2_17_add_DownloadStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_DownloadStarting(This,token)	\
    ( (This)->lpVtbl -> remove_DownloadStarting(This,token) ) 


#define ICoreWebView2_17_add_ClientCertificateRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_ClientCertificateRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) ) 


#define ICoreWebView2_17_OpenTaskManagerWindow(This)	\
    ( (This)->lpVtbl -> OpenTaskManagerWindow(This) ) 


#define ICoreWebView2_17_PrintToPdf(This,resultFilePath,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) ) 


#define ICoreWebView2_17_add_IsMutedChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsMutedChanged(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_IsMutedChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsMutedChanged(This,token) ) 

#define ICoreWebView2_17_get_IsMuted(This,value)	\
    ( (This)->lpVtbl -> get_IsMuted(This,value) ) 

#define ICoreWebView2_17_put_IsMuted(This,value)	\
    ( (This)->lpVtbl -> put_IsMuted(This,value) ) 

#define ICoreWebView2_17_add_IsDocumentPlayingAudioChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsDocumentPlayingAudioChanged(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_IsDocumentPlayingAudioChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDocumentPlayingAudioChanged(This,token) ) 

#define ICoreWebView2_17_get_IsDocumentPlayingAudio(This,value)	\
    ( (This)->lpVtbl -> get_IsDocumentPlayingAudio(This,value) ) 


#define ICoreWebView2_17_add_IsDefaultDownloadDialogOpenChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_IsDefaultDownloadDialogOpenChanged(This,handler,token) ) 

#define ICoreWebView2_17_remove_IsDefaultDownloadDialogOpenChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDefaultDownloadDialogOpenChanged(This,token) ) 

#define ICoreWebView2_17_get_IsDefaultDownloadDialogOpen(This,value)	\
    ( (This)->lpVtbl -> get_IsDefaultDownloadDialogOpen(This,value) ) 

#define ICoreWebView2_17_OpenDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> OpenDefaultDownloadDialog(This) ) 

#define ICoreWebView2_17_CloseDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> CloseDefaultDownloadDialog(This) ) 

#define ICoreWebView2_17_get_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_17_put_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_17_get_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogMargin(This,value) ) 

#define ICoreWebView2_17_put_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogMargin(This,value) ) 


#define ICoreWebView2_17_add_BasicAuthenticationRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BasicAuthenticationRequested(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_BasicAuthenticationRequested(This,token)	\
    ( (This)->lpVtbl -> remove_BasicAuthenticationRequested(This,token) ) 


#define ICoreWebView2_17_CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_17_add_ContextMenuRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContextMenuRequested(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_ContextMenuRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ContextMenuRequested(This,token) ) 


#define ICoreWebView2_17_add_StatusBarTextChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_StatusBarTextChanged(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_StatusBarTextChanged(This,token)	\
    ( (This)->lpVtbl -> remove_StatusBarTextChanged(This,token) ) 

#define ICoreWebView2_17_get_StatusBarText(This,value)	\
    ( (This)->lpVtbl -> get_StatusBarText(This,value) ) 


#define ICoreWebView2_17_get_Profile(This,value)	\
    ( (This)->lpVtbl -> get_Profile(This,value) ) 


#define ICoreWebView2_17_add_ServerCertificateErrorDetected(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ServerCertificateErrorDetected(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_ServerCertificateErrorDetected(This,token)	\
    ( (This)->lpVtbl -> remove_ServerCertificateErrorDetected(This,token) ) 

#define ICoreWebView2_17_ClearServerCertificateErrorActions(This,handler)	\
    ( (This)->lpVtbl -> ClearServerCertificateErrorActions(This,handler) ) 


#define ICoreWebView2_17_add_FaviconChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FaviconChanged(This,eventHandler,token) ) 

#define ICoreWebView2_17_remove_FaviconChanged(This,token)	\
    ( (This)->lpVtbl -> remove_FaviconChanged(This,token) ) 

#define ICoreWebView2_17_get_FaviconUri(This,value)	\
    ( (This)->lpVtbl -> get_FaviconUri(This,value) ) 

#define ICoreWebView2_17_GetFavicon(This,format,completedHandler)	\
    ( (This)->lpVtbl -> GetFavicon(This,format,completedHandler) ) 


#define ICoreWebView2_17_Print(This,printSettings,handler)	\
    ( (This)->lpVtbl -> Print(This,printSettings,handler) ) 

#define ICoreWebView2_17_ShowPrintUI(This,printDialogKind)	\
    ( (This)->lpVtbl -> ShowPrintUI(This,printDialogKind) ) 

#define ICoreWebView2_17_PrintToPdfStream(This,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdfStream(This,printSettings,handler) ) 


#define ICoreWebView2_17_PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson)	\
    ( (This)->lpVtbl -> PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2_17_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2_18_INTERFACE_DEFINED__
#define __ICoreWebView2_18_INTERFACE_DEFINED__

/* interface ICoreWebView2_18 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_18 = {0x7A626017,0x28BE,0x49B2,{0xB8,0x65,0x3B,0xA2,0xB3,0x52,0x2D,0x90}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7A626017-28BE-49B2-B865-3BA2B3522D90")
    ICoreWebView2_18 : public ICoreWebView2_17
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE add_LaunchingExternalUriScheme( 
            /* [in] */ ICoreWebView2LaunchingExternalUriSchemeEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE remove_LaunchingExternalUriScheme( 
            /* [in] */ EventRegistrationToken token) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2_18Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_18 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_18 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_18 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_18 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_18 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_18 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_18 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_18 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_18 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_18 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_18 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_18 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_18 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_18 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_18 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_18 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_18 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_18 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_18 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_18 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_18 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_18 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_18 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_18 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_18 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_18 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdf )( 
            ICoreWebView2_18 * This,
            /* [in] */ LPCWSTR resultFilePath,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsMuted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, put_IsMuted)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )( 
            ICoreWebView2_18 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsDocumentPlayingAudio)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, add_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, remove_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_IsDefaultDownloadDialogOpen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, OpenDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )( 
            ICoreWebView2_18 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, CloseDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )( 
            ICoreWebView2_18 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogCornerAlignment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogCornerAlignment)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_18 * This,
            /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogMargin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ POINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogMargin)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogMargin )( 
            ICoreWebView2_18 * This,
            /* [in] */ POINT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, add_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *add_BasicAuthenticationRequested )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, remove_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_BasicAuthenticationRequested )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, CallDevToolsProtocolMethodForSession)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethodForSession )( 
            ICoreWebView2_18 * This,
            /* [in] */ LPCWSTR sessionId,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, add_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ContextMenuRequested )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2ContextMenuRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, remove_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ContextMenuRequested )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, add_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *add_StatusBarTextChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2StatusBarTextChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, remove_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_StatusBarTextChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, get_StatusBarText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusBarText )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_13, get_Profile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profile )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ ICoreWebView2Profile **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, add_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *add_ServerCertificateErrorDetected )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2ServerCertificateErrorDetectedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, remove_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *remove_ServerCertificateErrorDetected )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, ClearServerCertificateErrorActions)
        HRESULT ( STDMETHODCALLTYPE *ClearServerCertificateErrorActions )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, add_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *add_FaviconChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2FaviconChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, remove_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_FaviconChanged )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, get_FaviconUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaviconUri )( 
            ICoreWebView2_18 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, GetFavicon)
        HRESULT ( STDMETHODCALLTYPE *GetFavicon )( 
            ICoreWebView2_18 * This,
            /* [in] */ COREWEBVIEW2_FAVICON_IMAGE_FORMAT format,
            /* [in] */ ICoreWebView2GetFaviconCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, Print)
        HRESULT ( STDMETHODCALLTYPE *Print )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, ShowPrintUI)
        HRESULT ( STDMETHODCALLTYPE *ShowPrintUI )( 
            ICoreWebView2_18 * This,
            /* [in] */ COREWEBVIEW2_PRINT_DIALOG_KIND printDialogKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, PrintToPdfStream)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdfStream )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfStreamCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_17, PostSharedBufferToScript)
        HRESULT ( STDMETHODCALLTYPE *PostSharedBufferToScript )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2SharedBuffer *sharedBuffer,
            /* [in] */ COREWEBVIEW2_SHARED_BUFFER_ACCESS access,
            /* [in] */ LPCWSTR additionalDataAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_18, add_LaunchingExternalUriScheme)
        HRESULT ( STDMETHODCALLTYPE *add_LaunchingExternalUriScheme )( 
            ICoreWebView2_18 * This,
            /* [in] */ ICoreWebView2LaunchingExternalUriSchemeEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_18, remove_LaunchingExternalUriScheme)
        HRESULT ( STDMETHODCALLTYPE *remove_LaunchingExternalUriScheme )( 
            ICoreWebView2_18 * This,
            /* [in] */ EventRegistrationToken token);
        
        END_INTERFACE
    } ICoreWebView2_18Vtbl;

    interface ICoreWebView2_18
    {
        CONST_VTBL struct ICoreWebView2_18Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2_18_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2_18_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2_18_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2_18_get_Settings(This,settings)	\
    ( (This)->lpVtbl -> get_Settings(This,settings) ) 

#define ICoreWebView2_18_get_Source(This,uri)	\
    ( (This)->lpVtbl -> get_Source(This,uri) ) 

#define ICoreWebView2_18_Navigate(This,uri)	\
    ( (This)->lpVtbl -> Navigate(This,uri) ) 

#define ICoreWebView2_18_NavigateToString(This,htmlContent)	\
    ( (This)->lpVtbl -> NavigateToString(This,htmlContent) ) 

#define ICoreWebView2_18_add_NavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_NavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationStarting(This,token) ) 

#define ICoreWebView2_18_add_ContentLoading(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_ContentLoading(This,token)	\
    ( (This)->lpVtbl -> remove_ContentLoading(This,token) ) 

#define ICoreWebView2_18_add_SourceChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_SourceChanged(This,token)	\
    ( (This)->lpVtbl -> remove_SourceChanged(This,token) ) 

#define ICoreWebView2_18_add_HistoryChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_HistoryChanged(This,token)	\
    ( (This)->lpVtbl -> remove_HistoryChanged(This,token) ) 

#define ICoreWebView2_18_add_NavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_NavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) ) 

#define ICoreWebView2_18_add_FrameNavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_FrameNavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) ) 

#define ICoreWebView2_18_add_FrameNavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_FrameNavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) ) 

#define ICoreWebView2_18_add_ScriptDialogOpening(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_ScriptDialogOpening(This,token)	\
    ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) ) 

#define ICoreWebView2_18_add_PermissionRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_PermissionRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PermissionRequested(This,token) ) 

#define ICoreWebView2_18_add_ProcessFailed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_ProcessFailed(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessFailed(This,token) ) 

#define ICoreWebView2_18_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler)	\
    ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) ) 

#define ICoreWebView2_18_RemoveScriptToExecuteOnDocumentCreated(This,id)	\
    ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) ) 

#define ICoreWebView2_18_ExecuteScript(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) ) 

#define ICoreWebView2_18_CapturePreview(This,imageFormat,imageStream,handler)	\
    ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) ) 

#define ICoreWebView2_18_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define ICoreWebView2_18_PostWebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2_18_PostWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) ) 

#define ICoreWebView2_18_add_WebMessageReceived(This,handler,token)	\
    ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) ) 

#define ICoreWebView2_18_remove_WebMessageReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) ) 

#define ICoreWebView2_18_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_18_get_BrowserProcessId(This,value)	\
    ( (This)->lpVtbl -> get_BrowserProcessId(This,value) ) 

#define ICoreWebView2_18_get_CanGoBack(This,canGoBack)	\
    ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) ) 

#define ICoreWebView2_18_get_CanGoForward(This,canGoForward)	\
    ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) ) 

#define ICoreWebView2_18_GoBack(This)	\
    ( (This)->lpVtbl -> GoBack(This) ) 

#define ICoreWebView2_18_GoForward(This)	\
    ( (This)->lpVtbl -> GoForward(This) ) 

#define ICoreWebView2_18_GetDevToolsProtocolEventReceiver(This,eventName,receiver)	\
    ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) ) 

#define ICoreWebView2_18_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#define ICoreWebView2_18_add_NewWindowRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_NewWindowRequested(This,token)	\
    ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) ) 

#define ICoreWebView2_18_add_DocumentTitleChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_DocumentTitleChanged(This,token)	\
    ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) ) 

#define ICoreWebView2_18_get_DocumentTitle(This,title)	\
    ( (This)->lpVtbl -> get_DocumentTitle(This,title) ) 

#define ICoreWebView2_18_AddHostObjectToScript(This,name,object)	\
    ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) ) 

#define ICoreWebView2_18_RemoveHostObjectFromScript(This,name)	\
    ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) ) 

#define ICoreWebView2_18_OpenDevToolsWindow(This)	\
    ( (This)->lpVtbl -> OpenDevToolsWindow(This) ) 

#define ICoreWebView2_18_add_ContainsFullScreenElementChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_ContainsFullScreenElementChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) ) 

#define ICoreWebView2_18_get_ContainsFullScreenElement(This,containsFullScreenElement)	\
    ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) ) 

#define ICoreWebView2_18_add_WebResourceRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_WebResourceRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) ) 

#define ICoreWebView2_18_AddWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_18_RemoveWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_18_add_WindowCloseRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_WindowCloseRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) ) 


#define ICoreWebView2_18_add_WebResourceResponseReceived(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_WebResourceResponseReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) ) 

#define ICoreWebView2_18_NavigateWithWebResourceRequest(This,request)	\
    ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) ) 

#define ICoreWebView2_18_add_DOMContentLoaded(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_DOMContentLoaded(This,token)	\
    ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) ) 

#define ICoreWebView2_18_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 

#define ICoreWebView2_18_get_Environment(This,environment)	\
    ( (This)->lpVtbl -> get_Environment(This,environment) ) 


#define ICoreWebView2_18_TrySuspend(This,handler)	\
    ( (This)->lpVtbl -> TrySuspend(This,handler) ) 

#define ICoreWebView2_18_Resume(This)	\
    ( (This)->lpVtbl -> Resume(This) ) 

#define ICoreWebView2_18_get_IsSuspended(This,isSuspended)	\
    ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) ) 

#define ICoreWebView2_18_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind)	\
    ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) ) 

#define ICoreWebView2_18_ClearVirtualHostNameToFolderMapping(This,hostName)	\
    ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) ) 


#define ICoreWebView2_18_add_FrameCreated(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_FrameCreated(This,token)	\
    ( (This)->lpVtbl -> remove_FrameCreated(This,token) ) 

#define ICoreWebView2_18_add_DownloadStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_DownloadStarting(This,token)	\
    ( (This)->lpVtbl -> remove_DownloadStarting(This,token) ) 


#define ICoreWebView2_18_add_ClientCertificateRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_ClientCertificateRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) ) 


#define ICoreWebView2_18_OpenTaskManagerWindow(This)	\
    ( (This)->lpVtbl -> OpenTaskManagerWindow(This) ) 


#define ICoreWebView2_18_PrintToPdf(This,resultFilePath,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) ) 


#define ICoreWebView2_18_add_IsMutedChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsMutedChanged(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_IsMutedChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsMutedChanged(This,token) ) 

#define ICoreWebView2_18_get_IsMuted(This,value)	\
    ( (This)->lpVtbl -> get_IsMuted(This,value) ) 

#define ICoreWebView2_18_put_IsMuted(This,value)	\
    ( (This)->lpVtbl -> put_IsMuted(This,value) ) 

#define ICoreWebView2_18_add_IsDocumentPlayingAudioChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsDocumentPlayingAudioChanged(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_IsDocumentPlayingAudioChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDocumentPlayingAudioChanged(This,token) ) 

#define ICoreWebView2_18_get_IsDocumentPlayingAudio(This,value)	\
    ( (This)->lpVtbl -> get_IsDocumentPlayingAudio(This,value) ) 


#define ICoreWebView2_18_add_IsDefaultDownloadDialogOpenChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_IsDefaultDownloadDialogOpenChanged(This,handler,token) ) 

#define ICoreWebView2_18_remove_IsDefaultDownloadDialogOpenChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDefaultDownloadDialogOpenChanged(This,token) ) 

#define ICoreWebView2_18_get_IsDefaultDownloadDialogOpen(This,value)	\
    ( (This)->lpVtbl -> get_IsDefaultDownloadDialogOpen(This,value) ) 

#define ICoreWebView2_18_OpenDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> OpenDefaultDownloadDialog(This) ) 

#define ICoreWebView2_18_CloseDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> CloseDefaultDownloadDialog(This) ) 

#define ICoreWebView2_18_get_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_18_put_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_18_get_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogMargin(This,value) ) 

#define ICoreWebView2_18_put_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogMargin(This,value) ) 


#define ICoreWebView2_18_add_BasicAuthenticationRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BasicAuthenticationRequested(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_BasicAuthenticationRequested(This,token)	\
    ( (This)->lpVtbl -> remove_BasicAuthenticationRequested(This,token) ) 


#define ICoreWebView2_18_CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_18_add_ContextMenuRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContextMenuRequested(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_ContextMenuRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ContextMenuRequested(This,token) ) 


#define ICoreWebView2_18_add_StatusBarTextChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_StatusBarTextChanged(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_StatusBarTextChanged(This,token)	\
    ( (This)->lpVtbl -> remove_StatusBarTextChanged(This,token) ) 

#define ICoreWebView2_18_get_StatusBarText(This,value)	\
    ( (This)->lpVtbl -> get_StatusBarText(This,value) ) 


#define ICoreWebView2_18_get_Profile(This,value)	\
    ( (This)->lpVtbl -> get_Profile(This,value) ) 


#define ICoreWebView2_18_add_ServerCertificateErrorDetected(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ServerCertificateErrorDetected(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_ServerCertificateErrorDetected(This,token)	\
    ( (This)->lpVtbl -> remove_ServerCertificateErrorDetected(This,token) ) 

#define ICoreWebView2_18_ClearServerCertificateErrorActions(This,handler)	\
    ( (This)->lpVtbl -> ClearServerCertificateErrorActions(This,handler) ) 


#define ICoreWebView2_18_add_FaviconChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FaviconChanged(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_FaviconChanged(This,token)	\
    ( (This)->lpVtbl -> remove_FaviconChanged(This,token) ) 

#define ICoreWebView2_18_get_FaviconUri(This,value)	\
    ( (This)->lpVtbl -> get_FaviconUri(This,value) ) 

#define ICoreWebView2_18_GetFavicon(This,format,completedHandler)	\
    ( (This)->lpVtbl -> GetFavicon(This,format,completedHandler) ) 


#define ICoreWebView2_18_Print(This,printSettings,handler)	\
    ( (This)->lpVtbl -> Print(This,printSettings,handler) ) 

#define ICoreWebView2_18_ShowPrintUI(This,printDialogKind)	\
    ( (This)->lpVtbl -> ShowPrintUI(This,printDialogKind) ) 

#define ICoreWebView2_18_PrintToPdfStream(This,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdfStream(This,printSettings,handler) ) 


#define ICoreWebView2_18_PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson)	\
    ( (This)->lpVtbl -> PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson) ) 


#define ICoreWebView2_18_add_LaunchingExternalUriScheme(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_LaunchingExternalUriScheme(This,eventHandler,token) ) 

#define ICoreWebView2_18_remove_LaunchingExternalUriScheme(This,token)	\
    ( (This)->lpVtbl -> remove_LaunchingExternalUriScheme(This,token) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2_18_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2_19_INTERFACE_DEFINED__
#define __ICoreWebView2_19_INTERFACE_DEFINED__

/* interface ICoreWebView2_19 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_19 = {0x6921F954,0x79B0,0x437F,{0xA9,0x97,0xC8,0x58,0x11,0x89,0x7C,0x68}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6921F954-79B0-437F-A997-C85811897C68")
    ICoreWebView2_19 : public ICoreWebView2_18
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MemoryUsageTargetLevel( 
            /* [retval][out] */ COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL *level) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MemoryUsageTargetLevel( 
            /* [in] */ COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL level) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2_19Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_19 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_19 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_19 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_19 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_19 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_19 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_19 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_19 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_19 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_19 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_19 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_19 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_19 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_19 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_19 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_19 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_19 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_19 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_19 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_19 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_19 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_19 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_19 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_19 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_19 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_19 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdf )( 
            ICoreWebView2_19 * This,
            /* [in] */ LPCWSTR resultFilePath,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsMuted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, put_IsMuted)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )( 
            ICoreWebView2_19 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsDocumentPlayingAudio)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, add_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, remove_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_IsDefaultDownloadDialogOpen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, OpenDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )( 
            ICoreWebView2_19 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, CloseDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )( 
            ICoreWebView2_19 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogCornerAlignment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogCornerAlignment)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_19 * This,
            /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogMargin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ POINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogMargin)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogMargin )( 
            ICoreWebView2_19 * This,
            /* [in] */ POINT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, add_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *add_BasicAuthenticationRequested )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, remove_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_BasicAuthenticationRequested )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, CallDevToolsProtocolMethodForSession)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethodForSession )( 
            ICoreWebView2_19 * This,
            /* [in] */ LPCWSTR sessionId,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, add_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ContextMenuRequested )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2ContextMenuRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, remove_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ContextMenuRequested )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, add_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *add_StatusBarTextChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2StatusBarTextChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, remove_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_StatusBarTextChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, get_StatusBarText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusBarText )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_13, get_Profile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profile )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ ICoreWebView2Profile **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, add_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *add_ServerCertificateErrorDetected )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2ServerCertificateErrorDetectedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, remove_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *remove_ServerCertificateErrorDetected )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, ClearServerCertificateErrorActions)
        HRESULT ( STDMETHODCALLTYPE *ClearServerCertificateErrorActions )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, add_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *add_FaviconChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2FaviconChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, remove_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_FaviconChanged )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, get_FaviconUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaviconUri )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, GetFavicon)
        HRESULT ( STDMETHODCALLTYPE *GetFavicon )( 
            ICoreWebView2_19 * This,
            /* [in] */ COREWEBVIEW2_FAVICON_IMAGE_FORMAT format,
            /* [in] */ ICoreWebView2GetFaviconCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, Print)
        HRESULT ( STDMETHODCALLTYPE *Print )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, ShowPrintUI)
        HRESULT ( STDMETHODCALLTYPE *ShowPrintUI )( 
            ICoreWebView2_19 * This,
            /* [in] */ COREWEBVIEW2_PRINT_DIALOG_KIND printDialogKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, PrintToPdfStream)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdfStream )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfStreamCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_17, PostSharedBufferToScript)
        HRESULT ( STDMETHODCALLTYPE *PostSharedBufferToScript )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2SharedBuffer *sharedBuffer,
            /* [in] */ COREWEBVIEW2_SHARED_BUFFER_ACCESS access,
            /* [in] */ LPCWSTR additionalDataAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_18, add_LaunchingExternalUriScheme)
        HRESULT ( STDMETHODCALLTYPE *add_LaunchingExternalUriScheme )( 
            ICoreWebView2_19 * This,
            /* [in] */ ICoreWebView2LaunchingExternalUriSchemeEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_18, remove_LaunchingExternalUriScheme)
        HRESULT ( STDMETHODCALLTYPE *remove_LaunchingExternalUriScheme )( 
            ICoreWebView2_19 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_19, get_MemoryUsageTargetLevel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemoryUsageTargetLevel )( 
            ICoreWebView2_19 * This,
            /* [retval][out] */ COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL *level);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_19, put_MemoryUsageTargetLevel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MemoryUsageTargetLevel )( 
            ICoreWebView2_19 * This,
            /* [in] */ COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL level);
        
        END_INTERFACE
    } ICoreWebView2_19Vtbl;

    interface ICoreWebView2_19
    {
        CONST_VTBL struct ICoreWebView2_19Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2_19_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2_19_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2_19_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2_19_get_Settings(This,settings)	\
    ( (This)->lpVtbl -> get_Settings(This,settings) ) 

#define ICoreWebView2_19_get_Source(This,uri)	\
    ( (This)->lpVtbl -> get_Source(This,uri) ) 

#define ICoreWebView2_19_Navigate(This,uri)	\
    ( (This)->lpVtbl -> Navigate(This,uri) ) 

#define ICoreWebView2_19_NavigateToString(This,htmlContent)	\
    ( (This)->lpVtbl -> NavigateToString(This,htmlContent) ) 

#define ICoreWebView2_19_add_NavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_NavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationStarting(This,token) ) 

#define ICoreWebView2_19_add_ContentLoading(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_ContentLoading(This,token)	\
    ( (This)->lpVtbl -> remove_ContentLoading(This,token) ) 

#define ICoreWebView2_19_add_SourceChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_SourceChanged(This,token)	\
    ( (This)->lpVtbl -> remove_SourceChanged(This,token) ) 

#define ICoreWebView2_19_add_HistoryChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_HistoryChanged(This,token)	\
    ( (This)->lpVtbl -> remove_HistoryChanged(This,token) ) 

#define ICoreWebView2_19_add_NavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_NavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) ) 

#define ICoreWebView2_19_add_FrameNavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_FrameNavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) ) 

#define ICoreWebView2_19_add_FrameNavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_FrameNavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) ) 

#define ICoreWebView2_19_add_ScriptDialogOpening(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_ScriptDialogOpening(This,token)	\
    ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) ) 

#define ICoreWebView2_19_add_PermissionRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_PermissionRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PermissionRequested(This,token) ) 

#define ICoreWebView2_19_add_ProcessFailed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_ProcessFailed(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessFailed(This,token) ) 

#define ICoreWebView2_19_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler)	\
    ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) ) 

#define ICoreWebView2_19_RemoveScriptToExecuteOnDocumentCreated(This,id)	\
    ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) ) 

#define ICoreWebView2_19_ExecuteScript(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) ) 

#define ICoreWebView2_19_CapturePreview(This,imageFormat,imageStream,handler)	\
    ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) ) 

#define ICoreWebView2_19_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define ICoreWebView2_19_PostWebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2_19_PostWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) ) 

#define ICoreWebView2_19_add_WebMessageReceived(This,handler,token)	\
    ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) ) 

#define ICoreWebView2_19_remove_WebMessageReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) ) 

#define ICoreWebView2_19_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_19_get_BrowserProcessId(This,value)	\
    ( (This)->lpVtbl -> get_BrowserProcessId(This,value) ) 

#define ICoreWebView2_19_get_CanGoBack(This,canGoBack)	\
    ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) ) 

#define ICoreWebView2_19_get_CanGoForward(This,canGoForward)	\
    ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) ) 

#define ICoreWebView2_19_GoBack(This)	\
    ( (This)->lpVtbl -> GoBack(This) ) 

#define ICoreWebView2_19_GoForward(This)	\
    ( (This)->lpVtbl -> GoForward(This) ) 

#define ICoreWebView2_19_GetDevToolsProtocolEventReceiver(This,eventName,receiver)	\
    ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) ) 

#define ICoreWebView2_19_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#define ICoreWebView2_19_add_NewWindowRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_NewWindowRequested(This,token)	\
    ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) ) 

#define ICoreWebView2_19_add_DocumentTitleChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_DocumentTitleChanged(This,token)	\
    ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) ) 

#define ICoreWebView2_19_get_DocumentTitle(This,title)	\
    ( (This)->lpVtbl -> get_DocumentTitle(This,title) ) 

#define ICoreWebView2_19_AddHostObjectToScript(This,name,object)	\
    ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) ) 

#define ICoreWebView2_19_RemoveHostObjectFromScript(This,name)	\
    ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) ) 

#define ICoreWebView2_19_OpenDevToolsWindow(This)	\
    ( (This)->lpVtbl -> OpenDevToolsWindow(This) ) 

#define ICoreWebView2_19_add_ContainsFullScreenElementChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_ContainsFullScreenElementChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) ) 

#define ICoreWebView2_19_get_ContainsFullScreenElement(This,containsFullScreenElement)	\
    ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) ) 

#define ICoreWebView2_19_add_WebResourceRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_WebResourceRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) ) 

#define ICoreWebView2_19_AddWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_19_RemoveWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_19_add_WindowCloseRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_WindowCloseRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) ) 


#define ICoreWebView2_19_add_WebResourceResponseReceived(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_WebResourceResponseReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) ) 

#define ICoreWebView2_19_NavigateWithWebResourceRequest(This,request)	\
    ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) ) 

#define ICoreWebView2_19_add_DOMContentLoaded(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_DOMContentLoaded(This,token)	\
    ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) ) 

#define ICoreWebView2_19_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 

#define ICoreWebView2_19_get_Environment(This,environment)	\
    ( (This)->lpVtbl -> get_Environment(This,environment) ) 


#define ICoreWebView2_19_TrySuspend(This,handler)	\
    ( (This)->lpVtbl -> TrySuspend(This,handler) ) 

#define ICoreWebView2_19_Resume(This)	\
    ( (This)->lpVtbl -> Resume(This) ) 

#define ICoreWebView2_19_get_IsSuspended(This,isSuspended)	\
    ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) ) 

#define ICoreWebView2_19_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind)	\
    ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) ) 

#define ICoreWebView2_19_ClearVirtualHostNameToFolderMapping(This,hostName)	\
    ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) ) 


#define ICoreWebView2_19_add_FrameCreated(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_FrameCreated(This,token)	\
    ( (This)->lpVtbl -> remove_FrameCreated(This,token) ) 

#define ICoreWebView2_19_add_DownloadStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_DownloadStarting(This,token)	\
    ( (This)->lpVtbl -> remove_DownloadStarting(This,token) ) 


#define ICoreWebView2_19_add_ClientCertificateRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_ClientCertificateRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) ) 


#define ICoreWebView2_19_OpenTaskManagerWindow(This)	\
    ( (This)->lpVtbl -> OpenTaskManagerWindow(This) ) 


#define ICoreWebView2_19_PrintToPdf(This,resultFilePath,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) ) 


#define ICoreWebView2_19_add_IsMutedChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsMutedChanged(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_IsMutedChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsMutedChanged(This,token) ) 

#define ICoreWebView2_19_get_IsMuted(This,value)	\
    ( (This)->lpVtbl -> get_IsMuted(This,value) ) 

#define ICoreWebView2_19_put_IsMuted(This,value)	\
    ( (This)->lpVtbl -> put_IsMuted(This,value) ) 

#define ICoreWebView2_19_add_IsDocumentPlayingAudioChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsDocumentPlayingAudioChanged(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_IsDocumentPlayingAudioChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDocumentPlayingAudioChanged(This,token) ) 

#define ICoreWebView2_19_get_IsDocumentPlayingAudio(This,value)	\
    ( (This)->lpVtbl -> get_IsDocumentPlayingAudio(This,value) ) 


#define ICoreWebView2_19_add_IsDefaultDownloadDialogOpenChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_IsDefaultDownloadDialogOpenChanged(This,handler,token) ) 

#define ICoreWebView2_19_remove_IsDefaultDownloadDialogOpenChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDefaultDownloadDialogOpenChanged(This,token) ) 

#define ICoreWebView2_19_get_IsDefaultDownloadDialogOpen(This,value)	\
    ( (This)->lpVtbl -> get_IsDefaultDownloadDialogOpen(This,value) ) 

#define ICoreWebView2_19_OpenDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> OpenDefaultDownloadDialog(This) ) 

#define ICoreWebView2_19_CloseDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> CloseDefaultDownloadDialog(This) ) 

#define ICoreWebView2_19_get_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_19_put_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_19_get_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogMargin(This,value) ) 

#define ICoreWebView2_19_put_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogMargin(This,value) ) 


#define ICoreWebView2_19_add_BasicAuthenticationRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BasicAuthenticationRequested(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_BasicAuthenticationRequested(This,token)	\
    ( (This)->lpVtbl -> remove_BasicAuthenticationRequested(This,token) ) 


#define ICoreWebView2_19_CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_19_add_ContextMenuRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContextMenuRequested(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_ContextMenuRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ContextMenuRequested(This,token) ) 


#define ICoreWebView2_19_add_StatusBarTextChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_StatusBarTextChanged(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_StatusBarTextChanged(This,token)	\
    ( (This)->lpVtbl -> remove_StatusBarTextChanged(This,token) ) 

#define ICoreWebView2_19_get_StatusBarText(This,value)	\
    ( (This)->lpVtbl -> get_StatusBarText(This,value) ) 


#define ICoreWebView2_19_get_Profile(This,value)	\
    ( (This)->lpVtbl -> get_Profile(This,value) ) 


#define ICoreWebView2_19_add_ServerCertificateErrorDetected(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ServerCertificateErrorDetected(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_ServerCertificateErrorDetected(This,token)	\
    ( (This)->lpVtbl -> remove_ServerCertificateErrorDetected(This,token) ) 

#define ICoreWebView2_19_ClearServerCertificateErrorActions(This,handler)	\
    ( (This)->lpVtbl -> ClearServerCertificateErrorActions(This,handler) ) 


#define ICoreWebView2_19_add_FaviconChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FaviconChanged(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_FaviconChanged(This,token)	\
    ( (This)->lpVtbl -> remove_FaviconChanged(This,token) ) 

#define ICoreWebView2_19_get_FaviconUri(This,value)	\
    ( (This)->lpVtbl -> get_FaviconUri(This,value) ) 

#define ICoreWebView2_19_GetFavicon(This,format,completedHandler)	\
    ( (This)->lpVtbl -> GetFavicon(This,format,completedHandler) ) 


#define ICoreWebView2_19_Print(This,printSettings,handler)	\
    ( (This)->lpVtbl -> Print(This,printSettings,handler) ) 

#define ICoreWebView2_19_ShowPrintUI(This,printDialogKind)	\
    ( (This)->lpVtbl -> ShowPrintUI(This,printDialogKind) ) 

#define ICoreWebView2_19_PrintToPdfStream(This,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdfStream(This,printSettings,handler) ) 


#define ICoreWebView2_19_PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson)	\
    ( (This)->lpVtbl -> PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson) ) 


#define ICoreWebView2_19_add_LaunchingExternalUriScheme(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_LaunchingExternalUriScheme(This,eventHandler,token) ) 

#define ICoreWebView2_19_remove_LaunchingExternalUriScheme(This,token)	\
    ( (This)->lpVtbl -> remove_LaunchingExternalUriScheme(This,token) ) 


#define ICoreWebView2_19_get_MemoryUsageTargetLevel(This,level)	\
    ( (This)->lpVtbl -> get_MemoryUsageTargetLevel(This,level) ) 

#define ICoreWebView2_19_put_MemoryUsageTargetLevel(This,level)	\
    ( (This)->lpVtbl -> put_MemoryUsageTargetLevel(This,level) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2_19_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2_20_INTERFACE_DEFINED__
#define __ICoreWebView2_20_INTERFACE_DEFINED__

/* interface ICoreWebView2_20 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_20 = {0xb4bc1926,0x7305,0x11ee,{0xb9,0x62,0x02,0x42,0xac,0x12,0x00,0x02}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b4bc1926-7305-11ee-b962-0242ac120002")
    ICoreWebView2_20 : public ICoreWebView2_19
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameId( 
            /* [retval][out] */ UINT32 *id) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2_20Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_20 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_20 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_20 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_20 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_20 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_20 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_20 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_20 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_20 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_20 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_20 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_20 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_20 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_20 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_20 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_20 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_20 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_20 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_20 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_20 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_20 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_20 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_20 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_20 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_20 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_20 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdf )( 
            ICoreWebView2_20 * This,
            /* [in] */ LPCWSTR resultFilePath,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsMuted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, put_IsMuted)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )( 
            ICoreWebView2_20 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsDocumentPlayingAudio)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, add_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, remove_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_IsDefaultDownloadDialogOpen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, OpenDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )( 
            ICoreWebView2_20 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, CloseDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )( 
            ICoreWebView2_20 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogCornerAlignment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogCornerAlignment)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_20 * This,
            /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogMargin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ POINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogMargin)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogMargin )( 
            ICoreWebView2_20 * This,
            /* [in] */ POINT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, add_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *add_BasicAuthenticationRequested )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, remove_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_BasicAuthenticationRequested )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, CallDevToolsProtocolMethodForSession)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethodForSession )( 
            ICoreWebView2_20 * This,
            /* [in] */ LPCWSTR sessionId,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, add_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ContextMenuRequested )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2ContextMenuRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, remove_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ContextMenuRequested )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, add_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *add_StatusBarTextChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2StatusBarTextChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, remove_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_StatusBarTextChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, get_StatusBarText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusBarText )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_13, get_Profile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profile )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ ICoreWebView2Profile **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, add_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *add_ServerCertificateErrorDetected )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2ServerCertificateErrorDetectedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, remove_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *remove_ServerCertificateErrorDetected )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, ClearServerCertificateErrorActions)
        HRESULT ( STDMETHODCALLTYPE *ClearServerCertificateErrorActions )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, add_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *add_FaviconChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2FaviconChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, remove_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_FaviconChanged )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, get_FaviconUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaviconUri )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, GetFavicon)
        HRESULT ( STDMETHODCALLTYPE *GetFavicon )( 
            ICoreWebView2_20 * This,
            /* [in] */ COREWEBVIEW2_FAVICON_IMAGE_FORMAT format,
            /* [in] */ ICoreWebView2GetFaviconCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, Print)
        HRESULT ( STDMETHODCALLTYPE *Print )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, ShowPrintUI)
        HRESULT ( STDMETHODCALLTYPE *ShowPrintUI )( 
            ICoreWebView2_20 * This,
            /* [in] */ COREWEBVIEW2_PRINT_DIALOG_KIND printDialogKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, PrintToPdfStream)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdfStream )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfStreamCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_17, PostSharedBufferToScript)
        HRESULT ( STDMETHODCALLTYPE *PostSharedBufferToScript )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2SharedBuffer *sharedBuffer,
            /* [in] */ COREWEBVIEW2_SHARED_BUFFER_ACCESS access,
            /* [in] */ LPCWSTR additionalDataAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_18, add_LaunchingExternalUriScheme)
        HRESULT ( STDMETHODCALLTYPE *add_LaunchingExternalUriScheme )( 
            ICoreWebView2_20 * This,
            /* [in] */ ICoreWebView2LaunchingExternalUriSchemeEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_18, remove_LaunchingExternalUriScheme)
        HRESULT ( STDMETHODCALLTYPE *remove_LaunchingExternalUriScheme )( 
            ICoreWebView2_20 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_19, get_MemoryUsageTargetLevel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemoryUsageTargetLevel )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL *level);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_19, put_MemoryUsageTargetLevel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MemoryUsageTargetLevel )( 
            ICoreWebView2_20 * This,
            /* [in] */ COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL level);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_20, get_FrameId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameId )( 
            ICoreWebView2_20 * This,
            /* [retval][out] */ UINT32 *id);
        
        END_INTERFACE
    } ICoreWebView2_20Vtbl;

    interface ICoreWebView2_20
    {
        CONST_VTBL struct ICoreWebView2_20Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2_20_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2_20_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2_20_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2_20_get_Settings(This,settings)	\
    ( (This)->lpVtbl -> get_Settings(This,settings) ) 

#define ICoreWebView2_20_get_Source(This,uri)	\
    ( (This)->lpVtbl -> get_Source(This,uri) ) 

#define ICoreWebView2_20_Navigate(This,uri)	\
    ( (This)->lpVtbl -> Navigate(This,uri) ) 

#define ICoreWebView2_20_NavigateToString(This,htmlContent)	\
    ( (This)->lpVtbl -> NavigateToString(This,htmlContent) ) 

#define ICoreWebView2_20_add_NavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_NavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationStarting(This,token) ) 

#define ICoreWebView2_20_add_ContentLoading(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_ContentLoading(This,token)	\
    ( (This)->lpVtbl -> remove_ContentLoading(This,token) ) 

#define ICoreWebView2_20_add_SourceChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_SourceChanged(This,token)	\
    ( (This)->lpVtbl -> remove_SourceChanged(This,token) ) 

#define ICoreWebView2_20_add_HistoryChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_HistoryChanged(This,token)	\
    ( (This)->lpVtbl -> remove_HistoryChanged(This,token) ) 

#define ICoreWebView2_20_add_NavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_NavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) ) 

#define ICoreWebView2_20_add_FrameNavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_FrameNavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) ) 

#define ICoreWebView2_20_add_FrameNavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_FrameNavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) ) 

#define ICoreWebView2_20_add_ScriptDialogOpening(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_ScriptDialogOpening(This,token)	\
    ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) ) 

#define ICoreWebView2_20_add_PermissionRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_PermissionRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PermissionRequested(This,token) ) 

#define ICoreWebView2_20_add_ProcessFailed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_ProcessFailed(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessFailed(This,token) ) 

#define ICoreWebView2_20_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler)	\
    ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) ) 

#define ICoreWebView2_20_RemoveScriptToExecuteOnDocumentCreated(This,id)	\
    ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) ) 

#define ICoreWebView2_20_ExecuteScript(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) ) 

#define ICoreWebView2_20_CapturePreview(This,imageFormat,imageStream,handler)	\
    ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) ) 

#define ICoreWebView2_20_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define ICoreWebView2_20_PostWebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2_20_PostWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) ) 

#define ICoreWebView2_20_add_WebMessageReceived(This,handler,token)	\
    ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) ) 

#define ICoreWebView2_20_remove_WebMessageReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) ) 

#define ICoreWebView2_20_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_20_get_BrowserProcessId(This,value)	\
    ( (This)->lpVtbl -> get_BrowserProcessId(This,value) ) 

#define ICoreWebView2_20_get_CanGoBack(This,canGoBack)	\
    ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) ) 

#define ICoreWebView2_20_get_CanGoForward(This,canGoForward)	\
    ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) ) 

#define ICoreWebView2_20_GoBack(This)	\
    ( (This)->lpVtbl -> GoBack(This) ) 

#define ICoreWebView2_20_GoForward(This)	\
    ( (This)->lpVtbl -> GoForward(This) ) 

#define ICoreWebView2_20_GetDevToolsProtocolEventReceiver(This,eventName,receiver)	\
    ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) ) 

#define ICoreWebView2_20_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#define ICoreWebView2_20_add_NewWindowRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_NewWindowRequested(This,token)	\
    ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) ) 

#define ICoreWebView2_20_add_DocumentTitleChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_DocumentTitleChanged(This,token)	\
    ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) ) 

#define ICoreWebView2_20_get_DocumentTitle(This,title)	\
    ( (This)->lpVtbl -> get_DocumentTitle(This,title) ) 

#define ICoreWebView2_20_AddHostObjectToScript(This,name,object)	\
    ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) ) 

#define ICoreWebView2_20_RemoveHostObjectFromScript(This,name)	\
    ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) ) 

#define ICoreWebView2_20_OpenDevToolsWindow(This)	\
    ( (This)->lpVtbl -> OpenDevToolsWindow(This) ) 

#define ICoreWebView2_20_add_ContainsFullScreenElementChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_ContainsFullScreenElementChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) ) 

#define ICoreWebView2_20_get_ContainsFullScreenElement(This,containsFullScreenElement)	\
    ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) ) 

#define ICoreWebView2_20_add_WebResourceRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_WebResourceRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) ) 

#define ICoreWebView2_20_AddWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_20_RemoveWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_20_add_WindowCloseRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_WindowCloseRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) ) 


#define ICoreWebView2_20_add_WebResourceResponseReceived(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_WebResourceResponseReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) ) 

#define ICoreWebView2_20_NavigateWithWebResourceRequest(This,request)	\
    ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) ) 

#define ICoreWebView2_20_add_DOMContentLoaded(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_DOMContentLoaded(This,token)	\
    ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) ) 

#define ICoreWebView2_20_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 

#define ICoreWebView2_20_get_Environment(This,environment)	\
    ( (This)->lpVtbl -> get_Environment(This,environment) ) 


#define ICoreWebView2_20_TrySuspend(This,handler)	\
    ( (This)->lpVtbl -> TrySuspend(This,handler) ) 

#define ICoreWebView2_20_Resume(This)	\
    ( (This)->lpVtbl -> Resume(This) ) 

#define ICoreWebView2_20_get_IsSuspended(This,isSuspended)	\
    ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) ) 

#define ICoreWebView2_20_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind)	\
    ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) ) 

#define ICoreWebView2_20_ClearVirtualHostNameToFolderMapping(This,hostName)	\
    ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) ) 


#define ICoreWebView2_20_add_FrameCreated(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_FrameCreated(This,token)	\
    ( (This)->lpVtbl -> remove_FrameCreated(This,token) ) 

#define ICoreWebView2_20_add_DownloadStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_DownloadStarting(This,token)	\
    ( (This)->lpVtbl -> remove_DownloadStarting(This,token) ) 


#define ICoreWebView2_20_add_ClientCertificateRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_ClientCertificateRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) ) 


#define ICoreWebView2_20_OpenTaskManagerWindow(This)	\
    ( (This)->lpVtbl -> OpenTaskManagerWindow(This) ) 


#define ICoreWebView2_20_PrintToPdf(This,resultFilePath,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) ) 


#define ICoreWebView2_20_add_IsMutedChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsMutedChanged(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_IsMutedChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsMutedChanged(This,token) ) 

#define ICoreWebView2_20_get_IsMuted(This,value)	\
    ( (This)->lpVtbl -> get_IsMuted(This,value) ) 

#define ICoreWebView2_20_put_IsMuted(This,value)	\
    ( (This)->lpVtbl -> put_IsMuted(This,value) ) 

#define ICoreWebView2_20_add_IsDocumentPlayingAudioChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsDocumentPlayingAudioChanged(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_IsDocumentPlayingAudioChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDocumentPlayingAudioChanged(This,token) ) 

#define ICoreWebView2_20_get_IsDocumentPlayingAudio(This,value)	\
    ( (This)->lpVtbl -> get_IsDocumentPlayingAudio(This,value) ) 


#define ICoreWebView2_20_add_IsDefaultDownloadDialogOpenChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_IsDefaultDownloadDialogOpenChanged(This,handler,token) ) 

#define ICoreWebView2_20_remove_IsDefaultDownloadDialogOpenChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDefaultDownloadDialogOpenChanged(This,token) ) 

#define ICoreWebView2_20_get_IsDefaultDownloadDialogOpen(This,value)	\
    ( (This)->lpVtbl -> get_IsDefaultDownloadDialogOpen(This,value) ) 

#define ICoreWebView2_20_OpenDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> OpenDefaultDownloadDialog(This) ) 

#define ICoreWebView2_20_CloseDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> CloseDefaultDownloadDialog(This) ) 

#define ICoreWebView2_20_get_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_20_put_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_20_get_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogMargin(This,value) ) 

#define ICoreWebView2_20_put_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogMargin(This,value) ) 


#define ICoreWebView2_20_add_BasicAuthenticationRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BasicAuthenticationRequested(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_BasicAuthenticationRequested(This,token)	\
    ( (This)->lpVtbl -> remove_BasicAuthenticationRequested(This,token) ) 


#define ICoreWebView2_20_CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_20_add_ContextMenuRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContextMenuRequested(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_ContextMenuRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ContextMenuRequested(This,token) ) 


#define ICoreWebView2_20_add_StatusBarTextChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_StatusBarTextChanged(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_StatusBarTextChanged(This,token)	\
    ( (This)->lpVtbl -> remove_StatusBarTextChanged(This,token) ) 

#define ICoreWebView2_20_get_StatusBarText(This,value)	\
    ( (This)->lpVtbl -> get_StatusBarText(This,value) ) 


#define ICoreWebView2_20_get_Profile(This,value)	\
    ( (This)->lpVtbl -> get_Profile(This,value) ) 


#define ICoreWebView2_20_add_ServerCertificateErrorDetected(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ServerCertificateErrorDetected(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_ServerCertificateErrorDetected(This,token)	\
    ( (This)->lpVtbl -> remove_ServerCertificateErrorDetected(This,token) ) 

#define ICoreWebView2_20_ClearServerCertificateErrorActions(This,handler)	\
    ( (This)->lpVtbl -> ClearServerCertificateErrorActions(This,handler) ) 


#define ICoreWebView2_20_add_FaviconChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FaviconChanged(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_FaviconChanged(This,token)	\
    ( (This)->lpVtbl -> remove_FaviconChanged(This,token) ) 

#define ICoreWebView2_20_get_FaviconUri(This,value)	\
    ( (This)->lpVtbl -> get_FaviconUri(This,value) ) 

#define ICoreWebView2_20_GetFavicon(This,format,completedHandler)	\
    ( (This)->lpVtbl -> GetFavicon(This,format,completedHandler) ) 


#define ICoreWebView2_20_Print(This,printSettings,handler)	\
    ( (This)->lpVtbl -> Print(This,printSettings,handler) ) 

#define ICoreWebView2_20_ShowPrintUI(This,printDialogKind)	\
    ( (This)->lpVtbl -> ShowPrintUI(This,printDialogKind) ) 

#define ICoreWebView2_20_PrintToPdfStream(This,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdfStream(This,printSettings,handler) ) 


#define ICoreWebView2_20_PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson)	\
    ( (This)->lpVtbl -> PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson) ) 


#define ICoreWebView2_20_add_LaunchingExternalUriScheme(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_LaunchingExternalUriScheme(This,eventHandler,token) ) 

#define ICoreWebView2_20_remove_LaunchingExternalUriScheme(This,token)	\
    ( (This)->lpVtbl -> remove_LaunchingExternalUriScheme(This,token) ) 


#define ICoreWebView2_20_get_MemoryUsageTargetLevel(This,level)	\
    ( (This)->lpVtbl -> get_MemoryUsageTargetLevel(This,level) ) 

#define ICoreWebView2_20_put_MemoryUsageTargetLevel(This,level)	\
    ( (This)->lpVtbl -> put_MemoryUsageTargetLevel(This,level) ) 


#define ICoreWebView2_20_get_FrameId(This,id)	\
    ( (This)->lpVtbl -> get_FrameId(This,id) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2_20_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2_21_INTERFACE_DEFINED__
#define __ICoreWebView2_21_INTERFACE_DEFINED__

/* interface ICoreWebView2_21 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_21 = {0xc4980dea,0x587b,0x43b9,{0x81,0x43,0x3e,0xf3,0xbf,0x55,0x2d,0x95}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c4980dea-587b-43b9-8143-3ef3bf552d95")
    ICoreWebView2_21 : public ICoreWebView2_20
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE ExecuteScriptWithResult( 
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptWithResultCompletedHandler *handler) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2_21Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_21 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_21 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_21 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_21 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_21 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_21 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_21 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_21 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_21 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_21 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_21 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_21 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_21 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdf )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR resultFilePath,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsMuted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, put_IsMuted)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )( 
            ICoreWebView2_21 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsDocumentPlayingAudio)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, add_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, remove_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_IsDefaultDownloadDialogOpen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, OpenDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )( 
            ICoreWebView2_21 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, CloseDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )( 
            ICoreWebView2_21 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogCornerAlignment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogCornerAlignment)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_21 * This,
            /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogMargin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ POINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogMargin)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogMargin )( 
            ICoreWebView2_21 * This,
            /* [in] */ POINT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, add_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *add_BasicAuthenticationRequested )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, remove_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_BasicAuthenticationRequested )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, CallDevToolsProtocolMethodForSession)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethodForSession )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR sessionId,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, add_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ContextMenuRequested )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2ContextMenuRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, remove_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ContextMenuRequested )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, add_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *add_StatusBarTextChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2StatusBarTextChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, remove_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_StatusBarTextChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, get_StatusBarText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusBarText )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_13, get_Profile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profile )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ ICoreWebView2Profile **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, add_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *add_ServerCertificateErrorDetected )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2ServerCertificateErrorDetectedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, remove_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *remove_ServerCertificateErrorDetected )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, ClearServerCertificateErrorActions)
        HRESULT ( STDMETHODCALLTYPE *ClearServerCertificateErrorActions )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, add_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *add_FaviconChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2FaviconChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, remove_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_FaviconChanged )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, get_FaviconUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaviconUri )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, GetFavicon)
        HRESULT ( STDMETHODCALLTYPE *GetFavicon )( 
            ICoreWebView2_21 * This,
            /* [in] */ COREWEBVIEW2_FAVICON_IMAGE_FORMAT format,
            /* [in] */ ICoreWebView2GetFaviconCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, Print)
        HRESULT ( STDMETHODCALLTYPE *Print )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, ShowPrintUI)
        HRESULT ( STDMETHODCALLTYPE *ShowPrintUI )( 
            ICoreWebView2_21 * This,
            /* [in] */ COREWEBVIEW2_PRINT_DIALOG_KIND printDialogKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, PrintToPdfStream)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdfStream )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfStreamCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_17, PostSharedBufferToScript)
        HRESULT ( STDMETHODCALLTYPE *PostSharedBufferToScript )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2SharedBuffer *sharedBuffer,
            /* [in] */ COREWEBVIEW2_SHARED_BUFFER_ACCESS access,
            /* [in] */ LPCWSTR additionalDataAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_18, add_LaunchingExternalUriScheme)
        HRESULT ( STDMETHODCALLTYPE *add_LaunchingExternalUriScheme )( 
            ICoreWebView2_21 * This,
            /* [in] */ ICoreWebView2LaunchingExternalUriSchemeEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_18, remove_LaunchingExternalUriScheme)
        HRESULT ( STDMETHODCALLTYPE *remove_LaunchingExternalUriScheme )( 
            ICoreWebView2_21 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_19, get_MemoryUsageTargetLevel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemoryUsageTargetLevel )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL *level);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_19, put_MemoryUsageTargetLevel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MemoryUsageTargetLevel )( 
            ICoreWebView2_21 * This,
            /* [in] */ COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL level);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_20, get_FrameId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameId )( 
            ICoreWebView2_21 * This,
            /* [retval][out] */ UINT32 *id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_21, ExecuteScriptWithResult)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScriptWithResult )( 
            ICoreWebView2_21 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptWithResultCompletedHandler *handler);
        
        END_INTERFACE
    } ICoreWebView2_21Vtbl;

    interface ICoreWebView2_21
    {
        CONST_VTBL struct ICoreWebView2_21Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2_21_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2_21_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2_21_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2_21_get_Settings(This,settings)	\
    ( (This)->lpVtbl -> get_Settings(This,settings) ) 

#define ICoreWebView2_21_get_Source(This,uri)	\
    ( (This)->lpVtbl -> get_Source(This,uri) ) 

#define ICoreWebView2_21_Navigate(This,uri)	\
    ( (This)->lpVtbl -> Navigate(This,uri) ) 

#define ICoreWebView2_21_NavigateToString(This,htmlContent)	\
    ( (This)->lpVtbl -> NavigateToString(This,htmlContent) ) 

#define ICoreWebView2_21_add_NavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_NavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationStarting(This,token) ) 

#define ICoreWebView2_21_add_ContentLoading(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_ContentLoading(This,token)	\
    ( (This)->lpVtbl -> remove_ContentLoading(This,token) ) 

#define ICoreWebView2_21_add_SourceChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_SourceChanged(This,token)	\
    ( (This)->lpVtbl -> remove_SourceChanged(This,token) ) 

#define ICoreWebView2_21_add_HistoryChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_HistoryChanged(This,token)	\
    ( (This)->lpVtbl -> remove_HistoryChanged(This,token) ) 

#define ICoreWebView2_21_add_NavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_NavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) ) 

#define ICoreWebView2_21_add_FrameNavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_FrameNavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) ) 

#define ICoreWebView2_21_add_FrameNavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_FrameNavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) ) 

#define ICoreWebView2_21_add_ScriptDialogOpening(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_ScriptDialogOpening(This,token)	\
    ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) ) 

#define ICoreWebView2_21_add_PermissionRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_PermissionRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PermissionRequested(This,token) ) 

#define ICoreWebView2_21_add_ProcessFailed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_ProcessFailed(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessFailed(This,token) ) 

#define ICoreWebView2_21_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler)	\
    ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) ) 

#define ICoreWebView2_21_RemoveScriptToExecuteOnDocumentCreated(This,id)	\
    ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) ) 

#define ICoreWebView2_21_ExecuteScript(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) ) 

#define ICoreWebView2_21_CapturePreview(This,imageFormat,imageStream,handler)	\
    ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) ) 

#define ICoreWebView2_21_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define ICoreWebView2_21_PostWebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2_21_PostWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) ) 

#define ICoreWebView2_21_add_WebMessageReceived(This,handler,token)	\
    ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) ) 

#define ICoreWebView2_21_remove_WebMessageReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) ) 

#define ICoreWebView2_21_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_21_get_BrowserProcessId(This,value)	\
    ( (This)->lpVtbl -> get_BrowserProcessId(This,value) ) 

#define ICoreWebView2_21_get_CanGoBack(This,canGoBack)	\
    ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) ) 

#define ICoreWebView2_21_get_CanGoForward(This,canGoForward)	\
    ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) ) 

#define ICoreWebView2_21_GoBack(This)	\
    ( (This)->lpVtbl -> GoBack(This) ) 

#define ICoreWebView2_21_GoForward(This)	\
    ( (This)->lpVtbl -> GoForward(This) ) 

#define ICoreWebView2_21_GetDevToolsProtocolEventReceiver(This,eventName,receiver)	\
    ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) ) 

#define ICoreWebView2_21_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#define ICoreWebView2_21_add_NewWindowRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_NewWindowRequested(This,token)	\
    ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) ) 

#define ICoreWebView2_21_add_DocumentTitleChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_DocumentTitleChanged(This,token)	\
    ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) ) 

#define ICoreWebView2_21_get_DocumentTitle(This,title)	\
    ( (This)->lpVtbl -> get_DocumentTitle(This,title) ) 

#define ICoreWebView2_21_AddHostObjectToScript(This,name,object)	\
    ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) ) 

#define ICoreWebView2_21_RemoveHostObjectFromScript(This,name)	\
    ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) ) 

#define ICoreWebView2_21_OpenDevToolsWindow(This)	\
    ( (This)->lpVtbl -> OpenDevToolsWindow(This) ) 

#define ICoreWebView2_21_add_ContainsFullScreenElementChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_ContainsFullScreenElementChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) ) 

#define ICoreWebView2_21_get_ContainsFullScreenElement(This,containsFullScreenElement)	\
    ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) ) 

#define ICoreWebView2_21_add_WebResourceRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_WebResourceRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) ) 

#define ICoreWebView2_21_AddWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_21_RemoveWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_21_add_WindowCloseRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_WindowCloseRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) ) 


#define ICoreWebView2_21_add_WebResourceResponseReceived(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_WebResourceResponseReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) ) 

#define ICoreWebView2_21_NavigateWithWebResourceRequest(This,request)	\
    ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) ) 

#define ICoreWebView2_21_add_DOMContentLoaded(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_DOMContentLoaded(This,token)	\
    ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) ) 

#define ICoreWebView2_21_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 

#define ICoreWebView2_21_get_Environment(This,environment)	\
    ( (This)->lpVtbl -> get_Environment(This,environment) ) 


#define ICoreWebView2_21_TrySuspend(This,handler)	\
    ( (This)->lpVtbl -> TrySuspend(This,handler) ) 

#define ICoreWebView2_21_Resume(This)	\
    ( (This)->lpVtbl -> Resume(This) ) 

#define ICoreWebView2_21_get_IsSuspended(This,isSuspended)	\
    ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) ) 

#define ICoreWebView2_21_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind)	\
    ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) ) 

#define ICoreWebView2_21_ClearVirtualHostNameToFolderMapping(This,hostName)	\
    ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) ) 


#define ICoreWebView2_21_add_FrameCreated(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_FrameCreated(This,token)	\
    ( (This)->lpVtbl -> remove_FrameCreated(This,token) ) 

#define ICoreWebView2_21_add_DownloadStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_DownloadStarting(This,token)	\
    ( (This)->lpVtbl -> remove_DownloadStarting(This,token) ) 


#define ICoreWebView2_21_add_ClientCertificateRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_ClientCertificateRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) ) 


#define ICoreWebView2_21_OpenTaskManagerWindow(This)	\
    ( (This)->lpVtbl -> OpenTaskManagerWindow(This) ) 


#define ICoreWebView2_21_PrintToPdf(This,resultFilePath,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) ) 


#define ICoreWebView2_21_add_IsMutedChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsMutedChanged(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_IsMutedChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsMutedChanged(This,token) ) 

#define ICoreWebView2_21_get_IsMuted(This,value)	\
    ( (This)->lpVtbl -> get_IsMuted(This,value) ) 

#define ICoreWebView2_21_put_IsMuted(This,value)	\
    ( (This)->lpVtbl -> put_IsMuted(This,value) ) 

#define ICoreWebView2_21_add_IsDocumentPlayingAudioChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsDocumentPlayingAudioChanged(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_IsDocumentPlayingAudioChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDocumentPlayingAudioChanged(This,token) ) 

#define ICoreWebView2_21_get_IsDocumentPlayingAudio(This,value)	\
    ( (This)->lpVtbl -> get_IsDocumentPlayingAudio(This,value) ) 


#define ICoreWebView2_21_add_IsDefaultDownloadDialogOpenChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_IsDefaultDownloadDialogOpenChanged(This,handler,token) ) 

#define ICoreWebView2_21_remove_IsDefaultDownloadDialogOpenChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDefaultDownloadDialogOpenChanged(This,token) ) 

#define ICoreWebView2_21_get_IsDefaultDownloadDialogOpen(This,value)	\
    ( (This)->lpVtbl -> get_IsDefaultDownloadDialogOpen(This,value) ) 

#define ICoreWebView2_21_OpenDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> OpenDefaultDownloadDialog(This) ) 

#define ICoreWebView2_21_CloseDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> CloseDefaultDownloadDialog(This) ) 

#define ICoreWebView2_21_get_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_21_put_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_21_get_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogMargin(This,value) ) 

#define ICoreWebView2_21_put_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogMargin(This,value) ) 


#define ICoreWebView2_21_add_BasicAuthenticationRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BasicAuthenticationRequested(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_BasicAuthenticationRequested(This,token)	\
    ( (This)->lpVtbl -> remove_BasicAuthenticationRequested(This,token) ) 


#define ICoreWebView2_21_CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_21_add_ContextMenuRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContextMenuRequested(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_ContextMenuRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ContextMenuRequested(This,token) ) 


#define ICoreWebView2_21_add_StatusBarTextChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_StatusBarTextChanged(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_StatusBarTextChanged(This,token)	\
    ( (This)->lpVtbl -> remove_StatusBarTextChanged(This,token) ) 

#define ICoreWebView2_21_get_StatusBarText(This,value)	\
    ( (This)->lpVtbl -> get_StatusBarText(This,value) ) 


#define ICoreWebView2_21_get_Profile(This,value)	\
    ( (This)->lpVtbl -> get_Profile(This,value) ) 


#define ICoreWebView2_21_add_ServerCertificateErrorDetected(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ServerCertificateErrorDetected(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_ServerCertificateErrorDetected(This,token)	\
    ( (This)->lpVtbl -> remove_ServerCertificateErrorDetected(This,token) ) 

#define ICoreWebView2_21_ClearServerCertificateErrorActions(This,handler)	\
    ( (This)->lpVtbl -> ClearServerCertificateErrorActions(This,handler) ) 


#define ICoreWebView2_21_add_FaviconChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FaviconChanged(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_FaviconChanged(This,token)	\
    ( (This)->lpVtbl -> remove_FaviconChanged(This,token) ) 

#define ICoreWebView2_21_get_FaviconUri(This,value)	\
    ( (This)->lpVtbl -> get_FaviconUri(This,value) ) 

#define ICoreWebView2_21_GetFavicon(This,format,completedHandler)	\
    ( (This)->lpVtbl -> GetFavicon(This,format,completedHandler) ) 


#define ICoreWebView2_21_Print(This,printSettings,handler)	\
    ( (This)->lpVtbl -> Print(This,printSettings,handler) ) 

#define ICoreWebView2_21_ShowPrintUI(This,printDialogKind)	\
    ( (This)->lpVtbl -> ShowPrintUI(This,printDialogKind) ) 

#define ICoreWebView2_21_PrintToPdfStream(This,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdfStream(This,printSettings,handler) ) 


#define ICoreWebView2_21_PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson)	\
    ( (This)->lpVtbl -> PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson) ) 


#define ICoreWebView2_21_add_LaunchingExternalUriScheme(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_LaunchingExternalUriScheme(This,eventHandler,token) ) 

#define ICoreWebView2_21_remove_LaunchingExternalUriScheme(This,token)	\
    ( (This)->lpVtbl -> remove_LaunchingExternalUriScheme(This,token) ) 


#define ICoreWebView2_21_get_MemoryUsageTargetLevel(This,level)	\
    ( (This)->lpVtbl -> get_MemoryUsageTargetLevel(This,level) ) 

#define ICoreWebView2_21_put_MemoryUsageTargetLevel(This,level)	\
    ( (This)->lpVtbl -> put_MemoryUsageTargetLevel(This,level) ) 


#define ICoreWebView2_21_get_FrameId(This,id)	\
    ( (This)->lpVtbl -> get_FrameId(This,id) ) 


#define ICoreWebView2_21_ExecuteScriptWithResult(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScriptWithResult(This,javaScript,handler) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2_21_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2_22_INTERFACE_DEFINED__
#define __ICoreWebView2_22_INTERFACE_DEFINED__

/* interface ICoreWebView2_22 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2_22 = {0xDB75DFC7,0xA857,0x4632,{0xA3,0x98,0x69,0x69,0xDD,0xE2,0x6C,0x0A}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DB75DFC7-A857-4632-A398-6969DDE26C0A")
    ICoreWebView2_22 : public ICoreWebView2_21
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AddWebResourceRequestedFilterWithRequestSourceKinds( 
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS requestSourceKinds) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveWebResourceRequestedFilterWithRequestSourceKinds( 
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS requestSourceKinds) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2_22Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2_22 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2_22 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2_22 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Settings)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ ICoreWebView2Settings **settings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Navigate)
        HRESULT ( STDMETHODCALLTYPE *Navigate )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, NavigateToString)
        HRESULT ( STDMETHODCALLTYPE *NavigateToString )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR htmlContent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2ContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *add_SourceChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2SourceChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_SourceChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_SourceChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *add_HistoryChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2HistoryChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_HistoryChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_HistoryChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationStarting )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2NavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationStarting )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_FrameNavigationCompleted )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2NavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_FrameNavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameNavigationCompleted )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *add_ScriptDialogOpening )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2ScriptDialogOpeningEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ScriptDialogOpening)
        HRESULT ( STDMETHODCALLTYPE *remove_ScriptDialogOpening )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2PermissionRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessFailed )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2ProcessFailedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ProcessFailed)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessFailed )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *AddScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2AddScriptToExecuteOnDocumentCreatedCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveScriptToExecuteOnDocumentCreated)
        HRESULT ( STDMETHODCALLTYPE *RemoveScriptToExecuteOnDocumentCreated )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CapturePreview)
        HRESULT ( STDMETHODCALLTYPE *CapturePreview )( 
            ICoreWebView2_22 * This,
            /* [in] */ COREWEBVIEW2_CAPTURE_PREVIEW_IMAGE_FORMAT imageFormat,
            /* [in] */ IStream *imageStream,
            /* [in] */ ICoreWebView2CapturePreviewCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Reload)
        HRESULT ( STDMETHODCALLTYPE *Reload )( 
            ICoreWebView2_22 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2WebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, CallDevToolsProtocolMethod)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethod )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_BrowserProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessId )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoBack)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoBack )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ BOOL *canGoBack);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_CanGoForward)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanGoForward )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ BOOL *canGoForward);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoBack)
        HRESULT ( STDMETHODCALLTYPE *GoBack )( 
            ICoreWebView2_22 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GoForward)
        HRESULT ( STDMETHODCALLTYPE *GoForward )( 
            ICoreWebView2_22 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, GetDevToolsProtocolEventReceiver)
        HRESULT ( STDMETHODCALLTYPE *GetDevToolsProtocolEventReceiver )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR eventName,
            /* [retval][out] */ ICoreWebView2DevToolsProtocolEventReceiver **receiver);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, Stop)
        HRESULT ( STDMETHODCALLTYPE *Stop )( 
            ICoreWebView2_22 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *add_NewWindowRequested )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2NewWindowRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_NewWindowRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_NewWindowRequested )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_DocumentTitleChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2DocumentTitleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_DocumentTitleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_DocumentTitleChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_DocumentTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DocumentTitle )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ LPWSTR *title);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddHostObjectToScript)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, OpenDevToolsWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenDevToolsWindow )( 
            ICoreWebView2_22 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ContainsFullScreenElementChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2ContainsFullScreenElementChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_ContainsFullScreenElementChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ContainsFullScreenElementChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, get_ContainsFullScreenElement)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContainsFullScreenElement )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ BOOL *containsFullScreenElement);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceRequested )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2WebResourceRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WebResourceRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceRequested )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, AddWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilter )( 
            ICoreWebView2_22 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, RemoveWebResourceRequestedFilter)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilter )( 
            ICoreWebView2_22 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, add_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *add_WindowCloseRequested )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2WindowCloseRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2, remove_WindowCloseRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_WindowCloseRequested )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebResourceResponseReceived )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2WebResourceResponseReceivedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_WebResourceResponseReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebResourceResponseReceived )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, NavigateWithWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *NavigateWithWebResourceRequest )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2WebResourceRequest *request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2DOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_2, get_Environment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Environment )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ ICoreWebView2Environment **environment);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, TrySuspend)
        HRESULT ( STDMETHODCALLTYPE *TrySuspend )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2TrySuspendCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2_22 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, get_IsSuspended)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuspended )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ BOOL *isSuspended);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, SetVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *SetVirtualHostNameToFolderMapping )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR hostName,
            /* [in] */ LPCWSTR folderPath,
            /* [in] */ COREWEBVIEW2_HOST_RESOURCE_ACCESS_KIND accessKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_3, ClearVirtualHostNameToFolderMapping)
        HRESULT ( STDMETHODCALLTYPE *ClearVirtualHostNameToFolderMapping )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR hostName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *add_FrameCreated )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2FrameCreatedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_FrameCreated)
        HRESULT ( STDMETHODCALLTYPE *remove_FrameCreated )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, add_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *add_DownloadStarting )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2DownloadStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_4, remove_DownloadStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_DownloadStarting )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, add_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ClientCertificateRequested )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2ClientCertificateRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_5, remove_ClientCertificateRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ClientCertificateRequested )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_6, OpenTaskManagerWindow)
        HRESULT ( STDMETHODCALLTYPE *OpenTaskManagerWindow )( 
            ICoreWebView2_22 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_7, PrintToPdf)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdf )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR resultFilePath,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsMutedChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2IsMutedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsMutedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsMutedChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsMuted)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsMuted )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, put_IsMuted)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsMuted )( 
            ICoreWebView2_22 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, add_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2IsDocumentPlayingAudioChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, remove_IsDocumentPlayingAudioChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDocumentPlayingAudioChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_8, get_IsDocumentPlayingAudio)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDocumentPlayingAudio )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, add_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *add_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, remove_IsDefaultDownloadDialogOpenChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_IsDefaultDownloadDialogOpenChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_IsDefaultDownloadDialogOpen)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDefaultDownloadDialogOpen )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, OpenDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *OpenDefaultDownloadDialog )( 
            ICoreWebView2_22 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, CloseDefaultDownloadDialog)
        HRESULT ( STDMETHODCALLTYPE *CloseDefaultDownloadDialog )( 
            ICoreWebView2_22 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogCornerAlignment)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogCornerAlignment)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogCornerAlignment )( 
            ICoreWebView2_22 * This,
            /* [in] */ COREWEBVIEW2_DEFAULT_DOWNLOAD_DIALOG_CORNER_ALIGNMENT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, get_DefaultDownloadDialogMargin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadDialogMargin )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ POINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_9, put_DefaultDownloadDialogMargin)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadDialogMargin )( 
            ICoreWebView2_22 * This,
            /* [in] */ POINT value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, add_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *add_BasicAuthenticationRequested )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2BasicAuthenticationRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_10, remove_BasicAuthenticationRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_BasicAuthenticationRequested )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, CallDevToolsProtocolMethodForSession)
        HRESULT ( STDMETHODCALLTYPE *CallDevToolsProtocolMethodForSession )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR sessionId,
            /* [in] */ LPCWSTR methodName,
            /* [in] */ LPCWSTR parametersAsJson,
            /* [in] */ ICoreWebView2CallDevToolsProtocolMethodCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, add_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *add_ContextMenuRequested )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2ContextMenuRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_11, remove_ContextMenuRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_ContextMenuRequested )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, add_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *add_StatusBarTextChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2StatusBarTextChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, remove_StatusBarTextChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_StatusBarTextChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_12, get_StatusBarText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusBarText )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_13, get_Profile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profile )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ ICoreWebView2Profile **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, add_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *add_ServerCertificateErrorDetected )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2ServerCertificateErrorDetectedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, remove_ServerCertificateErrorDetected)
        HRESULT ( STDMETHODCALLTYPE *remove_ServerCertificateErrorDetected )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_14, ClearServerCertificateErrorActions)
        HRESULT ( STDMETHODCALLTYPE *ClearServerCertificateErrorActions )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, add_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *add_FaviconChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2FaviconChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, remove_FaviconChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_FaviconChanged )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, get_FaviconUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaviconUri )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_15, GetFavicon)
        HRESULT ( STDMETHODCALLTYPE *GetFavicon )( 
            ICoreWebView2_22 * This,
            /* [in] */ COREWEBVIEW2_FAVICON_IMAGE_FORMAT format,
            /* [in] */ ICoreWebView2GetFaviconCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, Print)
        HRESULT ( STDMETHODCALLTYPE *Print )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, ShowPrintUI)
        HRESULT ( STDMETHODCALLTYPE *ShowPrintUI )( 
            ICoreWebView2_22 * This,
            /* [in] */ COREWEBVIEW2_PRINT_DIALOG_KIND printDialogKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_16, PrintToPdfStream)
        HRESULT ( STDMETHODCALLTYPE *PrintToPdfStream )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2PrintSettings *printSettings,
            /* [in] */ ICoreWebView2PrintToPdfStreamCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_17, PostSharedBufferToScript)
        HRESULT ( STDMETHODCALLTYPE *PostSharedBufferToScript )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2SharedBuffer *sharedBuffer,
            /* [in] */ COREWEBVIEW2_SHARED_BUFFER_ACCESS access,
            /* [in] */ LPCWSTR additionalDataAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_18, add_LaunchingExternalUriScheme)
        HRESULT ( STDMETHODCALLTYPE *add_LaunchingExternalUriScheme )( 
            ICoreWebView2_22 * This,
            /* [in] */ ICoreWebView2LaunchingExternalUriSchemeEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_18, remove_LaunchingExternalUriScheme)
        HRESULT ( STDMETHODCALLTYPE *remove_LaunchingExternalUriScheme )( 
            ICoreWebView2_22 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_19, get_MemoryUsageTargetLevel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MemoryUsageTargetLevel )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL *level);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_19, put_MemoryUsageTargetLevel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MemoryUsageTargetLevel )( 
            ICoreWebView2_22 * This,
            /* [in] */ COREWEBVIEW2_MEMORY_USAGE_TARGET_LEVEL level);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_20, get_FrameId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameId )( 
            ICoreWebView2_22 * This,
            /* [retval][out] */ UINT32 *id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_21, ExecuteScriptWithResult)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScriptWithResult )( 
            ICoreWebView2_22 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptWithResultCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_22, AddWebResourceRequestedFilterWithRequestSourceKinds)
        HRESULT ( STDMETHODCALLTYPE *AddWebResourceRequestedFilterWithRequestSourceKinds )( 
            ICoreWebView2_22 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS requestSourceKinds);
        
        DECLSPEC_XFGVIRT(ICoreWebView2_22, RemoveWebResourceRequestedFilterWithRequestSourceKinds)
        HRESULT ( STDMETHODCALLTYPE *RemoveWebResourceRequestedFilterWithRequestSourceKinds )( 
            ICoreWebView2_22 * This,
            /* [in] */ const LPCWSTR uri,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_CONTEXT resourceContext,
            /* [in] */ const COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS requestSourceKinds);
        
        END_INTERFACE
    } ICoreWebView2_22Vtbl;

    interface ICoreWebView2_22
    {
        CONST_VTBL struct ICoreWebView2_22Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2_22_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2_22_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2_22_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2_22_get_Settings(This,settings)	\
    ( (This)->lpVtbl -> get_Settings(This,settings) ) 

#define ICoreWebView2_22_get_Source(This,uri)	\
    ( (This)->lpVtbl -> get_Source(This,uri) ) 

#define ICoreWebView2_22_Navigate(This,uri)	\
    ( (This)->lpVtbl -> Navigate(This,uri) ) 

#define ICoreWebView2_22_NavigateToString(This,htmlContent)	\
    ( (This)->lpVtbl -> NavigateToString(This,htmlContent) ) 

#define ICoreWebView2_22_add_NavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_NavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationStarting(This,token) ) 

#define ICoreWebView2_22_add_ContentLoading(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_ContentLoading(This,token)	\
    ( (This)->lpVtbl -> remove_ContentLoading(This,token) ) 

#define ICoreWebView2_22_add_SourceChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_SourceChanged(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_SourceChanged(This,token)	\
    ( (This)->lpVtbl -> remove_SourceChanged(This,token) ) 

#define ICoreWebView2_22_add_HistoryChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_HistoryChanged(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_HistoryChanged(This,token)	\
    ( (This)->lpVtbl -> remove_HistoryChanged(This,token) ) 

#define ICoreWebView2_22_add_NavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_NavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) ) 

#define ICoreWebView2_22_add_FrameNavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_FrameNavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationStarting(This,token) ) 

#define ICoreWebView2_22_add_FrameNavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameNavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_FrameNavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_FrameNavigationCompleted(This,token) ) 

#define ICoreWebView2_22_add_ScriptDialogOpening(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ScriptDialogOpening(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_ScriptDialogOpening(This,token)	\
    ( (This)->lpVtbl -> remove_ScriptDialogOpening(This,token) ) 

#define ICoreWebView2_22_add_PermissionRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_PermissionRequested(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_PermissionRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PermissionRequested(This,token) ) 

#define ICoreWebView2_22_add_ProcessFailed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessFailed(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_ProcessFailed(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessFailed(This,token) ) 

#define ICoreWebView2_22_AddScriptToExecuteOnDocumentCreated(This,javaScript,handler)	\
    ( (This)->lpVtbl -> AddScriptToExecuteOnDocumentCreated(This,javaScript,handler) ) 

#define ICoreWebView2_22_RemoveScriptToExecuteOnDocumentCreated(This,id)	\
    ( (This)->lpVtbl -> RemoveScriptToExecuteOnDocumentCreated(This,id) ) 

#define ICoreWebView2_22_ExecuteScript(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) ) 

#define ICoreWebView2_22_CapturePreview(This,imageFormat,imageStream,handler)	\
    ( (This)->lpVtbl -> CapturePreview(This,imageFormat,imageStream,handler) ) 

#define ICoreWebView2_22_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define ICoreWebView2_22_PostWebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2_22_PostWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) ) 

#define ICoreWebView2_22_add_WebMessageReceived(This,handler,token)	\
    ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) ) 

#define ICoreWebView2_22_remove_WebMessageReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) ) 

#define ICoreWebView2_22_CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethod(This,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_22_get_BrowserProcessId(This,value)	\
    ( (This)->lpVtbl -> get_BrowserProcessId(This,value) ) 

#define ICoreWebView2_22_get_CanGoBack(This,canGoBack)	\
    ( (This)->lpVtbl -> get_CanGoBack(This,canGoBack) ) 

#define ICoreWebView2_22_get_CanGoForward(This,canGoForward)	\
    ( (This)->lpVtbl -> get_CanGoForward(This,canGoForward) ) 

#define ICoreWebView2_22_GoBack(This)	\
    ( (This)->lpVtbl -> GoBack(This) ) 

#define ICoreWebView2_22_GoForward(This)	\
    ( (This)->lpVtbl -> GoForward(This) ) 

#define ICoreWebView2_22_GetDevToolsProtocolEventReceiver(This,eventName,receiver)	\
    ( (This)->lpVtbl -> GetDevToolsProtocolEventReceiver(This,eventName,receiver) ) 

#define ICoreWebView2_22_Stop(This)	\
    ( (This)->lpVtbl -> Stop(This) ) 

#define ICoreWebView2_22_add_NewWindowRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewWindowRequested(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_NewWindowRequested(This,token)	\
    ( (This)->lpVtbl -> remove_NewWindowRequested(This,token) ) 

#define ICoreWebView2_22_add_DocumentTitleChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DocumentTitleChanged(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_DocumentTitleChanged(This,token)	\
    ( (This)->lpVtbl -> remove_DocumentTitleChanged(This,token) ) 

#define ICoreWebView2_22_get_DocumentTitle(This,title)	\
    ( (This)->lpVtbl -> get_DocumentTitle(This,title) ) 

#define ICoreWebView2_22_AddHostObjectToScript(This,name,object)	\
    ( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) ) 

#define ICoreWebView2_22_RemoveHostObjectFromScript(This,name)	\
    ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) ) 

#define ICoreWebView2_22_OpenDevToolsWindow(This)	\
    ( (This)->lpVtbl -> OpenDevToolsWindow(This) ) 

#define ICoreWebView2_22_add_ContainsFullScreenElementChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContainsFullScreenElementChanged(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_ContainsFullScreenElementChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ContainsFullScreenElementChanged(This,token) ) 

#define ICoreWebView2_22_get_ContainsFullScreenElement(This,containsFullScreenElement)	\
    ( (This)->lpVtbl -> get_ContainsFullScreenElement(This,containsFullScreenElement) ) 

#define ICoreWebView2_22_add_WebResourceRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceRequested(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_WebResourceRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceRequested(This,token) ) 

#define ICoreWebView2_22_AddWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> AddWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_22_RemoveWebResourceRequestedFilter(This,uri,resourceContext)	\
    ( (This)->lpVtbl -> RemoveWebResourceRequestedFilter(This,uri,resourceContext) ) 

#define ICoreWebView2_22_add_WindowCloseRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WindowCloseRequested(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_WindowCloseRequested(This,token)	\
    ( (This)->lpVtbl -> remove_WindowCloseRequested(This,token) ) 


#define ICoreWebView2_22_add_WebResourceResponseReceived(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_WebResourceResponseReceived(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_WebResourceResponseReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebResourceResponseReceived(This,token) ) 

#define ICoreWebView2_22_NavigateWithWebResourceRequest(This,request)	\
    ( (This)->lpVtbl -> NavigateWithWebResourceRequest(This,request) ) 

#define ICoreWebView2_22_add_DOMContentLoaded(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_DOMContentLoaded(This,token)	\
    ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) ) 

#define ICoreWebView2_22_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 

#define ICoreWebView2_22_get_Environment(This,environment)	\
    ( (This)->lpVtbl -> get_Environment(This,environment) ) 


#define ICoreWebView2_22_TrySuspend(This,handler)	\
    ( (This)->lpVtbl -> TrySuspend(This,handler) ) 

#define ICoreWebView2_22_Resume(This)	\
    ( (This)->lpVtbl -> Resume(This) ) 

#define ICoreWebView2_22_get_IsSuspended(This,isSuspended)	\
    ( (This)->lpVtbl -> get_IsSuspended(This,isSuspended) ) 

#define ICoreWebView2_22_SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind)	\
    ( (This)->lpVtbl -> SetVirtualHostNameToFolderMapping(This,hostName,folderPath,accessKind) ) 

#define ICoreWebView2_22_ClearVirtualHostNameToFolderMapping(This,hostName)	\
    ( (This)->lpVtbl -> ClearVirtualHostNameToFolderMapping(This,hostName) ) 


#define ICoreWebView2_22_add_FrameCreated(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FrameCreated(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_FrameCreated(This,token)	\
    ( (This)->lpVtbl -> remove_FrameCreated(This,token) ) 

#define ICoreWebView2_22_add_DownloadStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DownloadStarting(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_DownloadStarting(This,token)	\
    ( (This)->lpVtbl -> remove_DownloadStarting(This,token) ) 


#define ICoreWebView2_22_add_ClientCertificateRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ClientCertificateRequested(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_ClientCertificateRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ClientCertificateRequested(This,token) ) 


#define ICoreWebView2_22_OpenTaskManagerWindow(This)	\
    ( (This)->lpVtbl -> OpenTaskManagerWindow(This) ) 


#define ICoreWebView2_22_PrintToPdf(This,resultFilePath,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdf(This,resultFilePath,printSettings,handler) ) 


#define ICoreWebView2_22_add_IsMutedChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsMutedChanged(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_IsMutedChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsMutedChanged(This,token) ) 

#define ICoreWebView2_22_get_IsMuted(This,value)	\
    ( (This)->lpVtbl -> get_IsMuted(This,value) ) 

#define ICoreWebView2_22_put_IsMuted(This,value)	\
    ( (This)->lpVtbl -> put_IsMuted(This,value) ) 

#define ICoreWebView2_22_add_IsDocumentPlayingAudioChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_IsDocumentPlayingAudioChanged(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_IsDocumentPlayingAudioChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDocumentPlayingAudioChanged(This,token) ) 

#define ICoreWebView2_22_get_IsDocumentPlayingAudio(This,value)	\
    ( (This)->lpVtbl -> get_IsDocumentPlayingAudio(This,value) ) 


#define ICoreWebView2_22_add_IsDefaultDownloadDialogOpenChanged(This,handler,token)	\
    ( (This)->lpVtbl -> add_IsDefaultDownloadDialogOpenChanged(This,handler,token) ) 

#define ICoreWebView2_22_remove_IsDefaultDownloadDialogOpenChanged(This,token)	\
    ( (This)->lpVtbl -> remove_IsDefaultDownloadDialogOpenChanged(This,token) ) 

#define ICoreWebView2_22_get_IsDefaultDownloadDialogOpen(This,value)	\
    ( (This)->lpVtbl -> get_IsDefaultDownloadDialogOpen(This,value) ) 

#define ICoreWebView2_22_OpenDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> OpenDefaultDownloadDialog(This) ) 

#define ICoreWebView2_22_CloseDefaultDownloadDialog(This)	\
    ( (This)->lpVtbl -> CloseDefaultDownloadDialog(This) ) 

#define ICoreWebView2_22_get_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_22_put_DefaultDownloadDialogCornerAlignment(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogCornerAlignment(This,value) ) 

#define ICoreWebView2_22_get_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadDialogMargin(This,value) ) 

#define ICoreWebView2_22_put_DefaultDownloadDialogMargin(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadDialogMargin(This,value) ) 


#define ICoreWebView2_22_add_BasicAuthenticationRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BasicAuthenticationRequested(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_BasicAuthenticationRequested(This,token)	\
    ( (This)->lpVtbl -> remove_BasicAuthenticationRequested(This,token) ) 


#define ICoreWebView2_22_CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler)	\
    ( (This)->lpVtbl -> CallDevToolsProtocolMethodForSession(This,sessionId,methodName,parametersAsJson,handler) ) 

#define ICoreWebView2_22_add_ContextMenuRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContextMenuRequested(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_ContextMenuRequested(This,token)	\
    ( (This)->lpVtbl -> remove_ContextMenuRequested(This,token) ) 


#define ICoreWebView2_22_add_StatusBarTextChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_StatusBarTextChanged(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_StatusBarTextChanged(This,token)	\
    ( (This)->lpVtbl -> remove_StatusBarTextChanged(This,token) ) 

#define ICoreWebView2_22_get_StatusBarText(This,value)	\
    ( (This)->lpVtbl -> get_StatusBarText(This,value) ) 


#define ICoreWebView2_22_get_Profile(This,value)	\
    ( (This)->lpVtbl -> get_Profile(This,value) ) 


#define ICoreWebView2_22_add_ServerCertificateErrorDetected(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ServerCertificateErrorDetected(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_ServerCertificateErrorDetected(This,token)	\
    ( (This)->lpVtbl -> remove_ServerCertificateErrorDetected(This,token) ) 

#define ICoreWebView2_22_ClearServerCertificateErrorActions(This,handler)	\
    ( (This)->lpVtbl -> ClearServerCertificateErrorActions(This,handler) ) 


#define ICoreWebView2_22_add_FaviconChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_FaviconChanged(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_FaviconChanged(This,token)	\
    ( (This)->lpVtbl -> remove_FaviconChanged(This,token) ) 

#define ICoreWebView2_22_get_FaviconUri(This,value)	\
    ( (This)->lpVtbl -> get_FaviconUri(This,value) ) 

#define ICoreWebView2_22_GetFavicon(This,format,completedHandler)	\
    ( (This)->lpVtbl -> GetFavicon(This,format,completedHandler) ) 


#define ICoreWebView2_22_Print(This,printSettings,handler)	\
    ( (This)->lpVtbl -> Print(This,printSettings,handler) ) 

#define ICoreWebView2_22_ShowPrintUI(This,printDialogKind)	\
    ( (This)->lpVtbl -> ShowPrintUI(This,printDialogKind) ) 

#define ICoreWebView2_22_PrintToPdfStream(This,printSettings,handler)	\
    ( (This)->lpVtbl -> PrintToPdfStream(This,printSettings,handler) ) 


#define ICoreWebView2_22_PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson)	\
    ( (This)->lpVtbl -> PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson) ) 


#define ICoreWebView2_22_add_LaunchingExternalUriScheme(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_LaunchingExternalUriScheme(This,eventHandler,token) ) 

#define ICoreWebView2_22_remove_LaunchingExternalUriScheme(This,token)	\
    ( (This)->lpVtbl -> remove_LaunchingExternalUriScheme(This,token) ) 


#define ICoreWebView2_22_get_MemoryUsageTargetLevel(This,level)	\
    ( (This)->lpVtbl -> get_MemoryUsageTargetLevel(This,level) ) 

#define ICoreWebView2_22_put_MemoryUsageTargetLevel(This,level)	\
    ( (This)->lpVtbl -> put_MemoryUsageTargetLevel(This,level) ) 


#define ICoreWebView2_22_get_FrameId(This,id)	\
    ( (This)->lpVtbl -> get_FrameId(This,id) ) 


#define ICoreWebView2_22_ExecuteScriptWithResult(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScriptWithResult(This,javaScript,handler) ) 


#define ICoreWebView2_22_AddWebResourceRequestedFilterWithRequestSourceKinds(This,uri,resourceContext,requestSourceKinds)	\
    ( (This)->lpVtbl -> AddWebResourceRequestedFilterWithRequestSourceKinds(This,uri,resourceContext,requestSourceKinds) ) 

#define ICoreWebView2_22_RemoveWebResourceRequestedFilterWithRequestSourceKinds(This,uri,resourceContext,requestSourceKinds)	\
    ( (This)->lpVtbl -> RemoveWebResourceRequestedFilterWithRequestSourceKinds(This,uri,resourceContext,requestSourceKinds) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2_22_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2BasicAuthenticationRequestedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2BasicAuthenticationRequestedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2BasicAuthenticationRequestedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BasicAuthenticationRequestedEventArgs, get_Uri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )( 
            ICoreWebView2BasicAuthenticationRequestedEventArgs * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BasicAuthenticationRequestedEventArgs, get_Challenge)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Challenge )( 
            ICoreWebView2BasicAuthenticationRequestedEventArgs * This,
            /* [retval][out] */ LPWSTR *challenge);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BasicAuthenticationRequestedEventArgs, get_Response)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Response )( 
            ICoreWebView2BasicAuthenticationRequestedEventArgs * This,
            /* [retval][out] */ ICoreWebView2BasicAuthenticationResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BasicAuthenticationRequestedEventArgs, get_Cancel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cancel )( 
            ICoreWebView2BasicAuthenticationRequestedEventArgs * This,
            /* [retval][out] */ BOOL *cancel);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BasicAuthenticationRequestedEventArgs, put_Cancel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Cancel )( 
            ICoreWebView2BasicAuthenticationRequestedEventArgs * This,
            /* [in] */ BOOL cancel);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BasicAuthenticationRequestedEventArgs, GetDeferral)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2BasicAuthenticationRequestedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2BasicAuthenticationRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2BasicAuthenticationRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BasicAuthenticationRequestedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2BasicAuthenticationResponse * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2BasicAuthenticationResponse * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2BasicAuthenticationResponse * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BasicAuthenticationResponse, get_UserName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserName )( 
            ICoreWebView2BasicAuthenticationResponse * This,
            /* [retval][out] */ LPWSTR *userName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BasicAuthenticationResponse, put_UserName)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserName )( 
            ICoreWebView2BasicAuthenticationResponse * This,
            /* [in] */ LPCWSTR userName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BasicAuthenticationResponse, get_Password)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Password )( 
            ICoreWebView2BasicAuthenticationResponse * This,
            /* [retval][out] */ LPWSTR *password);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BasicAuthenticationResponse, put_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2BrowserProcessExitedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2BrowserProcessExitedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2BrowserProcessExitedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BrowserProcessExitedEventArgs, get_BrowserProcessExitKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserProcessExitKind )( 
            ICoreWebView2BrowserProcessExitedEventArgs * This,
            /* [retval][out] */ COREWEBVIEW2_BROWSER_PROCESS_EXIT_KIND *browserProcessExitKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BrowserProcessExitedEventArgs, get_BrowserProcessId)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2BrowserProcessExitedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2BrowserProcessExitedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2BrowserProcessExitedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BrowserProcessExitedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2BytesReceivedChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2BytesReceivedChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2BytesReceivedChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BytesReceivedChangedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2CompositionController * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2CompositionController * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2CompositionController * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, get_RootVisualTarget)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootVisualTarget )( 
            ICoreWebView2CompositionController * This,
            /* [retval][out] */ IUnknown **target);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, put_RootVisualTarget)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootVisualTarget )( 
            ICoreWebView2CompositionController * This,
            /* [in] */ IUnknown *target);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, SendMouseInput)
        HRESULT ( STDMETHODCALLTYPE *SendMouseInput )( 
            ICoreWebView2CompositionController * This,
            /* [in] */ COREWEBVIEW2_MOUSE_EVENT_KIND eventKind,
            /* [in] */ COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS virtualKeys,
            /* [in] */ UINT32 mouseData,
            /* [in] */ POINT point);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, SendPointerInput)
        HRESULT ( STDMETHODCALLTYPE *SendPointerInput )( 
            ICoreWebView2CompositionController * This,
            /* [in] */ COREWEBVIEW2_POINTER_EVENT_KIND eventKind,
            /* [in] */ ICoreWebView2PointerInfo *pointerInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, get_Cursor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cursor )( 
            ICoreWebView2CompositionController * This,
            /* [retval][out] */ HCURSOR *cursor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, get_SystemCursorId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SystemCursorId )( 
            ICoreWebView2CompositionController * This,
            /* [retval][out] */ UINT32 *systemCursorId);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, add_CursorChanged)
        HRESULT ( STDMETHODCALLTYPE *add_CursorChanged )( 
            ICoreWebView2CompositionController * This,
            /* [in] */ ICoreWebView2CursorChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, remove_CursorChanged)
        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_AutomationProvider( 
            /* [retval][out] */ IUnknown **provider) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2CompositionController2Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2CompositionController2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2CompositionController2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2CompositionController2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, get_RootVisualTarget)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootVisualTarget )( 
            ICoreWebView2CompositionController2 * This,
            /* [retval][out] */ IUnknown **target);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, put_RootVisualTarget)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootVisualTarget )( 
            ICoreWebView2CompositionController2 * This,
            /* [in] */ IUnknown *target);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, SendMouseInput)
        HRESULT ( STDMETHODCALLTYPE *SendMouseInput )( 
            ICoreWebView2CompositionController2 * This,
            /* [in] */ COREWEBVIEW2_MOUSE_EVENT_KIND eventKind,
            /* [in] */ COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS virtualKeys,
            /* [in] */ UINT32 mouseData,
            /* [in] */ POINT point);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, SendPointerInput)
        HRESULT ( STDMETHODCALLTYPE *SendPointerInput )( 
            ICoreWebView2CompositionController2 * This,
            /* [in] */ COREWEBVIEW2_POINTER_EVENT_KIND eventKind,
            /* [in] */ ICoreWebView2PointerInfo *pointerInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, get_Cursor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cursor )( 
            ICoreWebView2CompositionController2 * This,
            /* [retval][out] */ HCURSOR *cursor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, get_SystemCursorId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SystemCursorId )( 
            ICoreWebView2CompositionController2 * This,
            /* [retval][out] */ UINT32 *systemCursorId);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, add_CursorChanged)
        HRESULT ( STDMETHODCALLTYPE *add_CursorChanged )( 
            ICoreWebView2CompositionController2 * This,
            /* [in] */ ICoreWebView2CursorChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, remove_CursorChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_CursorChanged )( 
            ICoreWebView2CompositionController2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController2, get_AutomationProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutomationProvider )( 
            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_AutomationProvider(This,provider)	\
    ( (This)->lpVtbl -> get_AutomationProvider(This,provider) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2CompositionController2_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2CompositionController3_INTERFACE_DEFINED__
#define __ICoreWebView2CompositionController3_INTERFACE_DEFINED__

/* interface ICoreWebView2CompositionController3 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CompositionController3 = {0x9570570e,0x4d76,0x4361,{0x9e,0xe1,0xf0,0x4d,0x0d,0xbd,0xfb,0x1e}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9570570e-4d76-4361-9ee1-f04d0dbdfb1e")
    ICoreWebView2CompositionController3 : public ICoreWebView2CompositionController2
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE DragEnter( 
            /* [in] */ IDataObject *dataObject,
            /* [in] */ DWORD keyState,
            /* [in] */ POINT point,
            /* [retval][out] */ DWORD *effect) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DragLeave( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE DragOver( 
            /* [in] */ DWORD keyState,
            /* [in] */ POINT point,
            /* [retval][out] */ DWORD *effect) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Drop( 
            /* [in] */ IDataObject *dataObject,
            /* [in] */ DWORD keyState,
            /* [in] */ POINT point,
            /* [retval][out] */ DWORD *effect) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2CompositionController3Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2CompositionController3 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2CompositionController3 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2CompositionController3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, get_RootVisualTarget)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootVisualTarget )( 
            ICoreWebView2CompositionController3 * This,
            /* [retval][out] */ IUnknown **target);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, put_RootVisualTarget)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootVisualTarget )( 
            ICoreWebView2CompositionController3 * This,
            /* [in] */ IUnknown *target);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, SendMouseInput)
        HRESULT ( STDMETHODCALLTYPE *SendMouseInput )( 
            ICoreWebView2CompositionController3 * This,
            /* [in] */ COREWEBVIEW2_MOUSE_EVENT_KIND eventKind,
            /* [in] */ COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS virtualKeys,
            /* [in] */ UINT32 mouseData,
            /* [in] */ POINT point);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, SendPointerInput)
        HRESULT ( STDMETHODCALLTYPE *SendPointerInput )( 
            ICoreWebView2CompositionController3 * This,
            /* [in] */ COREWEBVIEW2_POINTER_EVENT_KIND eventKind,
            /* [in] */ ICoreWebView2PointerInfo *pointerInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, get_Cursor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cursor )( 
            ICoreWebView2CompositionController3 * This,
            /* [retval][out] */ HCURSOR *cursor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, get_SystemCursorId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SystemCursorId )( 
            ICoreWebView2CompositionController3 * This,
            /* [retval][out] */ UINT32 *systemCursorId);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, add_CursorChanged)
        HRESULT ( STDMETHODCALLTYPE *add_CursorChanged )( 
            ICoreWebView2CompositionController3 * This,
            /* [in] */ ICoreWebView2CursorChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, remove_CursorChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_CursorChanged )( 
            ICoreWebView2CompositionController3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController2, get_AutomationProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutomationProvider )( 
            ICoreWebView2CompositionController3 * This,
            /* [retval][out] */ IUnknown **provider);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController3, DragEnter)
        HRESULT ( STDMETHODCALLTYPE *DragEnter )( 
            ICoreWebView2CompositionController3 * This,
            /* [in] */ IDataObject *dataObject,
            /* [in] */ DWORD keyState,
            /* [in] */ POINT point,
            /* [retval][out] */ DWORD *effect);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController3, DragLeave)
        HRESULT ( STDMETHODCALLTYPE *DragLeave )( 
            ICoreWebView2CompositionController3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController3, DragOver)
        HRESULT ( STDMETHODCALLTYPE *DragOver )( 
            ICoreWebView2CompositionController3 * This,
            /* [in] */ DWORD keyState,
            /* [in] */ POINT point,
            /* [retval][out] */ DWORD *effect);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController3, Drop)
        HRESULT ( STDMETHODCALLTYPE *Drop )( 
            ICoreWebView2CompositionController3 * This,
            /* [in] */ IDataObject *dataObject,
            /* [in] */ DWORD keyState,
            /* [in] */ POINT point,
            /* [retval][out] */ DWORD *effect);
        
        END_INTERFACE
    } ICoreWebView2CompositionController3Vtbl;

    interface ICoreWebView2CompositionController3
    {
        CONST_VTBL struct ICoreWebView2CompositionController3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2CompositionController3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2CompositionController3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2CompositionController3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2CompositionController3_get_RootVisualTarget(This,target)	\
    ( (This)->lpVtbl -> get_RootVisualTarget(This,target) ) 

#define ICoreWebView2CompositionController3_put_RootVisualTarget(This,target)	\
    ( (This)->lpVtbl -> put_RootVisualTarget(This,target) ) 

#define ICoreWebView2CompositionController3_SendMouseInput(This,eventKind,virtualKeys,mouseData,point)	\
    ( (This)->lpVtbl -> SendMouseInput(This,eventKind,virtualKeys,mouseData,point) ) 

#define ICoreWebView2CompositionController3_SendPointerInput(This,eventKind,pointerInfo)	\
    ( (This)->lpVtbl -> SendPointerInput(This,eventKind,pointerInfo) ) 

#define ICoreWebView2CompositionController3_get_Cursor(This,cursor)	\
    ( (This)->lpVtbl -> get_Cursor(This,cursor) ) 

#define ICoreWebView2CompositionController3_get_SystemCursorId(This,systemCursorId)	\
    ( (This)->lpVtbl -> get_SystemCursorId(This,systemCursorId) ) 

#define ICoreWebView2CompositionController3_add_CursorChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_CursorChanged(This,eventHandler,token) ) 

#define ICoreWebView2CompositionController3_remove_CursorChanged(This,token)	\
    ( (This)->lpVtbl -> remove_CursorChanged(This,token) ) 


#define ICoreWebView2CompositionController3_get_AutomationProvider(This,provider)	\
    ( (This)->lpVtbl -> get_AutomationProvider(This,provider) ) 


#define ICoreWebView2CompositionController3_DragEnter(This,dataObject,keyState,point,effect)	\
    ( (This)->lpVtbl -> DragEnter(This,dataObject,keyState,point,effect) ) 

#define ICoreWebView2CompositionController3_DragLeave(This)	\
    ( (This)->lpVtbl -> DragLeave(This) ) 

#define ICoreWebView2CompositionController3_DragOver(This,keyState,point,effect)	\
    ( (This)->lpVtbl -> DragOver(This,keyState,point,effect) ) 

#define ICoreWebView2CompositionController3_Drop(This,dataObject,keyState,point,effect)	\
    ( (This)->lpVtbl -> Drop(This,dataObject,keyState,point,effect) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2CompositionController3_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Controller * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Controller * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Controller * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_IsVisible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsVisible )( 
            ICoreWebView2Controller * This,
            /* [retval][out] */ BOOL *isVisible);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_IsVisible)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsVisible )( 
            ICoreWebView2Controller * This,
            /* [in] */ BOOL isVisible);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_Bounds)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bounds )( 
            ICoreWebView2Controller * This,
            /* [retval][out] */ RECT *bounds);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_Bounds)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bounds )( 
            ICoreWebView2Controller * This,
            /* [in] */ RECT bounds);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_ZoomFactor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZoomFactor )( 
            ICoreWebView2Controller * This,
            /* [retval][out] */ double *zoomFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_ZoomFactor)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ZoomFactor )( 
            ICoreWebView2Controller * This,
            /* [in] */ double zoomFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_ZoomFactorChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ZoomFactorChanged )( 
            ICoreWebView2Controller * This,
            /* [in] */ ICoreWebView2ZoomFactorChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_ZoomFactorChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ZoomFactorChanged )( 
            ICoreWebView2Controller * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, SetBoundsAndZoomFactor)
        HRESULT ( STDMETHODCALLTYPE *SetBoundsAndZoomFactor )( 
            ICoreWebView2Controller * This,
            /* [in] */ RECT bounds,
            /* [in] */ double zoomFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, MoveFocus)
        HRESULT ( STDMETHODCALLTYPE *MoveFocus )( 
            ICoreWebView2Controller * This,
            /* [in] */ COREWEBVIEW2_MOVE_FOCUS_REASON reason);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_MoveFocusRequested)
        HRESULT ( STDMETHODCALLTYPE *add_MoveFocusRequested )( 
            ICoreWebView2Controller * This,
            /* [in] */ ICoreWebView2MoveFocusRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_MoveFocusRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_MoveFocusRequested )( 
            ICoreWebView2Controller * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_GotFocus)
        HRESULT ( STDMETHODCALLTYPE *add_GotFocus )( 
            ICoreWebView2Controller * This,
            /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_GotFocus)
        HRESULT ( STDMETHODCALLTYPE *remove_GotFocus )( 
            ICoreWebView2Controller * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_LostFocus)
        HRESULT ( STDMETHODCALLTYPE *add_LostFocus )( 
            ICoreWebView2Controller * This,
            /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_LostFocus)
        HRESULT ( STDMETHODCALLTYPE *remove_LostFocus )( 
            ICoreWebView2Controller * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_AcceleratorKeyPressed)
        HRESULT ( STDMETHODCALLTYPE *add_AcceleratorKeyPressed )( 
            ICoreWebView2Controller * This,
            /* [in] */ ICoreWebView2AcceleratorKeyPressedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_AcceleratorKeyPressed)
        HRESULT ( STDMETHODCALLTYPE *remove_AcceleratorKeyPressed )( 
            ICoreWebView2Controller * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_ParentWindow)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentWindow )( 
            ICoreWebView2Controller * This,
            /* [retval][out] */ HWND *parentWindow);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_ParentWindow)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParentWindow )( 
            ICoreWebView2Controller * This,
            /* [in] */ HWND parentWindow);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, NotifyParentWindowPositionChanged)
        HRESULT ( STDMETHODCALLTYPE *NotifyParentWindowPositionChanged )( 
            ICoreWebView2Controller * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, Close)
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            ICoreWebView2Controller * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_CoreWebView2)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Controller2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Controller2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_IsVisible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsVisible )( 
            ICoreWebView2Controller2 * This,
            /* [retval][out] */ BOOL *isVisible);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_IsVisible)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsVisible )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ BOOL isVisible);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_Bounds)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bounds )( 
            ICoreWebView2Controller2 * This,
            /* [retval][out] */ RECT *bounds);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_Bounds)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bounds )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ RECT bounds);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_ZoomFactor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZoomFactor )( 
            ICoreWebView2Controller2 * This,
            /* [retval][out] */ double *zoomFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_ZoomFactor)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ZoomFactor )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ double zoomFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_ZoomFactorChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ZoomFactorChanged )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ ICoreWebView2ZoomFactorChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_ZoomFactorChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ZoomFactorChanged )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, SetBoundsAndZoomFactor)
        HRESULT ( STDMETHODCALLTYPE *SetBoundsAndZoomFactor )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ RECT bounds,
            /* [in] */ double zoomFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, MoveFocus)
        HRESULT ( STDMETHODCALLTYPE *MoveFocus )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ COREWEBVIEW2_MOVE_FOCUS_REASON reason);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_MoveFocusRequested)
        HRESULT ( STDMETHODCALLTYPE *add_MoveFocusRequested )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ ICoreWebView2MoveFocusRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_MoveFocusRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_MoveFocusRequested )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_GotFocus)
        HRESULT ( STDMETHODCALLTYPE *add_GotFocus )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_GotFocus)
        HRESULT ( STDMETHODCALLTYPE *remove_GotFocus )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_LostFocus)
        HRESULT ( STDMETHODCALLTYPE *add_LostFocus )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_LostFocus)
        HRESULT ( STDMETHODCALLTYPE *remove_LostFocus )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_AcceleratorKeyPressed)
        HRESULT ( STDMETHODCALLTYPE *add_AcceleratorKeyPressed )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ ICoreWebView2AcceleratorKeyPressedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_AcceleratorKeyPressed)
        HRESULT ( STDMETHODCALLTYPE *remove_AcceleratorKeyPressed )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_ParentWindow)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentWindow )( 
            ICoreWebView2Controller2 * This,
            /* [retval][out] */ HWND *parentWindow);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_ParentWindow)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParentWindow )( 
            ICoreWebView2Controller2 * This,
            /* [in] */ HWND parentWindow);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, NotifyParentWindowPositionChanged)
        HRESULT ( STDMETHODCALLTYPE *NotifyParentWindowPositionChanged )( 
            ICoreWebView2Controller2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, Close)
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            ICoreWebView2Controller2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_CoreWebView2)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CoreWebView2 )( 
            ICoreWebView2Controller2 * This,
            /* [retval][out] */ ICoreWebView2 **coreWebView2);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller2, get_DefaultBackgroundColor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultBackgroundColor )( 
            ICoreWebView2Controller2 * This,
            /* [retval][out] */ COREWEBVIEW2_COLOR *backgroundColor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller2, put_DefaultBackgroundColor)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Controller3 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Controller3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_IsVisible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsVisible )( 
            ICoreWebView2Controller3 * This,
            /* [retval][out] */ BOOL *isVisible);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_IsVisible)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsVisible )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ BOOL isVisible);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_Bounds)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bounds )( 
            ICoreWebView2Controller3 * This,
            /* [retval][out] */ RECT *bounds);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_Bounds)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bounds )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ RECT bounds);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_ZoomFactor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZoomFactor )( 
            ICoreWebView2Controller3 * This,
            /* [retval][out] */ double *zoomFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_ZoomFactor)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ZoomFactor )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ double zoomFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_ZoomFactorChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ZoomFactorChanged )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ ICoreWebView2ZoomFactorChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_ZoomFactorChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ZoomFactorChanged )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, SetBoundsAndZoomFactor)
        HRESULT ( STDMETHODCALLTYPE *SetBoundsAndZoomFactor )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ RECT bounds,
            /* [in] */ double zoomFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, MoveFocus)
        HRESULT ( STDMETHODCALLTYPE *MoveFocus )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ COREWEBVIEW2_MOVE_FOCUS_REASON reason);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_MoveFocusRequested)
        HRESULT ( STDMETHODCALLTYPE *add_MoveFocusRequested )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ ICoreWebView2MoveFocusRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_MoveFocusRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_MoveFocusRequested )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_GotFocus)
        HRESULT ( STDMETHODCALLTYPE *add_GotFocus )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_GotFocus)
        HRESULT ( STDMETHODCALLTYPE *remove_GotFocus )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_LostFocus)
        HRESULT ( STDMETHODCALLTYPE *add_LostFocus )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_LostFocus)
        HRESULT ( STDMETHODCALLTYPE *remove_LostFocus )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_AcceleratorKeyPressed)
        HRESULT ( STDMETHODCALLTYPE *add_AcceleratorKeyPressed )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ ICoreWebView2AcceleratorKeyPressedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_AcceleratorKeyPressed)
        HRESULT ( STDMETHODCALLTYPE *remove_AcceleratorKeyPressed )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_ParentWindow)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentWindow )( 
            ICoreWebView2Controller3 * This,
            /* [retval][out] */ HWND *parentWindow);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_ParentWindow)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParentWindow )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ HWND parentWindow);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, NotifyParentWindowPositionChanged)
        HRESULT ( STDMETHODCALLTYPE *NotifyParentWindowPositionChanged )( 
            ICoreWebView2Controller3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, Close)
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            ICoreWebView2Controller3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_CoreWebView2)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CoreWebView2 )( 
            ICoreWebView2Controller3 * This,
            /* [retval][out] */ ICoreWebView2 **coreWebView2);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller2, get_DefaultBackgroundColor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultBackgroundColor )( 
            ICoreWebView2Controller3 * This,
            /* [retval][out] */ COREWEBVIEW2_COLOR *backgroundColor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller2, put_DefaultBackgroundColor)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultBackgroundColor )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ COREWEBVIEW2_COLOR backgroundColor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, get_RasterizationScale)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RasterizationScale )( 
            ICoreWebView2Controller3 * This,
            /* [retval][out] */ double *scale);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, put_RasterizationScale)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RasterizationScale )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ double scale);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, get_ShouldDetectMonitorScaleChanges)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldDetectMonitorScaleChanges )( 
            ICoreWebView2Controller3 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, put_ShouldDetectMonitorScaleChanges)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShouldDetectMonitorScaleChanges )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, add_RasterizationScaleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_RasterizationScaleChanged )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ ICoreWebView2RasterizationScaleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, remove_RasterizationScaleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_RasterizationScaleChanged )( 
            ICoreWebView2Controller3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, get_BoundsMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoundsMode )( 
            ICoreWebView2Controller3 * This,
            /* [retval][out] */ COREWEBVIEW2_BOUNDS_MODE *boundsMode);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, put_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 __ICoreWebView2Controller4_INTERFACE_DEFINED__
#define __ICoreWebView2Controller4_INTERFACE_DEFINED__

/* interface ICoreWebView2Controller4 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Controller4 = {0x97d418d5,0xa426,0x4e49,{0xa1,0x51,0xe1,0xa1,0x0f,0x32,0x7d,0x9e}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("97d418d5-a426-4e49-a151-e1a10f327d9e")
    ICoreWebView2Controller4 : public ICoreWebView2Controller3
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AllowExternalDrop( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AllowExternalDrop( 
            /* [in] */ BOOL value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Controller4Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Controller4 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Controller4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_IsVisible)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsVisible )( 
            ICoreWebView2Controller4 * This,
            /* [retval][out] */ BOOL *isVisible);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_IsVisible)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsVisible )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ BOOL isVisible);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_Bounds)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bounds )( 
            ICoreWebView2Controller4 * This,
            /* [retval][out] */ RECT *bounds);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_Bounds)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bounds )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ RECT bounds);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_ZoomFactor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZoomFactor )( 
            ICoreWebView2Controller4 * This,
            /* [retval][out] */ double *zoomFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_ZoomFactor)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ZoomFactor )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ double zoomFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_ZoomFactorChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ZoomFactorChanged )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ ICoreWebView2ZoomFactorChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_ZoomFactorChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ZoomFactorChanged )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, SetBoundsAndZoomFactor)
        HRESULT ( STDMETHODCALLTYPE *SetBoundsAndZoomFactor )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ RECT bounds,
            /* [in] */ double zoomFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, MoveFocus)
        HRESULT ( STDMETHODCALLTYPE *MoveFocus )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ COREWEBVIEW2_MOVE_FOCUS_REASON reason);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_MoveFocusRequested)
        HRESULT ( STDMETHODCALLTYPE *add_MoveFocusRequested )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ ICoreWebView2MoveFocusRequestedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_MoveFocusRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_MoveFocusRequested )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_GotFocus)
        HRESULT ( STDMETHODCALLTYPE *add_GotFocus )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_GotFocus)
        HRESULT ( STDMETHODCALLTYPE *remove_GotFocus )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_LostFocus)
        HRESULT ( STDMETHODCALLTYPE *add_LostFocus )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ ICoreWebView2FocusChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_LostFocus)
        HRESULT ( STDMETHODCALLTYPE *remove_LostFocus )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, add_AcceleratorKeyPressed)
        HRESULT ( STDMETHODCALLTYPE *add_AcceleratorKeyPressed )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ ICoreWebView2AcceleratorKeyPressedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, remove_AcceleratorKeyPressed)
        HRESULT ( STDMETHODCALLTYPE *remove_AcceleratorKeyPressed )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_ParentWindow)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentWindow )( 
            ICoreWebView2Controller4 * This,
            /* [retval][out] */ HWND *parentWindow);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, put_ParentWindow)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParentWindow )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ HWND parentWindow);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, NotifyParentWindowPositionChanged)
        HRESULT ( STDMETHODCALLTYPE *NotifyParentWindowPositionChanged )( 
            ICoreWebView2Controller4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, Close)
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            ICoreWebView2Controller4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller, get_CoreWebView2)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CoreWebView2 )( 
            ICoreWebView2Controller4 * This,
            /* [retval][out] */ ICoreWebView2 **coreWebView2);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller2, get_DefaultBackgroundColor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultBackgroundColor )( 
            ICoreWebView2Controller4 * This,
            /* [retval][out] */ COREWEBVIEW2_COLOR *backgroundColor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller2, put_DefaultBackgroundColor)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultBackgroundColor )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ COREWEBVIEW2_COLOR backgroundColor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, get_RasterizationScale)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RasterizationScale )( 
            ICoreWebView2Controller4 * This,
            /* [retval][out] */ double *scale);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, put_RasterizationScale)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RasterizationScale )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ double scale);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, get_ShouldDetectMonitorScaleChanges)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldDetectMonitorScaleChanges )( 
            ICoreWebView2Controller4 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, put_ShouldDetectMonitorScaleChanges)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShouldDetectMonitorScaleChanges )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, add_RasterizationScaleChanged)
        HRESULT ( STDMETHODCALLTYPE *add_RasterizationScaleChanged )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ ICoreWebView2RasterizationScaleChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, remove_RasterizationScaleChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_RasterizationScaleChanged )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, get_BoundsMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BoundsMode )( 
            ICoreWebView2Controller4 * This,
            /* [retval][out] */ COREWEBVIEW2_BOUNDS_MODE *boundsMode);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller3, put_BoundsMode)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_BoundsMode )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ COREWEBVIEW2_BOUNDS_MODE boundsMode);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller4, get_AllowExternalDrop)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowExternalDrop )( 
            ICoreWebView2Controller4 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Controller4, put_AllowExternalDrop)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AllowExternalDrop )( 
            ICoreWebView2Controller4 * This,
            /* [in] */ BOOL value);
        
        END_INTERFACE
    } ICoreWebView2Controller4Vtbl;

    interface ICoreWebView2Controller4
    {
        CONST_VTBL struct ICoreWebView2Controller4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Controller4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Controller4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Controller4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Controller4_get_IsVisible(This,isVisible)	\
    ( (This)->lpVtbl -> get_IsVisible(This,isVisible) ) 

#define ICoreWebView2Controller4_put_IsVisible(This,isVisible)	\
    ( (This)->lpVtbl -> put_IsVisible(This,isVisible) ) 

#define ICoreWebView2Controller4_get_Bounds(This,bounds)	\
    ( (This)->lpVtbl -> get_Bounds(This,bounds) ) 

#define ICoreWebView2Controller4_put_Bounds(This,bounds)	\
    ( (This)->lpVtbl -> put_Bounds(This,bounds) ) 

#define ICoreWebView2Controller4_get_ZoomFactor(This,zoomFactor)	\
    ( (This)->lpVtbl -> get_ZoomFactor(This,zoomFactor) ) 

#define ICoreWebView2Controller4_put_ZoomFactor(This,zoomFactor)	\
    ( (This)->lpVtbl -> put_ZoomFactor(This,zoomFactor) ) 

#define ICoreWebView2Controller4_add_ZoomFactorChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ZoomFactorChanged(This,eventHandler,token) ) 

#define ICoreWebView2Controller4_remove_ZoomFactorChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ZoomFactorChanged(This,token) ) 

#define ICoreWebView2Controller4_SetBoundsAndZoomFactor(This,bounds,zoomFactor)	\
    ( (This)->lpVtbl -> SetBoundsAndZoomFactor(This,bounds,zoomFactor) ) 

#define ICoreWebView2Controller4_MoveFocus(This,reason)	\
    ( (This)->lpVtbl -> MoveFocus(This,reason) ) 

#define ICoreWebView2Controller4_add_MoveFocusRequested(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_MoveFocusRequested(This,eventHandler,token) ) 

#define ICoreWebView2Controller4_remove_MoveFocusRequested(This,token)	\
    ( (This)->lpVtbl -> remove_MoveFocusRequested(This,token) ) 

#define ICoreWebView2Controller4_add_GotFocus(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_GotFocus(This,eventHandler,token) ) 

#define ICoreWebView2Controller4_remove_GotFocus(This,token)	\
    ( (This)->lpVtbl -> remove_GotFocus(This,token) ) 

#define ICoreWebView2Controller4_add_LostFocus(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_LostFocus(This,eventHandler,token) ) 

#define ICoreWebView2Controller4_remove_LostFocus(This,token)	\
    ( (This)->lpVtbl -> remove_LostFocus(This,token) ) 

#define ICoreWebView2Controller4_add_AcceleratorKeyPressed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_AcceleratorKeyPressed(This,eventHandler,token) ) 

#define ICoreWebView2Controller4_remove_AcceleratorKeyPressed(This,token)	\
    ( (This)->lpVtbl -> remove_AcceleratorKeyPressed(This,token) ) 

#define ICoreWebView2Controller4_get_ParentWindow(This,parentWindow)	\
    ( (This)->lpVtbl -> get_ParentWindow(This,parentWindow) ) 

#define ICoreWebView2Controller4_put_ParentWindow(This,parentWindow)	\
    ( (This)->lpVtbl -> put_ParentWindow(This,parentWindow) ) 

#define ICoreWebView2Controller4_NotifyParentWindowPositionChanged(This)	\
    ( (This)->lpVtbl -> NotifyParentWindowPositionChanged(This) ) 

#define ICoreWebView2Controller4_Close(This)	\
    ( (This)->lpVtbl -> Close(This) ) 

#define ICoreWebView2Controller4_get_CoreWebView2(This,coreWebView2)	\
    ( (This)->lpVtbl -> get_CoreWebView2(This,coreWebView2) ) 


#define ICoreWebView2Controller4_get_DefaultBackgroundColor(This,backgroundColor)	\
    ( (This)->lpVtbl -> get_DefaultBackgroundColor(This,backgroundColor) ) 

#define ICoreWebView2Controller4_put_DefaultBackgroundColor(This,backgroundColor)	\
    ( (This)->lpVtbl -> put_DefaultBackgroundColor(This,backgroundColor) ) 


#define ICoreWebView2Controller4_get_RasterizationScale(This,scale)	\
    ( (This)->lpVtbl -> get_RasterizationScale(This,scale) ) 

#define ICoreWebView2Controller4_put_RasterizationScale(This,scale)	\
    ( (This)->lpVtbl -> put_RasterizationScale(This,scale) ) 

#define ICoreWebView2Controller4_get_ShouldDetectMonitorScaleChanges(This,value)	\
    ( (This)->lpVtbl -> get_ShouldDetectMonitorScaleChanges(This,value) ) 

#define ICoreWebView2Controller4_put_ShouldDetectMonitorScaleChanges(This,value)	\
    ( (This)->lpVtbl -> put_ShouldDetectMonitorScaleChanges(This,value) ) 

#define ICoreWebView2Controller4_add_RasterizationScaleChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_RasterizationScaleChanged(This,eventHandler,token) ) 

#define ICoreWebView2Controller4_remove_RasterizationScaleChanged(This,token)	\
    ( (This)->lpVtbl -> remove_RasterizationScaleChanged(This,token) ) 

#define ICoreWebView2Controller4_get_BoundsMode(This,boundsMode)	\
    ( (This)->lpVtbl -> get_BoundsMode(This,boundsMode) ) 

#define ICoreWebView2Controller4_put_BoundsMode(This,boundsMode)	\
    ( (This)->lpVtbl -> put_BoundsMode(This,boundsMode) ) 


#define ICoreWebView2Controller4_get_AllowExternalDrop(This,value)	\
    ( (This)->lpVtbl -> get_AllowExternalDrop(This,value) ) 

#define ICoreWebView2Controller4_put_AllowExternalDrop(This,value)	\
    ( (This)->lpVtbl -> put_AllowExternalDrop(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Controller4_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ControllerOptions_INTERFACE_DEFINED__
#define __ICoreWebView2ControllerOptions_INTERFACE_DEFINED__

/* interface ICoreWebView2ControllerOptions */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ControllerOptions = {0x12aae616,0x8ccb,0x44ec,{0xbc,0xb3,0xeb,0x18,0x31,0x88,0x16,0x35}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("12aae616-8ccb-44ec-bcb3-eb1831881635")
    ICoreWebView2ControllerOptions : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProfileName( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ProfileName( 
            /* [in] */ LPCWSTR value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsInPrivateModeEnabled( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsInPrivateModeEnabled( 
            /* [in] */ BOOL value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ControllerOptionsVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ControllerOptions * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ControllerOptions * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ControllerOptions * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ControllerOptions, get_ProfileName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfileName )( 
            ICoreWebView2ControllerOptions * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ControllerOptions, put_ProfileName)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProfileName )( 
            ICoreWebView2ControllerOptions * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ControllerOptions, get_IsInPrivateModeEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInPrivateModeEnabled )( 
            ICoreWebView2ControllerOptions * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ControllerOptions, put_IsInPrivateModeEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsInPrivateModeEnabled )( 
            ICoreWebView2ControllerOptions * This,
            /* [in] */ BOOL value);
        
        END_INTERFACE
    } ICoreWebView2ControllerOptionsVtbl;

    interface ICoreWebView2ControllerOptions
    {
        CONST_VTBL struct ICoreWebView2ControllerOptionsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ControllerOptions_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ControllerOptions_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ControllerOptions_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ControllerOptions_get_ProfileName(This,value)	\
    ( (This)->lpVtbl -> get_ProfileName(This,value) ) 

#define ICoreWebView2ControllerOptions_put_ProfileName(This,value)	\
    ( (This)->lpVtbl -> put_ProfileName(This,value) ) 

#define ICoreWebView2ControllerOptions_get_IsInPrivateModeEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsInPrivateModeEnabled(This,value) ) 

#define ICoreWebView2ControllerOptions_put_IsInPrivateModeEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsInPrivateModeEnabled(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ControllerOptions_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ControllerOptions2_INTERFACE_DEFINED__
#define __ICoreWebView2ControllerOptions2_INTERFACE_DEFINED__

/* interface ICoreWebView2ControllerOptions2 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ControllerOptions2 = {0x06c991d8,0x9e7e,0x11ed,{0xa8,0xfc,0x02,0x42,0xac,0x12,0x00,0x02}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("06c991d8-9e7e-11ed-a8fc-0242ac120002")
    ICoreWebView2ControllerOptions2 : public ICoreWebView2ControllerOptions
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ScriptLocale( 
            /* [retval][out] */ LPWSTR *locale) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ScriptLocale( 
            /* [in] */ LPCWSTR locale) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ControllerOptions2Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ControllerOptions2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ControllerOptions2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ControllerOptions2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ControllerOptions, get_ProfileName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfileName )( 
            ICoreWebView2ControllerOptions2 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ControllerOptions, put_ProfileName)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProfileName )( 
            ICoreWebView2ControllerOptions2 * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ControllerOptions, get_IsInPrivateModeEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInPrivateModeEnabled )( 
            ICoreWebView2ControllerOptions2 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ControllerOptions, put_IsInPrivateModeEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsInPrivateModeEnabled )( 
            ICoreWebView2ControllerOptions2 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ControllerOptions2, get_ScriptLocale)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScriptLocale )( 
            ICoreWebView2ControllerOptions2 * This,
            /* [retval][out] */ LPWSTR *locale);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ControllerOptions2, put_ScriptLocale)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScriptLocale )( 
            ICoreWebView2ControllerOptions2 * This,
            /* [in] */ LPCWSTR locale);
        
        END_INTERFACE
    } ICoreWebView2ControllerOptions2Vtbl;

    interface ICoreWebView2ControllerOptions2
    {
        CONST_VTBL struct ICoreWebView2ControllerOptions2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ControllerOptions2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ControllerOptions2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ControllerOptions2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ControllerOptions2_get_ProfileName(This,value)	\
    ( (This)->lpVtbl -> get_ProfileName(This,value) ) 

#define ICoreWebView2ControllerOptions2_put_ProfileName(This,value)	\
    ( (This)->lpVtbl -> put_ProfileName(This,value) ) 

#define ICoreWebView2ControllerOptions2_get_IsInPrivateModeEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsInPrivateModeEnabled(This,value) ) 

#define ICoreWebView2ControllerOptions2_put_IsInPrivateModeEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsInPrivateModeEnabled(This,value) ) 


#define ICoreWebView2ControllerOptions2_get_ScriptLocale(This,locale)	\
    ( (This)->lpVtbl -> get_ScriptLocale(This,locale) ) 

#define ICoreWebView2ControllerOptions2_put_ScriptLocale(This,locale)	\
    ( (This)->lpVtbl -> put_ScriptLocale(This,locale) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ControllerOptions2_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ContentLoadingEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ContentLoadingEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ContentLoadingEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContentLoadingEventArgs, get_IsErrorPage)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsErrorPage )( 
            ICoreWebView2ContentLoadingEventArgs * This,
            /* [retval][out] */ BOOL *isErrorPage);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContentLoadingEventArgs, get_NavigationId)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ContentLoadingEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ContentLoadingEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ContentLoadingEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContentLoadingEventHandler, Invoke)
        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 __ICoreWebView2ContextMenuRequestedEventArgs_INTERFACE_DEFINED__
#define __ICoreWebView2ContextMenuRequestedEventArgs_INTERFACE_DEFINED__

/* interface ICoreWebView2ContextMenuRequestedEventArgs */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ContextMenuRequestedEventArgs = {0xa1d309ee,0xc03f,0x11eb,{0x85,0x29,0x02,0x42,0xac,0x13,0x00,0x03}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("a1d309ee-c03f-11eb-8529-0242ac130003")
    ICoreWebView2ContextMenuRequestedEventArgs : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MenuItems( 
            /* [retval][out] */ ICoreWebView2ContextMenuItemCollection **value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ContextMenuTarget( 
            /* [retval][out] */ ICoreWebView2ContextMenuTarget **value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Location( 
            /* [retval][out] */ POINT *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SelectedCommandId( 
            /* [in] */ INT32 value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SelectedCommandId( 
            /* [retval][out] */ INT32 *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Handled( 
            /* [in] */ BOOL value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Handled( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDeferral( 
            /* [retval][out] */ ICoreWebView2Deferral **deferral) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ContextMenuRequestedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ContextMenuRequestedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ContextMenuRequestedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ContextMenuRequestedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuRequestedEventArgs, get_MenuItems)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MenuItems )( 
            ICoreWebView2ContextMenuRequestedEventArgs * This,
            /* [retval][out] */ ICoreWebView2ContextMenuItemCollection **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuRequestedEventArgs, get_ContextMenuTarget)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContextMenuTarget )( 
            ICoreWebView2ContextMenuRequestedEventArgs * This,
            /* [retval][out] */ ICoreWebView2ContextMenuTarget **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuRequestedEventArgs, get_Location)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Location )( 
            ICoreWebView2ContextMenuRequestedEventArgs * This,
            /* [retval][out] */ POINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuRequestedEventArgs, put_SelectedCommandId)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SelectedCommandId )( 
            ICoreWebView2ContextMenuRequestedEventArgs * This,
            /* [in] */ INT32 value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuRequestedEventArgs, get_SelectedCommandId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedCommandId )( 
            ICoreWebView2ContextMenuRequestedEventArgs * This,
            /* [retval][out] */ INT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuRequestedEventArgs, put_Handled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )( 
            ICoreWebView2ContextMenuRequestedEventArgs * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuRequestedEventArgs, get_Handled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )( 
            ICoreWebView2ContextMenuRequestedEventArgs * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuRequestedEventArgs, GetDeferral)
        HRESULT ( STDMETHODCALLTYPE *GetDeferral )( 
            ICoreWebView2ContextMenuRequestedEventArgs * This,
            /* [retval][out] */ ICoreWebView2Deferral **deferral);
        
        END_INTERFACE
    } ICoreWebView2ContextMenuRequestedEventArgsVtbl;

    interface ICoreWebView2ContextMenuRequestedEventArgs
    {
        CONST_VTBL struct ICoreWebView2ContextMenuRequestedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ContextMenuRequestedEventArgs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ContextMenuRequestedEventArgs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ContextMenuRequestedEventArgs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ContextMenuRequestedEventArgs_get_MenuItems(This,value)	\
    ( (This)->lpVtbl -> get_MenuItems(This,value) ) 

#define ICoreWebView2ContextMenuRequestedEventArgs_get_ContextMenuTarget(This,value)	\
    ( (This)->lpVtbl -> get_ContextMenuTarget(This,value) ) 

#define ICoreWebView2ContextMenuRequestedEventArgs_get_Location(This,value)	\
    ( (This)->lpVtbl -> get_Location(This,value) ) 

#define ICoreWebView2ContextMenuRequestedEventArgs_put_SelectedCommandId(This,value)	\
    ( (This)->lpVtbl -> put_SelectedCommandId(This,value) ) 

#define ICoreWebView2ContextMenuRequestedEventArgs_get_SelectedCommandId(This,value)	\
    ( (This)->lpVtbl -> get_SelectedCommandId(This,value) ) 

#define ICoreWebView2ContextMenuRequestedEventArgs_put_Handled(This,value)	\
    ( (This)->lpVtbl -> put_Handled(This,value) ) 

#define ICoreWebView2ContextMenuRequestedEventArgs_get_Handled(This,value)	\
    ( (This)->lpVtbl -> get_Handled(This,value) ) 

#define ICoreWebView2ContextMenuRequestedEventArgs_GetDeferral(This,deferral)	\
    ( (This)->lpVtbl -> GetDeferral(This,deferral) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ContextMenuRequestedEventArgs_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ContextMenuRequestedEventHandler_INTERFACE_DEFINED__
#define __ICoreWebView2ContextMenuRequestedEventHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2ContextMenuRequestedEventHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ContextMenuRequestedEventHandler = {0x04d3fe1d,0xab87,0x42fb,{0xa8,0x98,0xda,0x24,0x1d,0x35,0xb6,0x3c}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("04d3fe1d-ab87-42fb-a898-da241d35b63c")
    ICoreWebView2ContextMenuRequestedEventHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ ICoreWebView2 *sender,
            /* [in] */ ICoreWebView2ContextMenuRequestedEventArgs *args) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ContextMenuRequestedEventHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ContextMenuRequestedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ContextMenuRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ContextMenuRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuRequestedEventHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2ContextMenuRequestedEventHandler * This,
            /* [in] */ ICoreWebView2 *sender,
            /* [in] */ ICoreWebView2ContextMenuRequestedEventArgs *args);
        
        END_INTERFACE
    } ICoreWebView2ContextMenuRequestedEventHandlerVtbl;

    interface ICoreWebView2ContextMenuRequestedEventHandler
    {
        CONST_VTBL struct ICoreWebView2ContextMenuRequestedEventHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ContextMenuRequestedEventHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ContextMenuRequestedEventHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ContextMenuRequestedEventHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ContextMenuRequestedEventHandler_Invoke(This,sender,args)	\
    ( (This)->lpVtbl -> Invoke(This,sender,args) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ContextMenuRequestedEventHandler_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Cookie * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Cookie * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Cookie * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Cookie, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICoreWebView2Cookie * This,
            /* [retval][out] */ LPWSTR *name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Cookie, get_Value)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            ICoreWebView2Cookie * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Cookie, put_Value)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Value )( 
            ICoreWebView2Cookie * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Cookie, get_Domain)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Domain )( 
            ICoreWebView2Cookie * This,
            /* [retval][out] */ LPWSTR *domain);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Cookie, get_Path)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            ICoreWebView2Cookie * This,
            /* [retval][out] */ LPWSTR *path);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Cookie, get_Expires)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Expires )( 
            ICoreWebView2Cookie * This,
            /* [retval][out] */ double *expires);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Cookie, put_Expires)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Expires )( 
            ICoreWebView2Cookie * This,
            /* [in] */ double expires);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Cookie, get_IsHttpOnly)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsHttpOnly )( 
            ICoreWebView2Cookie * This,
            /* [retval][out] */ BOOL *isHttpOnly);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Cookie, put_IsHttpOnly)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsHttpOnly )( 
            ICoreWebView2Cookie * This,
            /* [in] */ BOOL isHttpOnly);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Cookie, get_SameSite)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SameSite )( 
            ICoreWebView2Cookie * This,
            /* [retval][out] */ COREWEBVIEW2_COOKIE_SAME_SITE_KIND *sameSite);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Cookie, put_SameSite)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SameSite )( 
            ICoreWebView2Cookie * This,
            /* [in] */ COREWEBVIEW2_COOKIE_SAME_SITE_KIND sameSite);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Cookie, get_IsSecure)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSecure )( 
            ICoreWebView2Cookie * This,
            /* [retval][out] */ BOOL *isSecure);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Cookie, put_IsSecure)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsSecure )( 
            ICoreWebView2Cookie * This,
            /* [in] */ BOOL isSecure);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Cookie, get_IsSession)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2CookieList * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2CookieList * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2CookieList * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CookieList, get_Count)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICoreWebView2CookieList * This,
            /* [retval][out] */ UINT *count);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CookieList, GetValueAtIndex)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2CookieManager * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2CookieManager * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2CookieManager * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CookieManager, CreateCookie)
        HRESULT ( STDMETHODCALLTYPE *CreateCookie )( 
            ICoreWebView2CookieManager * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ LPCWSTR value,
            /* [in] */ LPCWSTR domain,
            /* [in] */ LPCWSTR path,
            /* [retval][out] */ ICoreWebView2Cookie **cookie);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CookieManager, CopyCookie)
        HRESULT ( STDMETHODCALLTYPE *CopyCookie )( 
            ICoreWebView2CookieManager * This,
            /* [in] */ ICoreWebView2Cookie *cookieParam,
            /* [retval][out] */ ICoreWebView2Cookie **cookie);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CookieManager, GetCookies)
        HRESULT ( STDMETHODCALLTYPE *GetCookies )( 
            ICoreWebView2CookieManager * This,
            /* [in] */ LPCWSTR uri,
            /* [in] */ ICoreWebView2GetCookiesCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CookieManager, AddOrUpdateCookie)
        HRESULT ( STDMETHODCALLTYPE *AddOrUpdateCookie )( 
            ICoreWebView2CookieManager * This,
            /* [in] */ ICoreWebView2Cookie *cookie);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CookieManager, DeleteCookie)
        HRESULT ( STDMETHODCALLTYPE *DeleteCookie )( 
            ICoreWebView2CookieManager * This,
            /* [in] */ ICoreWebView2Cookie *cookie);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CookieManager, DeleteCookies)
        HRESULT ( STDMETHODCALLTYPE *DeleteCookies )( 
            ICoreWebView2CookieManager * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CookieManager, DeleteCookiesWithDomainAndPath)
        HRESULT ( STDMETHODCALLTYPE *DeleteCookiesWithDomainAndPath )( 
            ICoreWebView2CookieManager * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ LPCWSTR domain,
            /* [in] */ LPCWSTR path);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CookieManager, DeleteAllCookies)
        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 __ICoreWebView2Certificate_INTERFACE_DEFINED__
#define __ICoreWebView2Certificate_INTERFACE_DEFINED__

/* interface ICoreWebView2Certificate */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Certificate = {0xC5FB2FCE,0x1CAC,0x4AEE,{0x9C,0x79,0x5E,0xD0,0x36,0x2E,0xAA,0xE0}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C5FB2FCE-1CAC-4AEE-9C79-5ED0362EAAE0")
    ICoreWebView2Certificate : 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;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2CertificateVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Certificate * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Certificate * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Certificate * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Certificate, get_Subject)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Subject )( 
            ICoreWebView2Certificate * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Certificate, get_Issuer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Issuer )( 
            ICoreWebView2Certificate * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Certificate, get_ValidFrom)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ValidFrom )( 
            ICoreWebView2Certificate * This,
            /* [retval][out] */ double *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Certificate, get_ValidTo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ValidTo )( 
            ICoreWebView2Certificate * This,
            /* [retval][out] */ double *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Certificate, get_DerEncodedSerialNumber)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerEncodedSerialNumber )( 
            ICoreWebView2Certificate * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Certificate, get_DisplayName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayName )( 
            ICoreWebView2Certificate * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Certificate, ToPemEncoding)
        HRESULT ( STDMETHODCALLTYPE *ToPemEncoding )( 
            ICoreWebView2Certificate * This,
            /* [retval][out] */ LPWSTR *pemEncodedData);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Certificate, get_PemEncodedIssuerCertificateChain)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PemEncodedIssuerCertificateChain )( 
            ICoreWebView2Certificate * This,
            /* [retval][out] */ ICoreWebView2StringCollection **value);
        
        END_INTERFACE
    } ICoreWebView2CertificateVtbl;

    interface ICoreWebView2Certificate
    {
        CONST_VTBL struct ICoreWebView2CertificateVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Certificate_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Certificate_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Certificate_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Certificate_get_Subject(This,value)	\
    ( (This)->lpVtbl -> get_Subject(This,value) ) 

#define ICoreWebView2Certificate_get_Issuer(This,value)	\
    ( (This)->lpVtbl -> get_Issuer(This,value) ) 

#define ICoreWebView2Certificate_get_ValidFrom(This,value)	\
    ( (This)->lpVtbl -> get_ValidFrom(This,value) ) 

#define ICoreWebView2Certificate_get_ValidTo(This,value)	\
    ( (This)->lpVtbl -> get_ValidTo(This,value) ) 

#define ICoreWebView2Certificate_get_DerEncodedSerialNumber(This,value)	\
    ( (This)->lpVtbl -> get_DerEncodedSerialNumber(This,value) ) 

#define ICoreWebView2Certificate_get_DisplayName(This,value)	\
    ( (This)->lpVtbl -> get_DisplayName(This,value) ) 

#define ICoreWebView2Certificate_ToPemEncoding(This,pemEncodedData)	\
    ( (This)->lpVtbl -> ToPemEncoding(This,pemEncodedData) ) 

#define ICoreWebView2Certificate_get_PemEncodedIssuerCertificateChain(This,value)	\
    ( (This)->lpVtbl -> get_PemEncodedIssuerCertificateChain(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Certificate_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ClientCertificate * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ClientCertificate * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ClientCertificate * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificate, get_Subject)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Subject )( 
            ICoreWebView2ClientCertificate * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificate, get_Issuer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Issuer )( 
            ICoreWebView2ClientCertificate * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificate, get_ValidFrom)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ValidFrom )( 
            ICoreWebView2ClientCertificate * This,
            /* [retval][out] */ double *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificate, get_ValidTo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ValidTo )( 
            ICoreWebView2ClientCertificate * This,
            /* [retval][out] */ double *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificate, get_DerEncodedSerialNumber)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DerEncodedSerialNumber )( 
            ICoreWebView2ClientCertificate * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificate, get_DisplayName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayName )( 
            ICoreWebView2ClientCertificate * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificate, ToPemEncoding)
        HRESULT ( STDMETHODCALLTYPE *ToPemEncoding )( 
            ICoreWebView2ClientCertificate * This,
            /* [retval][out] */ LPWSTR *pemEncodedData);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificate, get_PemEncodedIssuerCertificateChain)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PemEncodedIssuerCertificateChain )( 
            ICoreWebView2ClientCertificate * This,
            /* [retval][out] */ ICoreWebView2StringCollection **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificate, get_Kind)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2StringCollection * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2StringCollection * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2StringCollection * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2StringCollection, get_Count)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICoreWebView2StringCollection * This,
            /* [retval][out] */ UINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2StringCollection, GetValueAtIndex)
        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 __ICoreWebView2ClearBrowsingDataCompletedHandler_INTERFACE_DEFINED__
#define __ICoreWebView2ClearBrowsingDataCompletedHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2ClearBrowsingDataCompletedHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ClearBrowsingDataCompletedHandler = {0xe9710a06,0x1d1d,0x49b2,{0x82,0x34,0x22,0x6f,0x35,0x84,0x6a,0xe5}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e9710a06-1d1d-49b2-8234-226f35846ae5")
    ICoreWebView2ClearBrowsingDataCompletedHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ HRESULT errorCode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ClearBrowsingDataCompletedHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ClearBrowsingDataCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ClearBrowsingDataCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ClearBrowsingDataCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClearBrowsingDataCompletedHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2ClearBrowsingDataCompletedHandler * This,
            /* [in] */ HRESULT errorCode);
        
        END_INTERFACE
    } ICoreWebView2ClearBrowsingDataCompletedHandlerVtbl;

    interface ICoreWebView2ClearBrowsingDataCompletedHandler
    {
        CONST_VTBL struct ICoreWebView2ClearBrowsingDataCompletedHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ClearBrowsingDataCompletedHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ClearBrowsingDataCompletedHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ClearBrowsingDataCompletedHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ClearBrowsingDataCompletedHandler_Invoke(This,errorCode)	\
    ( (This)->lpVtbl -> Invoke(This,errorCode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ClearBrowsingDataCompletedHandler_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ClientCertificateCollection * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ClientCertificateCollection * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ClientCertificateCollection * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificateCollection, get_Count)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICoreWebView2ClientCertificateCollection * This,
            /* [retval][out] */ UINT *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificateCollection, GetValueAtIndex)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ClientCertificateRequestedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ClientCertificateRequestedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ClientCertificateRequestedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificateRequestedEventArgs, get_Host)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Host )( 
            ICoreWebView2ClientCertificateRequestedEventArgs * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificateRequestedEventArgs, get_Port)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Port )( 
            ICoreWebView2ClientCertificateRequestedEventArgs * This,
            /* [retval][out] */ int *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificateRequestedEventArgs, get_IsProxy)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsProxy )( 
            ICoreWebView2ClientCertificateRequestedEventArgs * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificateRequestedEventArgs, get_AllowedCertificateAuthorities)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowedCertificateAuthorities )( 
            ICoreWebView2ClientCertificateRequestedEventArgs * This,
            /* [retval][out] */ ICoreWebView2StringCollection **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificateRequestedEventArgs, get_MutuallyTrustedCertificates)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MutuallyTrustedCertificates )( 
            ICoreWebView2ClientCertificateRequestedEventArgs * This,
            /* [retval][out] */ ICoreWebView2ClientCertificateCollection **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificateRequestedEventArgs, get_SelectedCertificate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedCertificate )( 
            ICoreWebView2ClientCertificateRequestedEventArgs * This,
            /* [retval][out] */ ICoreWebView2ClientCertificate **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificateRequestedEventArgs, put_SelectedCertificate)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SelectedCertificate )( 
            ICoreWebView2ClientCertificateRequestedEventArgs * This,
            /* [in] */ ICoreWebView2ClientCertificate *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificateRequestedEventArgs, get_Cancel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cancel )( 
            ICoreWebView2ClientCertificateRequestedEventArgs * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificateRequestedEventArgs, put_Cancel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Cancel )( 
            ICoreWebView2ClientCertificateRequestedEventArgs * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificateRequestedEventArgs, get_Handled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )( 
            ICoreWebView2ClientCertificateRequestedEventArgs * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificateRequestedEventArgs, put_Handled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )( 
            ICoreWebView2ClientCertificateRequestedEventArgs * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificateRequestedEventArgs, GetDeferral)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ClientCertificateRequestedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ClientCertificateRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ClientCertificateRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClientCertificateRequestedEventHandler, Invoke)
        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 __ICoreWebView2ContextMenuItem_INTERFACE_DEFINED__
#define __ICoreWebView2ContextMenuItem_INTERFACE_DEFINED__

/* interface ICoreWebView2ContextMenuItem */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ContextMenuItem = {0x7aed49e3,0xa93f,0x497a,{0x81,0x1c,0x74,0x9c,0x6b,0x6b,0x6c,0x65}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7aed49e3-a93f-497a-811c-749c6b6b6c65")
    ICoreWebView2ContextMenuItem : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Label( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CommandId( 
            /* [retval][out] */ INT32 *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ShortcutKeyDescription( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Icon( 
            /* [retval][out] */ IStream **value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Kind( 
            /* [retval][out] */ COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsEnabled( 
            /* [in] */ BOOL value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsEnabled( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsChecked( 
            /* [in] */ BOOL value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsChecked( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Children( 
            /* [retval][out] */ ICoreWebView2ContextMenuItemCollection **value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE add_CustomItemSelected( 
            /* [in] */ ICoreWebView2CustomItemSelectedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE remove_CustomItemSelected( 
            /* [in] */ EventRegistrationToken token) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ContextMenuItemVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ContextMenuItem * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ContextMenuItem * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ContextMenuItem * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItem, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICoreWebView2ContextMenuItem * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItem, get_Label)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label )( 
            ICoreWebView2ContextMenuItem * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItem, get_CommandId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CommandId )( 
            ICoreWebView2ContextMenuItem * This,
            /* [retval][out] */ INT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItem, get_ShortcutKeyDescription)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShortcutKeyDescription )( 
            ICoreWebView2ContextMenuItem * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItem, get_Icon)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Icon )( 
            ICoreWebView2ContextMenuItem * This,
            /* [retval][out] */ IStream **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItem, get_Kind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            ICoreWebView2ContextMenuItem * This,
            /* [retval][out] */ COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItem, put_IsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsEnabled )( 
            ICoreWebView2ContextMenuItem * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItem, get_IsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEnabled )( 
            ICoreWebView2ContextMenuItem * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItem, put_IsChecked)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsChecked )( 
            ICoreWebView2ContextMenuItem * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItem, get_IsChecked)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsChecked )( 
            ICoreWebView2ContextMenuItem * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItem, get_Children)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Children )( 
            ICoreWebView2ContextMenuItem * This,
            /* [retval][out] */ ICoreWebView2ContextMenuItemCollection **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItem, add_CustomItemSelected)
        HRESULT ( STDMETHODCALLTYPE *add_CustomItemSelected )( 
            ICoreWebView2ContextMenuItem * This,
            /* [in] */ ICoreWebView2CustomItemSelectedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItem, remove_CustomItemSelected)
        HRESULT ( STDMETHODCALLTYPE *remove_CustomItemSelected )( 
            ICoreWebView2ContextMenuItem * This,
            /* [in] */ EventRegistrationToken token);
        
        END_INTERFACE
    } ICoreWebView2ContextMenuItemVtbl;

    interface ICoreWebView2ContextMenuItem
    {
        CONST_VTBL struct ICoreWebView2ContextMenuItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ContextMenuItem_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ContextMenuItem_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ContextMenuItem_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ContextMenuItem_get_Name(This,value)	\
    ( (This)->lpVtbl -> get_Name(This,value) ) 

#define ICoreWebView2ContextMenuItem_get_Label(This,value)	\
    ( (This)->lpVtbl -> get_Label(This,value) ) 

#define ICoreWebView2ContextMenuItem_get_CommandId(This,value)	\
    ( (This)->lpVtbl -> get_CommandId(This,value) ) 

#define ICoreWebView2ContextMenuItem_get_ShortcutKeyDescription(This,value)	\
    ( (This)->lpVtbl -> get_ShortcutKeyDescription(This,value) ) 

#define ICoreWebView2ContextMenuItem_get_Icon(This,value)	\
    ( (This)->lpVtbl -> get_Icon(This,value) ) 

#define ICoreWebView2ContextMenuItem_get_Kind(This,value)	\
    ( (This)->lpVtbl -> get_Kind(This,value) ) 

#define ICoreWebView2ContextMenuItem_put_IsEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsEnabled(This,value) ) 

#define ICoreWebView2ContextMenuItem_get_IsEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsEnabled(This,value) ) 

#define ICoreWebView2ContextMenuItem_put_IsChecked(This,value)	\
    ( (This)->lpVtbl -> put_IsChecked(This,value) ) 

#define ICoreWebView2ContextMenuItem_get_IsChecked(This,value)	\
    ( (This)->lpVtbl -> get_IsChecked(This,value) ) 

#define ICoreWebView2ContextMenuItem_get_Children(This,value)	\
    ( (This)->lpVtbl -> get_Children(This,value) ) 

#define ICoreWebView2ContextMenuItem_add_CustomItemSelected(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_CustomItemSelected(This,eventHandler,token) ) 

#define ICoreWebView2ContextMenuItem_remove_CustomItemSelected(This,token)	\
    ( (This)->lpVtbl -> remove_CustomItemSelected(This,token) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ContextMenuItem_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ContextMenuItemCollection_INTERFACE_DEFINED__
#define __ICoreWebView2ContextMenuItemCollection_INTERFACE_DEFINED__

/* interface ICoreWebView2ContextMenuItemCollection */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ContextMenuItemCollection = {0xf562a2f5,0xc415,0x45cf,{0xb9,0x09,0xd4,0xb7,0xc1,0xe2,0x76,0xd3}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f562a2f5-c415-45cf-b909-d4b7c1e276d3")
    ICoreWebView2ContextMenuItemCollection : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ UINT32 *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetValueAtIndex( 
            /* [in] */ UINT32 index,
            /* [retval][out] */ ICoreWebView2ContextMenuItem **value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE RemoveValueAtIndex( 
            /* [in] */ UINT32 index) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE InsertValueAtIndex( 
            /* [in] */ UINT32 index,
            /* [in] */ ICoreWebView2ContextMenuItem *value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ContextMenuItemCollectionVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ContextMenuItemCollection * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ContextMenuItemCollection * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ContextMenuItemCollection * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItemCollection, get_Count)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICoreWebView2ContextMenuItemCollection * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItemCollection, GetValueAtIndex)
        HRESULT ( STDMETHODCALLTYPE *GetValueAtIndex )( 
            ICoreWebView2ContextMenuItemCollection * This,
            /* [in] */ UINT32 index,
            /* [retval][out] */ ICoreWebView2ContextMenuItem **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItemCollection, RemoveValueAtIndex)
        HRESULT ( STDMETHODCALLTYPE *RemoveValueAtIndex )( 
            ICoreWebView2ContextMenuItemCollection * This,
            /* [in] */ UINT32 index);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuItemCollection, InsertValueAtIndex)
        HRESULT ( STDMETHODCALLTYPE *InsertValueAtIndex )( 
            ICoreWebView2ContextMenuItemCollection * This,
            /* [in] */ UINT32 index,
            /* [in] */ ICoreWebView2ContextMenuItem *value);
        
        END_INTERFACE
    } ICoreWebView2ContextMenuItemCollectionVtbl;

    interface ICoreWebView2ContextMenuItemCollection
    {
        CONST_VTBL struct ICoreWebView2ContextMenuItemCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ContextMenuItemCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ContextMenuItemCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ContextMenuItemCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ContextMenuItemCollection_get_Count(This,value)	\
    ( (This)->lpVtbl -> get_Count(This,value) ) 

#define ICoreWebView2ContextMenuItemCollection_GetValueAtIndex(This,index,value)	\
    ( (This)->lpVtbl -> GetValueAtIndex(This,index,value) ) 

#define ICoreWebView2ContextMenuItemCollection_RemoveValueAtIndex(This,index)	\
    ( (This)->lpVtbl -> RemoveValueAtIndex(This,index) ) 

#define ICoreWebView2ContextMenuItemCollection_InsertValueAtIndex(This,index,value)	\
    ( (This)->lpVtbl -> InsertValueAtIndex(This,index,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ContextMenuItemCollection_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ContextMenuTarget_INTERFACE_DEFINED__
#define __ICoreWebView2ContextMenuTarget_INTERFACE_DEFINED__

/* interface ICoreWebView2ContextMenuTarget */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ContextMenuTarget = {0xb8611d99,0xeed6,0x4f3f,{0x90,0x2c,0xa1,0x98,0x50,0x2a,0xd4,0x72}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b8611d99-eed6-4f3f-902c-a198502ad472")
    ICoreWebView2ContextMenuTarget : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Kind( 
            /* [retval][out] */ COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsEditable( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsRequestedForMainFrame( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PageUri( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameUri( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasLinkUri( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LinkUri( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasLinkText( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LinkText( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasSourceUri( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SourceUri( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasSelection( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SelectionText( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ContextMenuTargetVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ContextMenuTarget * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ContextMenuTarget * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ContextMenuTarget * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuTarget, get_Kind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            ICoreWebView2ContextMenuTarget * This,
            /* [retval][out] */ COREWEBVIEW2_CONTEXT_MENU_TARGET_KIND *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuTarget, get_IsEditable)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEditable )( 
            ICoreWebView2ContextMenuTarget * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuTarget, get_IsRequestedForMainFrame)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsRequestedForMainFrame )( 
            ICoreWebView2ContextMenuTarget * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuTarget, get_PageUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PageUri )( 
            ICoreWebView2ContextMenuTarget * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuTarget, get_FrameUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameUri )( 
            ICoreWebView2ContextMenuTarget * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuTarget, get_HasLinkUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasLinkUri )( 
            ICoreWebView2ContextMenuTarget * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuTarget, get_LinkUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinkUri )( 
            ICoreWebView2ContextMenuTarget * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuTarget, get_HasLinkText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasLinkText )( 
            ICoreWebView2ContextMenuTarget * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuTarget, get_LinkText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinkText )( 
            ICoreWebView2ContextMenuTarget * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuTarget, get_HasSourceUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasSourceUri )( 
            ICoreWebView2ContextMenuTarget * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuTarget, get_SourceUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceUri )( 
            ICoreWebView2ContextMenuTarget * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuTarget, get_HasSelection)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasSelection )( 
            ICoreWebView2ContextMenuTarget * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContextMenuTarget, get_SelectionText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectionText )( 
            ICoreWebView2ContextMenuTarget * This,
            /* [retval][out] */ LPWSTR *value);
        
        END_INTERFACE
    } ICoreWebView2ContextMenuTargetVtbl;

    interface ICoreWebView2ContextMenuTarget
    {
        CONST_VTBL struct ICoreWebView2ContextMenuTargetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ContextMenuTarget_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ContextMenuTarget_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ContextMenuTarget_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ContextMenuTarget_get_Kind(This,value)	\
    ( (This)->lpVtbl -> get_Kind(This,value) ) 

#define ICoreWebView2ContextMenuTarget_get_IsEditable(This,value)	\
    ( (This)->lpVtbl -> get_IsEditable(This,value) ) 

#define ICoreWebView2ContextMenuTarget_get_IsRequestedForMainFrame(This,value)	\
    ( (This)->lpVtbl -> get_IsRequestedForMainFrame(This,value) ) 

#define ICoreWebView2ContextMenuTarget_get_PageUri(This,value)	\
    ( (This)->lpVtbl -> get_PageUri(This,value) ) 

#define ICoreWebView2ContextMenuTarget_get_FrameUri(This,value)	\
    ( (This)->lpVtbl -> get_FrameUri(This,value) ) 

#define ICoreWebView2ContextMenuTarget_get_HasLinkUri(This,value)	\
    ( (This)->lpVtbl -> get_HasLinkUri(This,value) ) 

#define ICoreWebView2ContextMenuTarget_get_LinkUri(This,value)	\
    ( (This)->lpVtbl -> get_LinkUri(This,value) ) 

#define ICoreWebView2ContextMenuTarget_get_HasLinkText(This,value)	\
    ( (This)->lpVtbl -> get_HasLinkText(This,value) ) 

#define ICoreWebView2ContextMenuTarget_get_LinkText(This,value)	\
    ( (This)->lpVtbl -> get_LinkText(This,value) ) 

#define ICoreWebView2ContextMenuTarget_get_HasSourceUri(This,value)	\
    ( (This)->lpVtbl -> get_HasSourceUri(This,value) ) 

#define ICoreWebView2ContextMenuTarget_get_SourceUri(This,value)	\
    ( (This)->lpVtbl -> get_SourceUri(This,value) ) 

#define ICoreWebView2ContextMenuTarget_get_HasSelection(This,value)	\
    ( (This)->lpVtbl -> get_HasSelection(This,value) ) 

#define ICoreWebView2ContextMenuTarget_get_SelectionText(This,value)	\
    ( (This)->lpVtbl -> get_SelectionText(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ContextMenuTarget_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_INTERFACE_DEFINED__
#define __ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler = {0x3B40AAC6,0xACFE,0x4FFD,{0x82,0x11,0xF6,0x07,0xB9,0x6E,0x2D,0x5B}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3B40AAC6-ACFE-4FFD-8211-F607B96E2D5B")
    ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ HRESULT errorCode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ClearServerCertificateErrorActionsCompletedHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler * This,
            /* [in] */ HRESULT errorCode);
        
        END_INTERFACE
    } ICoreWebView2ClearServerCertificateErrorActionsCompletedHandlerVtbl;

    interface ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler
    {
        CONST_VTBL struct ICoreWebView2ClearServerCertificateErrorActionsCompletedHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_Invoke(This,errorCode)	\
    ( (This)->lpVtbl -> Invoke(This,errorCode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ClearServerCertificateErrorActionsCompletedHandler_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CreateCoreWebView2ControllerCompletedHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ContainsFullScreenElementChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ContainsFullScreenElementChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ContainsFullScreenElementChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ContainsFullScreenElementChangedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2CursorChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2CursorChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2CursorChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CursorChangedEventHandler, Invoke)
        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 __ICoreWebView2CustomItemSelectedEventHandler_INTERFACE_DEFINED__
#define __ICoreWebView2CustomItemSelectedEventHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2CustomItemSelectedEventHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CustomItemSelectedEventHandler = {0x49e1d0bc,0xfe9e,0x4481,{0xb7,0xc2,0x32,0x32,0x4a,0xa2,0x19,0x98}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("49e1d0bc-fe9e-4481-b7c2-32324aa21998")
    ICoreWebView2CustomItemSelectedEventHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ ICoreWebView2ContextMenuItem *sender,
            /* [in] */ IUnknown *args) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2CustomItemSelectedEventHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2CustomItemSelectedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2CustomItemSelectedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2CustomItemSelectedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CustomItemSelectedEventHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2CustomItemSelectedEventHandler * This,
            /* [in] */ ICoreWebView2ContextMenuItem *sender,
            /* [in] */ IUnknown *args);
        
        END_INTERFACE
    } ICoreWebView2CustomItemSelectedEventHandlerVtbl;

    interface ICoreWebView2CustomItemSelectedEventHandler
    {
        CONST_VTBL struct ICoreWebView2CustomItemSelectedEventHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2CustomItemSelectedEventHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2CustomItemSelectedEventHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2CustomItemSelectedEventHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2CustomItemSelectedEventHandler_Invoke(This,sender,args)	\
    ( (This)->lpVtbl -> Invoke(This,sender,args) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2CustomItemSelectedEventHandler_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2CustomSchemeRegistration_INTERFACE_DEFINED__
#define __ICoreWebView2CustomSchemeRegistration_INTERFACE_DEFINED__

/* interface ICoreWebView2CustomSchemeRegistration */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CustomSchemeRegistration = {0xd60ac92c,0x37a6,0x4b26,{0xa3,0x9e,0x95,0xcf,0xe5,0x90,0x47,0xbb}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("d60ac92c-37a6-4b26-a39e-95cfe59047bb")
    ICoreWebView2CustomSchemeRegistration : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SchemeName( 
            /* [retval][out] */ LPWSTR *schemeName) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_TreatAsSecure( 
            /* [retval][out] */ BOOL *treatAsSecure) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_TreatAsSecure( 
            /* [in] */ BOOL value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetAllowedOrigins( 
            /* [out] */ UINT32 *allowedOriginsCount,
            /* [out] */ LPWSTR **allowedOrigins) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetAllowedOrigins( 
            /* [in] */ UINT32 allowedOriginsCount,
            /* [in] */ LPCWSTR *allowedOrigins) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HasAuthorityComponent( 
            /* [retval][out] */ BOOL *hasAuthorityComponent) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HasAuthorityComponent( 
            /* [in] */ BOOL hasAuthorityComponent) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2CustomSchemeRegistrationVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2CustomSchemeRegistration * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2CustomSchemeRegistration * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2CustomSchemeRegistration * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CustomSchemeRegistration, get_SchemeName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SchemeName )( 
            ICoreWebView2CustomSchemeRegistration * This,
            /* [retval][out] */ LPWSTR *schemeName);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CustomSchemeRegistration, get_TreatAsSecure)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TreatAsSecure )( 
            ICoreWebView2CustomSchemeRegistration * This,
            /* [retval][out] */ BOOL *treatAsSecure);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CustomSchemeRegistration, put_TreatAsSecure)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TreatAsSecure )( 
            ICoreWebView2CustomSchemeRegistration * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CustomSchemeRegistration, GetAllowedOrigins)
        HRESULT ( STDMETHODCALLTYPE *GetAllowedOrigins )( 
            ICoreWebView2CustomSchemeRegistration * This,
            /* [out] */ UINT32 *allowedOriginsCount,
            /* [out] */ LPWSTR **allowedOrigins);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CustomSchemeRegistration, SetAllowedOrigins)
        HRESULT ( STDMETHODCALLTYPE *SetAllowedOrigins )( 
            ICoreWebView2CustomSchemeRegistration * This,
            /* [in] */ UINT32 allowedOriginsCount,
            /* [in] */ LPCWSTR *allowedOrigins);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CustomSchemeRegistration, get_HasAuthorityComponent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasAuthorityComponent )( 
            ICoreWebView2CustomSchemeRegistration * This,
            /* [retval][out] */ BOOL *hasAuthorityComponent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CustomSchemeRegistration, put_HasAuthorityComponent)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HasAuthorityComponent )( 
            ICoreWebView2CustomSchemeRegistration * This,
            /* [in] */ BOOL hasAuthorityComponent);
        
        END_INTERFACE
    } ICoreWebView2CustomSchemeRegistrationVtbl;

    interface ICoreWebView2CustomSchemeRegistration
    {
        CONST_VTBL struct ICoreWebView2CustomSchemeRegistrationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2CustomSchemeRegistration_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2CustomSchemeRegistration_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2CustomSchemeRegistration_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2CustomSchemeRegistration_get_SchemeName(This,schemeName)	\
    ( (This)->lpVtbl -> get_SchemeName(This,schemeName) ) 

#define ICoreWebView2CustomSchemeRegistration_get_TreatAsSecure(This,treatAsSecure)	\
    ( (This)->lpVtbl -> get_TreatAsSecure(This,treatAsSecure) ) 

#define ICoreWebView2CustomSchemeRegistration_put_TreatAsSecure(This,value)	\
    ( (This)->lpVtbl -> put_TreatAsSecure(This,value) ) 

#define ICoreWebView2CustomSchemeRegistration_GetAllowedOrigins(This,allowedOriginsCount,allowedOrigins)	\
    ( (This)->lpVtbl -> GetAllowedOrigins(This,allowedOriginsCount,allowedOrigins) ) 

#define ICoreWebView2CustomSchemeRegistration_SetAllowedOrigins(This,allowedOriginsCount,allowedOrigins)	\
    ( (This)->lpVtbl -> SetAllowedOrigins(This,allowedOriginsCount,allowedOrigins) ) 

#define ICoreWebView2CustomSchemeRegistration_get_HasAuthorityComponent(This,hasAuthorityComponent)	\
    ( (This)->lpVtbl -> get_HasAuthorityComponent(This,hasAuthorityComponent) ) 

#define ICoreWebView2CustomSchemeRegistration_put_HasAuthorityComponent(This,hasAuthorityComponent)	\
    ( (This)->lpVtbl -> put_HasAuthorityComponent(This,hasAuthorityComponent) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2CustomSchemeRegistration_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2DocumentTitleChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2DocumentTitleChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2DocumentTitleChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DocumentTitleChangedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2DOMContentLoadedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2DOMContentLoadedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2DOMContentLoadedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DOMContentLoadedEventArgs, get_NavigationId)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2DOMContentLoadedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2DOMContentLoadedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2DOMContentLoadedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DOMContentLoadedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Deferral * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Deferral * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Deferral * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Deferral, Complete)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2DevToolsProtocolEventReceivedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2DevToolsProtocolEventReceivedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2DevToolsProtocolEventReceivedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DevToolsProtocolEventReceivedEventArgs, get_ParameterObjectAsJson)
        /* [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 __ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_INTERFACE_DEFINED__
#define __ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_INTERFACE_DEFINED__

/* interface ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 = {0x2DC4959D,0x1494,0x4393,{0x95,0xBA,0xBE,0xA4,0xCB,0x9E,0xBD,0x1B}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2DC4959D-1494-4393-95BA-BEA4CB9EBD1B")
    ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 : public ICoreWebView2DevToolsProtocolEventReceivedEventArgs
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SessionId( 
            /* [retval][out] */ LPWSTR *sessionId) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2DevToolsProtocolEventReceivedEventArgs2Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DevToolsProtocolEventReceivedEventArgs, get_ParameterObjectAsJson)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParameterObjectAsJson )( 
            ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 * This,
            /* [retval][out] */ LPWSTR *parameterObjectAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DevToolsProtocolEventReceivedEventArgs2, get_SessionId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SessionId )( 
            ICoreWebView2DevToolsProtocolEventReceivedEventArgs2 * This,
            /* [retval][out] */ LPWSTR *sessionId);
        
        END_INTERFACE
    } ICoreWebView2DevToolsProtocolEventReceivedEventArgs2Vtbl;

    interface ICoreWebView2DevToolsProtocolEventReceivedEventArgs2
    {
        CONST_VTBL struct ICoreWebView2DevToolsProtocolEventReceivedEventArgs2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_get_ParameterObjectAsJson(This,parameterObjectAsJson)	\
    ( (This)->lpVtbl -> get_ParameterObjectAsJson(This,parameterObjectAsJson) ) 


#define ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_get_SessionId(This,sessionId)	\
    ( (This)->lpVtbl -> get_SessionId(This,sessionId) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2DevToolsProtocolEventReceivedEventArgs2_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2DevToolsProtocolEventReceivedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2DevToolsProtocolEventReceivedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2DevToolsProtocolEventReceivedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DevToolsProtocolEventReceivedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2DevToolsProtocolEventReceiver * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2DevToolsProtocolEventReceiver * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2DevToolsProtocolEventReceiver * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DevToolsProtocolEventReceiver, add_DevToolsProtocolEventReceived)
        HRESULT ( STDMETHODCALLTYPE *add_DevToolsProtocolEventReceived )( 
            ICoreWebView2DevToolsProtocolEventReceiver * This,
            /* [in] */ ICoreWebView2DevToolsProtocolEventReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DevToolsProtocolEventReceiver, remove_DevToolsProtocolEventReceived)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2DownloadOperation * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2DownloadOperation * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2DownloadOperation * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, add_BytesReceivedChanged)
        HRESULT ( STDMETHODCALLTYPE *add_BytesReceivedChanged )( 
            ICoreWebView2DownloadOperation * This,
            /* [in] */ ICoreWebView2BytesReceivedChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, remove_BytesReceivedChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_BytesReceivedChanged )( 
            ICoreWebView2DownloadOperation * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, add_EstimatedEndTimeChanged)
        HRESULT ( STDMETHODCALLTYPE *add_EstimatedEndTimeChanged )( 
            ICoreWebView2DownloadOperation * This,
            /* [in] */ ICoreWebView2EstimatedEndTimeChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, remove_EstimatedEndTimeChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_EstimatedEndTimeChanged )( 
            ICoreWebView2DownloadOperation * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, add_StateChanged)
        HRESULT ( STDMETHODCALLTYPE *add_StateChanged )( 
            ICoreWebView2DownloadOperation * This,
            /* [in] */ ICoreWebView2StateChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, remove_StateChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_StateChanged )( 
            ICoreWebView2DownloadOperation * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, get_Uri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )( 
            ICoreWebView2DownloadOperation * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, get_ContentDisposition)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContentDisposition )( 
            ICoreWebView2DownloadOperation * This,
            /* [retval][out] */ LPWSTR *contentDisposition);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, get_MimeType)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MimeType )( 
            ICoreWebView2DownloadOperation * This,
            /* [retval][out] */ LPWSTR *mimeType);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, get_TotalBytesToReceive)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TotalBytesToReceive )( 
            ICoreWebView2DownloadOperation * This,
            /* [retval][out] */ INT64 *totalBytesToReceive);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, get_BytesReceived)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BytesReceived )( 
            ICoreWebView2DownloadOperation * This,
            /* [retval][out] */ INT64 *bytesReceived);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, get_EstimatedEndTime)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EstimatedEndTime )( 
            ICoreWebView2DownloadOperation * This,
            /* [retval][out] */ LPWSTR *estimatedEndTime);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, get_ResultFilePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ResultFilePath )( 
            ICoreWebView2DownloadOperation * This,
            /* [retval][out] */ LPWSTR *resultFilePath);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            ICoreWebView2DownloadOperation * This,
            /* [retval][out] */ COREWEBVIEW2_DOWNLOAD_STATE *downloadState);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, get_InterruptReason)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InterruptReason )( 
            ICoreWebView2DownloadOperation * This,
            /* [retval][out] */ COREWEBVIEW2_DOWNLOAD_INTERRUPT_REASON *interruptReason);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, Cancel)
        HRESULT ( STDMETHODCALLTYPE *Cancel )( 
            ICoreWebView2DownloadOperation * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, Pause)
        HRESULT ( STDMETHODCALLTYPE *Pause )( 
            ICoreWebView2DownloadOperation * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, Resume)
        HRESULT ( STDMETHODCALLTYPE *Resume )( 
            ICoreWebView2DownloadOperation * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadOperation, get_CanResume)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2DownloadStartingEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2DownloadStartingEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2DownloadStartingEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadStartingEventArgs, get_DownloadOperation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DownloadOperation )( 
            ICoreWebView2DownloadStartingEventArgs * This,
            /* [retval][out] */ ICoreWebView2DownloadOperation **downloadOperation);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadStartingEventArgs, get_Cancel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cancel )( 
            ICoreWebView2DownloadStartingEventArgs * This,
            /* [retval][out] */ BOOL *cancel);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadStartingEventArgs, put_Cancel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Cancel )( 
            ICoreWebView2DownloadStartingEventArgs * This,
            /* [in] */ BOOL cancel);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadStartingEventArgs, get_ResultFilePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ResultFilePath )( 
            ICoreWebView2DownloadStartingEventArgs * This,
            /* [retval][out] */ LPWSTR *resultFilePath);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadStartingEventArgs, put_ResultFilePath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ResultFilePath )( 
            ICoreWebView2DownloadStartingEventArgs * This,
            /* [in] */ LPCWSTR resultFilePath);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadStartingEventArgs, get_Handled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )( 
            ICoreWebView2DownloadStartingEventArgs * This,
            /* [retval][out] */ BOOL *handled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadStartingEventArgs, put_Handled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )( 
            ICoreWebView2DownloadStartingEventArgs * This,
            /* [in] */ BOOL handled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadStartingEventArgs, GetDeferral)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2DownloadStartingEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2DownloadStartingEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2DownloadStartingEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2DownloadStartingEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Environment * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Environment * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Environment * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateCoreWebView2Controller)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )( 
            ICoreWebView2Environment * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateWebResourceResponse)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )( 
            ICoreWebView2Environment * This,
            /* [in] */ IStream *content,
            /* [in] */ int statusCode,
            /* [in] */ LPCWSTR reasonPhrase,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, get_BrowserVersionString)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )( 
            ICoreWebView2Environment * This,
            /* [retval][out] */ LPWSTR *versionInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, add_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment * This,
            /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, remove_NewBrowserVersionAvailable)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Environment2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Environment2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Environment2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateCoreWebView2Controller)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )( 
            ICoreWebView2Environment2 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateWebResourceResponse)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )( 
            ICoreWebView2Environment2 * This,
            /* [in] */ IStream *content,
            /* [in] */ int statusCode,
            /* [in] */ LPCWSTR reasonPhrase,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, get_BrowserVersionString)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )( 
            ICoreWebView2Environment2 * This,
            /* [retval][out] */ LPWSTR *versionInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, add_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment2 * This,
            /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, remove_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment2, CreateWebResourceRequest)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Environment3 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Environment3 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Environment3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateCoreWebView2Controller)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )( 
            ICoreWebView2Environment3 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateWebResourceResponse)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )( 
            ICoreWebView2Environment3 * This,
            /* [in] */ IStream *content,
            /* [in] */ int statusCode,
            /* [in] */ LPCWSTR reasonPhrase,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, get_BrowserVersionString)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )( 
            ICoreWebView2Environment3 * This,
            /* [retval][out] */ LPWSTR *versionInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, add_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment3 * This,
            /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, remove_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment2, CreateWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )( 
            ICoreWebView2Environment3 * This,
            /* [in] */ LPCWSTR uri,
            /* [in] */ LPCWSTR method,
            /* [in] */ IStream *postData,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2CompositionController)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )( 
            ICoreWebView2Environment3 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2PointerInfo)
        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 GetAutomationProviderForWindow( 
            /* [in] */ HWND hwnd,
            /* [retval][out] */ IUnknown **provider) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Environment4Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Environment4 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Environment4 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Environment4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateCoreWebView2Controller)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )( 
            ICoreWebView2Environment4 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateWebResourceResponse)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )( 
            ICoreWebView2Environment4 * This,
            /* [in] */ IStream *content,
            /* [in] */ int statusCode,
            /* [in] */ LPCWSTR reasonPhrase,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, get_BrowserVersionString)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )( 
            ICoreWebView2Environment4 * This,
            /* [retval][out] */ LPWSTR *versionInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, add_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment4 * This,
            /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, remove_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment2, CreateWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )( 
            ICoreWebView2Environment4 * This,
            /* [in] */ LPCWSTR uri,
            /* [in] */ LPCWSTR method,
            /* [in] */ IStream *postData,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2CompositionController)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )( 
            ICoreWebView2Environment4 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2PointerInfo)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )( 
            ICoreWebView2Environment4 * This,
            /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment4, GetAutomationProviderForWindow)
        HRESULT ( STDMETHODCALLTYPE *GetAutomationProviderForWindow )( 
            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_GetAutomationProviderForWindow(This,hwnd,provider)	\
    ( (This)->lpVtbl -> GetAutomationProviderForWindow(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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Environment5 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Environment5 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Environment5 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateCoreWebView2Controller)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )( 
            ICoreWebView2Environment5 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateWebResourceResponse)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )( 
            ICoreWebView2Environment5 * This,
            /* [in] */ IStream *content,
            /* [in] */ int statusCode,
            /* [in] */ LPCWSTR reasonPhrase,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, get_BrowserVersionString)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )( 
            ICoreWebView2Environment5 * This,
            /* [retval][out] */ LPWSTR *versionInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, add_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment5 * This,
            /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, remove_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment2, CreateWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )( 
            ICoreWebView2Environment5 * This,
            /* [in] */ LPCWSTR uri,
            /* [in] */ LPCWSTR method,
            /* [in] */ IStream *postData,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2CompositionController)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )( 
            ICoreWebView2Environment5 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2PointerInfo)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )( 
            ICoreWebView2Environment5 * This,
            /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment4, GetAutomationProviderForWindow)
        HRESULT ( STDMETHODCALLTYPE *GetAutomationProviderForWindow )( 
            ICoreWebView2Environment5 * This,
            /* [in] */ HWND hwnd,
            /* [retval][out] */ IUnknown **provider);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, add_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *add_BrowserProcessExited )( 
            ICoreWebView2Environment5 * This,
            /* [in] */ ICoreWebView2BrowserProcessExitedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, remove_BrowserProcessExited)
        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_GetAutomationProviderForWindow(This,hwnd,provider)	\
    ( (This)->lpVtbl -> GetAutomationProviderForWindow(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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Environment6 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Environment6 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Environment6 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateCoreWebView2Controller)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )( 
            ICoreWebView2Environment6 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateWebResourceResponse)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )( 
            ICoreWebView2Environment6 * This,
            /* [in] */ IStream *content,
            /* [in] */ int statusCode,
            /* [in] */ LPCWSTR reasonPhrase,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, get_BrowserVersionString)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )( 
            ICoreWebView2Environment6 * This,
            /* [retval][out] */ LPWSTR *versionInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, add_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment6 * This,
            /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, remove_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment2, CreateWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )( 
            ICoreWebView2Environment6 * This,
            /* [in] */ LPCWSTR uri,
            /* [in] */ LPCWSTR method,
            /* [in] */ IStream *postData,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2CompositionController)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )( 
            ICoreWebView2Environment6 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2PointerInfo)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )( 
            ICoreWebView2Environment6 * This,
            /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment4, GetAutomationProviderForWindow)
        HRESULT ( STDMETHODCALLTYPE *GetAutomationProviderForWindow )( 
            ICoreWebView2Environment6 * This,
            /* [in] */ HWND hwnd,
            /* [retval][out] */ IUnknown **provider);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, add_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *add_BrowserProcessExited )( 
            ICoreWebView2Environment6 * This,
            /* [in] */ ICoreWebView2BrowserProcessExitedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, remove_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *remove_BrowserProcessExited )( 
            ICoreWebView2Environment6 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment6, CreatePrintSettings)
        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_GetAutomationProviderForWindow(This,hwnd,provider)	\
    ( (This)->lpVtbl -> GetAutomationProviderForWindow(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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Environment7 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Environment7 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Environment7 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateCoreWebView2Controller)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )( 
            ICoreWebView2Environment7 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateWebResourceResponse)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )( 
            ICoreWebView2Environment7 * This,
            /* [in] */ IStream *content,
            /* [in] */ int statusCode,
            /* [in] */ LPCWSTR reasonPhrase,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, get_BrowserVersionString)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )( 
            ICoreWebView2Environment7 * This,
            /* [retval][out] */ LPWSTR *versionInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, add_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment7 * This,
            /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, remove_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment2, CreateWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )( 
            ICoreWebView2Environment7 * This,
            /* [in] */ LPCWSTR uri,
            /* [in] */ LPCWSTR method,
            /* [in] */ IStream *postData,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2CompositionController)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )( 
            ICoreWebView2Environment7 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2PointerInfo)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )( 
            ICoreWebView2Environment7 * This,
            /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment4, GetAutomationProviderForWindow)
        HRESULT ( STDMETHODCALLTYPE *GetAutomationProviderForWindow )( 
            ICoreWebView2Environment7 * This,
            /* [in] */ HWND hwnd,
            /* [retval][out] */ IUnknown **provider);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, add_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *add_BrowserProcessExited )( 
            ICoreWebView2Environment7 * This,
            /* [in] */ ICoreWebView2BrowserProcessExitedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, remove_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *remove_BrowserProcessExited )( 
            ICoreWebView2Environment7 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment6, CreatePrintSettings)
        HRESULT ( STDMETHODCALLTYPE *CreatePrintSettings )( 
            ICoreWebView2Environment7 * This,
            /* [retval][out] */ ICoreWebView2PrintSettings **printSettings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment7, get_UserDataFolder)
        /* [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_GetAutomationProviderForWindow(This,hwnd,provider)	\
    ( (This)->lpVtbl -> GetAutomationProviderForWindow(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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Environment8 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Environment8 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Environment8 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateCoreWebView2Controller)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )( 
            ICoreWebView2Environment8 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateWebResourceResponse)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )( 
            ICoreWebView2Environment8 * This,
            /* [in] */ IStream *content,
            /* [in] */ int statusCode,
            /* [in] */ LPCWSTR reasonPhrase,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, get_BrowserVersionString)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )( 
            ICoreWebView2Environment8 * This,
            /* [retval][out] */ LPWSTR *versionInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, add_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment8 * This,
            /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, remove_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment2, CreateWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )( 
            ICoreWebView2Environment8 * This,
            /* [in] */ LPCWSTR uri,
            /* [in] */ LPCWSTR method,
            /* [in] */ IStream *postData,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2CompositionController)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )( 
            ICoreWebView2Environment8 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2PointerInfo)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )( 
            ICoreWebView2Environment8 * This,
            /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment4, GetAutomationProviderForWindow)
        HRESULT ( STDMETHODCALLTYPE *GetAutomationProviderForWindow )( 
            ICoreWebView2Environment8 * This,
            /* [in] */ HWND hwnd,
            /* [retval][out] */ IUnknown **provider);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, add_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *add_BrowserProcessExited )( 
            ICoreWebView2Environment8 * This,
            /* [in] */ ICoreWebView2BrowserProcessExitedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, remove_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *remove_BrowserProcessExited )( 
            ICoreWebView2Environment8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment6, CreatePrintSettings)
        HRESULT ( STDMETHODCALLTYPE *CreatePrintSettings )( 
            ICoreWebView2Environment8 * This,
            /* [retval][out] */ ICoreWebView2PrintSettings **printSettings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment7, get_UserDataFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserDataFolder )( 
            ICoreWebView2Environment8 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, add_ProcessInfosChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessInfosChanged )( 
            ICoreWebView2Environment8 * This,
            /* [in] */ ICoreWebView2ProcessInfosChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, remove_ProcessInfosChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessInfosChanged )( 
            ICoreWebView2Environment8 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, GetProcessInfos)
        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_GetAutomationProviderForWindow(This,hwnd,provider)	\
    ( (This)->lpVtbl -> GetAutomationProviderForWindow(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 __ICoreWebView2Environment9_INTERFACE_DEFINED__
#define __ICoreWebView2Environment9_INTERFACE_DEFINED__

/* interface ICoreWebView2Environment9 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Environment9 = {0xf06f41bf,0x4b5a,0x49d8,{0xb9,0xf6,0xfa,0x16,0xcd,0x29,0xf2,0x74}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f06f41bf-4b5a-49d8-b9f6-fa16cd29f274")
    ICoreWebView2Environment9 : public ICoreWebView2Environment8
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE CreateContextMenuItem( 
            /* [in] */ LPCWSTR label,
            /* [in] */ IStream *iconStream,
            /* [in] */ COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND kind,
            /* [retval][out] */ ICoreWebView2ContextMenuItem **item) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Environment9Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Environment9 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Environment9 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Environment9 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateCoreWebView2Controller)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )( 
            ICoreWebView2Environment9 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateWebResourceResponse)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )( 
            ICoreWebView2Environment9 * This,
            /* [in] */ IStream *content,
            /* [in] */ int statusCode,
            /* [in] */ LPCWSTR reasonPhrase,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, get_BrowserVersionString)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )( 
            ICoreWebView2Environment9 * This,
            /* [retval][out] */ LPWSTR *versionInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, add_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment9 * This,
            /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, remove_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment2, CreateWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )( 
            ICoreWebView2Environment9 * This,
            /* [in] */ LPCWSTR uri,
            /* [in] */ LPCWSTR method,
            /* [in] */ IStream *postData,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2CompositionController)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )( 
            ICoreWebView2Environment9 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2PointerInfo)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )( 
            ICoreWebView2Environment9 * This,
            /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment4, GetAutomationProviderForWindow)
        HRESULT ( STDMETHODCALLTYPE *GetAutomationProviderForWindow )( 
            ICoreWebView2Environment9 * This,
            /* [in] */ HWND hwnd,
            /* [retval][out] */ IUnknown **provider);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, add_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *add_BrowserProcessExited )( 
            ICoreWebView2Environment9 * This,
            /* [in] */ ICoreWebView2BrowserProcessExitedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, remove_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *remove_BrowserProcessExited )( 
            ICoreWebView2Environment9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment6, CreatePrintSettings)
        HRESULT ( STDMETHODCALLTYPE *CreatePrintSettings )( 
            ICoreWebView2Environment9 * This,
            /* [retval][out] */ ICoreWebView2PrintSettings **printSettings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment7, get_UserDataFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserDataFolder )( 
            ICoreWebView2Environment9 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, add_ProcessInfosChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessInfosChanged )( 
            ICoreWebView2Environment9 * This,
            /* [in] */ ICoreWebView2ProcessInfosChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, remove_ProcessInfosChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessInfosChanged )( 
            ICoreWebView2Environment9 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, GetProcessInfos)
        HRESULT ( STDMETHODCALLTYPE *GetProcessInfos )( 
            ICoreWebView2Environment9 * This,
            /* [retval][out] */ ICoreWebView2ProcessInfoCollection **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment9, CreateContextMenuItem)
        HRESULT ( STDMETHODCALLTYPE *CreateContextMenuItem )( 
            ICoreWebView2Environment9 * This,
            /* [in] */ LPCWSTR label,
            /* [in] */ IStream *iconStream,
            /* [in] */ COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND kind,
            /* [retval][out] */ ICoreWebView2ContextMenuItem **item);
        
        END_INTERFACE
    } ICoreWebView2Environment9Vtbl;

    interface ICoreWebView2Environment9
    {
        CONST_VTBL struct ICoreWebView2Environment9Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Environment9_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Environment9_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Environment9_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Environment9_CreateCoreWebView2Controller(This,parentWindow,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2Controller(This,parentWindow,handler) ) 

#define ICoreWebView2Environment9_CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response)	\
    ( (This)->lpVtbl -> CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) ) 

#define ICoreWebView2Environment9_get_BrowserVersionString(This,versionInfo)	\
    ( (This)->lpVtbl -> get_BrowserVersionString(This,versionInfo) ) 

#define ICoreWebView2Environment9_add_NewBrowserVersionAvailable(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewBrowserVersionAvailable(This,eventHandler,token) ) 

#define ICoreWebView2Environment9_remove_NewBrowserVersionAvailable(This,token)	\
    ( (This)->lpVtbl -> remove_NewBrowserVersionAvailable(This,token) ) 


#define ICoreWebView2Environment9_CreateWebResourceRequest(This,uri,method,postData,headers,request)	\
    ( (This)->lpVtbl -> CreateWebResourceRequest(This,uri,method,postData,headers,request) ) 


#define ICoreWebView2Environment9_CreateCoreWebView2CompositionController(This,parentWindow,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2CompositionController(This,parentWindow,handler) ) 

#define ICoreWebView2Environment9_CreateCoreWebView2PointerInfo(This,pointerInfo)	\
    ( (This)->lpVtbl -> CreateCoreWebView2PointerInfo(This,pointerInfo) ) 


#define ICoreWebView2Environment9_GetAutomationProviderForWindow(This,hwnd,provider)	\
    ( (This)->lpVtbl -> GetAutomationProviderForWindow(This,hwnd,provider) ) 


#define ICoreWebView2Environment9_add_BrowserProcessExited(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BrowserProcessExited(This,eventHandler,token) ) 

#define ICoreWebView2Environment9_remove_BrowserProcessExited(This,token)	\
    ( (This)->lpVtbl -> remove_BrowserProcessExited(This,token) ) 


#define ICoreWebView2Environment9_CreatePrintSettings(This,printSettings)	\
    ( (This)->lpVtbl -> CreatePrintSettings(This,printSettings) ) 


#define ICoreWebView2Environment9_get_UserDataFolder(This,value)	\
    ( (This)->lpVtbl -> get_UserDataFolder(This,value) ) 


#define ICoreWebView2Environment9_add_ProcessInfosChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessInfosChanged(This,eventHandler,token) ) 

#define ICoreWebView2Environment9_remove_ProcessInfosChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessInfosChanged(This,token) ) 

#define ICoreWebView2Environment9_GetProcessInfos(This,value)	\
    ( (This)->lpVtbl -> GetProcessInfos(This,value) ) 


#define ICoreWebView2Environment9_CreateContextMenuItem(This,label,iconStream,kind,item)	\
    ( (This)->lpVtbl -> CreateContextMenuItem(This,label,iconStream,kind,item) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Environment9_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2Environment10_INTERFACE_DEFINED__
#define __ICoreWebView2Environment10_INTERFACE_DEFINED__

/* interface ICoreWebView2Environment10 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Environment10 = {0xee0eb9df,0x6f12,0x46ce,{0xb5,0x3f,0x3f,0x47,0xb9,0xc9,0x28,0xe0}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ee0eb9df-6f12-46ce-b53f-3f47b9c928e0")
    ICoreWebView2Environment10 : public ICoreWebView2Environment9
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE CreateCoreWebView2ControllerOptions( 
            /* [retval][out] */ ICoreWebView2ControllerOptions **options) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateCoreWebView2ControllerWithOptions( 
            /* [in] */ HWND parentWindow,
            /* [in] */ ICoreWebView2ControllerOptions *options,
            /* [in] */ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE CreateCoreWebView2CompositionControllerWithOptions( 
            /* [in] */ HWND parentWindow,
            /* [in] */ ICoreWebView2ControllerOptions *options,
            /* [in] */ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Environment10Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Environment10 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Environment10 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Environment10 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateCoreWebView2Controller)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )( 
            ICoreWebView2Environment10 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateWebResourceResponse)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )( 
            ICoreWebView2Environment10 * This,
            /* [in] */ IStream *content,
            /* [in] */ int statusCode,
            /* [in] */ LPCWSTR reasonPhrase,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, get_BrowserVersionString)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )( 
            ICoreWebView2Environment10 * This,
            /* [retval][out] */ LPWSTR *versionInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, add_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment10 * This,
            /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, remove_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment2, CreateWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )( 
            ICoreWebView2Environment10 * This,
            /* [in] */ LPCWSTR uri,
            /* [in] */ LPCWSTR method,
            /* [in] */ IStream *postData,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2CompositionController)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )( 
            ICoreWebView2Environment10 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2PointerInfo)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )( 
            ICoreWebView2Environment10 * This,
            /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment4, GetAutomationProviderForWindow)
        HRESULT ( STDMETHODCALLTYPE *GetAutomationProviderForWindow )( 
            ICoreWebView2Environment10 * This,
            /* [in] */ HWND hwnd,
            /* [retval][out] */ IUnknown **provider);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, add_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *add_BrowserProcessExited )( 
            ICoreWebView2Environment10 * This,
            /* [in] */ ICoreWebView2BrowserProcessExitedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, remove_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *remove_BrowserProcessExited )( 
            ICoreWebView2Environment10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment6, CreatePrintSettings)
        HRESULT ( STDMETHODCALLTYPE *CreatePrintSettings )( 
            ICoreWebView2Environment10 * This,
            /* [retval][out] */ ICoreWebView2PrintSettings **printSettings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment7, get_UserDataFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserDataFolder )( 
            ICoreWebView2Environment10 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, add_ProcessInfosChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessInfosChanged )( 
            ICoreWebView2Environment10 * This,
            /* [in] */ ICoreWebView2ProcessInfosChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, remove_ProcessInfosChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessInfosChanged )( 
            ICoreWebView2Environment10 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, GetProcessInfos)
        HRESULT ( STDMETHODCALLTYPE *GetProcessInfos )( 
            ICoreWebView2Environment10 * This,
            /* [retval][out] */ ICoreWebView2ProcessInfoCollection **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment9, CreateContextMenuItem)
        HRESULT ( STDMETHODCALLTYPE *CreateContextMenuItem )( 
            ICoreWebView2Environment10 * This,
            /* [in] */ LPCWSTR label,
            /* [in] */ IStream *iconStream,
            /* [in] */ COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND kind,
            /* [retval][out] */ ICoreWebView2ContextMenuItem **item);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment10, CreateCoreWebView2ControllerOptions)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2ControllerOptions )( 
            ICoreWebView2Environment10 * This,
            /* [retval][out] */ ICoreWebView2ControllerOptions **options);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment10, CreateCoreWebView2ControllerWithOptions)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2ControllerWithOptions )( 
            ICoreWebView2Environment10 * This,
            /* [in] */ HWND parentWindow,
            /* [in] */ ICoreWebView2ControllerOptions *options,
            /* [in] */ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment10, CreateCoreWebView2CompositionControllerWithOptions)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionControllerWithOptions )( 
            ICoreWebView2Environment10 * This,
            /* [in] */ HWND parentWindow,
            /* [in] */ ICoreWebView2ControllerOptions *options,
            /* [in] */ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
        
        END_INTERFACE
    } ICoreWebView2Environment10Vtbl;

    interface ICoreWebView2Environment10
    {
        CONST_VTBL struct ICoreWebView2Environment10Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Environment10_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Environment10_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Environment10_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Environment10_CreateCoreWebView2Controller(This,parentWindow,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2Controller(This,parentWindow,handler) ) 

#define ICoreWebView2Environment10_CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response)	\
    ( (This)->lpVtbl -> CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) ) 

#define ICoreWebView2Environment10_get_BrowserVersionString(This,versionInfo)	\
    ( (This)->lpVtbl -> get_BrowserVersionString(This,versionInfo) ) 

#define ICoreWebView2Environment10_add_NewBrowserVersionAvailable(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewBrowserVersionAvailable(This,eventHandler,token) ) 

#define ICoreWebView2Environment10_remove_NewBrowserVersionAvailable(This,token)	\
    ( (This)->lpVtbl -> remove_NewBrowserVersionAvailable(This,token) ) 


#define ICoreWebView2Environment10_CreateWebResourceRequest(This,uri,method,postData,headers,request)	\
    ( (This)->lpVtbl -> CreateWebResourceRequest(This,uri,method,postData,headers,request) ) 


#define ICoreWebView2Environment10_CreateCoreWebView2CompositionController(This,parentWindow,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2CompositionController(This,parentWindow,handler) ) 

#define ICoreWebView2Environment10_CreateCoreWebView2PointerInfo(This,pointerInfo)	\
    ( (This)->lpVtbl -> CreateCoreWebView2PointerInfo(This,pointerInfo) ) 


#define ICoreWebView2Environment10_GetAutomationProviderForWindow(This,hwnd,provider)	\
    ( (This)->lpVtbl -> GetAutomationProviderForWindow(This,hwnd,provider) ) 


#define ICoreWebView2Environment10_add_BrowserProcessExited(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BrowserProcessExited(This,eventHandler,token) ) 

#define ICoreWebView2Environment10_remove_BrowserProcessExited(This,token)	\
    ( (This)->lpVtbl -> remove_BrowserProcessExited(This,token) ) 


#define ICoreWebView2Environment10_CreatePrintSettings(This,printSettings)	\
    ( (This)->lpVtbl -> CreatePrintSettings(This,printSettings) ) 


#define ICoreWebView2Environment10_get_UserDataFolder(This,value)	\
    ( (This)->lpVtbl -> get_UserDataFolder(This,value) ) 


#define ICoreWebView2Environment10_add_ProcessInfosChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessInfosChanged(This,eventHandler,token) ) 

#define ICoreWebView2Environment10_remove_ProcessInfosChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessInfosChanged(This,token) ) 

#define ICoreWebView2Environment10_GetProcessInfos(This,value)	\
    ( (This)->lpVtbl -> GetProcessInfos(This,value) ) 


#define ICoreWebView2Environment10_CreateContextMenuItem(This,label,iconStream,kind,item)	\
    ( (This)->lpVtbl -> CreateContextMenuItem(This,label,iconStream,kind,item) ) 


#define ICoreWebView2Environment10_CreateCoreWebView2ControllerOptions(This,options)	\
    ( (This)->lpVtbl -> CreateCoreWebView2ControllerOptions(This,options) ) 

#define ICoreWebView2Environment10_CreateCoreWebView2ControllerWithOptions(This,parentWindow,options,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2ControllerWithOptions(This,parentWindow,options,handler) ) 

#define ICoreWebView2Environment10_CreateCoreWebView2CompositionControllerWithOptions(This,parentWindow,options,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2CompositionControllerWithOptions(This,parentWindow,options,handler) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Environment10_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2Environment11_INTERFACE_DEFINED__
#define __ICoreWebView2Environment11_INTERFACE_DEFINED__

/* interface ICoreWebView2Environment11 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Environment11 = {0xF0913DC6,0xA0EC,0x42EF,{0x98,0x05,0x91,0xDF,0xF3,0xA2,0x96,0x6A}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F0913DC6-A0EC-42EF-9805-91DFF3A2966A")
    ICoreWebView2Environment11 : public ICoreWebView2Environment10
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FailureReportFolderPath( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Environment11Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Environment11 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Environment11 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Environment11 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateCoreWebView2Controller)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )( 
            ICoreWebView2Environment11 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateWebResourceResponse)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )( 
            ICoreWebView2Environment11 * This,
            /* [in] */ IStream *content,
            /* [in] */ int statusCode,
            /* [in] */ LPCWSTR reasonPhrase,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, get_BrowserVersionString)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )( 
            ICoreWebView2Environment11 * This,
            /* [retval][out] */ LPWSTR *versionInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, add_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment11 * This,
            /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, remove_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment2, CreateWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )( 
            ICoreWebView2Environment11 * This,
            /* [in] */ LPCWSTR uri,
            /* [in] */ LPCWSTR method,
            /* [in] */ IStream *postData,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2CompositionController)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )( 
            ICoreWebView2Environment11 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2PointerInfo)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )( 
            ICoreWebView2Environment11 * This,
            /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment4, GetAutomationProviderForWindow)
        HRESULT ( STDMETHODCALLTYPE *GetAutomationProviderForWindow )( 
            ICoreWebView2Environment11 * This,
            /* [in] */ HWND hwnd,
            /* [retval][out] */ IUnknown **provider);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, add_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *add_BrowserProcessExited )( 
            ICoreWebView2Environment11 * This,
            /* [in] */ ICoreWebView2BrowserProcessExitedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, remove_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *remove_BrowserProcessExited )( 
            ICoreWebView2Environment11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment6, CreatePrintSettings)
        HRESULT ( STDMETHODCALLTYPE *CreatePrintSettings )( 
            ICoreWebView2Environment11 * This,
            /* [retval][out] */ ICoreWebView2PrintSettings **printSettings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment7, get_UserDataFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserDataFolder )( 
            ICoreWebView2Environment11 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, add_ProcessInfosChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessInfosChanged )( 
            ICoreWebView2Environment11 * This,
            /* [in] */ ICoreWebView2ProcessInfosChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, remove_ProcessInfosChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessInfosChanged )( 
            ICoreWebView2Environment11 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, GetProcessInfos)
        HRESULT ( STDMETHODCALLTYPE *GetProcessInfos )( 
            ICoreWebView2Environment11 * This,
            /* [retval][out] */ ICoreWebView2ProcessInfoCollection **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment9, CreateContextMenuItem)
        HRESULT ( STDMETHODCALLTYPE *CreateContextMenuItem )( 
            ICoreWebView2Environment11 * This,
            /* [in] */ LPCWSTR label,
            /* [in] */ IStream *iconStream,
            /* [in] */ COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND kind,
            /* [retval][out] */ ICoreWebView2ContextMenuItem **item);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment10, CreateCoreWebView2ControllerOptions)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2ControllerOptions )( 
            ICoreWebView2Environment11 * This,
            /* [retval][out] */ ICoreWebView2ControllerOptions **options);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment10, CreateCoreWebView2ControllerWithOptions)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2ControllerWithOptions )( 
            ICoreWebView2Environment11 * This,
            /* [in] */ HWND parentWindow,
            /* [in] */ ICoreWebView2ControllerOptions *options,
            /* [in] */ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment10, CreateCoreWebView2CompositionControllerWithOptions)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionControllerWithOptions )( 
            ICoreWebView2Environment11 * This,
            /* [in] */ HWND parentWindow,
            /* [in] */ ICoreWebView2ControllerOptions *options,
            /* [in] */ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment11, get_FailureReportFolderPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FailureReportFolderPath )( 
            ICoreWebView2Environment11 * This,
            /* [retval][out] */ LPWSTR *value);
        
        END_INTERFACE
    } ICoreWebView2Environment11Vtbl;

    interface ICoreWebView2Environment11
    {
        CONST_VTBL struct ICoreWebView2Environment11Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Environment11_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Environment11_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Environment11_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Environment11_CreateCoreWebView2Controller(This,parentWindow,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2Controller(This,parentWindow,handler) ) 

#define ICoreWebView2Environment11_CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response)	\
    ( (This)->lpVtbl -> CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) ) 

#define ICoreWebView2Environment11_get_BrowserVersionString(This,versionInfo)	\
    ( (This)->lpVtbl -> get_BrowserVersionString(This,versionInfo) ) 

#define ICoreWebView2Environment11_add_NewBrowserVersionAvailable(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewBrowserVersionAvailable(This,eventHandler,token) ) 

#define ICoreWebView2Environment11_remove_NewBrowserVersionAvailable(This,token)	\
    ( (This)->lpVtbl -> remove_NewBrowserVersionAvailable(This,token) ) 


#define ICoreWebView2Environment11_CreateWebResourceRequest(This,uri,method,postData,headers,request)	\
    ( (This)->lpVtbl -> CreateWebResourceRequest(This,uri,method,postData,headers,request) ) 


#define ICoreWebView2Environment11_CreateCoreWebView2CompositionController(This,parentWindow,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2CompositionController(This,parentWindow,handler) ) 

#define ICoreWebView2Environment11_CreateCoreWebView2PointerInfo(This,pointerInfo)	\
    ( (This)->lpVtbl -> CreateCoreWebView2PointerInfo(This,pointerInfo) ) 


#define ICoreWebView2Environment11_GetAutomationProviderForWindow(This,hwnd,provider)	\
    ( (This)->lpVtbl -> GetAutomationProviderForWindow(This,hwnd,provider) ) 


#define ICoreWebView2Environment11_add_BrowserProcessExited(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BrowserProcessExited(This,eventHandler,token) ) 

#define ICoreWebView2Environment11_remove_BrowserProcessExited(This,token)	\
    ( (This)->lpVtbl -> remove_BrowserProcessExited(This,token) ) 


#define ICoreWebView2Environment11_CreatePrintSettings(This,printSettings)	\
    ( (This)->lpVtbl -> CreatePrintSettings(This,printSettings) ) 


#define ICoreWebView2Environment11_get_UserDataFolder(This,value)	\
    ( (This)->lpVtbl -> get_UserDataFolder(This,value) ) 


#define ICoreWebView2Environment11_add_ProcessInfosChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessInfosChanged(This,eventHandler,token) ) 

#define ICoreWebView2Environment11_remove_ProcessInfosChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessInfosChanged(This,token) ) 

#define ICoreWebView2Environment11_GetProcessInfos(This,value)	\
    ( (This)->lpVtbl -> GetProcessInfos(This,value) ) 


#define ICoreWebView2Environment11_CreateContextMenuItem(This,label,iconStream,kind,item)	\
    ( (This)->lpVtbl -> CreateContextMenuItem(This,label,iconStream,kind,item) ) 


#define ICoreWebView2Environment11_CreateCoreWebView2ControllerOptions(This,options)	\
    ( (This)->lpVtbl -> CreateCoreWebView2ControllerOptions(This,options) ) 

#define ICoreWebView2Environment11_CreateCoreWebView2ControllerWithOptions(This,parentWindow,options,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2ControllerWithOptions(This,parentWindow,options,handler) ) 

#define ICoreWebView2Environment11_CreateCoreWebView2CompositionControllerWithOptions(This,parentWindow,options,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2CompositionControllerWithOptions(This,parentWindow,options,handler) ) 


#define ICoreWebView2Environment11_get_FailureReportFolderPath(This,value)	\
    ( (This)->lpVtbl -> get_FailureReportFolderPath(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Environment11_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2Environment12_INTERFACE_DEFINED__
#define __ICoreWebView2Environment12_INTERFACE_DEFINED__

/* interface ICoreWebView2Environment12 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Environment12 = {0xF503DB9B,0x739F,0x48DD,{0xB1,0x51,0xFD,0xFC,0xF2,0x53,0xF5,0x4E}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F503DB9B-739F-48DD-B151-FDFCF253F54E")
    ICoreWebView2Environment12 : public ICoreWebView2Environment11
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE CreateSharedBuffer( 
            /* [in] */ UINT64 size,
            /* [retval][out] */ ICoreWebView2SharedBuffer **shared_buffer) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Environment12Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Environment12 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Environment12 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Environment12 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateCoreWebView2Controller)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )( 
            ICoreWebView2Environment12 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateWebResourceResponse)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )( 
            ICoreWebView2Environment12 * This,
            /* [in] */ IStream *content,
            /* [in] */ int statusCode,
            /* [in] */ LPCWSTR reasonPhrase,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, get_BrowserVersionString)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )( 
            ICoreWebView2Environment12 * This,
            /* [retval][out] */ LPWSTR *versionInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, add_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment12 * This,
            /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, remove_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment2, CreateWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )( 
            ICoreWebView2Environment12 * This,
            /* [in] */ LPCWSTR uri,
            /* [in] */ LPCWSTR method,
            /* [in] */ IStream *postData,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2CompositionController)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )( 
            ICoreWebView2Environment12 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2PointerInfo)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )( 
            ICoreWebView2Environment12 * This,
            /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment4, GetAutomationProviderForWindow)
        HRESULT ( STDMETHODCALLTYPE *GetAutomationProviderForWindow )( 
            ICoreWebView2Environment12 * This,
            /* [in] */ HWND hwnd,
            /* [retval][out] */ IUnknown **provider);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, add_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *add_BrowserProcessExited )( 
            ICoreWebView2Environment12 * This,
            /* [in] */ ICoreWebView2BrowserProcessExitedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, remove_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *remove_BrowserProcessExited )( 
            ICoreWebView2Environment12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment6, CreatePrintSettings)
        HRESULT ( STDMETHODCALLTYPE *CreatePrintSettings )( 
            ICoreWebView2Environment12 * This,
            /* [retval][out] */ ICoreWebView2PrintSettings **printSettings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment7, get_UserDataFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserDataFolder )( 
            ICoreWebView2Environment12 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, add_ProcessInfosChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessInfosChanged )( 
            ICoreWebView2Environment12 * This,
            /* [in] */ ICoreWebView2ProcessInfosChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, remove_ProcessInfosChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessInfosChanged )( 
            ICoreWebView2Environment12 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, GetProcessInfos)
        HRESULT ( STDMETHODCALLTYPE *GetProcessInfos )( 
            ICoreWebView2Environment12 * This,
            /* [retval][out] */ ICoreWebView2ProcessInfoCollection **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment9, CreateContextMenuItem)
        HRESULT ( STDMETHODCALLTYPE *CreateContextMenuItem )( 
            ICoreWebView2Environment12 * This,
            /* [in] */ LPCWSTR label,
            /* [in] */ IStream *iconStream,
            /* [in] */ COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND kind,
            /* [retval][out] */ ICoreWebView2ContextMenuItem **item);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment10, CreateCoreWebView2ControllerOptions)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2ControllerOptions )( 
            ICoreWebView2Environment12 * This,
            /* [retval][out] */ ICoreWebView2ControllerOptions **options);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment10, CreateCoreWebView2ControllerWithOptions)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2ControllerWithOptions )( 
            ICoreWebView2Environment12 * This,
            /* [in] */ HWND parentWindow,
            /* [in] */ ICoreWebView2ControllerOptions *options,
            /* [in] */ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment10, CreateCoreWebView2CompositionControllerWithOptions)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionControllerWithOptions )( 
            ICoreWebView2Environment12 * This,
            /* [in] */ HWND parentWindow,
            /* [in] */ ICoreWebView2ControllerOptions *options,
            /* [in] */ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment11, get_FailureReportFolderPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FailureReportFolderPath )( 
            ICoreWebView2Environment12 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment12, CreateSharedBuffer)
        HRESULT ( STDMETHODCALLTYPE *CreateSharedBuffer )( 
            ICoreWebView2Environment12 * This,
            /* [in] */ UINT64 size,
            /* [retval][out] */ ICoreWebView2SharedBuffer **shared_buffer);
        
        END_INTERFACE
    } ICoreWebView2Environment12Vtbl;

    interface ICoreWebView2Environment12
    {
        CONST_VTBL struct ICoreWebView2Environment12Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Environment12_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Environment12_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Environment12_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Environment12_CreateCoreWebView2Controller(This,parentWindow,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2Controller(This,parentWindow,handler) ) 

#define ICoreWebView2Environment12_CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response)	\
    ( (This)->lpVtbl -> CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) ) 

#define ICoreWebView2Environment12_get_BrowserVersionString(This,versionInfo)	\
    ( (This)->lpVtbl -> get_BrowserVersionString(This,versionInfo) ) 

#define ICoreWebView2Environment12_add_NewBrowserVersionAvailable(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewBrowserVersionAvailable(This,eventHandler,token) ) 

#define ICoreWebView2Environment12_remove_NewBrowserVersionAvailable(This,token)	\
    ( (This)->lpVtbl -> remove_NewBrowserVersionAvailable(This,token) ) 


#define ICoreWebView2Environment12_CreateWebResourceRequest(This,uri,method,postData,headers,request)	\
    ( (This)->lpVtbl -> CreateWebResourceRequest(This,uri,method,postData,headers,request) ) 


#define ICoreWebView2Environment12_CreateCoreWebView2CompositionController(This,parentWindow,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2CompositionController(This,parentWindow,handler) ) 

#define ICoreWebView2Environment12_CreateCoreWebView2PointerInfo(This,pointerInfo)	\
    ( (This)->lpVtbl -> CreateCoreWebView2PointerInfo(This,pointerInfo) ) 


#define ICoreWebView2Environment12_GetAutomationProviderForWindow(This,hwnd,provider)	\
    ( (This)->lpVtbl -> GetAutomationProviderForWindow(This,hwnd,provider) ) 


#define ICoreWebView2Environment12_add_BrowserProcessExited(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BrowserProcessExited(This,eventHandler,token) ) 

#define ICoreWebView2Environment12_remove_BrowserProcessExited(This,token)	\
    ( (This)->lpVtbl -> remove_BrowserProcessExited(This,token) ) 


#define ICoreWebView2Environment12_CreatePrintSettings(This,printSettings)	\
    ( (This)->lpVtbl -> CreatePrintSettings(This,printSettings) ) 


#define ICoreWebView2Environment12_get_UserDataFolder(This,value)	\
    ( (This)->lpVtbl -> get_UserDataFolder(This,value) ) 


#define ICoreWebView2Environment12_add_ProcessInfosChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessInfosChanged(This,eventHandler,token) ) 

#define ICoreWebView2Environment12_remove_ProcessInfosChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessInfosChanged(This,token) ) 

#define ICoreWebView2Environment12_GetProcessInfos(This,value)	\
    ( (This)->lpVtbl -> GetProcessInfos(This,value) ) 


#define ICoreWebView2Environment12_CreateContextMenuItem(This,label,iconStream,kind,item)	\
    ( (This)->lpVtbl -> CreateContextMenuItem(This,label,iconStream,kind,item) ) 


#define ICoreWebView2Environment12_CreateCoreWebView2ControllerOptions(This,options)	\
    ( (This)->lpVtbl -> CreateCoreWebView2ControllerOptions(This,options) ) 

#define ICoreWebView2Environment12_CreateCoreWebView2ControllerWithOptions(This,parentWindow,options,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2ControllerWithOptions(This,parentWindow,options,handler) ) 

#define ICoreWebView2Environment12_CreateCoreWebView2CompositionControllerWithOptions(This,parentWindow,options,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2CompositionControllerWithOptions(This,parentWindow,options,handler) ) 


#define ICoreWebView2Environment12_get_FailureReportFolderPath(This,value)	\
    ( (This)->lpVtbl -> get_FailureReportFolderPath(This,value) ) 


#define ICoreWebView2Environment12_CreateSharedBuffer(This,size,shared_buffer)	\
    ( (This)->lpVtbl -> CreateSharedBuffer(This,size,shared_buffer) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Environment12_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2Environment13_INTERFACE_DEFINED__
#define __ICoreWebView2Environment13_INTERFACE_DEFINED__

/* interface ICoreWebView2Environment13 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Environment13 = {0xaf641f58,0x72b2,0x11ee,{0xb9,0x62,0x02,0x42,0xac,0x12,0x00,0x02}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("af641f58-72b2-11ee-b962-0242ac120002")
    ICoreWebView2Environment13 : public ICoreWebView2Environment12
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetProcessExtendedInfos( 
            /* [in] */ ICoreWebView2GetProcessExtendedInfosCompletedHandler *handler) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Environment13Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Environment13 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Environment13 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Environment13 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateCoreWebView2Controller)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2Controller )( 
            ICoreWebView2Environment13 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, CreateWebResourceResponse)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceResponse )( 
            ICoreWebView2Environment13 * This,
            /* [in] */ IStream *content,
            /* [in] */ int statusCode,
            /* [in] */ LPCWSTR reasonPhrase,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, get_BrowserVersionString)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_BrowserVersionString )( 
            ICoreWebView2Environment13 * This,
            /* [retval][out] */ LPWSTR *versionInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, add_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *add_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment13 * This,
            /* [in] */ ICoreWebView2NewBrowserVersionAvailableEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment, remove_NewBrowserVersionAvailable)
        HRESULT ( STDMETHODCALLTYPE *remove_NewBrowserVersionAvailable )( 
            ICoreWebView2Environment13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment2, CreateWebResourceRequest)
        HRESULT ( STDMETHODCALLTYPE *CreateWebResourceRequest )( 
            ICoreWebView2Environment13 * This,
            /* [in] */ LPCWSTR uri,
            /* [in] */ LPCWSTR method,
            /* [in] */ IStream *postData,
            /* [in] */ LPCWSTR headers,
            /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2CompositionController)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionController )( 
            ICoreWebView2Environment13 * This,
            HWND parentWindow,
            ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment3, CreateCoreWebView2PointerInfo)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2PointerInfo )( 
            ICoreWebView2Environment13 * This,
            /* [retval][out] */ ICoreWebView2PointerInfo **pointerInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment4, GetAutomationProviderForWindow)
        HRESULT ( STDMETHODCALLTYPE *GetAutomationProviderForWindow )( 
            ICoreWebView2Environment13 * This,
            /* [in] */ HWND hwnd,
            /* [retval][out] */ IUnknown **provider);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, add_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *add_BrowserProcessExited )( 
            ICoreWebView2Environment13 * This,
            /* [in] */ ICoreWebView2BrowserProcessExitedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment5, remove_BrowserProcessExited)
        HRESULT ( STDMETHODCALLTYPE *remove_BrowserProcessExited )( 
            ICoreWebView2Environment13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment6, CreatePrintSettings)
        HRESULT ( STDMETHODCALLTYPE *CreatePrintSettings )( 
            ICoreWebView2Environment13 * This,
            /* [retval][out] */ ICoreWebView2PrintSettings **printSettings);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment7, get_UserDataFolder)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserDataFolder )( 
            ICoreWebView2Environment13 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, add_ProcessInfosChanged)
        HRESULT ( STDMETHODCALLTYPE *add_ProcessInfosChanged )( 
            ICoreWebView2Environment13 * This,
            /* [in] */ ICoreWebView2ProcessInfosChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, remove_ProcessInfosChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_ProcessInfosChanged )( 
            ICoreWebView2Environment13 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment8, GetProcessInfos)
        HRESULT ( STDMETHODCALLTYPE *GetProcessInfos )( 
            ICoreWebView2Environment13 * This,
            /* [retval][out] */ ICoreWebView2ProcessInfoCollection **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment9, CreateContextMenuItem)
        HRESULT ( STDMETHODCALLTYPE *CreateContextMenuItem )( 
            ICoreWebView2Environment13 * This,
            /* [in] */ LPCWSTR label,
            /* [in] */ IStream *iconStream,
            /* [in] */ COREWEBVIEW2_CONTEXT_MENU_ITEM_KIND kind,
            /* [retval][out] */ ICoreWebView2ContextMenuItem **item);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment10, CreateCoreWebView2ControllerOptions)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2ControllerOptions )( 
            ICoreWebView2Environment13 * This,
            /* [retval][out] */ ICoreWebView2ControllerOptions **options);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment10, CreateCoreWebView2ControllerWithOptions)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2ControllerWithOptions )( 
            ICoreWebView2Environment13 * This,
            /* [in] */ HWND parentWindow,
            /* [in] */ ICoreWebView2ControllerOptions *options,
            /* [in] */ ICoreWebView2CreateCoreWebView2ControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment10, CreateCoreWebView2CompositionControllerWithOptions)
        HRESULT ( STDMETHODCALLTYPE *CreateCoreWebView2CompositionControllerWithOptions )( 
            ICoreWebView2Environment13 * This,
            /* [in] */ HWND parentWindow,
            /* [in] */ ICoreWebView2ControllerOptions *options,
            /* [in] */ ICoreWebView2CreateCoreWebView2CompositionControllerCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment11, get_FailureReportFolderPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FailureReportFolderPath )( 
            ICoreWebView2Environment13 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment12, CreateSharedBuffer)
        HRESULT ( STDMETHODCALLTYPE *CreateSharedBuffer )( 
            ICoreWebView2Environment13 * This,
            /* [in] */ UINT64 size,
            /* [retval][out] */ ICoreWebView2SharedBuffer **shared_buffer);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Environment13, GetProcessExtendedInfos)
        HRESULT ( STDMETHODCALLTYPE *GetProcessExtendedInfos )( 
            ICoreWebView2Environment13 * This,
            /* [in] */ ICoreWebView2GetProcessExtendedInfosCompletedHandler *handler);
        
        END_INTERFACE
    } ICoreWebView2Environment13Vtbl;

    interface ICoreWebView2Environment13
    {
        CONST_VTBL struct ICoreWebView2Environment13Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Environment13_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Environment13_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Environment13_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Environment13_CreateCoreWebView2Controller(This,parentWindow,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2Controller(This,parentWindow,handler) ) 

#define ICoreWebView2Environment13_CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response)	\
    ( (This)->lpVtbl -> CreateWebResourceResponse(This,content,statusCode,reasonPhrase,headers,response) ) 

#define ICoreWebView2Environment13_get_BrowserVersionString(This,versionInfo)	\
    ( (This)->lpVtbl -> get_BrowserVersionString(This,versionInfo) ) 

#define ICoreWebView2Environment13_add_NewBrowserVersionAvailable(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NewBrowserVersionAvailable(This,eventHandler,token) ) 

#define ICoreWebView2Environment13_remove_NewBrowserVersionAvailable(This,token)	\
    ( (This)->lpVtbl -> remove_NewBrowserVersionAvailable(This,token) ) 


#define ICoreWebView2Environment13_CreateWebResourceRequest(This,uri,method,postData,headers,request)	\
    ( (This)->lpVtbl -> CreateWebResourceRequest(This,uri,method,postData,headers,request) ) 


#define ICoreWebView2Environment13_CreateCoreWebView2CompositionController(This,parentWindow,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2CompositionController(This,parentWindow,handler) ) 

#define ICoreWebView2Environment13_CreateCoreWebView2PointerInfo(This,pointerInfo)	\
    ( (This)->lpVtbl -> CreateCoreWebView2PointerInfo(This,pointerInfo) ) 


#define ICoreWebView2Environment13_GetAutomationProviderForWindow(This,hwnd,provider)	\
    ( (This)->lpVtbl -> GetAutomationProviderForWindow(This,hwnd,provider) ) 


#define ICoreWebView2Environment13_add_BrowserProcessExited(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_BrowserProcessExited(This,eventHandler,token) ) 

#define ICoreWebView2Environment13_remove_BrowserProcessExited(This,token)	\
    ( (This)->lpVtbl -> remove_BrowserProcessExited(This,token) ) 


#define ICoreWebView2Environment13_CreatePrintSettings(This,printSettings)	\
    ( (This)->lpVtbl -> CreatePrintSettings(This,printSettings) ) 


#define ICoreWebView2Environment13_get_UserDataFolder(This,value)	\
    ( (This)->lpVtbl -> get_UserDataFolder(This,value) ) 


#define ICoreWebView2Environment13_add_ProcessInfosChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ProcessInfosChanged(This,eventHandler,token) ) 

#define ICoreWebView2Environment13_remove_ProcessInfosChanged(This,token)	\
    ( (This)->lpVtbl -> remove_ProcessInfosChanged(This,token) ) 

#define ICoreWebView2Environment13_GetProcessInfos(This,value)	\
    ( (This)->lpVtbl -> GetProcessInfos(This,value) ) 


#define ICoreWebView2Environment13_CreateContextMenuItem(This,label,iconStream,kind,item)	\
    ( (This)->lpVtbl -> CreateContextMenuItem(This,label,iconStream,kind,item) ) 


#define ICoreWebView2Environment13_CreateCoreWebView2ControllerOptions(This,options)	\
    ( (This)->lpVtbl -> CreateCoreWebView2ControllerOptions(This,options) ) 

#define ICoreWebView2Environment13_CreateCoreWebView2ControllerWithOptions(This,parentWindow,options,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2ControllerWithOptions(This,parentWindow,options,handler) ) 

#define ICoreWebView2Environment13_CreateCoreWebView2CompositionControllerWithOptions(This,parentWindow,options,handler)	\
    ( (This)->lpVtbl -> CreateCoreWebView2CompositionControllerWithOptions(This,parentWindow,options,handler) ) 


#define ICoreWebView2Environment13_get_FailureReportFolderPath(This,value)	\
    ( (This)->lpVtbl -> get_FailureReportFolderPath(This,value) ) 


#define ICoreWebView2Environment13_CreateSharedBuffer(This,size,shared_buffer)	\
    ( (This)->lpVtbl -> CreateSharedBuffer(This,size,shared_buffer) ) 


#define ICoreWebView2Environment13_GetProcessExtendedInfos(This,handler)	\
    ( (This)->lpVtbl -> GetProcessExtendedInfos(This,handler) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Environment13_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2EnvironmentOptions * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2EnvironmentOptions * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2EnvironmentOptions * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions, get_AdditionalBrowserArguments)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdditionalBrowserArguments )( 
            ICoreWebView2EnvironmentOptions * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions, put_AdditionalBrowserArguments)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AdditionalBrowserArguments )( 
            ICoreWebView2EnvironmentOptions * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions, get_Language)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Language )( 
            ICoreWebView2EnvironmentOptions * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions, put_Language)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Language )( 
            ICoreWebView2EnvironmentOptions * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions, get_TargetCompatibleBrowserVersion)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TargetCompatibleBrowserVersion )( 
            ICoreWebView2EnvironmentOptions * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions, put_TargetCompatibleBrowserVersion)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TargetCompatibleBrowserVersion )( 
            ICoreWebView2EnvironmentOptions * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions, get_AllowSingleSignOnUsingOSPrimaryAccount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowSingleSignOnUsingOSPrimaryAccount )( 
            ICoreWebView2EnvironmentOptions * This,
            /* [retval][out] */ BOOL *allow);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions, put_AllowSingleSignOnUsingOSPrimaryAccount)
        /* [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 __ICoreWebView2EnvironmentOptions2_INTERFACE_DEFINED__
#define __ICoreWebView2EnvironmentOptions2_INTERFACE_DEFINED__

/* interface ICoreWebView2EnvironmentOptions2 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2EnvironmentOptions2 = {0xFF85C98A,0x1BA7,0x4A6B,{0x90,0xC8,0x2B,0x75,0x2C,0x89,0xE9,0xE2}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FF85C98A-1BA7-4A6B-90C8-2B752C89E9E2")
    ICoreWebView2EnvironmentOptions2 : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ExclusiveUserDataFolderAccess( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ExclusiveUserDataFolderAccess( 
            /* [in] */ BOOL value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2EnvironmentOptions2Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2EnvironmentOptions2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2EnvironmentOptions2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2EnvironmentOptions2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions2, get_ExclusiveUserDataFolderAccess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExclusiveUserDataFolderAccess )( 
            ICoreWebView2EnvironmentOptions2 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions2, put_ExclusiveUserDataFolderAccess)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExclusiveUserDataFolderAccess )( 
            ICoreWebView2EnvironmentOptions2 * This,
            /* [in] */ BOOL value);
        
        END_INTERFACE
    } ICoreWebView2EnvironmentOptions2Vtbl;

    interface ICoreWebView2EnvironmentOptions2
    {
        CONST_VTBL struct ICoreWebView2EnvironmentOptions2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2EnvironmentOptions2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2EnvironmentOptions2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2EnvironmentOptions2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2EnvironmentOptions2_get_ExclusiveUserDataFolderAccess(This,value)	\
    ( (This)->lpVtbl -> get_ExclusiveUserDataFolderAccess(This,value) ) 

#define ICoreWebView2EnvironmentOptions2_put_ExclusiveUserDataFolderAccess(This,value)	\
    ( (This)->lpVtbl -> put_ExclusiveUserDataFolderAccess(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2EnvironmentOptions2_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2EnvironmentOptions3_INTERFACE_DEFINED__
#define __ICoreWebView2EnvironmentOptions3_INTERFACE_DEFINED__

/* interface ICoreWebView2EnvironmentOptions3 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2EnvironmentOptions3 = {0x4A5C436E,0xA9E3,0x4A2E,{0x89,0xC3,0x91,0x0D,0x35,0x13,0xF5,0xCC}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4A5C436E-A9E3-4A2E-89C3-910D3513F5CC")
    ICoreWebView2EnvironmentOptions3 : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsCustomCrashReportingEnabled( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsCustomCrashReportingEnabled( 
            /* [in] */ BOOL value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2EnvironmentOptions3Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2EnvironmentOptions3 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2EnvironmentOptions3 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2EnvironmentOptions3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions3, get_IsCustomCrashReportingEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsCustomCrashReportingEnabled )( 
            ICoreWebView2EnvironmentOptions3 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions3, put_IsCustomCrashReportingEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsCustomCrashReportingEnabled )( 
            ICoreWebView2EnvironmentOptions3 * This,
            /* [in] */ BOOL value);
        
        END_INTERFACE
    } ICoreWebView2EnvironmentOptions3Vtbl;

    interface ICoreWebView2EnvironmentOptions3
    {
        CONST_VTBL struct ICoreWebView2EnvironmentOptions3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2EnvironmentOptions3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2EnvironmentOptions3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2EnvironmentOptions3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2EnvironmentOptions3_get_IsCustomCrashReportingEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsCustomCrashReportingEnabled(This,value) ) 

#define ICoreWebView2EnvironmentOptions3_put_IsCustomCrashReportingEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsCustomCrashReportingEnabled(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2EnvironmentOptions3_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2EnvironmentOptions4_INTERFACE_DEFINED__
#define __ICoreWebView2EnvironmentOptions4_INTERFACE_DEFINED__

/* interface ICoreWebView2EnvironmentOptions4 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2EnvironmentOptions4 = {0xac52d13f,0x0d38,0x475a,{0x9d,0xca,0x87,0x65,0x80,0xd6,0x79,0x3e}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ac52d13f-0d38-475a-9dca-876580d6793e")
    ICoreWebView2EnvironmentOptions4 : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetCustomSchemeRegistrations( 
            /* [out] */ UINT32 *count,
            /* [out] */ ICoreWebView2CustomSchemeRegistration ***schemeRegistrations) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCustomSchemeRegistrations( 
            /* [in] */ UINT32 count,
            /* [in] */ ICoreWebView2CustomSchemeRegistration **schemeRegistrations) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2EnvironmentOptions4Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2EnvironmentOptions4 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2EnvironmentOptions4 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2EnvironmentOptions4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions4, GetCustomSchemeRegistrations)
        HRESULT ( STDMETHODCALLTYPE *GetCustomSchemeRegistrations )( 
            ICoreWebView2EnvironmentOptions4 * This,
            /* [out] */ UINT32 *count,
            /* [out] */ ICoreWebView2CustomSchemeRegistration ***schemeRegistrations);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions4, SetCustomSchemeRegistrations)
        HRESULT ( STDMETHODCALLTYPE *SetCustomSchemeRegistrations )( 
            ICoreWebView2EnvironmentOptions4 * This,
            /* [in] */ UINT32 count,
            /* [in] */ ICoreWebView2CustomSchemeRegistration **schemeRegistrations);
        
        END_INTERFACE
    } ICoreWebView2EnvironmentOptions4Vtbl;

    interface ICoreWebView2EnvironmentOptions4
    {
        CONST_VTBL struct ICoreWebView2EnvironmentOptions4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2EnvironmentOptions4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2EnvironmentOptions4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2EnvironmentOptions4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2EnvironmentOptions4_GetCustomSchemeRegistrations(This,count,schemeRegistrations)	\
    ( (This)->lpVtbl -> GetCustomSchemeRegistrations(This,count,schemeRegistrations) ) 

#define ICoreWebView2EnvironmentOptions4_SetCustomSchemeRegistrations(This,count,schemeRegistrations)	\
    ( (This)->lpVtbl -> SetCustomSchemeRegistrations(This,count,schemeRegistrations) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2EnvironmentOptions4_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2EnvironmentOptions5_INTERFACE_DEFINED__
#define __ICoreWebView2EnvironmentOptions5_INTERFACE_DEFINED__

/* interface ICoreWebView2EnvironmentOptions5 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2EnvironmentOptions5 = {0x0AE35D64,0xC47F,0x4464,{0x81,0x4E,0x25,0x9C,0x34,0x5D,0x15,0x01}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0AE35D64-C47F-4464-814E-259C345D1501")
    ICoreWebView2EnvironmentOptions5 : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_EnableTrackingPrevention( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_EnableTrackingPrevention( 
            /* [in] */ BOOL value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2EnvironmentOptions5Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2EnvironmentOptions5 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2EnvironmentOptions5 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2EnvironmentOptions5 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions5, get_EnableTrackingPrevention)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableTrackingPrevention )( 
            ICoreWebView2EnvironmentOptions5 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions5, put_EnableTrackingPrevention)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableTrackingPrevention )( 
            ICoreWebView2EnvironmentOptions5 * This,
            /* [in] */ BOOL value);
        
        END_INTERFACE
    } ICoreWebView2EnvironmentOptions5Vtbl;

    interface ICoreWebView2EnvironmentOptions5
    {
        CONST_VTBL struct ICoreWebView2EnvironmentOptions5Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2EnvironmentOptions5_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2EnvironmentOptions5_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2EnvironmentOptions5_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2EnvironmentOptions5_get_EnableTrackingPrevention(This,value)	\
    ( (This)->lpVtbl -> get_EnableTrackingPrevention(This,value) ) 

#define ICoreWebView2EnvironmentOptions5_put_EnableTrackingPrevention(This,value)	\
    ( (This)->lpVtbl -> put_EnableTrackingPrevention(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2EnvironmentOptions5_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2EnvironmentOptions6_INTERFACE_DEFINED__
#define __ICoreWebView2EnvironmentOptions6_INTERFACE_DEFINED__

/* interface ICoreWebView2EnvironmentOptions6 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2EnvironmentOptions6 = {0x57D29CC3,0xC84F,0x42A0,{0xB0,0xE2,0xEF,0xFB,0xD5,0xE1,0x79,0xDE}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("57D29CC3-C84F-42A0-B0E2-EFFBD5E179DE")
    ICoreWebView2EnvironmentOptions6 : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AreBrowserExtensionsEnabled( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_AreBrowserExtensionsEnabled( 
            /* [in] */ BOOL value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2EnvironmentOptions6Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2EnvironmentOptions6 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2EnvironmentOptions6 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2EnvironmentOptions6 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions6, get_AreBrowserExtensionsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreBrowserExtensionsEnabled )( 
            ICoreWebView2EnvironmentOptions6 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions6, put_AreBrowserExtensionsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreBrowserExtensionsEnabled )( 
            ICoreWebView2EnvironmentOptions6 * This,
            /* [in] */ BOOL value);
        
        END_INTERFACE
    } ICoreWebView2EnvironmentOptions6Vtbl;

    interface ICoreWebView2EnvironmentOptions6
    {
        CONST_VTBL struct ICoreWebView2EnvironmentOptions6Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2EnvironmentOptions6_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2EnvironmentOptions6_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2EnvironmentOptions6_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2EnvironmentOptions6_get_AreBrowserExtensionsEnabled(This,value)	\
    ( (This)->lpVtbl -> get_AreBrowserExtensionsEnabled(This,value) ) 

#define ICoreWebView2EnvironmentOptions6_put_AreBrowserExtensionsEnabled(This,value)	\
    ( (This)->lpVtbl -> put_AreBrowserExtensionsEnabled(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2EnvironmentOptions6_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2EnvironmentOptions7_INTERFACE_DEFINED__
#define __ICoreWebView2EnvironmentOptions7_INTERFACE_DEFINED__

/* interface ICoreWebView2EnvironmentOptions7 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2EnvironmentOptions7 = {0xc48d539f,0xe39f,0x441c,{0xae,0x68,0x1f,0x66,0xe5,0x70,0xbd,0xc5}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("c48d539f-e39f-441c-ae68-1f66e570bdc5")
    ICoreWebView2EnvironmentOptions7 : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ChannelSearchKind( 
            /* [retval][out] */ COREWEBVIEW2_CHANNEL_SEARCH_KIND *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ChannelSearchKind( 
            /* [in] */ COREWEBVIEW2_CHANNEL_SEARCH_KIND value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ReleaseChannels( 
            /* [retval][out] */ COREWEBVIEW2_RELEASE_CHANNELS *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ReleaseChannels( 
            /* [in] */ COREWEBVIEW2_RELEASE_CHANNELS value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2EnvironmentOptions7Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2EnvironmentOptions7 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2EnvironmentOptions7 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2EnvironmentOptions7 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions7, get_ChannelSearchKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChannelSearchKind )( 
            ICoreWebView2EnvironmentOptions7 * This,
            /* [retval][out] */ COREWEBVIEW2_CHANNEL_SEARCH_KIND *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions7, put_ChannelSearchKind)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ChannelSearchKind )( 
            ICoreWebView2EnvironmentOptions7 * This,
            /* [in] */ COREWEBVIEW2_CHANNEL_SEARCH_KIND value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions7, get_ReleaseChannels)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReleaseChannels )( 
            ICoreWebView2EnvironmentOptions7 * This,
            /* [retval][out] */ COREWEBVIEW2_RELEASE_CHANNELS *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentOptions7, put_ReleaseChannels)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ReleaseChannels )( 
            ICoreWebView2EnvironmentOptions7 * This,
            /* [in] */ COREWEBVIEW2_RELEASE_CHANNELS value);
        
        END_INTERFACE
    } ICoreWebView2EnvironmentOptions7Vtbl;

    interface ICoreWebView2EnvironmentOptions7
    {
        CONST_VTBL struct ICoreWebView2EnvironmentOptions7Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2EnvironmentOptions7_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2EnvironmentOptions7_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2EnvironmentOptions7_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2EnvironmentOptions7_get_ChannelSearchKind(This,value)	\
    ( (This)->lpVtbl -> get_ChannelSearchKind(This,value) ) 

#define ICoreWebView2EnvironmentOptions7_put_ChannelSearchKind(This,value)	\
    ( (This)->lpVtbl -> put_ChannelSearchKind(This,value) ) 

#define ICoreWebView2EnvironmentOptions7_get_ReleaseChannels(This,value)	\
    ( (This)->lpVtbl -> get_ReleaseChannels(This,value) ) 

#define ICoreWebView2EnvironmentOptions7_put_ReleaseChannels(This,value)	\
    ( (This)->lpVtbl -> put_ReleaseChannels(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2EnvironmentOptions7_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2EstimatedEndTimeChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2EstimatedEndTimeChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2EstimatedEndTimeChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2EstimatedEndTimeChangedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ExecuteScriptCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ExecuteScriptCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ExecuteScriptCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ExecuteScriptCompletedHandler, Invoke)
        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 __ICoreWebView2GetProcessExtendedInfosCompletedHandler_INTERFACE_DEFINED__
#define __ICoreWebView2GetProcessExtendedInfosCompletedHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2GetProcessExtendedInfosCompletedHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2GetProcessExtendedInfosCompletedHandler = {0xf45e55aa,0x3bc2,0x11ee,{0xbe,0x56,0x02,0x42,0xac,0x12,0x00,0x02}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f45e55aa-3bc2-11ee-be56-0242ac120002")
    ICoreWebView2GetProcessExtendedInfosCompletedHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ HRESULT errorCode,
            /* [in] */ ICoreWebView2ProcessExtendedInfoCollection *value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2GetProcessExtendedInfosCompletedHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2GetProcessExtendedInfosCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2GetProcessExtendedInfosCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2GetProcessExtendedInfosCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2GetProcessExtendedInfosCompletedHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2GetProcessExtendedInfosCompletedHandler * This,
            /* [in] */ HRESULT errorCode,
            /* [in] */ ICoreWebView2ProcessExtendedInfoCollection *value);
        
        END_INTERFACE
    } ICoreWebView2GetProcessExtendedInfosCompletedHandlerVtbl;

    interface ICoreWebView2GetProcessExtendedInfosCompletedHandler
    {
        CONST_VTBL struct ICoreWebView2GetProcessExtendedInfosCompletedHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2GetProcessExtendedInfosCompletedHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2GetProcessExtendedInfosCompletedHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2GetProcessExtendedInfosCompletedHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2GetProcessExtendedInfosCompletedHandler_Invoke(This,errorCode,value)	\
    ( (This)->lpVtbl -> Invoke(This,errorCode,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2GetProcessExtendedInfosCompletedHandler_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ProcessExtendedInfo_INTERFACE_DEFINED__
#define __ICoreWebView2ProcessExtendedInfo_INTERFACE_DEFINED__

/* interface ICoreWebView2ProcessExtendedInfo */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ProcessExtendedInfo = {0xaf4c4c2e,0x45db,0x11ee,{0xbe,0x56,0x02,0x42,0xac,0x12,0x00,0x02}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("af4c4c2e-45db-11ee-be56-0242ac120002")
    ICoreWebView2ProcessExtendedInfo : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProcessInfo( 
            /* [retval][out] */ ICoreWebView2ProcessInfo **processInfo) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AssociatedFrameInfos( 
            /* [retval][out] */ ICoreWebView2FrameInfoCollection **frames) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ProcessExtendedInfoVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ProcessExtendedInfo * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ProcessExtendedInfo * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ProcessExtendedInfo * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessExtendedInfo, get_ProcessInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProcessInfo )( 
            ICoreWebView2ProcessExtendedInfo * This,
            /* [retval][out] */ ICoreWebView2ProcessInfo **processInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessExtendedInfo, get_AssociatedFrameInfos)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AssociatedFrameInfos )( 
            ICoreWebView2ProcessExtendedInfo * This,
            /* [retval][out] */ ICoreWebView2FrameInfoCollection **frames);
        
        END_INTERFACE
    } ICoreWebView2ProcessExtendedInfoVtbl;

    interface ICoreWebView2ProcessExtendedInfo
    {
        CONST_VTBL struct ICoreWebView2ProcessExtendedInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ProcessExtendedInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ProcessExtendedInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ProcessExtendedInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ProcessExtendedInfo_get_ProcessInfo(This,processInfo)	\
    ( (This)->lpVtbl -> get_ProcessInfo(This,processInfo) ) 

#define ICoreWebView2ProcessExtendedInfo_get_AssociatedFrameInfos(This,frames)	\
    ( (This)->lpVtbl -> get_AssociatedFrameInfos(This,frames) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ProcessExtendedInfo_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ProcessExtendedInfoCollection_INTERFACE_DEFINED__
#define __ICoreWebView2ProcessExtendedInfoCollection_INTERFACE_DEFINED__

/* interface ICoreWebView2ProcessExtendedInfoCollection */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ProcessExtendedInfoCollection = {0x32efa696,0x407a,0x11ee,{0xbe,0x56,0x02,0x42,0xac,0x12,0x00,0x02}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("32efa696-407a-11ee-be56-0242ac120002")
    ICoreWebView2ProcessExtendedInfoCollection : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ UINT *count) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetValueAtIndex( 
            /* [in] */ UINT32 index,
            /* [retval][out] */ ICoreWebView2ProcessExtendedInfo **processInfo) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ProcessExtendedInfoCollectionVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ProcessExtendedInfoCollection * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ProcessExtendedInfoCollection * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ProcessExtendedInfoCollection * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessExtendedInfoCollection, get_Count)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICoreWebView2ProcessExtendedInfoCollection * This,
            /* [retval][out] */ UINT *count);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessExtendedInfoCollection, GetValueAtIndex)
        HRESULT ( STDMETHODCALLTYPE *GetValueAtIndex )( 
            ICoreWebView2ProcessExtendedInfoCollection * This,
            /* [in] */ UINT32 index,
            /* [retval][out] */ ICoreWebView2ProcessExtendedInfo **processInfo);
        
        END_INTERFACE
    } ICoreWebView2ProcessExtendedInfoCollectionVtbl;

    interface ICoreWebView2ProcessExtendedInfoCollection
    {
        CONST_VTBL struct ICoreWebView2ProcessExtendedInfoCollectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ProcessExtendedInfoCollection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ProcessExtendedInfoCollection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ProcessExtendedInfoCollection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ProcessExtendedInfoCollection_get_Count(This,count)	\
    ( (This)->lpVtbl -> get_Count(This,count) ) 

#define ICoreWebView2ProcessExtendedInfoCollection_GetValueAtIndex(This,index,processInfo)	\
    ( (This)->lpVtbl -> GetValueAtIndex(This,index,processInfo) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ProcessExtendedInfoCollection_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Frame * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Frame * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Frame * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICoreWebView2Frame * This,
            /* [retval][out] */ LPWSTR *name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, add_NameChanged)
        HRESULT ( STDMETHODCALLTYPE *add_NameChanged )( 
            ICoreWebView2Frame * This,
            /* [in] */ ICoreWebView2FrameNameChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, remove_NameChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_NameChanged )( 
            ICoreWebView2Frame * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, AddHostObjectToScriptWithOrigins)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScriptWithOrigins )( 
            ICoreWebView2Frame * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object,
            /* [in] */ UINT32 originsCount,
            /* [size_is][in] */ LPCWSTR *origins);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2Frame * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, add_Destroyed)
        HRESULT ( STDMETHODCALLTYPE *add_Destroyed )( 
            ICoreWebView2Frame * This,
            /* [in] */ ICoreWebView2FrameDestroyedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, remove_Destroyed)
        HRESULT ( STDMETHODCALLTYPE *remove_Destroyed )( 
            ICoreWebView2Frame * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, IsDestroyed)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Frame2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Frame2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICoreWebView2Frame2 * This,
            /* [retval][out] */ LPWSTR *name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, add_NameChanged)
        HRESULT ( STDMETHODCALLTYPE *add_NameChanged )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ ICoreWebView2FrameNameChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, remove_NameChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_NameChanged )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, AddHostObjectToScriptWithOrigins)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScriptWithOrigins )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object,
            /* [in] */ UINT32 originsCount,
            /* [size_is][in] */ LPCWSTR *origins);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, add_Destroyed)
        HRESULT ( STDMETHODCALLTYPE *add_Destroyed )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ ICoreWebView2FrameDestroyedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, remove_Destroyed)
        HRESULT ( STDMETHODCALLTYPE *remove_Destroyed )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, IsDestroyed)
        HRESULT ( STDMETHODCALLTYPE *IsDestroyed )( 
            ICoreWebView2Frame2 * This,
            /* [retval][out] */ BOOL *destroyed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ ICoreWebView2FrameNavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ ICoreWebView2FrameContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ ICoreWebView2FrameNavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ ICoreWebView2FrameDOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2Frame2 * This,
            /* [in] */ ICoreWebView2FrameWebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_WebMessageReceived)
        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 __ICoreWebView2Frame3_INTERFACE_DEFINED__
#define __ICoreWebView2Frame3_INTERFACE_DEFINED__

/* interface ICoreWebView2Frame3 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Frame3 = {0xb50d82cc,0xcc28,0x481d,{0x96,0x14,0xcb,0x04,0x88,0x95,0xe6,0xa0}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b50d82cc-cc28-481d-9614-cb048895e6a0")
    ICoreWebView2Frame3 : public ICoreWebView2Frame2
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE add_PermissionRequested( 
            /* [in] */ ICoreWebView2FramePermissionRequestedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE remove_PermissionRequested( 
            /* [in] */ EventRegistrationToken token) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Frame3Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Frame3 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Frame3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICoreWebView2Frame3 * This,
            /* [retval][out] */ LPWSTR *name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, add_NameChanged)
        HRESULT ( STDMETHODCALLTYPE *add_NameChanged )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ ICoreWebView2FrameNameChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, remove_NameChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_NameChanged )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, AddHostObjectToScriptWithOrigins)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScriptWithOrigins )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object,
            /* [in] */ UINT32 originsCount,
            /* [size_is][in] */ LPCWSTR *origins);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, add_Destroyed)
        HRESULT ( STDMETHODCALLTYPE *add_Destroyed )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ ICoreWebView2FrameDestroyedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, remove_Destroyed)
        HRESULT ( STDMETHODCALLTYPE *remove_Destroyed )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, IsDestroyed)
        HRESULT ( STDMETHODCALLTYPE *IsDestroyed )( 
            ICoreWebView2Frame3 * This,
            /* [retval][out] */ BOOL *destroyed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ ICoreWebView2FrameNavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ ICoreWebView2FrameContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ ICoreWebView2FrameNavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ ICoreWebView2FrameDOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ ICoreWebView2FrameWebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame3, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ ICoreWebView2FramePermissionRequestedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame3, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2Frame3 * This,
            /* [in] */ EventRegistrationToken token);
        
        END_INTERFACE
    } ICoreWebView2Frame3Vtbl;

    interface ICoreWebView2Frame3
    {
        CONST_VTBL struct ICoreWebView2Frame3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Frame3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Frame3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Frame3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Frame3_get_Name(This,name)	\
    ( (This)->lpVtbl -> get_Name(This,name) ) 

#define ICoreWebView2Frame3_add_NameChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NameChanged(This,eventHandler,token) ) 

#define ICoreWebView2Frame3_remove_NameChanged(This,token)	\
    ( (This)->lpVtbl -> remove_NameChanged(This,token) ) 

#define ICoreWebView2Frame3_AddHostObjectToScriptWithOrigins(This,name,object,originsCount,origins)	\
    ( (This)->lpVtbl -> AddHostObjectToScriptWithOrigins(This,name,object,originsCount,origins) ) 

#define ICoreWebView2Frame3_RemoveHostObjectFromScript(This,name)	\
    ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) ) 

#define ICoreWebView2Frame3_add_Destroyed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_Destroyed(This,eventHandler,token) ) 

#define ICoreWebView2Frame3_remove_Destroyed(This,token)	\
    ( (This)->lpVtbl -> remove_Destroyed(This,token) ) 

#define ICoreWebView2Frame3_IsDestroyed(This,destroyed)	\
    ( (This)->lpVtbl -> IsDestroyed(This,destroyed) ) 


#define ICoreWebView2Frame3_add_NavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2Frame3_remove_NavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationStarting(This,token) ) 

#define ICoreWebView2Frame3_add_ContentLoading(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) ) 

#define ICoreWebView2Frame3_remove_ContentLoading(This,token)	\
    ( (This)->lpVtbl -> remove_ContentLoading(This,token) ) 

#define ICoreWebView2Frame3_add_NavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2Frame3_remove_NavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) ) 

#define ICoreWebView2Frame3_add_DOMContentLoaded(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) ) 

#define ICoreWebView2Frame3_remove_DOMContentLoaded(This,token)	\
    ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) ) 

#define ICoreWebView2Frame3_ExecuteScript(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) ) 

#define ICoreWebView2Frame3_PostWebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2Frame3_PostWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) ) 

#define ICoreWebView2Frame3_add_WebMessageReceived(This,handler,token)	\
    ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) ) 

#define ICoreWebView2Frame3_remove_WebMessageReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) ) 


#define ICoreWebView2Frame3_add_PermissionRequested(This,handler,token)	\
    ( (This)->lpVtbl -> add_PermissionRequested(This,handler,token) ) 

#define ICoreWebView2Frame3_remove_PermissionRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PermissionRequested(This,token) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Frame3_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2Frame4_INTERFACE_DEFINED__
#define __ICoreWebView2Frame4_INTERFACE_DEFINED__

/* interface ICoreWebView2Frame4 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Frame4 = {0x188782DC,0x92AA,0x4732,{0xAB,0x3C,0xFC,0xC5,0x9F,0x6F,0x68,0xB9}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("188782DC-92AA-4732-AB3C-FCC59F6F68B9")
    ICoreWebView2Frame4 : public ICoreWebView2Frame3
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE PostSharedBufferToScript( 
            /* [in] */ ICoreWebView2SharedBuffer *sharedBuffer,
            /* [in] */ COREWEBVIEW2_SHARED_BUFFER_ACCESS access,
            /* [in] */ LPCWSTR additionalDataAsJson) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Frame4Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Frame4 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Frame4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICoreWebView2Frame4 * This,
            /* [retval][out] */ LPWSTR *name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, add_NameChanged)
        HRESULT ( STDMETHODCALLTYPE *add_NameChanged )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ ICoreWebView2FrameNameChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, remove_NameChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_NameChanged )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, AddHostObjectToScriptWithOrigins)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScriptWithOrigins )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object,
            /* [in] */ UINT32 originsCount,
            /* [size_is][in] */ LPCWSTR *origins);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, add_Destroyed)
        HRESULT ( STDMETHODCALLTYPE *add_Destroyed )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ ICoreWebView2FrameDestroyedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, remove_Destroyed)
        HRESULT ( STDMETHODCALLTYPE *remove_Destroyed )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, IsDestroyed)
        HRESULT ( STDMETHODCALLTYPE *IsDestroyed )( 
            ICoreWebView2Frame4 * This,
            /* [retval][out] */ BOOL *destroyed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ ICoreWebView2FrameNavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ ICoreWebView2FrameContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ ICoreWebView2FrameNavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ ICoreWebView2FrameDOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ ICoreWebView2FrameWebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame3, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ ICoreWebView2FramePermissionRequestedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame3, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame4, PostSharedBufferToScript)
        HRESULT ( STDMETHODCALLTYPE *PostSharedBufferToScript )( 
            ICoreWebView2Frame4 * This,
            /* [in] */ ICoreWebView2SharedBuffer *sharedBuffer,
            /* [in] */ COREWEBVIEW2_SHARED_BUFFER_ACCESS access,
            /* [in] */ LPCWSTR additionalDataAsJson);
        
        END_INTERFACE
    } ICoreWebView2Frame4Vtbl;

    interface ICoreWebView2Frame4
    {
        CONST_VTBL struct ICoreWebView2Frame4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Frame4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Frame4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Frame4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Frame4_get_Name(This,name)	\
    ( (This)->lpVtbl -> get_Name(This,name) ) 

#define ICoreWebView2Frame4_add_NameChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NameChanged(This,eventHandler,token) ) 

#define ICoreWebView2Frame4_remove_NameChanged(This,token)	\
    ( (This)->lpVtbl -> remove_NameChanged(This,token) ) 

#define ICoreWebView2Frame4_AddHostObjectToScriptWithOrigins(This,name,object,originsCount,origins)	\
    ( (This)->lpVtbl -> AddHostObjectToScriptWithOrigins(This,name,object,originsCount,origins) ) 

#define ICoreWebView2Frame4_RemoveHostObjectFromScript(This,name)	\
    ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) ) 

#define ICoreWebView2Frame4_add_Destroyed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_Destroyed(This,eventHandler,token) ) 

#define ICoreWebView2Frame4_remove_Destroyed(This,token)	\
    ( (This)->lpVtbl -> remove_Destroyed(This,token) ) 

#define ICoreWebView2Frame4_IsDestroyed(This,destroyed)	\
    ( (This)->lpVtbl -> IsDestroyed(This,destroyed) ) 


#define ICoreWebView2Frame4_add_NavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2Frame4_remove_NavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationStarting(This,token) ) 

#define ICoreWebView2Frame4_add_ContentLoading(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) ) 

#define ICoreWebView2Frame4_remove_ContentLoading(This,token)	\
    ( (This)->lpVtbl -> remove_ContentLoading(This,token) ) 

#define ICoreWebView2Frame4_add_NavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2Frame4_remove_NavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) ) 

#define ICoreWebView2Frame4_add_DOMContentLoaded(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) ) 

#define ICoreWebView2Frame4_remove_DOMContentLoaded(This,token)	\
    ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) ) 

#define ICoreWebView2Frame4_ExecuteScript(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) ) 

#define ICoreWebView2Frame4_PostWebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2Frame4_PostWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) ) 

#define ICoreWebView2Frame4_add_WebMessageReceived(This,handler,token)	\
    ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) ) 

#define ICoreWebView2Frame4_remove_WebMessageReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) ) 


#define ICoreWebView2Frame4_add_PermissionRequested(This,handler,token)	\
    ( (This)->lpVtbl -> add_PermissionRequested(This,handler,token) ) 

#define ICoreWebView2Frame4_remove_PermissionRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PermissionRequested(This,token) ) 


#define ICoreWebView2Frame4_PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson)	\
    ( (This)->lpVtbl -> PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Frame4_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2Frame5_INTERFACE_DEFINED__
#define __ICoreWebView2Frame5_INTERFACE_DEFINED__

/* interface ICoreWebView2Frame5 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Frame5 = {0x99d199c4,0x7305,0x11ee,{0xb9,0x62,0x02,0x42,0xac,0x12,0x00,0x02}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("99d199c4-7305-11ee-b962-0242ac120002")
    ICoreWebView2Frame5 : public ICoreWebView2Frame4
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameId( 
            /* [retval][out] */ UINT32 *id) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Frame5Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Frame5 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Frame5 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICoreWebView2Frame5 * This,
            /* [retval][out] */ LPWSTR *name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, add_NameChanged)
        HRESULT ( STDMETHODCALLTYPE *add_NameChanged )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ ICoreWebView2FrameNameChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, remove_NameChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_NameChanged )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, AddHostObjectToScriptWithOrigins)
        HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScriptWithOrigins )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ VARIANT *object,
            /* [in] */ UINT32 originsCount,
            /* [size_is][in] */ LPCWSTR *origins);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, RemoveHostObjectFromScript)
        HRESULT ( STDMETHODCALLTYPE *RemoveHostObjectFromScript )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, add_Destroyed)
        HRESULT ( STDMETHODCALLTYPE *add_Destroyed )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ ICoreWebView2FrameDestroyedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, remove_Destroyed)
        HRESULT ( STDMETHODCALLTYPE *remove_Destroyed )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame, IsDestroyed)
        HRESULT ( STDMETHODCALLTYPE *IsDestroyed )( 
            ICoreWebView2Frame5 * This,
            /* [retval][out] */ BOOL *destroyed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationStarting )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ ICoreWebView2FrameNavigationStartingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_NavigationStarting)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationStarting )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *add_ContentLoading )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ ICoreWebView2FrameContentLoadingEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_ContentLoading)
        HRESULT ( STDMETHODCALLTYPE *remove_ContentLoading )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *add_NavigationCompleted )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ ICoreWebView2FrameNavigationCompletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_NavigationCompleted)
        HRESULT ( STDMETHODCALLTYPE *remove_NavigationCompleted )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *add_DOMContentLoaded )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ ICoreWebView2FrameDOMContentLoadedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_DOMContentLoaded)
        HRESULT ( STDMETHODCALLTYPE *remove_DOMContentLoaded )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, ExecuteScript)
        HRESULT ( STDMETHODCALLTYPE *ExecuteScript )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ LPCWSTR javaScript,
            /* [in] */ ICoreWebView2ExecuteScriptCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, PostWebMessageAsJson)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsJson )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ LPCWSTR webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, PostWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *PostWebMessageAsString )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ LPCWSTR webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, add_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *add_WebMessageReceived )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ ICoreWebView2FrameWebMessageReceivedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame2, remove_WebMessageReceived)
        HRESULT ( STDMETHODCALLTYPE *remove_WebMessageReceived )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame3, add_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *add_PermissionRequested )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ ICoreWebView2FramePermissionRequestedEventHandler *handler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame3, remove_PermissionRequested)
        HRESULT ( STDMETHODCALLTYPE *remove_PermissionRequested )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame4, PostSharedBufferToScript)
        HRESULT ( STDMETHODCALLTYPE *PostSharedBufferToScript )( 
            ICoreWebView2Frame5 * This,
            /* [in] */ ICoreWebView2SharedBuffer *sharedBuffer,
            /* [in] */ COREWEBVIEW2_SHARED_BUFFER_ACCESS access,
            /* [in] */ LPCWSTR additionalDataAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Frame5, get_FrameId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameId )( 
            ICoreWebView2Frame5 * This,
            /* [retval][out] */ UINT32 *id);
        
        END_INTERFACE
    } ICoreWebView2Frame5Vtbl;

    interface ICoreWebView2Frame5
    {
        CONST_VTBL struct ICoreWebView2Frame5Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Frame5_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Frame5_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Frame5_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Frame5_get_Name(This,name)	\
    ( (This)->lpVtbl -> get_Name(This,name) ) 

#define ICoreWebView2Frame5_add_NameChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NameChanged(This,eventHandler,token) ) 

#define ICoreWebView2Frame5_remove_NameChanged(This,token)	\
    ( (This)->lpVtbl -> remove_NameChanged(This,token) ) 

#define ICoreWebView2Frame5_AddHostObjectToScriptWithOrigins(This,name,object,originsCount,origins)	\
    ( (This)->lpVtbl -> AddHostObjectToScriptWithOrigins(This,name,object,originsCount,origins) ) 

#define ICoreWebView2Frame5_RemoveHostObjectFromScript(This,name)	\
    ( (This)->lpVtbl -> RemoveHostObjectFromScript(This,name) ) 

#define ICoreWebView2Frame5_add_Destroyed(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_Destroyed(This,eventHandler,token) ) 

#define ICoreWebView2Frame5_remove_Destroyed(This,token)	\
    ( (This)->lpVtbl -> remove_Destroyed(This,token) ) 

#define ICoreWebView2Frame5_IsDestroyed(This,destroyed)	\
    ( (This)->lpVtbl -> IsDestroyed(This,destroyed) ) 


#define ICoreWebView2Frame5_add_NavigationStarting(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationStarting(This,eventHandler,token) ) 

#define ICoreWebView2Frame5_remove_NavigationStarting(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationStarting(This,token) ) 

#define ICoreWebView2Frame5_add_ContentLoading(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_ContentLoading(This,eventHandler,token) ) 

#define ICoreWebView2Frame5_remove_ContentLoading(This,token)	\
    ( (This)->lpVtbl -> remove_ContentLoading(This,token) ) 

#define ICoreWebView2Frame5_add_NavigationCompleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NavigationCompleted(This,eventHandler,token) ) 

#define ICoreWebView2Frame5_remove_NavigationCompleted(This,token)	\
    ( (This)->lpVtbl -> remove_NavigationCompleted(This,token) ) 

#define ICoreWebView2Frame5_add_DOMContentLoaded(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_DOMContentLoaded(This,eventHandler,token) ) 

#define ICoreWebView2Frame5_remove_DOMContentLoaded(This,token)	\
    ( (This)->lpVtbl -> remove_DOMContentLoaded(This,token) ) 

#define ICoreWebView2Frame5_ExecuteScript(This,javaScript,handler)	\
    ( (This)->lpVtbl -> ExecuteScript(This,javaScript,handler) ) 

#define ICoreWebView2Frame5_PostWebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> PostWebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2Frame5_PostWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> PostWebMessageAsString(This,webMessageAsString) ) 

#define ICoreWebView2Frame5_add_WebMessageReceived(This,handler,token)	\
    ( (This)->lpVtbl -> add_WebMessageReceived(This,handler,token) ) 

#define ICoreWebView2Frame5_remove_WebMessageReceived(This,token)	\
    ( (This)->lpVtbl -> remove_WebMessageReceived(This,token) ) 


#define ICoreWebView2Frame5_add_PermissionRequested(This,handler,token)	\
    ( (This)->lpVtbl -> add_PermissionRequested(This,handler,token) ) 

#define ICoreWebView2Frame5_remove_PermissionRequested(This,token)	\
    ( (This)->lpVtbl -> remove_PermissionRequested(This,token) ) 


#define ICoreWebView2Frame5_PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson)	\
    ( (This)->lpVtbl -> PostSharedBufferToScript(This,sharedBuffer,access,additionalDataAsJson) ) 


#define ICoreWebView2Frame5_get_FrameId(This,id)	\
    ( (This)->lpVtbl -> get_FrameId(This,id) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Frame5_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FrameContentLoadingEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FrameContentLoadingEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FrameContentLoadingEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameContentLoadingEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FrameCreatedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FrameCreatedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FrameCreatedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameCreatedEventArgs, get_Frame)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FrameCreatedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FrameCreatedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FrameCreatedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameCreatedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FrameDestroyedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FrameDestroyedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FrameDestroyedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameDestroyedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FrameDOMContentLoadedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FrameDOMContentLoadedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FrameDOMContentLoadedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameDOMContentLoadedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FrameNameChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FrameNameChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FrameNameChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameNameChangedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FrameNavigationCompletedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FrameNavigationCompletedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FrameNavigationCompletedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameNavigationCompletedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FrameNavigationStartingEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FrameNavigationStartingEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FrameNavigationStartingEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameNavigationStartingEventHandler, Invoke)
        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 __ICoreWebView2FramePermissionRequestedEventHandler_INTERFACE_DEFINED__
#define __ICoreWebView2FramePermissionRequestedEventHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2FramePermissionRequestedEventHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FramePermissionRequestedEventHandler = {0x845d0edd,0x8bd8,0x429b,{0x99,0x15,0x48,0x21,0x78,0x9f,0x23,0xe9}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("845d0edd-8bd8-429b-9915-4821789f23e9")
    ICoreWebView2FramePermissionRequestedEventHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ ICoreWebView2Frame *sender,
            /* [in] */ ICoreWebView2PermissionRequestedEventArgs2 *args) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2FramePermissionRequestedEventHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FramePermissionRequestedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FramePermissionRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FramePermissionRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FramePermissionRequestedEventHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2FramePermissionRequestedEventHandler * This,
            /* [in] */ ICoreWebView2Frame *sender,
            /* [in] */ ICoreWebView2PermissionRequestedEventArgs2 *args);
        
        END_INTERFACE
    } ICoreWebView2FramePermissionRequestedEventHandlerVtbl;

    interface ICoreWebView2FramePermissionRequestedEventHandler
    {
        CONST_VTBL struct ICoreWebView2FramePermissionRequestedEventHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2FramePermissionRequestedEventHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2FramePermissionRequestedEventHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2FramePermissionRequestedEventHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2FramePermissionRequestedEventHandler_Invoke(This,sender,args)	\
    ( (This)->lpVtbl -> Invoke(This,sender,args) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2FramePermissionRequestedEventHandler_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FrameWebMessageReceivedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FrameWebMessageReceivedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FrameWebMessageReceivedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameWebMessageReceivedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FrameInfo * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FrameInfo * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FrameInfo * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameInfo, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICoreWebView2FrameInfo * This,
            /* [retval][out] */ LPWSTR *name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameInfo, get_Source)
        /* [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 __ICoreWebView2FrameInfo2_INTERFACE_DEFINED__
#define __ICoreWebView2FrameInfo2_INTERFACE_DEFINED__

/* interface ICoreWebView2FrameInfo2 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FrameInfo2 = {0x56f85cfa,0x72c4,0x11ee,{0xb9,0x62,0x02,0x42,0xac,0x12,0x00,0x02}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("56f85cfa-72c4-11ee-b962-0242ac120002")
    ICoreWebView2FrameInfo2 : public ICoreWebView2FrameInfo
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ParentFrameInfo( 
            /* [retval][out] */ ICoreWebView2FrameInfo **frameInfo) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameId( 
            /* [retval][out] */ UINT32 *id) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FrameKind( 
            /* [retval][out] */ COREWEBVIEW2_FRAME_KIND *kind) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2FrameInfo2Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FrameInfo2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FrameInfo2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FrameInfo2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameInfo, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICoreWebView2FrameInfo2 * This,
            /* [retval][out] */ LPWSTR *name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameInfo, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2FrameInfo2 * This,
            /* [retval][out] */ LPWSTR *source);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameInfo2, get_ParentFrameInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentFrameInfo )( 
            ICoreWebView2FrameInfo2 * This,
            /* [retval][out] */ ICoreWebView2FrameInfo **frameInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameInfo2, get_FrameId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameId )( 
            ICoreWebView2FrameInfo2 * This,
            /* [retval][out] */ UINT32 *id);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameInfo2, get_FrameKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameKind )( 
            ICoreWebView2FrameInfo2 * This,
            /* [retval][out] */ COREWEBVIEW2_FRAME_KIND *kind);
        
        END_INTERFACE
    } ICoreWebView2FrameInfo2Vtbl;

    interface ICoreWebView2FrameInfo2
    {
        CONST_VTBL struct ICoreWebView2FrameInfo2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2FrameInfo2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2FrameInfo2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2FrameInfo2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2FrameInfo2_get_Name(This,name)	\
    ( (This)->lpVtbl -> get_Name(This,name) ) 

#define ICoreWebView2FrameInfo2_get_Source(This,source)	\
    ( (This)->lpVtbl -> get_Source(This,source) ) 


#define ICoreWebView2FrameInfo2_get_ParentFrameInfo(This,frameInfo)	\
    ( (This)->lpVtbl -> get_ParentFrameInfo(This,frameInfo) ) 

#define ICoreWebView2FrameInfo2_get_FrameId(This,id)	\
    ( (This)->lpVtbl -> get_FrameId(This,id) ) 

#define ICoreWebView2FrameInfo2_get_FrameKind(This,kind)	\
    ( (This)->lpVtbl -> get_FrameKind(This,kind) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2FrameInfo2_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FrameInfoCollection * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FrameInfoCollection * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FrameInfoCollection * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameInfoCollection, GetIterator)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FrameInfoCollectionIterator * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FrameInfoCollectionIterator * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FrameInfoCollectionIterator * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameInfoCollectionIterator, get_HasCurrent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrent )( 
            ICoreWebView2FrameInfoCollectionIterator * This,
            /* [retval][out] */ BOOL *hasCurrent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameInfoCollectionIterator, GetCurrent)
        HRESULT ( STDMETHODCALLTYPE *GetCurrent )( 
            ICoreWebView2FrameInfoCollectionIterator * This,
            /* [retval][out] */ ICoreWebView2FrameInfo **frameInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FrameInfoCollectionIterator, MoveNext)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FocusChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FocusChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FocusChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FocusChangedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2GetCookiesCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2GetCookiesCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2GetCookiesCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2GetCookiesCompletedHandler, Invoke)
        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 __ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_INTERFACE_DEFINED__
#define __ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler = {0x38274481,0xa15c,0x4563,{0x94,0xcf,0x99,0x0e,0xdc,0x9a,0xeb,0x95}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("38274481-a15c-4563-94cf-990edc9aeb95")
    ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ HRESULT errorCode,
            /* [in] */ ICoreWebView2PermissionSettingCollectionView *collectionView) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler * This,
            /* [in] */ HRESULT errorCode,
            /* [in] */ ICoreWebView2PermissionSettingCollectionView *collectionView);
        
        END_INTERFACE
    } ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandlerVtbl;

    interface ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler
    {
        CONST_VTBL struct ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_Invoke(This,errorCode,collectionView)	\
    ( (This)->lpVtbl -> Invoke(This,errorCode,collectionView) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2HistoryChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2HistoryChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2HistoryChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2HistoryChangedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2HttpHeadersCollectionIterator * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2HttpHeadersCollectionIterator * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2HttpHeadersCollectionIterator * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2HttpHeadersCollectionIterator, GetCurrentHeader)
        HRESULT ( STDMETHODCALLTYPE *GetCurrentHeader )( 
            ICoreWebView2HttpHeadersCollectionIterator * This,
            /* [out] */ LPWSTR *name,
            /* [out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2HttpHeadersCollectionIterator, get_HasCurrentHeader)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasCurrentHeader )( 
            ICoreWebView2HttpHeadersCollectionIterator * This,
            /* [retval][out] */ BOOL *hasCurrent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2HttpHeadersCollectionIterator, MoveNext)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2HttpRequestHeaders * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2HttpRequestHeaders * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2HttpRequestHeaders * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2HttpRequestHeaders, GetHeader)
        HRESULT ( STDMETHODCALLTYPE *GetHeader )( 
            ICoreWebView2HttpRequestHeaders * This,
            /* [in] */ LPCWSTR name,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2HttpRequestHeaders, GetHeaders)
        HRESULT ( STDMETHODCALLTYPE *GetHeaders )( 
            ICoreWebView2HttpRequestHeaders * This,
            /* [in] */ LPCWSTR name,
            /* [retval][out] */ ICoreWebView2HttpHeadersCollectionIterator **iterator);
        
        DECLSPEC_XFGVIRT(ICoreWebView2HttpRequestHeaders, Contains)
        HRESULT ( STDMETHODCALLTYPE *Contains )( 
            ICoreWebView2HttpRequestHeaders * This,
            /* [in] */ LPCWSTR name,
            /* [retval][out] */ BOOL *contains);
        
        DECLSPEC_XFGVIRT(ICoreWebView2HttpRequestHeaders, SetHeader)
        HRESULT ( STDMETHODCALLTYPE *SetHeader )( 
            ICoreWebView2HttpRequestHeaders * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2HttpRequestHeaders, RemoveHeader)
        HRESULT ( STDMETHODCALLTYPE *RemoveHeader )( 
            ICoreWebView2HttpRequestHeaders * This,
            /* [in] */ LPCWSTR name);
        
        DECLSPEC_XFGVIRT(ICoreWebView2HttpRequestHeaders, GetIterator)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2HttpResponseHeaders * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2HttpResponseHeaders * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2HttpResponseHeaders * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2HttpResponseHeaders, AppendHeader)
        HRESULT ( STDMETHODCALLTYPE *AppendHeader )( 
            ICoreWebView2HttpResponseHeaders * This,
            /* [in] */ LPCWSTR name,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2HttpResponseHeaders, Contains)
        HRESULT ( STDMETHODCALLTYPE *Contains )( 
            ICoreWebView2HttpResponseHeaders * This,
            /* [in] */ LPCWSTR name,
            /* [retval][out] */ BOOL *contains);
        
        DECLSPEC_XFGVIRT(ICoreWebView2HttpResponseHeaders, GetHeader)
        HRESULT ( STDMETHODCALLTYPE *GetHeader )( 
            ICoreWebView2HttpResponseHeaders * This,
            /* [in] */ LPCWSTR name,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2HttpResponseHeaders, GetHeaders)
        HRESULT ( STDMETHODCALLTYPE *GetHeaders )( 
            ICoreWebView2HttpResponseHeaders * This,
            /* [in] */ LPCWSTR name,
            /* [retval][out] */ ICoreWebView2HttpHeadersCollectionIterator **iterator);
        
        DECLSPEC_XFGVIRT(ICoreWebView2HttpResponseHeaders, GetIterator)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2IsDefaultDownloadDialogOpenChangedEventHandler, Invoke)
        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 __ICoreWebView2LaunchingExternalUriSchemeEventArgs_INTERFACE_DEFINED__
#define __ICoreWebView2LaunchingExternalUriSchemeEventArgs_INTERFACE_DEFINED__

/* interface ICoreWebView2LaunchingExternalUriSchemeEventArgs */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2LaunchingExternalUriSchemeEventArgs = {0x07D1A6C3,0x7175,0x4BA1,{0x93,0x06,0xE5,0x93,0xCA,0x07,0xE4,0x6C}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("07D1A6C3-7175-4BA1-9306-E593CA07E46C")
    ICoreWebView2LaunchingExternalUriSchemeEventArgs : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Uri( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_InitiatingOrigin( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsUserInitiated( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Cancel( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Cancel( 
            /* [in] */ BOOL value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDeferral( 
            /* [retval][out] */ ICoreWebView2Deferral **value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2LaunchingExternalUriSchemeEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2LaunchingExternalUriSchemeEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2LaunchingExternalUriSchemeEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2LaunchingExternalUriSchemeEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2LaunchingExternalUriSchemeEventArgs, get_Uri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )( 
            ICoreWebView2LaunchingExternalUriSchemeEventArgs * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2LaunchingExternalUriSchemeEventArgs, get_InitiatingOrigin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InitiatingOrigin )( 
            ICoreWebView2LaunchingExternalUriSchemeEventArgs * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2LaunchingExternalUriSchemeEventArgs, get_IsUserInitiated)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUserInitiated )( 
            ICoreWebView2LaunchingExternalUriSchemeEventArgs * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2LaunchingExternalUriSchemeEventArgs, get_Cancel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cancel )( 
            ICoreWebView2LaunchingExternalUriSchemeEventArgs * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2LaunchingExternalUriSchemeEventArgs, put_Cancel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Cancel )( 
            ICoreWebView2LaunchingExternalUriSchemeEventArgs * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2LaunchingExternalUriSchemeEventArgs, GetDeferral)
        HRESULT ( STDMETHODCALLTYPE *GetDeferral )( 
            ICoreWebView2LaunchingExternalUriSchemeEventArgs * This,
            /* [retval][out] */ ICoreWebView2Deferral **value);
        
        END_INTERFACE
    } ICoreWebView2LaunchingExternalUriSchemeEventArgsVtbl;

    interface ICoreWebView2LaunchingExternalUriSchemeEventArgs
    {
        CONST_VTBL struct ICoreWebView2LaunchingExternalUriSchemeEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2LaunchingExternalUriSchemeEventArgs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2LaunchingExternalUriSchemeEventArgs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2LaunchingExternalUriSchemeEventArgs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2LaunchingExternalUriSchemeEventArgs_get_Uri(This,value)	\
    ( (This)->lpVtbl -> get_Uri(This,value) ) 

#define ICoreWebView2LaunchingExternalUriSchemeEventArgs_get_InitiatingOrigin(This,value)	\
    ( (This)->lpVtbl -> get_InitiatingOrigin(This,value) ) 

#define ICoreWebView2LaunchingExternalUriSchemeEventArgs_get_IsUserInitiated(This,value)	\
    ( (This)->lpVtbl -> get_IsUserInitiated(This,value) ) 

#define ICoreWebView2LaunchingExternalUriSchemeEventArgs_get_Cancel(This,value)	\
    ( (This)->lpVtbl -> get_Cancel(This,value) ) 

#define ICoreWebView2LaunchingExternalUriSchemeEventArgs_put_Cancel(This,value)	\
    ( (This)->lpVtbl -> put_Cancel(This,value) ) 

#define ICoreWebView2LaunchingExternalUriSchemeEventArgs_GetDeferral(This,value)	\
    ( (This)->lpVtbl -> GetDeferral(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2LaunchingExternalUriSchemeEventArgs_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2LaunchingExternalUriSchemeEventHandler_INTERFACE_DEFINED__
#define __ICoreWebView2LaunchingExternalUriSchemeEventHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2LaunchingExternalUriSchemeEventHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2LaunchingExternalUriSchemeEventHandler = {0x74F712E0,0x8165,0x43A9,{0xA1,0x3F,0x0C,0xCE,0x59,0x7E,0x75,0xDF}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("74F712E0-8165-43A9-A13F-0CCE597E75DF")
    ICoreWebView2LaunchingExternalUriSchemeEventHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ ICoreWebView2 *sender,
            /* [in] */ ICoreWebView2LaunchingExternalUriSchemeEventArgs *args) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2LaunchingExternalUriSchemeEventHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2LaunchingExternalUriSchemeEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2LaunchingExternalUriSchemeEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2LaunchingExternalUriSchemeEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2LaunchingExternalUriSchemeEventHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2LaunchingExternalUriSchemeEventHandler * This,
            /* [in] */ ICoreWebView2 *sender,
            /* [in] */ ICoreWebView2LaunchingExternalUriSchemeEventArgs *args);
        
        END_INTERFACE
    } ICoreWebView2LaunchingExternalUriSchemeEventHandlerVtbl;

    interface ICoreWebView2LaunchingExternalUriSchemeEventHandler
    {
        CONST_VTBL struct ICoreWebView2LaunchingExternalUriSchemeEventHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2LaunchingExternalUriSchemeEventHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2LaunchingExternalUriSchemeEventHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2LaunchingExternalUriSchemeEventHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2LaunchingExternalUriSchemeEventHandler_Invoke(This,sender,args)	\
    ( (This)->lpVtbl -> Invoke(This,sender,args) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2LaunchingExternalUriSchemeEventHandler_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2MoveFocusRequestedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2MoveFocusRequestedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2MoveFocusRequestedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2MoveFocusRequestedEventArgs, get_Reason)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Reason )( 
            ICoreWebView2MoveFocusRequestedEventArgs * This,
            /* [retval][out] */ COREWEBVIEW2_MOVE_FOCUS_REASON *reason);
        
        DECLSPEC_XFGVIRT(ICoreWebView2MoveFocusRequestedEventArgs, get_Handled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )( 
            ICoreWebView2MoveFocusRequestedEventArgs * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2MoveFocusRequestedEventArgs, put_Handled)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2MoveFocusRequestedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2MoveFocusRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2MoveFocusRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2MoveFocusRequestedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2NavigationCompletedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2NavigationCompletedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2NavigationCompletedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationCompletedEventArgs, get_IsSuccess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuccess )( 
            ICoreWebView2NavigationCompletedEventArgs * This,
            /* [retval][out] */ BOOL *isSuccess);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationCompletedEventArgs, get_WebErrorStatus)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WebErrorStatus )( 
            ICoreWebView2NavigationCompletedEventArgs * This,
            /* [retval][out] */ COREWEBVIEW2_WEB_ERROR_STATUS *webErrorStatus);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationCompletedEventArgs, get_NavigationId)
        /* [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 __ICoreWebView2NavigationCompletedEventArgs2_INTERFACE_DEFINED__
#define __ICoreWebView2NavigationCompletedEventArgs2_INTERFACE_DEFINED__

/* interface ICoreWebView2NavigationCompletedEventArgs2 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2NavigationCompletedEventArgs2 = {0xFDF8B738,0xEE1E,0x4DB2,{0xA3,0x29,0x8D,0x7D,0x7B,0x74,0xD7,0x92}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FDF8B738-EE1E-4DB2-A329-8D7D7B74D792")
    ICoreWebView2NavigationCompletedEventArgs2 : public ICoreWebView2NavigationCompletedEventArgs
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HttpStatusCode( 
            /* [retval][out] */ int *http_status_code) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2NavigationCompletedEventArgs2Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2NavigationCompletedEventArgs2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2NavigationCompletedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2NavigationCompletedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationCompletedEventArgs, get_IsSuccess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSuccess )( 
            ICoreWebView2NavigationCompletedEventArgs2 * This,
            /* [retval][out] */ BOOL *isSuccess);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationCompletedEventArgs, get_WebErrorStatus)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WebErrorStatus )( 
            ICoreWebView2NavigationCompletedEventArgs2 * This,
            /* [retval][out] */ COREWEBVIEW2_WEB_ERROR_STATUS *webErrorStatus);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationCompletedEventArgs, get_NavigationId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NavigationId )( 
            ICoreWebView2NavigationCompletedEventArgs2 * This,
            /* [retval][out] */ UINT64 *navigationId);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationCompletedEventArgs2, get_HttpStatusCode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HttpStatusCode )( 
            ICoreWebView2NavigationCompletedEventArgs2 * This,
            /* [retval][out] */ int *http_status_code);
        
        END_INTERFACE
    } ICoreWebView2NavigationCompletedEventArgs2Vtbl;

    interface ICoreWebView2NavigationCompletedEventArgs2
    {
        CONST_VTBL struct ICoreWebView2NavigationCompletedEventArgs2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2NavigationCompletedEventArgs2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2NavigationCompletedEventArgs2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2NavigationCompletedEventArgs2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2NavigationCompletedEventArgs2_get_IsSuccess(This,isSuccess)	\
    ( (This)->lpVtbl -> get_IsSuccess(This,isSuccess) ) 

#define ICoreWebView2NavigationCompletedEventArgs2_get_WebErrorStatus(This,webErrorStatus)	\
    ( (This)->lpVtbl -> get_WebErrorStatus(This,webErrorStatus) ) 

#define ICoreWebView2NavigationCompletedEventArgs2_get_NavigationId(This,navigationId)	\
    ( (This)->lpVtbl -> get_NavigationId(This,navigationId) ) 


#define ICoreWebView2NavigationCompletedEventArgs2_get_HttpStatusCode(This,http_status_code)	\
    ( (This)->lpVtbl -> get_HttpStatusCode(This,http_status_code) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2NavigationCompletedEventArgs2_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2NavigationCompletedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2NavigationCompletedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2NavigationCompletedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationCompletedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2NavigationStartingEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2NavigationStartingEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2NavigationStartingEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_Uri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )( 
            ICoreWebView2NavigationStartingEventArgs * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_IsUserInitiated)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUserInitiated )( 
            ICoreWebView2NavigationStartingEventArgs * This,
            /* [retval][out] */ BOOL *isUserInitiated);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_IsRedirected)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsRedirected )( 
            ICoreWebView2NavigationStartingEventArgs * This,
            /* [retval][out] */ BOOL *isRedirected);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_RequestHeaders)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestHeaders )( 
            ICoreWebView2NavigationStartingEventArgs * This,
            /* [retval][out] */ ICoreWebView2HttpRequestHeaders **requestHeaders);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_Cancel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cancel )( 
            ICoreWebView2NavigationStartingEventArgs * This,
            /* [retval][out] */ BOOL *cancel);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, put_Cancel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Cancel )( 
            ICoreWebView2NavigationStartingEventArgs * This,
            /* [in] */ BOOL cancel);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_NavigationId)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2NavigationStartingEventArgs2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2NavigationStartingEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2NavigationStartingEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_Uri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )( 
            ICoreWebView2NavigationStartingEventArgs2 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_IsUserInitiated)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUserInitiated )( 
            ICoreWebView2NavigationStartingEventArgs2 * This,
            /* [retval][out] */ BOOL *isUserInitiated);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_IsRedirected)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsRedirected )( 
            ICoreWebView2NavigationStartingEventArgs2 * This,
            /* [retval][out] */ BOOL *isRedirected);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_RequestHeaders)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestHeaders )( 
            ICoreWebView2NavigationStartingEventArgs2 * This,
            /* [retval][out] */ ICoreWebView2HttpRequestHeaders **requestHeaders);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_Cancel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cancel )( 
            ICoreWebView2NavigationStartingEventArgs2 * This,
            /* [retval][out] */ BOOL *cancel);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, put_Cancel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Cancel )( 
            ICoreWebView2NavigationStartingEventArgs2 * This,
            /* [in] */ BOOL cancel);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_NavigationId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NavigationId )( 
            ICoreWebView2NavigationStartingEventArgs2 * This,
            /* [retval][out] */ UINT64 *navigationId);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs2, get_AdditionalAllowedFrameAncestors)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdditionalAllowedFrameAncestors )( 
            ICoreWebView2NavigationStartingEventArgs2 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs2, put_AdditionalAllowedFrameAncestors)
        /* [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 __ICoreWebView2NavigationStartingEventArgs3_INTERFACE_DEFINED__
#define __ICoreWebView2NavigationStartingEventArgs3_INTERFACE_DEFINED__

/* interface ICoreWebView2NavigationStartingEventArgs3 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2NavigationStartingEventArgs3 = {0xDDFFE494,0x4942,0x4BD2,{0xAB,0x73,0x35,0xB8,0xFF,0x40,0xE1,0x9F}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DDFFE494-4942-4BD2-AB73-35B8FF40E19F")
    ICoreWebView2NavigationStartingEventArgs3 : public ICoreWebView2NavigationStartingEventArgs2
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_NavigationKind( 
            /* [retval][out] */ COREWEBVIEW2_NAVIGATION_KIND *navigation_kind) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2NavigationStartingEventArgs3Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2NavigationStartingEventArgs3 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2NavigationStartingEventArgs3 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2NavigationStartingEventArgs3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_Uri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )( 
            ICoreWebView2NavigationStartingEventArgs3 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_IsUserInitiated)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUserInitiated )( 
            ICoreWebView2NavigationStartingEventArgs3 * This,
            /* [retval][out] */ BOOL *isUserInitiated);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_IsRedirected)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsRedirected )( 
            ICoreWebView2NavigationStartingEventArgs3 * This,
            /* [retval][out] */ BOOL *isRedirected);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_RequestHeaders)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestHeaders )( 
            ICoreWebView2NavigationStartingEventArgs3 * This,
            /* [retval][out] */ ICoreWebView2HttpRequestHeaders **requestHeaders);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_Cancel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cancel )( 
            ICoreWebView2NavigationStartingEventArgs3 * This,
            /* [retval][out] */ BOOL *cancel);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, put_Cancel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Cancel )( 
            ICoreWebView2NavigationStartingEventArgs3 * This,
            /* [in] */ BOOL cancel);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs, get_NavigationId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NavigationId )( 
            ICoreWebView2NavigationStartingEventArgs3 * This,
            /* [retval][out] */ UINT64 *navigationId);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs2, get_AdditionalAllowedFrameAncestors)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdditionalAllowedFrameAncestors )( 
            ICoreWebView2NavigationStartingEventArgs3 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs2, put_AdditionalAllowedFrameAncestors)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AdditionalAllowedFrameAncestors )( 
            ICoreWebView2NavigationStartingEventArgs3 * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventArgs3, get_NavigationKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NavigationKind )( 
            ICoreWebView2NavigationStartingEventArgs3 * This,
            /* [retval][out] */ COREWEBVIEW2_NAVIGATION_KIND *navigation_kind);
        
        END_INTERFACE
    } ICoreWebView2NavigationStartingEventArgs3Vtbl;

    interface ICoreWebView2NavigationStartingEventArgs3
    {
        CONST_VTBL struct ICoreWebView2NavigationStartingEventArgs3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2NavigationStartingEventArgs3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2NavigationStartingEventArgs3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2NavigationStartingEventArgs3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2NavigationStartingEventArgs3_get_Uri(This,uri)	\
    ( (This)->lpVtbl -> get_Uri(This,uri) ) 

#define ICoreWebView2NavigationStartingEventArgs3_get_IsUserInitiated(This,isUserInitiated)	\
    ( (This)->lpVtbl -> get_IsUserInitiated(This,isUserInitiated) ) 

#define ICoreWebView2NavigationStartingEventArgs3_get_IsRedirected(This,isRedirected)	\
    ( (This)->lpVtbl -> get_IsRedirected(This,isRedirected) ) 

#define ICoreWebView2NavigationStartingEventArgs3_get_RequestHeaders(This,requestHeaders)	\
    ( (This)->lpVtbl -> get_RequestHeaders(This,requestHeaders) ) 

#define ICoreWebView2NavigationStartingEventArgs3_get_Cancel(This,cancel)	\
    ( (This)->lpVtbl -> get_Cancel(This,cancel) ) 

#define ICoreWebView2NavigationStartingEventArgs3_put_Cancel(This,cancel)	\
    ( (This)->lpVtbl -> put_Cancel(This,cancel) ) 

#define ICoreWebView2NavigationStartingEventArgs3_get_NavigationId(This,navigationId)	\
    ( (This)->lpVtbl -> get_NavigationId(This,navigationId) ) 


#define ICoreWebView2NavigationStartingEventArgs3_get_AdditionalAllowedFrameAncestors(This,value)	\
    ( (This)->lpVtbl -> get_AdditionalAllowedFrameAncestors(This,value) ) 

#define ICoreWebView2NavigationStartingEventArgs3_put_AdditionalAllowedFrameAncestors(This,value)	\
    ( (This)->lpVtbl -> put_AdditionalAllowedFrameAncestors(This,value) ) 


#define ICoreWebView2NavigationStartingEventArgs3_get_NavigationKind(This,navigation_kind)	\
    ( (This)->lpVtbl -> get_NavigationKind(This,navigation_kind) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2NavigationStartingEventArgs3_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2NavigationStartingEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2NavigationStartingEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2NavigationStartingEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NavigationStartingEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2NewBrowserVersionAvailableEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2NewBrowserVersionAvailableEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2NewBrowserVersionAvailableEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewBrowserVersionAvailableEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2NewWindowRequestedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2NewWindowRequestedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2NewWindowRequestedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, get_Uri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )( 
            ICoreWebView2NewWindowRequestedEventArgs * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, put_NewWindow)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NewWindow )( 
            ICoreWebView2NewWindowRequestedEventArgs * This,
            /* [in] */ ICoreWebView2 *newWindow);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, get_NewWindow)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NewWindow )( 
            ICoreWebView2NewWindowRequestedEventArgs * This,
            /* [retval][out] */ ICoreWebView2 **newWindow);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, put_Handled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )( 
            ICoreWebView2NewWindowRequestedEventArgs * This,
            /* [in] */ BOOL handled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, get_Handled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )( 
            ICoreWebView2NewWindowRequestedEventArgs * This,
            /* [retval][out] */ BOOL *handled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, get_IsUserInitiated)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUserInitiated )( 
            ICoreWebView2NewWindowRequestedEventArgs * This,
            /* [retval][out] */ BOOL *isUserInitiated);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, GetDeferral)
        HRESULT ( STDMETHODCALLTYPE *GetDeferral )( 
            ICoreWebView2NewWindowRequestedEventArgs * This,
            /* [retval][out] */ ICoreWebView2Deferral **deferral);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, get_WindowFeatures)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2NewWindowRequestedEventArgs2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2NewWindowRequestedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2NewWindowRequestedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, get_Uri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )( 
            ICoreWebView2NewWindowRequestedEventArgs2 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, put_NewWindow)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NewWindow )( 
            ICoreWebView2NewWindowRequestedEventArgs2 * This,
            /* [in] */ ICoreWebView2 *newWindow);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, get_NewWindow)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NewWindow )( 
            ICoreWebView2NewWindowRequestedEventArgs2 * This,
            /* [retval][out] */ ICoreWebView2 **newWindow);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, put_Handled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )( 
            ICoreWebView2NewWindowRequestedEventArgs2 * This,
            /* [in] */ BOOL handled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, get_Handled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )( 
            ICoreWebView2NewWindowRequestedEventArgs2 * This,
            /* [retval][out] */ BOOL *handled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, get_IsUserInitiated)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUserInitiated )( 
            ICoreWebView2NewWindowRequestedEventArgs2 * This,
            /* [retval][out] */ BOOL *isUserInitiated);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, GetDeferral)
        HRESULT ( STDMETHODCALLTYPE *GetDeferral )( 
            ICoreWebView2NewWindowRequestedEventArgs2 * This,
            /* [retval][out] */ ICoreWebView2Deferral **deferral);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, get_WindowFeatures)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WindowFeatures )( 
            ICoreWebView2NewWindowRequestedEventArgs2 * This,
            /* [retval][out] */ ICoreWebView2WindowFeatures **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs2, get_Name)
        /* [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 __ICoreWebView2NewWindowRequestedEventArgs3_INTERFACE_DEFINED__
#define __ICoreWebView2NewWindowRequestedEventArgs3_INTERFACE_DEFINED__

/* interface ICoreWebView2NewWindowRequestedEventArgs3 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2NewWindowRequestedEventArgs3 = {0x842bed3c,0x6ad6,0x4dd9,{0xb9,0x38,0x28,0xc9,0x66,0x67,0xad,0x66}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("842bed3c-6ad6-4dd9-b938-28c96667ad66")
    ICoreWebView2NewWindowRequestedEventArgs3 : public ICoreWebView2NewWindowRequestedEventArgs2
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_OriginalSourceFrameInfo( 
            /* [retval][out] */ ICoreWebView2FrameInfo **frameInfo) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2NewWindowRequestedEventArgs3Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2NewWindowRequestedEventArgs3 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2NewWindowRequestedEventArgs3 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2NewWindowRequestedEventArgs3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, get_Uri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )( 
            ICoreWebView2NewWindowRequestedEventArgs3 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, put_NewWindow)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_NewWindow )( 
            ICoreWebView2NewWindowRequestedEventArgs3 * This,
            /* [in] */ ICoreWebView2 *newWindow);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, get_NewWindow)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_NewWindow )( 
            ICoreWebView2NewWindowRequestedEventArgs3 * This,
            /* [retval][out] */ ICoreWebView2 **newWindow);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, put_Handled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )( 
            ICoreWebView2NewWindowRequestedEventArgs3 * This,
            /* [in] */ BOOL handled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, get_Handled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )( 
            ICoreWebView2NewWindowRequestedEventArgs3 * This,
            /* [retval][out] */ BOOL *handled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, get_IsUserInitiated)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUserInitiated )( 
            ICoreWebView2NewWindowRequestedEventArgs3 * This,
            /* [retval][out] */ BOOL *isUserInitiated);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, GetDeferral)
        HRESULT ( STDMETHODCALLTYPE *GetDeferral )( 
            ICoreWebView2NewWindowRequestedEventArgs3 * This,
            /* [retval][out] */ ICoreWebView2Deferral **deferral);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs, get_WindowFeatures)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WindowFeatures )( 
            ICoreWebView2NewWindowRequestedEventArgs3 * This,
            /* [retval][out] */ ICoreWebView2WindowFeatures **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs2, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICoreWebView2NewWindowRequestedEventArgs3 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventArgs3, get_OriginalSourceFrameInfo)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_OriginalSourceFrameInfo )( 
            ICoreWebView2NewWindowRequestedEventArgs3 * This,
            /* [retval][out] */ ICoreWebView2FrameInfo **frameInfo);
        
        END_INTERFACE
    } ICoreWebView2NewWindowRequestedEventArgs3Vtbl;

    interface ICoreWebView2NewWindowRequestedEventArgs3
    {
        CONST_VTBL struct ICoreWebView2NewWindowRequestedEventArgs3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2NewWindowRequestedEventArgs3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2NewWindowRequestedEventArgs3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2NewWindowRequestedEventArgs3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2NewWindowRequestedEventArgs3_get_Uri(This,uri)	\
    ( (This)->lpVtbl -> get_Uri(This,uri) ) 

#define ICoreWebView2NewWindowRequestedEventArgs3_put_NewWindow(This,newWindow)	\
    ( (This)->lpVtbl -> put_NewWindow(This,newWindow) ) 

#define ICoreWebView2NewWindowRequestedEventArgs3_get_NewWindow(This,newWindow)	\
    ( (This)->lpVtbl -> get_NewWindow(This,newWindow) ) 

#define ICoreWebView2NewWindowRequestedEventArgs3_put_Handled(This,handled)	\
    ( (This)->lpVtbl -> put_Handled(This,handled) ) 

#define ICoreWebView2NewWindowRequestedEventArgs3_get_Handled(This,handled)	\
    ( (This)->lpVtbl -> get_Handled(This,handled) ) 

#define ICoreWebView2NewWindowRequestedEventArgs3_get_IsUserInitiated(This,isUserInitiated)	\
    ( (This)->lpVtbl -> get_IsUserInitiated(This,isUserInitiated) ) 

#define ICoreWebView2NewWindowRequestedEventArgs3_GetDeferral(This,deferral)	\
    ( (This)->lpVtbl -> GetDeferral(This,deferral) ) 

#define ICoreWebView2NewWindowRequestedEventArgs3_get_WindowFeatures(This,value)	\
    ( (This)->lpVtbl -> get_WindowFeatures(This,value) ) 


#define ICoreWebView2NewWindowRequestedEventArgs3_get_Name(This,value)	\
    ( (This)->lpVtbl -> get_Name(This,value) ) 


#define ICoreWebView2NewWindowRequestedEventArgs3_get_OriginalSourceFrameInfo(This,frameInfo)	\
    ( (This)->lpVtbl -> get_OriginalSourceFrameInfo(This,frameInfo) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2NewWindowRequestedEventArgs3_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2NewWindowRequestedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2NewWindowRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2NewWindowRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NewWindowRequestedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2PermissionRequestedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2PermissionRequestedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2PermissionRequestedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, get_Uri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )( 
            ICoreWebView2PermissionRequestedEventArgs * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, get_PermissionKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PermissionKind )( 
            ICoreWebView2PermissionRequestedEventArgs * This,
            /* [retval][out] */ COREWEBVIEW2_PERMISSION_KIND *permissionKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, get_IsUserInitiated)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUserInitiated )( 
            ICoreWebView2PermissionRequestedEventArgs * This,
            /* [retval][out] */ BOOL *isUserInitiated);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            ICoreWebView2PermissionRequestedEventArgs * This,
            /* [retval][out] */ COREWEBVIEW2_PERMISSION_STATE *state);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, put_State)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_State )( 
            ICoreWebView2PermissionRequestedEventArgs * This,
            /* [in] */ COREWEBVIEW2_PERMISSION_STATE state);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, GetDeferral)
        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 __ICoreWebView2PermissionRequestedEventArgs2_INTERFACE_DEFINED__
#define __ICoreWebView2PermissionRequestedEventArgs2_INTERFACE_DEFINED__

/* interface ICoreWebView2PermissionRequestedEventArgs2 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2PermissionRequestedEventArgs2 = {0x74d7127f,0x9de6,0x4200,{0x87,0x34,0x42,0xd6,0xfb,0x4f,0xf7,0x41}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("74d7127f-9de6-4200-8734-42d6fb4ff741")
    ICoreWebView2PermissionRequestedEventArgs2 : public ICoreWebView2PermissionRequestedEventArgs
    {
    public:
        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 ICoreWebView2PermissionRequestedEventArgs2Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2PermissionRequestedEventArgs2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2PermissionRequestedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2PermissionRequestedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, get_Uri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )( 
            ICoreWebView2PermissionRequestedEventArgs2 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, get_PermissionKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PermissionKind )( 
            ICoreWebView2PermissionRequestedEventArgs2 * This,
            /* [retval][out] */ COREWEBVIEW2_PERMISSION_KIND *permissionKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, get_IsUserInitiated)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUserInitiated )( 
            ICoreWebView2PermissionRequestedEventArgs2 * This,
            /* [retval][out] */ BOOL *isUserInitiated);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            ICoreWebView2PermissionRequestedEventArgs2 * This,
            /* [retval][out] */ COREWEBVIEW2_PERMISSION_STATE *state);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, put_State)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_State )( 
            ICoreWebView2PermissionRequestedEventArgs2 * This,
            /* [in] */ COREWEBVIEW2_PERMISSION_STATE state);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, GetDeferral)
        HRESULT ( STDMETHODCALLTYPE *GetDeferral )( 
            ICoreWebView2PermissionRequestedEventArgs2 * This,
            /* [retval][out] */ ICoreWebView2Deferral **deferral);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs2, get_Handled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )( 
            ICoreWebView2PermissionRequestedEventArgs2 * This,
            /* [retval][out] */ BOOL *handled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs2, put_Handled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )( 
            ICoreWebView2PermissionRequestedEventArgs2 * This,
            /* [in] */ BOOL handled);
        
        END_INTERFACE
    } ICoreWebView2PermissionRequestedEventArgs2Vtbl;

    interface ICoreWebView2PermissionRequestedEventArgs2
    {
        CONST_VTBL struct ICoreWebView2PermissionRequestedEventArgs2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2PermissionRequestedEventArgs2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2PermissionRequestedEventArgs2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2PermissionRequestedEventArgs2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2PermissionRequestedEventArgs2_get_Uri(This,uri)	\
    ( (This)->lpVtbl -> get_Uri(This,uri) ) 

#define ICoreWebView2PermissionRequestedEventArgs2_get_PermissionKind(This,permissionKind)	\
    ( (This)->lpVtbl -> get_PermissionKind(This,permissionKind) ) 

#define ICoreWebView2PermissionRequestedEventArgs2_get_IsUserInitiated(This,isUserInitiated)	\
    ( (This)->lpVtbl -> get_IsUserInitiated(This,isUserInitiated) ) 

#define ICoreWebView2PermissionRequestedEventArgs2_get_State(This,state)	\
    ( (This)->lpVtbl -> get_State(This,state) ) 

#define ICoreWebView2PermissionRequestedEventArgs2_put_State(This,state)	\
    ( (This)->lpVtbl -> put_State(This,state) ) 

#define ICoreWebView2PermissionRequestedEventArgs2_GetDeferral(This,deferral)	\
    ( (This)->lpVtbl -> GetDeferral(This,deferral) ) 


#define ICoreWebView2PermissionRequestedEventArgs2_get_Handled(This,handled)	\
    ( (This)->lpVtbl -> get_Handled(This,handled) ) 

#define ICoreWebView2PermissionRequestedEventArgs2_put_Handled(This,handled)	\
    ( (This)->lpVtbl -> put_Handled(This,handled) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2PermissionRequestedEventArgs2_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2PermissionRequestedEventArgs3_INTERFACE_DEFINED__
#define __ICoreWebView2PermissionRequestedEventArgs3_INTERFACE_DEFINED__

/* interface ICoreWebView2PermissionRequestedEventArgs3 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2PermissionRequestedEventArgs3 = {0xe61670bc,0x3dce,0x4177,{0x86,0xd2,0xc6,0x29,0xae,0x3c,0xb6,0xac}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("e61670bc-3dce-4177-86d2-c629ae3cb6ac")
    ICoreWebView2PermissionRequestedEventArgs3 : public ICoreWebView2PermissionRequestedEventArgs2
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_SavesInProfile( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_SavesInProfile( 
            /* [in] */ BOOL value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2PermissionRequestedEventArgs3Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2PermissionRequestedEventArgs3 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2PermissionRequestedEventArgs3 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2PermissionRequestedEventArgs3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, get_Uri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )( 
            ICoreWebView2PermissionRequestedEventArgs3 * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, get_PermissionKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PermissionKind )( 
            ICoreWebView2PermissionRequestedEventArgs3 * This,
            /* [retval][out] */ COREWEBVIEW2_PERMISSION_KIND *permissionKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, get_IsUserInitiated)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsUserInitiated )( 
            ICoreWebView2PermissionRequestedEventArgs3 * This,
            /* [retval][out] */ BOOL *isUserInitiated);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, get_State)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            ICoreWebView2PermissionRequestedEventArgs3 * This,
            /* [retval][out] */ COREWEBVIEW2_PERMISSION_STATE *state);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, put_State)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_State )( 
            ICoreWebView2PermissionRequestedEventArgs3 * This,
            /* [in] */ COREWEBVIEW2_PERMISSION_STATE state);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs, GetDeferral)
        HRESULT ( STDMETHODCALLTYPE *GetDeferral )( 
            ICoreWebView2PermissionRequestedEventArgs3 * This,
            /* [retval][out] */ ICoreWebView2Deferral **deferral);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs2, get_Handled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handled )( 
            ICoreWebView2PermissionRequestedEventArgs3 * This,
            /* [retval][out] */ BOOL *handled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs2, put_Handled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Handled )( 
            ICoreWebView2PermissionRequestedEventArgs3 * This,
            /* [in] */ BOOL handled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs3, get_SavesInProfile)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SavesInProfile )( 
            ICoreWebView2PermissionRequestedEventArgs3 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventArgs3, put_SavesInProfile)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_SavesInProfile )( 
            ICoreWebView2PermissionRequestedEventArgs3 * This,
            /* [in] */ BOOL value);
        
        END_INTERFACE
    } ICoreWebView2PermissionRequestedEventArgs3Vtbl;

    interface ICoreWebView2PermissionRequestedEventArgs3
    {
        CONST_VTBL struct ICoreWebView2PermissionRequestedEventArgs3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2PermissionRequestedEventArgs3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2PermissionRequestedEventArgs3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2PermissionRequestedEventArgs3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2PermissionRequestedEventArgs3_get_Uri(This,uri)	\
    ( (This)->lpVtbl -> get_Uri(This,uri) ) 

#define ICoreWebView2PermissionRequestedEventArgs3_get_PermissionKind(This,permissionKind)	\
    ( (This)->lpVtbl -> get_PermissionKind(This,permissionKind) ) 

#define ICoreWebView2PermissionRequestedEventArgs3_get_IsUserInitiated(This,isUserInitiated)	\
    ( (This)->lpVtbl -> get_IsUserInitiated(This,isUserInitiated) ) 

#define ICoreWebView2PermissionRequestedEventArgs3_get_State(This,state)	\
    ( (This)->lpVtbl -> get_State(This,state) ) 

#define ICoreWebView2PermissionRequestedEventArgs3_put_State(This,state)	\
    ( (This)->lpVtbl -> put_State(This,state) ) 

#define ICoreWebView2PermissionRequestedEventArgs3_GetDeferral(This,deferral)	\
    ( (This)->lpVtbl -> GetDeferral(This,deferral) ) 


#define ICoreWebView2PermissionRequestedEventArgs3_get_Handled(This,handled)	\
    ( (This)->lpVtbl -> get_Handled(This,handled) ) 

#define ICoreWebView2PermissionRequestedEventArgs3_put_Handled(This,handled)	\
    ( (This)->lpVtbl -> put_Handled(This,handled) ) 


#define ICoreWebView2PermissionRequestedEventArgs3_get_SavesInProfile(This,value)	\
    ( (This)->lpVtbl -> get_SavesInProfile(This,value) ) 

#define ICoreWebView2PermissionRequestedEventArgs3_put_SavesInProfile(This,value)	\
    ( (This)->lpVtbl -> put_SavesInProfile(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2PermissionRequestedEventArgs3_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2PermissionRequestedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2PermissionRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2PermissionRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionRequestedEventHandler, Invoke)
        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 __ICoreWebView2PermissionSettingCollectionView_INTERFACE_DEFINED__
#define __ICoreWebView2PermissionSettingCollectionView_INTERFACE_DEFINED__

/* interface ICoreWebView2PermissionSettingCollectionView */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2PermissionSettingCollectionView = {0xf5596f62,0x3de5,0x47b1,{0x91,0xe8,0xa4,0x10,0x4b,0x59,0x6b,0x96}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f5596f62-3de5-47b1-91e8-a4104b596b96")
    ICoreWebView2PermissionSettingCollectionView : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetValueAtIndex( 
            /* [in] */ UINT32 index,
            /* [retval][out] */ ICoreWebView2PermissionSetting **permissionSetting) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ UINT32 *value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2PermissionSettingCollectionViewVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2PermissionSettingCollectionView * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2PermissionSettingCollectionView * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2PermissionSettingCollectionView * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionSettingCollectionView, GetValueAtIndex)
        HRESULT ( STDMETHODCALLTYPE *GetValueAtIndex )( 
            ICoreWebView2PermissionSettingCollectionView * This,
            /* [in] */ UINT32 index,
            /* [retval][out] */ ICoreWebView2PermissionSetting **permissionSetting);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionSettingCollectionView, get_Count)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICoreWebView2PermissionSettingCollectionView * This,
            /* [retval][out] */ UINT32 *value);
        
        END_INTERFACE
    } ICoreWebView2PermissionSettingCollectionViewVtbl;

    interface ICoreWebView2PermissionSettingCollectionView
    {
        CONST_VTBL struct ICoreWebView2PermissionSettingCollectionViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2PermissionSettingCollectionView_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2PermissionSettingCollectionView_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2PermissionSettingCollectionView_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2PermissionSettingCollectionView_GetValueAtIndex(This,index,permissionSetting)	\
    ( (This)->lpVtbl -> GetValueAtIndex(This,index,permissionSetting) ) 

#define ICoreWebView2PermissionSettingCollectionView_get_Count(This,value)	\
    ( (This)->lpVtbl -> get_Count(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2PermissionSettingCollectionView_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2PermissionSetting_INTERFACE_DEFINED__
#define __ICoreWebView2PermissionSetting_INTERFACE_DEFINED__

/* interface ICoreWebView2PermissionSetting */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2PermissionSetting = {0x792b6eca,0x5576,0x421c,{0x91,0x19,0x74,0xeb,0xb3,0xa4,0xff,0xb3}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("792b6eca-5576-421c-9119-74ebb3a4ffb3")
    ICoreWebView2PermissionSetting : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PermissionKind( 
            /* [retval][out] */ COREWEBVIEW2_PERMISSION_KIND *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PermissionOrigin( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PermissionState( 
            /* [retval][out] */ COREWEBVIEW2_PERMISSION_STATE *value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2PermissionSettingVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2PermissionSetting * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2PermissionSetting * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2PermissionSetting * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionSetting, get_PermissionKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PermissionKind )( 
            ICoreWebView2PermissionSetting * This,
            /* [retval][out] */ COREWEBVIEW2_PERMISSION_KIND *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionSetting, get_PermissionOrigin)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PermissionOrigin )( 
            ICoreWebView2PermissionSetting * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PermissionSetting, get_PermissionState)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PermissionState )( 
            ICoreWebView2PermissionSetting * This,
            /* [retval][out] */ COREWEBVIEW2_PERMISSION_STATE *value);
        
        END_INTERFACE
    } ICoreWebView2PermissionSettingVtbl;

    interface ICoreWebView2PermissionSetting
    {
        CONST_VTBL struct ICoreWebView2PermissionSettingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2PermissionSetting_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2PermissionSetting_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2PermissionSetting_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2PermissionSetting_get_PermissionKind(This,value)	\
    ( (This)->lpVtbl -> get_PermissionKind(This,value) ) 

#define ICoreWebView2PermissionSetting_get_PermissionOrigin(This,value)	\
    ( (This)->lpVtbl -> get_PermissionOrigin(This,value) ) 

#define ICoreWebView2PermissionSetting_get_PermissionState(This,value)	\
    ( (This)->lpVtbl -> get_PermissionState(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2PermissionSetting_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2PointerInfo * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2PointerInfo * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_PointerKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerKind )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ DWORD *pointerKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_PointerKind)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PointerKind )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ DWORD pointerKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_PointerId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerId )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ UINT32 *pointerId);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_PointerId)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PointerId )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ UINT32 pointerId);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_FrameId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameId )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ UINT32 *frameId);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_FrameId)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FrameId )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ UINT32 frameId);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_PointerFlags)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerFlags )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ UINT32 *pointerFlags);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_PointerFlags)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PointerFlags )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ UINT32 pointerFlags);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_PointerDeviceRect)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PointerDeviceRect )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ RECT *pointerDeviceRect);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_PointerDeviceRect)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PointerDeviceRect )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ RECT pointerDeviceRect);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_DisplayRect)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayRect )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ RECT *displayRect);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_DisplayRect)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayRect )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ RECT displayRect);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_PixelLocation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PixelLocation )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ POINT *pixelLocation);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_PixelLocation)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PixelLocation )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ POINT pixelLocation);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_HimetricLocation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HimetricLocation )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ POINT *himetricLocation);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_HimetricLocation)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HimetricLocation )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ POINT himetricLocation);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_PixelLocationRaw)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PixelLocationRaw )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ POINT *pixelLocationRaw);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_PixelLocationRaw)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PixelLocationRaw )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ POINT pixelLocationRaw);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_HimetricLocationRaw)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HimetricLocationRaw )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ POINT *himetricLocationRaw);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_HimetricLocationRaw)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HimetricLocationRaw )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ POINT himetricLocationRaw);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_Time)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Time )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ DWORD *time);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_Time)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Time )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ DWORD time);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_HistoryCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HistoryCount )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ UINT32 *historyCount);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_HistoryCount)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HistoryCount )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ UINT32 historyCount);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_InputData)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_InputData )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ INT32 *inputData);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_InputData)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_InputData )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ INT32 inputData);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_KeyStates)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyStates )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ DWORD *keyStates);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_KeyStates)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeyStates )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ DWORD keyStates);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_PerformanceCount)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PerformanceCount )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ UINT64 *performanceCount);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_PerformanceCount)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PerformanceCount )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ UINT64 performanceCount);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_ButtonChangeKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ButtonChangeKind )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ INT32 *buttonChangeKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_ButtonChangeKind)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ButtonChangeKind )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ INT32 buttonChangeKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_PenFlags)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PenFlags )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ UINT32 *penFLags);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_PenFlags)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PenFlags )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ UINT32 penFLags);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_PenMask)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PenMask )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ UINT32 *penMask);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_PenMask)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PenMask )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ UINT32 penMask);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_PenPressure)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PenPressure )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ UINT32 *penPressure);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_PenPressure)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PenPressure )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ UINT32 penPressure);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_PenRotation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PenRotation )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ UINT32 *penRotation);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_PenRotation)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PenRotation )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ UINT32 penRotation);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_PenTiltX)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PenTiltX )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ INT32 *penTiltX);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_PenTiltX)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PenTiltX )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ INT32 penTiltX);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_PenTiltY)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PenTiltY )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ INT32 *penTiltY);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_PenTiltY)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PenTiltY )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ INT32 penTiltY);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_TouchFlags)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TouchFlags )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ UINT32 *touchFlags);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_TouchFlags)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TouchFlags )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ UINT32 touchFlags);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_TouchMask)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TouchMask )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ UINT32 *touchMask);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_TouchMask)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TouchMask )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ UINT32 touchMask);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_TouchContact)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TouchContact )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ RECT *touchContact);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_TouchContact)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TouchContact )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ RECT touchContact);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_TouchContactRaw)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TouchContactRaw )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ RECT *touchContactRaw);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_TouchContactRaw)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TouchContactRaw )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ RECT touchContactRaw);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_TouchOrientation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TouchOrientation )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ UINT32 *touchOrientation);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_TouchOrientation)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_TouchOrientation )( 
            ICoreWebView2PointerInfo * This,
            /* [in] */ UINT32 touchOrientation);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, get_TouchPressure)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_TouchPressure )( 
            ICoreWebView2PointerInfo * This,
            /* [retval][out] */ UINT32 *touchPressure);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PointerInfo, put_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2PrintSettings * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2PrintSettings * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2PrintSettings * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_Orientation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Orientation )( 
            ICoreWebView2PrintSettings * This,
            /* [retval][out] */ COREWEBVIEW2_PRINT_ORIENTATION *orientation);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_Orientation)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Orientation )( 
            ICoreWebView2PrintSettings * This,
            /* [in] */ COREWEBVIEW2_PRINT_ORIENTATION orientation);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_ScaleFactor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            ICoreWebView2PrintSettings * This,
            /* [retval][out] */ double *scaleFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_ScaleFactor)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            ICoreWebView2PrintSettings * This,
            /* [in] */ double scaleFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_PageWidth)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PageWidth )( 
            ICoreWebView2PrintSettings * This,
            /* [retval][out] */ double *pageWidth);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_PageWidth)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PageWidth )( 
            ICoreWebView2PrintSettings * This,
            /* [in] */ double pageWidth);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_PageHeight)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PageHeight )( 
            ICoreWebView2PrintSettings * This,
            /* [retval][out] */ double *pageHeight);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_PageHeight)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PageHeight )( 
            ICoreWebView2PrintSettings * This,
            /* [in] */ double pageHeight);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_MarginTop)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginTop )( 
            ICoreWebView2PrintSettings * This,
            /* [retval][out] */ double *marginTop);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_MarginTop)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginTop )( 
            ICoreWebView2PrintSettings * This,
            /* [in] */ double marginTop);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_MarginBottom)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginBottom )( 
            ICoreWebView2PrintSettings * This,
            /* [retval][out] */ double *marginBottom);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_MarginBottom)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginBottom )( 
            ICoreWebView2PrintSettings * This,
            /* [in] */ double marginBottom);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_MarginLeft)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginLeft )( 
            ICoreWebView2PrintSettings * This,
            /* [retval][out] */ double *marginLeft);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_MarginLeft)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginLeft )( 
            ICoreWebView2PrintSettings * This,
            /* [in] */ double marginLeft);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_MarginRight)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginRight )( 
            ICoreWebView2PrintSettings * This,
            /* [retval][out] */ double *marginRight);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_MarginRight)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginRight )( 
            ICoreWebView2PrintSettings * This,
            /* [in] */ double marginRight);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_ShouldPrintBackgrounds)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldPrintBackgrounds )( 
            ICoreWebView2PrintSettings * This,
            /* [retval][out] */ BOOL *shouldPrintBackgrounds);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_ShouldPrintBackgrounds)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShouldPrintBackgrounds )( 
            ICoreWebView2PrintSettings * This,
            /* [in] */ BOOL shouldPrintBackgrounds);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_ShouldPrintSelectionOnly)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldPrintSelectionOnly )( 
            ICoreWebView2PrintSettings * This,
            /* [retval][out] */ BOOL *shouldPrintSelectionOnly);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_ShouldPrintSelectionOnly)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShouldPrintSelectionOnly )( 
            ICoreWebView2PrintSettings * This,
            /* [in] */ BOOL shouldPrintSelectionOnly);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_ShouldPrintHeaderAndFooter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldPrintHeaderAndFooter )( 
            ICoreWebView2PrintSettings * This,
            /* [retval][out] */ BOOL *shouldPrintHeaderAndFooter);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_ShouldPrintHeaderAndFooter)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShouldPrintHeaderAndFooter )( 
            ICoreWebView2PrintSettings * This,
            /* [in] */ BOOL shouldPrintHeaderAndFooter);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_HeaderTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HeaderTitle )( 
            ICoreWebView2PrintSettings * This,
            /* [retval][out] */ LPWSTR *headerTitle);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_HeaderTitle)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HeaderTitle )( 
            ICoreWebView2PrintSettings * This,
            /* [in] */ LPCWSTR headerTitle);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_FooterUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FooterUri )( 
            ICoreWebView2PrintSettings * This,
            /* [retval][out] */ LPWSTR *footerUri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_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 __ICoreWebView2PrintSettings2_INTERFACE_DEFINED__
#define __ICoreWebView2PrintSettings2_INTERFACE_DEFINED__

/* interface ICoreWebView2PrintSettings2 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2PrintSettings2 = {0xCA7F0E1F,0x3484,0x41D1,{0x8C,0x1A,0x65,0xCD,0x44,0xA6,0x3F,0x8D}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CA7F0E1F-3484-41D1-8C1A-65CD44A63F8D")
    ICoreWebView2PrintSettings2 : public ICoreWebView2PrintSettings
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PageRanges( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PageRanges( 
            /* [in] */ LPCWSTR value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PagesPerSide( 
            /* [retval][out] */ INT32 *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PagesPerSide( 
            /* [in] */ INT32 value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Copies( 
            /* [retval][out] */ INT32 *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Copies( 
            /* [in] */ INT32 value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Collation( 
            /* [retval][out] */ COREWEBVIEW2_PRINT_COLLATION *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Collation( 
            /* [in] */ COREWEBVIEW2_PRINT_COLLATION value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ColorMode( 
            /* [retval][out] */ COREWEBVIEW2_PRINT_COLOR_MODE *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_ColorMode( 
            /* [in] */ COREWEBVIEW2_PRINT_COLOR_MODE value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Duplex( 
            /* [retval][out] */ COREWEBVIEW2_PRINT_DUPLEX *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Duplex( 
            /* [in] */ COREWEBVIEW2_PRINT_DUPLEX value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_MediaSize( 
            /* [retval][out] */ COREWEBVIEW2_PRINT_MEDIA_SIZE *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_MediaSize( 
            /* [in] */ COREWEBVIEW2_PRINT_MEDIA_SIZE value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PrinterName( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PrinterName( 
            /* [in] */ LPCWSTR value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2PrintSettings2Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2PrintSettings2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2PrintSettings2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_Orientation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Orientation )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ COREWEBVIEW2_PRINT_ORIENTATION *orientation);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_Orientation)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Orientation )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ COREWEBVIEW2_PRINT_ORIENTATION orientation);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_ScaleFactor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ double *scaleFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_ScaleFactor)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ double scaleFactor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_PageWidth)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PageWidth )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ double *pageWidth);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_PageWidth)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PageWidth )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ double pageWidth);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_PageHeight)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PageHeight )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ double *pageHeight);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_PageHeight)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PageHeight )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ double pageHeight);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_MarginTop)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginTop )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ double *marginTop);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_MarginTop)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginTop )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ double marginTop);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_MarginBottom)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginBottom )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ double *marginBottom);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_MarginBottom)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginBottom )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ double marginBottom);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_MarginLeft)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginLeft )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ double *marginLeft);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_MarginLeft)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginLeft )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ double marginLeft);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_MarginRight)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MarginRight )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ double *marginRight);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_MarginRight)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MarginRight )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ double marginRight);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_ShouldPrintBackgrounds)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldPrintBackgrounds )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ BOOL *shouldPrintBackgrounds);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_ShouldPrintBackgrounds)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShouldPrintBackgrounds )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ BOOL shouldPrintBackgrounds);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_ShouldPrintSelectionOnly)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldPrintSelectionOnly )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ BOOL *shouldPrintSelectionOnly);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_ShouldPrintSelectionOnly)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShouldPrintSelectionOnly )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ BOOL shouldPrintSelectionOnly);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_ShouldPrintHeaderAndFooter)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldPrintHeaderAndFooter )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ BOOL *shouldPrintHeaderAndFooter);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_ShouldPrintHeaderAndFooter)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShouldPrintHeaderAndFooter )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ BOOL shouldPrintHeaderAndFooter);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_HeaderTitle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HeaderTitle )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ LPWSTR *headerTitle);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_HeaderTitle)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HeaderTitle )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ LPCWSTR headerTitle);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, get_FooterUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FooterUri )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ LPWSTR *footerUri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings, put_FooterUri)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_FooterUri )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ LPCWSTR footerUri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, get_PageRanges)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PageRanges )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, put_PageRanges)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PageRanges )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, get_PagesPerSide)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PagesPerSide )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ INT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, put_PagesPerSide)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PagesPerSide )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ INT32 value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, get_Copies)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Copies )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ INT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, put_Copies)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Copies )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ INT32 value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, get_Collation)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Collation )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ COREWEBVIEW2_PRINT_COLLATION *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, put_Collation)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Collation )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ COREWEBVIEW2_PRINT_COLLATION value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, get_ColorMode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorMode )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ COREWEBVIEW2_PRINT_COLOR_MODE *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, put_ColorMode)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ColorMode )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ COREWEBVIEW2_PRINT_COLOR_MODE value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, get_Duplex)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Duplex )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ COREWEBVIEW2_PRINT_DUPLEX *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, put_Duplex)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Duplex )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ COREWEBVIEW2_PRINT_DUPLEX value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, get_MediaSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_MediaSize )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ COREWEBVIEW2_PRINT_MEDIA_SIZE *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, put_MediaSize)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_MediaSize )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ COREWEBVIEW2_PRINT_MEDIA_SIZE value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, get_PrinterName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrinterName )( 
            ICoreWebView2PrintSettings2 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintSettings2, put_PrinterName)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrinterName )( 
            ICoreWebView2PrintSettings2 * This,
            /* [in] */ LPCWSTR value);
        
        END_INTERFACE
    } ICoreWebView2PrintSettings2Vtbl;

    interface ICoreWebView2PrintSettings2
    {
        CONST_VTBL struct ICoreWebView2PrintSettings2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2PrintSettings2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2PrintSettings2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2PrintSettings2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2PrintSettings2_get_Orientation(This,orientation)	\
    ( (This)->lpVtbl -> get_Orientation(This,orientation) ) 

#define ICoreWebView2PrintSettings2_put_Orientation(This,orientation)	\
    ( (This)->lpVtbl -> put_Orientation(This,orientation) ) 

#define ICoreWebView2PrintSettings2_get_ScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,scaleFactor) ) 

#define ICoreWebView2PrintSettings2_put_ScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,scaleFactor) ) 

#define ICoreWebView2PrintSettings2_get_PageWidth(This,pageWidth)	\
    ( (This)->lpVtbl -> get_PageWidth(This,pageWidth) ) 

#define ICoreWebView2PrintSettings2_put_PageWidth(This,pageWidth)	\
    ( (This)->lpVtbl -> put_PageWidth(This,pageWidth) ) 

#define ICoreWebView2PrintSettings2_get_PageHeight(This,pageHeight)	\
    ( (This)->lpVtbl -> get_PageHeight(This,pageHeight) ) 

#define ICoreWebView2PrintSettings2_put_PageHeight(This,pageHeight)	\
    ( (This)->lpVtbl -> put_PageHeight(This,pageHeight) ) 

#define ICoreWebView2PrintSettings2_get_MarginTop(This,marginTop)	\
    ( (This)->lpVtbl -> get_MarginTop(This,marginTop) ) 

#define ICoreWebView2PrintSettings2_put_MarginTop(This,marginTop)	\
    ( (This)->lpVtbl -> put_MarginTop(This,marginTop) ) 

#define ICoreWebView2PrintSettings2_get_MarginBottom(This,marginBottom)	\
    ( (This)->lpVtbl -> get_MarginBottom(This,marginBottom) ) 

#define ICoreWebView2PrintSettings2_put_MarginBottom(This,marginBottom)	\
    ( (This)->lpVtbl -> put_MarginBottom(This,marginBottom) ) 

#define ICoreWebView2PrintSettings2_get_MarginLeft(This,marginLeft)	\
    ( (This)->lpVtbl -> get_MarginLeft(This,marginLeft) ) 

#define ICoreWebView2PrintSettings2_put_MarginLeft(This,marginLeft)	\
    ( (This)->lpVtbl -> put_MarginLeft(This,marginLeft) ) 

#define ICoreWebView2PrintSettings2_get_MarginRight(This,marginRight)	\
    ( (This)->lpVtbl -> get_MarginRight(This,marginRight) ) 

#define ICoreWebView2PrintSettings2_put_MarginRight(This,marginRight)	\
    ( (This)->lpVtbl -> put_MarginRight(This,marginRight) ) 

#define ICoreWebView2PrintSettings2_get_ShouldPrintBackgrounds(This,shouldPrintBackgrounds)	\
    ( (This)->lpVtbl -> get_ShouldPrintBackgrounds(This,shouldPrintBackgrounds) ) 

#define ICoreWebView2PrintSettings2_put_ShouldPrintBackgrounds(This,shouldPrintBackgrounds)	\
    ( (This)->lpVtbl -> put_ShouldPrintBackgrounds(This,shouldPrintBackgrounds) ) 

#define ICoreWebView2PrintSettings2_get_ShouldPrintSelectionOnly(This,shouldPrintSelectionOnly)	\
    ( (This)->lpVtbl -> get_ShouldPrintSelectionOnly(This,shouldPrintSelectionOnly) ) 

#define ICoreWebView2PrintSettings2_put_ShouldPrintSelectionOnly(This,shouldPrintSelectionOnly)	\
    ( (This)->lpVtbl -> put_ShouldPrintSelectionOnly(This,shouldPrintSelectionOnly) ) 

#define ICoreWebView2PrintSettings2_get_ShouldPrintHeaderAndFooter(This,shouldPrintHeaderAndFooter)	\
    ( (This)->lpVtbl -> get_ShouldPrintHeaderAndFooter(This,shouldPrintHeaderAndFooter) ) 

#define ICoreWebView2PrintSettings2_put_ShouldPrintHeaderAndFooter(This,shouldPrintHeaderAndFooter)	\
    ( (This)->lpVtbl -> put_ShouldPrintHeaderAndFooter(This,shouldPrintHeaderAndFooter) ) 

#define ICoreWebView2PrintSettings2_get_HeaderTitle(This,headerTitle)	\
    ( (This)->lpVtbl -> get_HeaderTitle(This,headerTitle) ) 

#define ICoreWebView2PrintSettings2_put_HeaderTitle(This,headerTitle)	\
    ( (This)->lpVtbl -> put_HeaderTitle(This,headerTitle) ) 

#define ICoreWebView2PrintSettings2_get_FooterUri(This,footerUri)	\
    ( (This)->lpVtbl -> get_FooterUri(This,footerUri) ) 

#define ICoreWebView2PrintSettings2_put_FooterUri(This,footerUri)	\
    ( (This)->lpVtbl -> put_FooterUri(This,footerUri) ) 


#define ICoreWebView2PrintSettings2_get_PageRanges(This,value)	\
    ( (This)->lpVtbl -> get_PageRanges(This,value) ) 

#define ICoreWebView2PrintSettings2_put_PageRanges(This,value)	\
    ( (This)->lpVtbl -> put_PageRanges(This,value) ) 

#define ICoreWebView2PrintSettings2_get_PagesPerSide(This,value)	\
    ( (This)->lpVtbl -> get_PagesPerSide(This,value) ) 

#define ICoreWebView2PrintSettings2_put_PagesPerSide(This,value)	\
    ( (This)->lpVtbl -> put_PagesPerSide(This,value) ) 

#define ICoreWebView2PrintSettings2_get_Copies(This,value)	\
    ( (This)->lpVtbl -> get_Copies(This,value) ) 

#define ICoreWebView2PrintSettings2_put_Copies(This,value)	\
    ( (This)->lpVtbl -> put_Copies(This,value) ) 

#define ICoreWebView2PrintSettings2_get_Collation(This,value)	\
    ( (This)->lpVtbl -> get_Collation(This,value) ) 

#define ICoreWebView2PrintSettings2_put_Collation(This,value)	\
    ( (This)->lpVtbl -> put_Collation(This,value) ) 

#define ICoreWebView2PrintSettings2_get_ColorMode(This,value)	\
    ( (This)->lpVtbl -> get_ColorMode(This,value) ) 

#define ICoreWebView2PrintSettings2_put_ColorMode(This,value)	\
    ( (This)->lpVtbl -> put_ColorMode(This,value) ) 

#define ICoreWebView2PrintSettings2_get_Duplex(This,value)	\
    ( (This)->lpVtbl -> get_Duplex(This,value) ) 

#define ICoreWebView2PrintSettings2_put_Duplex(This,value)	\
    ( (This)->lpVtbl -> put_Duplex(This,value) ) 

#define ICoreWebView2PrintSettings2_get_MediaSize(This,value)	\
    ( (This)->lpVtbl -> get_MediaSize(This,value) ) 

#define ICoreWebView2PrintSettings2_put_MediaSize(This,value)	\
    ( (This)->lpVtbl -> put_MediaSize(This,value) ) 

#define ICoreWebView2PrintSettings2_get_PrinterName(This,value)	\
    ( (This)->lpVtbl -> get_PrinterName(This,value) ) 

#define ICoreWebView2PrintSettings2_put_PrinterName(This,value)	\
    ( (This)->lpVtbl -> put_PrinterName(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2PrintSettings2_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2PrintToPdfCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2PrintToPdfCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2PrintToPdfCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintToPdfCompletedHandler, Invoke)
        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 __ICoreWebView2PrintCompletedHandler_INTERFACE_DEFINED__
#define __ICoreWebView2PrintCompletedHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2PrintCompletedHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2PrintCompletedHandler = {0x8FD80075,0xED08,0x42DB,{0x85,0x70,0xF5,0xD1,0x49,0x77,0x46,0x1E}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8FD80075-ED08-42DB-8570-F5D14977461E")
    ICoreWebView2PrintCompletedHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ HRESULT errorCode,
            /* [in] */ COREWEBVIEW2_PRINT_STATUS printStatus) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2PrintCompletedHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2PrintCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2PrintCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2PrintCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintCompletedHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2PrintCompletedHandler * This,
            /* [in] */ HRESULT errorCode,
            /* [in] */ COREWEBVIEW2_PRINT_STATUS printStatus);
        
        END_INTERFACE
    } ICoreWebView2PrintCompletedHandlerVtbl;

    interface ICoreWebView2PrintCompletedHandler
    {
        CONST_VTBL struct ICoreWebView2PrintCompletedHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2PrintCompletedHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2PrintCompletedHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2PrintCompletedHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2PrintCompletedHandler_Invoke(This,errorCode,printStatus)	\
    ( (This)->lpVtbl -> Invoke(This,errorCode,printStatus) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2PrintCompletedHandler_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2PrintToPdfStreamCompletedHandler_INTERFACE_DEFINED__
#define __ICoreWebView2PrintToPdfStreamCompletedHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2PrintToPdfStreamCompletedHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2PrintToPdfStreamCompletedHandler = {0x4C9F8229,0x8F93,0x444F,{0xA7,0x11,0x2C,0x0D,0xFD,0x63,0x59,0xD5}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4C9F8229-8F93-444F-A711-2C0DFD6359D5")
    ICoreWebView2PrintToPdfStreamCompletedHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ HRESULT errorCode,
            /* [in] */ IStream *pdfStream) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2PrintToPdfStreamCompletedHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2PrintToPdfStreamCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2PrintToPdfStreamCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2PrintToPdfStreamCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2PrintToPdfStreamCompletedHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2PrintToPdfStreamCompletedHandler * This,
            /* [in] */ HRESULT errorCode,
            /* [in] */ IStream *pdfStream);
        
        END_INTERFACE
    } ICoreWebView2PrintToPdfStreamCompletedHandlerVtbl;

    interface ICoreWebView2PrintToPdfStreamCompletedHandler
    {
        CONST_VTBL struct ICoreWebView2PrintToPdfStreamCompletedHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2PrintToPdfStreamCompletedHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2PrintToPdfStreamCompletedHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2PrintToPdfStreamCompletedHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2PrintToPdfStreamCompletedHandler_Invoke(This,errorCode,pdfStream)	\
    ( (This)->lpVtbl -> Invoke(This,errorCode,pdfStream) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2PrintToPdfStreamCompletedHandler_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ProcessFailedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ProcessFailedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ProcessFailedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessFailedEventArgs, get_ProcessFailedKind)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ProcessFailedEventArgs2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ProcessFailedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ProcessFailedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessFailedEventArgs, get_ProcessFailedKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProcessFailedKind )( 
            ICoreWebView2ProcessFailedEventArgs2 * This,
            /* [retval][out] */ COREWEBVIEW2_PROCESS_FAILED_KIND *processFailedKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessFailedEventArgs2, get_Reason)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Reason )( 
            ICoreWebView2ProcessFailedEventArgs2 * This,
            /* [retval][out] */ COREWEBVIEW2_PROCESS_FAILED_REASON *reason);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessFailedEventArgs2, get_ExitCode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExitCode )( 
            ICoreWebView2ProcessFailedEventArgs2 * This,
            /* [retval][out] */ int *exitCode);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessFailedEventArgs2, get_ProcessDescription)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProcessDescription )( 
            ICoreWebView2ProcessFailedEventArgs2 * This,
            /* [retval][out] */ LPWSTR *processDescription);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessFailedEventArgs2, get_FrameInfosForFailedProcess)
        /* [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 __ICoreWebView2ProcessFailedEventArgs3_INTERFACE_DEFINED__
#define __ICoreWebView2ProcessFailedEventArgs3_INTERFACE_DEFINED__

/* interface ICoreWebView2ProcessFailedEventArgs3 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ProcessFailedEventArgs3 = {0xab667428,0x094d,0x5fd1,{0xb4,0x80,0x8b,0x4c,0x0f,0xdb,0xdf,0x2f}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ab667428-094d-5fd1-b480-8b4c0fdbdf2f")
    ICoreWebView2ProcessFailedEventArgs3 : public ICoreWebView2ProcessFailedEventArgs2
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FailureSourceModulePath( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ProcessFailedEventArgs3Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ProcessFailedEventArgs3 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ProcessFailedEventArgs3 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ProcessFailedEventArgs3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessFailedEventArgs, get_ProcessFailedKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProcessFailedKind )( 
            ICoreWebView2ProcessFailedEventArgs3 * This,
            /* [retval][out] */ COREWEBVIEW2_PROCESS_FAILED_KIND *processFailedKind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessFailedEventArgs2, get_Reason)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Reason )( 
            ICoreWebView2ProcessFailedEventArgs3 * This,
            /* [retval][out] */ COREWEBVIEW2_PROCESS_FAILED_REASON *reason);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessFailedEventArgs2, get_ExitCode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExitCode )( 
            ICoreWebView2ProcessFailedEventArgs3 * This,
            /* [retval][out] */ int *exitCode);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessFailedEventArgs2, get_ProcessDescription)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProcessDescription )( 
            ICoreWebView2ProcessFailedEventArgs3 * This,
            /* [retval][out] */ LPWSTR *processDescription);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessFailedEventArgs2, get_FrameInfosForFailedProcess)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FrameInfosForFailedProcess )( 
            ICoreWebView2ProcessFailedEventArgs3 * This,
            /* [retval][out] */ ICoreWebView2FrameInfoCollection **frames);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessFailedEventArgs3, get_FailureSourceModulePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FailureSourceModulePath )( 
            ICoreWebView2ProcessFailedEventArgs3 * This,
            /* [retval][out] */ LPWSTR *value);
        
        END_INTERFACE
    } ICoreWebView2ProcessFailedEventArgs3Vtbl;

    interface ICoreWebView2ProcessFailedEventArgs3
    {
        CONST_VTBL struct ICoreWebView2ProcessFailedEventArgs3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ProcessFailedEventArgs3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ProcessFailedEventArgs3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ProcessFailedEventArgs3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ProcessFailedEventArgs3_get_ProcessFailedKind(This,processFailedKind)	\
    ( (This)->lpVtbl -> get_ProcessFailedKind(This,processFailedKind) ) 


#define ICoreWebView2ProcessFailedEventArgs3_get_Reason(This,reason)	\
    ( (This)->lpVtbl -> get_Reason(This,reason) ) 

#define ICoreWebView2ProcessFailedEventArgs3_get_ExitCode(This,exitCode)	\
    ( (This)->lpVtbl -> get_ExitCode(This,exitCode) ) 

#define ICoreWebView2ProcessFailedEventArgs3_get_ProcessDescription(This,processDescription)	\
    ( (This)->lpVtbl -> get_ProcessDescription(This,processDescription) ) 

#define ICoreWebView2ProcessFailedEventArgs3_get_FrameInfosForFailedProcess(This,frames)	\
    ( (This)->lpVtbl -> get_FrameInfosForFailedProcess(This,frames) ) 


#define ICoreWebView2ProcessFailedEventArgs3_get_FailureSourceModulePath(This,value)	\
    ( (This)->lpVtbl -> get_FailureSourceModulePath(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ProcessFailedEventArgs3_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ProcessFailedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ProcessFailedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ProcessFailedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessFailedEventHandler, Invoke)
        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 __ICoreWebView2Profile_INTERFACE_DEFINED__
#define __ICoreWebView2Profile_INTERFACE_DEFINED__

/* interface ICoreWebView2Profile */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Profile = {0x79110ad3,0xcd5d,0x4373,{0x8b,0xc3,0xc6,0x06,0x58,0xf1,0x7a,0x5f}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("79110ad3-cd5d-4373-8bc3-c60658f17a5f")
    ICoreWebView2Profile : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProfileName( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsInPrivateModeEnabled( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ProfilePath( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_DefaultDownloadFolderPath( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_DefaultDownloadFolderPath( 
            /* [in] */ LPCWSTR value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PreferredColorScheme( 
            /* [retval][out] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PreferredColorScheme( 
            /* [in] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ProfileVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Profile * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Profile * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Profile * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfileName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfileName )( 
            ICoreWebView2Profile * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_IsInPrivateModeEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInPrivateModeEnabled )( 
            ICoreWebView2Profile * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfilePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfilePath )( 
            ICoreWebView2Profile * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_DefaultDownloadFolderPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_DefaultDownloadFolderPath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_PreferredColorScheme)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredColorScheme )( 
            ICoreWebView2Profile * This,
            /* [retval][out] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_PreferredColorScheme)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredColorScheme )( 
            ICoreWebView2Profile * This,
            /* [in] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME value);
        
        END_INTERFACE
    } ICoreWebView2ProfileVtbl;

    interface ICoreWebView2Profile
    {
        CONST_VTBL struct ICoreWebView2ProfileVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Profile_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Profile_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Profile_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Profile_get_ProfileName(This,value)	\
    ( (This)->lpVtbl -> get_ProfileName(This,value) ) 

#define ICoreWebView2Profile_get_IsInPrivateModeEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsInPrivateModeEnabled(This,value) ) 

#define ICoreWebView2Profile_get_ProfilePath(This,value)	\
    ( (This)->lpVtbl -> get_ProfilePath(This,value) ) 

#define ICoreWebView2Profile_get_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile_put_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile_get_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> get_PreferredColorScheme(This,value) ) 

#define ICoreWebView2Profile_put_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> put_PreferredColorScheme(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Profile_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2Profile2_INTERFACE_DEFINED__
#define __ICoreWebView2Profile2_INTERFACE_DEFINED__

/* interface ICoreWebView2Profile2 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Profile2 = {0xfa740d4b,0x5eae,0x4344,{0xa8,0xad,0x74,0xbe,0x31,0x92,0x53,0x97}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("fa740d4b-5eae-4344-a8ad-74be31925397")
    ICoreWebView2Profile2 : public ICoreWebView2Profile
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE ClearBrowsingData( 
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ClearBrowsingDataInTimeRange( 
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ double startTime,
            /* [in] */ double endTime,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE ClearBrowsingDataAll( 
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Profile2Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Profile2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Profile2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Profile2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfileName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfileName )( 
            ICoreWebView2Profile2 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_IsInPrivateModeEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInPrivateModeEnabled )( 
            ICoreWebView2Profile2 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfilePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfilePath )( 
            ICoreWebView2Profile2 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_DefaultDownloadFolderPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile2 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_DefaultDownloadFolderPath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile2 * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_PreferredColorScheme)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredColorScheme )( 
            ICoreWebView2Profile2 * This,
            /* [retval][out] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_PreferredColorScheme)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredColorScheme )( 
            ICoreWebView2Profile2 * This,
            /* [in] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingData)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingData )( 
            ICoreWebView2Profile2 * This,
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingDataInTimeRange)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingDataInTimeRange )( 
            ICoreWebView2Profile2 * This,
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ double startTime,
            /* [in] */ double endTime,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingDataAll)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingDataAll )( 
            ICoreWebView2Profile2 * This,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        END_INTERFACE
    } ICoreWebView2Profile2Vtbl;

    interface ICoreWebView2Profile2
    {
        CONST_VTBL struct ICoreWebView2Profile2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Profile2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Profile2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Profile2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Profile2_get_ProfileName(This,value)	\
    ( (This)->lpVtbl -> get_ProfileName(This,value) ) 

#define ICoreWebView2Profile2_get_IsInPrivateModeEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsInPrivateModeEnabled(This,value) ) 

#define ICoreWebView2Profile2_get_ProfilePath(This,value)	\
    ( (This)->lpVtbl -> get_ProfilePath(This,value) ) 

#define ICoreWebView2Profile2_get_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile2_put_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile2_get_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> get_PreferredColorScheme(This,value) ) 

#define ICoreWebView2Profile2_put_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> put_PreferredColorScheme(This,value) ) 


#define ICoreWebView2Profile2_ClearBrowsingData(This,dataKinds,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingData(This,dataKinds,handler) ) 

#define ICoreWebView2Profile2_ClearBrowsingDataInTimeRange(This,dataKinds,startTime,endTime,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingDataInTimeRange(This,dataKinds,startTime,endTime,handler) ) 

#define ICoreWebView2Profile2_ClearBrowsingDataAll(This,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingDataAll(This,handler) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Profile2_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2Profile3_INTERFACE_DEFINED__
#define __ICoreWebView2Profile3_INTERFACE_DEFINED__

/* interface ICoreWebView2Profile3 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Profile3 = {0xB188E659,0x5685,0x4E05,{0xBD,0xBA,0xFC,0x64,0x0E,0x0F,0x19,0x92}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B188E659-5685-4E05-BDBA-FC640E0F1992")
    ICoreWebView2Profile3 : public ICoreWebView2Profile2
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PreferredTrackingPreventionLevel( 
            /* [retval][out] */ COREWEBVIEW2_TRACKING_PREVENTION_LEVEL *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_PreferredTrackingPreventionLevel( 
            /* [in] */ COREWEBVIEW2_TRACKING_PREVENTION_LEVEL value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Profile3Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Profile3 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Profile3 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Profile3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfileName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfileName )( 
            ICoreWebView2Profile3 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_IsInPrivateModeEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInPrivateModeEnabled )( 
            ICoreWebView2Profile3 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfilePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfilePath )( 
            ICoreWebView2Profile3 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_DefaultDownloadFolderPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile3 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_DefaultDownloadFolderPath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile3 * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_PreferredColorScheme)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredColorScheme )( 
            ICoreWebView2Profile3 * This,
            /* [retval][out] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_PreferredColorScheme)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredColorScheme )( 
            ICoreWebView2Profile3 * This,
            /* [in] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingData)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingData )( 
            ICoreWebView2Profile3 * This,
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingDataInTimeRange)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingDataInTimeRange )( 
            ICoreWebView2Profile3 * This,
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ double startTime,
            /* [in] */ double endTime,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingDataAll)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingDataAll )( 
            ICoreWebView2Profile3 * This,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile3, get_PreferredTrackingPreventionLevel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredTrackingPreventionLevel )( 
            ICoreWebView2Profile3 * This,
            /* [retval][out] */ COREWEBVIEW2_TRACKING_PREVENTION_LEVEL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile3, put_PreferredTrackingPreventionLevel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredTrackingPreventionLevel )( 
            ICoreWebView2Profile3 * This,
            /* [in] */ COREWEBVIEW2_TRACKING_PREVENTION_LEVEL value);
        
        END_INTERFACE
    } ICoreWebView2Profile3Vtbl;

    interface ICoreWebView2Profile3
    {
        CONST_VTBL struct ICoreWebView2Profile3Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Profile3_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Profile3_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Profile3_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Profile3_get_ProfileName(This,value)	\
    ( (This)->lpVtbl -> get_ProfileName(This,value) ) 

#define ICoreWebView2Profile3_get_IsInPrivateModeEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsInPrivateModeEnabled(This,value) ) 

#define ICoreWebView2Profile3_get_ProfilePath(This,value)	\
    ( (This)->lpVtbl -> get_ProfilePath(This,value) ) 

#define ICoreWebView2Profile3_get_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile3_put_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile3_get_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> get_PreferredColorScheme(This,value) ) 

#define ICoreWebView2Profile3_put_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> put_PreferredColorScheme(This,value) ) 


#define ICoreWebView2Profile3_ClearBrowsingData(This,dataKinds,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingData(This,dataKinds,handler) ) 

#define ICoreWebView2Profile3_ClearBrowsingDataInTimeRange(This,dataKinds,startTime,endTime,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingDataInTimeRange(This,dataKinds,startTime,endTime,handler) ) 

#define ICoreWebView2Profile3_ClearBrowsingDataAll(This,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingDataAll(This,handler) ) 


#define ICoreWebView2Profile3_get_PreferredTrackingPreventionLevel(This,value)	\
    ( (This)->lpVtbl -> get_PreferredTrackingPreventionLevel(This,value) ) 

#define ICoreWebView2Profile3_put_PreferredTrackingPreventionLevel(This,value)	\
    ( (This)->lpVtbl -> put_PreferredTrackingPreventionLevel(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Profile3_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2Profile4_INTERFACE_DEFINED__
#define __ICoreWebView2Profile4_INTERFACE_DEFINED__

/* interface ICoreWebView2Profile4 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Profile4 = {0x8F4ae680,0x192e,0x4eC8,{0x83,0x3a,0x21,0xcf,0xad,0xae,0xf6,0x28}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8F4ae680-192e-4eC8-833a-21cfadaef628")
    ICoreWebView2Profile4 : public ICoreWebView2Profile3
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetPermissionState( 
            /* [in] */ COREWEBVIEW2_PERMISSION_KIND permissionKind,
            /* [in] */ LPCWSTR origin,
            /* [in] */ COREWEBVIEW2_PERMISSION_STATE state,
            /* [in] */ ICoreWebView2SetPermissionStateCompletedHandler *completedHandler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetNonDefaultPermissionSettings( 
            /* [in] */ ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler *completedHandler) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Profile4Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Profile4 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Profile4 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Profile4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfileName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfileName )( 
            ICoreWebView2Profile4 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_IsInPrivateModeEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInPrivateModeEnabled )( 
            ICoreWebView2Profile4 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfilePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfilePath )( 
            ICoreWebView2Profile4 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_DefaultDownloadFolderPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile4 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_DefaultDownloadFolderPath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile4 * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_PreferredColorScheme)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredColorScheme )( 
            ICoreWebView2Profile4 * This,
            /* [retval][out] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_PreferredColorScheme)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredColorScheme )( 
            ICoreWebView2Profile4 * This,
            /* [in] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingData)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingData )( 
            ICoreWebView2Profile4 * This,
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingDataInTimeRange)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingDataInTimeRange )( 
            ICoreWebView2Profile4 * This,
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ double startTime,
            /* [in] */ double endTime,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingDataAll)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingDataAll )( 
            ICoreWebView2Profile4 * This,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile3, get_PreferredTrackingPreventionLevel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredTrackingPreventionLevel )( 
            ICoreWebView2Profile4 * This,
            /* [retval][out] */ COREWEBVIEW2_TRACKING_PREVENTION_LEVEL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile3, put_PreferredTrackingPreventionLevel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredTrackingPreventionLevel )( 
            ICoreWebView2Profile4 * This,
            /* [in] */ COREWEBVIEW2_TRACKING_PREVENTION_LEVEL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile4, SetPermissionState)
        HRESULT ( STDMETHODCALLTYPE *SetPermissionState )( 
            ICoreWebView2Profile4 * This,
            /* [in] */ COREWEBVIEW2_PERMISSION_KIND permissionKind,
            /* [in] */ LPCWSTR origin,
            /* [in] */ COREWEBVIEW2_PERMISSION_STATE state,
            /* [in] */ ICoreWebView2SetPermissionStateCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile4, GetNonDefaultPermissionSettings)
        HRESULT ( STDMETHODCALLTYPE *GetNonDefaultPermissionSettings )( 
            ICoreWebView2Profile4 * This,
            /* [in] */ ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler *completedHandler);
        
        END_INTERFACE
    } ICoreWebView2Profile4Vtbl;

    interface ICoreWebView2Profile4
    {
        CONST_VTBL struct ICoreWebView2Profile4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Profile4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Profile4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Profile4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Profile4_get_ProfileName(This,value)	\
    ( (This)->lpVtbl -> get_ProfileName(This,value) ) 

#define ICoreWebView2Profile4_get_IsInPrivateModeEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsInPrivateModeEnabled(This,value) ) 

#define ICoreWebView2Profile4_get_ProfilePath(This,value)	\
    ( (This)->lpVtbl -> get_ProfilePath(This,value) ) 

#define ICoreWebView2Profile4_get_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile4_put_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile4_get_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> get_PreferredColorScheme(This,value) ) 

#define ICoreWebView2Profile4_put_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> put_PreferredColorScheme(This,value) ) 


#define ICoreWebView2Profile4_ClearBrowsingData(This,dataKinds,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingData(This,dataKinds,handler) ) 

#define ICoreWebView2Profile4_ClearBrowsingDataInTimeRange(This,dataKinds,startTime,endTime,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingDataInTimeRange(This,dataKinds,startTime,endTime,handler) ) 

#define ICoreWebView2Profile4_ClearBrowsingDataAll(This,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingDataAll(This,handler) ) 


#define ICoreWebView2Profile4_get_PreferredTrackingPreventionLevel(This,value)	\
    ( (This)->lpVtbl -> get_PreferredTrackingPreventionLevel(This,value) ) 

#define ICoreWebView2Profile4_put_PreferredTrackingPreventionLevel(This,value)	\
    ( (This)->lpVtbl -> put_PreferredTrackingPreventionLevel(This,value) ) 


#define ICoreWebView2Profile4_SetPermissionState(This,permissionKind,origin,state,completedHandler)	\
    ( (This)->lpVtbl -> SetPermissionState(This,permissionKind,origin,state,completedHandler) ) 

#define ICoreWebView2Profile4_GetNonDefaultPermissionSettings(This,completedHandler)	\
    ( (This)->lpVtbl -> GetNonDefaultPermissionSettings(This,completedHandler) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Profile4_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2Profile5_INTERFACE_DEFINED__
#define __ICoreWebView2Profile5_INTERFACE_DEFINED__

/* interface ICoreWebView2Profile5 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Profile5 = {0x2EE5B76E,0x6E80,0x4DF2,{0xBC,0xD3,0xD4,0xEC,0x33,0x40,0xA0,0x1B}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2EE5B76E-6E80-4DF2-BCD3-D4EC3340A01B")
    ICoreWebView2Profile5 : public ICoreWebView2Profile4
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_CookieManager( 
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Profile5Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Profile5 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Profile5 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Profile5 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfileName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfileName )( 
            ICoreWebView2Profile5 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_IsInPrivateModeEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInPrivateModeEnabled )( 
            ICoreWebView2Profile5 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfilePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfilePath )( 
            ICoreWebView2Profile5 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_DefaultDownloadFolderPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile5 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_DefaultDownloadFolderPath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile5 * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_PreferredColorScheme)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredColorScheme )( 
            ICoreWebView2Profile5 * This,
            /* [retval][out] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_PreferredColorScheme)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredColorScheme )( 
            ICoreWebView2Profile5 * This,
            /* [in] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingData)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingData )( 
            ICoreWebView2Profile5 * This,
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingDataInTimeRange)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingDataInTimeRange )( 
            ICoreWebView2Profile5 * This,
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ double startTime,
            /* [in] */ double endTime,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingDataAll)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingDataAll )( 
            ICoreWebView2Profile5 * This,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile3, get_PreferredTrackingPreventionLevel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredTrackingPreventionLevel )( 
            ICoreWebView2Profile5 * This,
            /* [retval][out] */ COREWEBVIEW2_TRACKING_PREVENTION_LEVEL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile3, put_PreferredTrackingPreventionLevel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredTrackingPreventionLevel )( 
            ICoreWebView2Profile5 * This,
            /* [in] */ COREWEBVIEW2_TRACKING_PREVENTION_LEVEL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile4, SetPermissionState)
        HRESULT ( STDMETHODCALLTYPE *SetPermissionState )( 
            ICoreWebView2Profile5 * This,
            /* [in] */ COREWEBVIEW2_PERMISSION_KIND permissionKind,
            /* [in] */ LPCWSTR origin,
            /* [in] */ COREWEBVIEW2_PERMISSION_STATE state,
            /* [in] */ ICoreWebView2SetPermissionStateCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile4, GetNonDefaultPermissionSettings)
        HRESULT ( STDMETHODCALLTYPE *GetNonDefaultPermissionSettings )( 
            ICoreWebView2Profile5 * This,
            /* [in] */ ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile5, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2Profile5 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        END_INTERFACE
    } ICoreWebView2Profile5Vtbl;

    interface ICoreWebView2Profile5
    {
        CONST_VTBL struct ICoreWebView2Profile5Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Profile5_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Profile5_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Profile5_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Profile5_get_ProfileName(This,value)	\
    ( (This)->lpVtbl -> get_ProfileName(This,value) ) 

#define ICoreWebView2Profile5_get_IsInPrivateModeEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsInPrivateModeEnabled(This,value) ) 

#define ICoreWebView2Profile5_get_ProfilePath(This,value)	\
    ( (This)->lpVtbl -> get_ProfilePath(This,value) ) 

#define ICoreWebView2Profile5_get_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile5_put_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile5_get_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> get_PreferredColorScheme(This,value) ) 

#define ICoreWebView2Profile5_put_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> put_PreferredColorScheme(This,value) ) 


#define ICoreWebView2Profile5_ClearBrowsingData(This,dataKinds,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingData(This,dataKinds,handler) ) 

#define ICoreWebView2Profile5_ClearBrowsingDataInTimeRange(This,dataKinds,startTime,endTime,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingDataInTimeRange(This,dataKinds,startTime,endTime,handler) ) 

#define ICoreWebView2Profile5_ClearBrowsingDataAll(This,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingDataAll(This,handler) ) 


#define ICoreWebView2Profile5_get_PreferredTrackingPreventionLevel(This,value)	\
    ( (This)->lpVtbl -> get_PreferredTrackingPreventionLevel(This,value) ) 

#define ICoreWebView2Profile5_put_PreferredTrackingPreventionLevel(This,value)	\
    ( (This)->lpVtbl -> put_PreferredTrackingPreventionLevel(This,value) ) 


#define ICoreWebView2Profile5_SetPermissionState(This,permissionKind,origin,state,completedHandler)	\
    ( (This)->lpVtbl -> SetPermissionState(This,permissionKind,origin,state,completedHandler) ) 

#define ICoreWebView2Profile5_GetNonDefaultPermissionSettings(This,completedHandler)	\
    ( (This)->lpVtbl -> GetNonDefaultPermissionSettings(This,completedHandler) ) 


#define ICoreWebView2Profile5_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Profile5_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2Profile6_INTERFACE_DEFINED__
#define __ICoreWebView2Profile6_INTERFACE_DEFINED__

/* interface ICoreWebView2Profile6 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Profile6 = {0xBD82FA6A,0x1D65,0x4C33,{0xB2,0xB4,0x03,0x93,0x02,0x0C,0xC6,0x1B}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BD82FA6A-1D65-4C33-B2B4-0393020CC61B")
    ICoreWebView2Profile6 : public ICoreWebView2Profile5
    {
    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 ICoreWebView2Profile6Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Profile6 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Profile6 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Profile6 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfileName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfileName )( 
            ICoreWebView2Profile6 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_IsInPrivateModeEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInPrivateModeEnabled )( 
            ICoreWebView2Profile6 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfilePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfilePath )( 
            ICoreWebView2Profile6 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_DefaultDownloadFolderPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile6 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_DefaultDownloadFolderPath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile6 * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_PreferredColorScheme)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredColorScheme )( 
            ICoreWebView2Profile6 * This,
            /* [retval][out] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_PreferredColorScheme)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredColorScheme )( 
            ICoreWebView2Profile6 * This,
            /* [in] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingData)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingData )( 
            ICoreWebView2Profile6 * This,
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingDataInTimeRange)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingDataInTimeRange )( 
            ICoreWebView2Profile6 * This,
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ double startTime,
            /* [in] */ double endTime,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingDataAll)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingDataAll )( 
            ICoreWebView2Profile6 * This,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile3, get_PreferredTrackingPreventionLevel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredTrackingPreventionLevel )( 
            ICoreWebView2Profile6 * This,
            /* [retval][out] */ COREWEBVIEW2_TRACKING_PREVENTION_LEVEL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile3, put_PreferredTrackingPreventionLevel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredTrackingPreventionLevel )( 
            ICoreWebView2Profile6 * This,
            /* [in] */ COREWEBVIEW2_TRACKING_PREVENTION_LEVEL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile4, SetPermissionState)
        HRESULT ( STDMETHODCALLTYPE *SetPermissionState )( 
            ICoreWebView2Profile6 * This,
            /* [in] */ COREWEBVIEW2_PERMISSION_KIND permissionKind,
            /* [in] */ LPCWSTR origin,
            /* [in] */ COREWEBVIEW2_PERMISSION_STATE state,
            /* [in] */ ICoreWebView2SetPermissionStateCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile4, GetNonDefaultPermissionSettings)
        HRESULT ( STDMETHODCALLTYPE *GetNonDefaultPermissionSettings )( 
            ICoreWebView2Profile6 * This,
            /* [in] */ ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile5, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2Profile6 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile6, get_IsPasswordAutosaveEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Profile6 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile6, put_IsPasswordAutosaveEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Profile6 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile6, get_IsGeneralAutofillEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsGeneralAutofillEnabled )( 
            ICoreWebView2Profile6 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile6, put_IsGeneralAutofillEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsGeneralAutofillEnabled )( 
            ICoreWebView2Profile6 * This,
            /* [in] */ BOOL value);
        
        END_INTERFACE
    } ICoreWebView2Profile6Vtbl;

    interface ICoreWebView2Profile6
    {
        CONST_VTBL struct ICoreWebView2Profile6Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Profile6_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Profile6_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Profile6_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Profile6_get_ProfileName(This,value)	\
    ( (This)->lpVtbl -> get_ProfileName(This,value) ) 

#define ICoreWebView2Profile6_get_IsInPrivateModeEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsInPrivateModeEnabled(This,value) ) 

#define ICoreWebView2Profile6_get_ProfilePath(This,value)	\
    ( (This)->lpVtbl -> get_ProfilePath(This,value) ) 

#define ICoreWebView2Profile6_get_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile6_put_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile6_get_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> get_PreferredColorScheme(This,value) ) 

#define ICoreWebView2Profile6_put_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> put_PreferredColorScheme(This,value) ) 


#define ICoreWebView2Profile6_ClearBrowsingData(This,dataKinds,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingData(This,dataKinds,handler) ) 

#define ICoreWebView2Profile6_ClearBrowsingDataInTimeRange(This,dataKinds,startTime,endTime,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingDataInTimeRange(This,dataKinds,startTime,endTime,handler) ) 

#define ICoreWebView2Profile6_ClearBrowsingDataAll(This,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingDataAll(This,handler) ) 


#define ICoreWebView2Profile6_get_PreferredTrackingPreventionLevel(This,value)	\
    ( (This)->lpVtbl -> get_PreferredTrackingPreventionLevel(This,value) ) 

#define ICoreWebView2Profile6_put_PreferredTrackingPreventionLevel(This,value)	\
    ( (This)->lpVtbl -> put_PreferredTrackingPreventionLevel(This,value) ) 


#define ICoreWebView2Profile6_SetPermissionState(This,permissionKind,origin,state,completedHandler)	\
    ( (This)->lpVtbl -> SetPermissionState(This,permissionKind,origin,state,completedHandler) ) 

#define ICoreWebView2Profile6_GetNonDefaultPermissionSettings(This,completedHandler)	\
    ( (This)->lpVtbl -> GetNonDefaultPermissionSettings(This,completedHandler) ) 


#define ICoreWebView2Profile6_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 


#define ICoreWebView2Profile6_get_IsPasswordAutosaveEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsPasswordAutosaveEnabled(This,value) ) 

#define ICoreWebView2Profile6_put_IsPasswordAutosaveEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsPasswordAutosaveEnabled(This,value) ) 

#define ICoreWebView2Profile6_get_IsGeneralAutofillEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsGeneralAutofillEnabled(This,value) ) 

#define ICoreWebView2Profile6_put_IsGeneralAutofillEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsGeneralAutofillEnabled(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Profile6_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2Profile7_INTERFACE_DEFINED__
#define __ICoreWebView2Profile7_INTERFACE_DEFINED__

/* interface ICoreWebView2Profile7 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Profile7 = {0x7b4c7906,0xa1aa,0x4cb4,{0xb7,0x23,0xdb,0x09,0xf8,0x13,0xd5,0x41}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7b4c7906-a1aa-4cb4-b723-db09f813d541")
    ICoreWebView2Profile7 : public ICoreWebView2Profile6
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE AddBrowserExtension( 
            /* [in] */ LPCWSTR extensionFolderPath,
            /* [in] */ ICoreWebView2ProfileAddBrowserExtensionCompletedHandler *handler) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetBrowserExtensions( 
            /* [in] */ ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler *handler) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Profile7Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Profile7 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Profile7 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Profile7 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfileName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfileName )( 
            ICoreWebView2Profile7 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_IsInPrivateModeEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInPrivateModeEnabled )( 
            ICoreWebView2Profile7 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfilePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfilePath )( 
            ICoreWebView2Profile7 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_DefaultDownloadFolderPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile7 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_DefaultDownloadFolderPath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile7 * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_PreferredColorScheme)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredColorScheme )( 
            ICoreWebView2Profile7 * This,
            /* [retval][out] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_PreferredColorScheme)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredColorScheme )( 
            ICoreWebView2Profile7 * This,
            /* [in] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingData)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingData )( 
            ICoreWebView2Profile7 * This,
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingDataInTimeRange)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingDataInTimeRange )( 
            ICoreWebView2Profile7 * This,
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ double startTime,
            /* [in] */ double endTime,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingDataAll)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingDataAll )( 
            ICoreWebView2Profile7 * This,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile3, get_PreferredTrackingPreventionLevel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredTrackingPreventionLevel )( 
            ICoreWebView2Profile7 * This,
            /* [retval][out] */ COREWEBVIEW2_TRACKING_PREVENTION_LEVEL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile3, put_PreferredTrackingPreventionLevel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredTrackingPreventionLevel )( 
            ICoreWebView2Profile7 * This,
            /* [in] */ COREWEBVIEW2_TRACKING_PREVENTION_LEVEL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile4, SetPermissionState)
        HRESULT ( STDMETHODCALLTYPE *SetPermissionState )( 
            ICoreWebView2Profile7 * This,
            /* [in] */ COREWEBVIEW2_PERMISSION_KIND permissionKind,
            /* [in] */ LPCWSTR origin,
            /* [in] */ COREWEBVIEW2_PERMISSION_STATE state,
            /* [in] */ ICoreWebView2SetPermissionStateCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile4, GetNonDefaultPermissionSettings)
        HRESULT ( STDMETHODCALLTYPE *GetNonDefaultPermissionSettings )( 
            ICoreWebView2Profile7 * This,
            /* [in] */ ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile5, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2Profile7 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile6, get_IsPasswordAutosaveEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Profile7 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile6, put_IsPasswordAutosaveEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Profile7 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile6, get_IsGeneralAutofillEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsGeneralAutofillEnabled )( 
            ICoreWebView2Profile7 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile6, put_IsGeneralAutofillEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsGeneralAutofillEnabled )( 
            ICoreWebView2Profile7 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile7, AddBrowserExtension)
        HRESULT ( STDMETHODCALLTYPE *AddBrowserExtension )( 
            ICoreWebView2Profile7 * This,
            /* [in] */ LPCWSTR extensionFolderPath,
            /* [in] */ ICoreWebView2ProfileAddBrowserExtensionCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile7, GetBrowserExtensions)
        HRESULT ( STDMETHODCALLTYPE *GetBrowserExtensions )( 
            ICoreWebView2Profile7 * This,
            /* [in] */ ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler *handler);
        
        END_INTERFACE
    } ICoreWebView2Profile7Vtbl;

    interface ICoreWebView2Profile7
    {
        CONST_VTBL struct ICoreWebView2Profile7Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Profile7_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Profile7_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Profile7_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Profile7_get_ProfileName(This,value)	\
    ( (This)->lpVtbl -> get_ProfileName(This,value) ) 

#define ICoreWebView2Profile7_get_IsInPrivateModeEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsInPrivateModeEnabled(This,value) ) 

#define ICoreWebView2Profile7_get_ProfilePath(This,value)	\
    ( (This)->lpVtbl -> get_ProfilePath(This,value) ) 

#define ICoreWebView2Profile7_get_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile7_put_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile7_get_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> get_PreferredColorScheme(This,value) ) 

#define ICoreWebView2Profile7_put_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> put_PreferredColorScheme(This,value) ) 


#define ICoreWebView2Profile7_ClearBrowsingData(This,dataKinds,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingData(This,dataKinds,handler) ) 

#define ICoreWebView2Profile7_ClearBrowsingDataInTimeRange(This,dataKinds,startTime,endTime,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingDataInTimeRange(This,dataKinds,startTime,endTime,handler) ) 

#define ICoreWebView2Profile7_ClearBrowsingDataAll(This,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingDataAll(This,handler) ) 


#define ICoreWebView2Profile7_get_PreferredTrackingPreventionLevel(This,value)	\
    ( (This)->lpVtbl -> get_PreferredTrackingPreventionLevel(This,value) ) 

#define ICoreWebView2Profile7_put_PreferredTrackingPreventionLevel(This,value)	\
    ( (This)->lpVtbl -> put_PreferredTrackingPreventionLevel(This,value) ) 


#define ICoreWebView2Profile7_SetPermissionState(This,permissionKind,origin,state,completedHandler)	\
    ( (This)->lpVtbl -> SetPermissionState(This,permissionKind,origin,state,completedHandler) ) 

#define ICoreWebView2Profile7_GetNonDefaultPermissionSettings(This,completedHandler)	\
    ( (This)->lpVtbl -> GetNonDefaultPermissionSettings(This,completedHandler) ) 


#define ICoreWebView2Profile7_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 


#define ICoreWebView2Profile7_get_IsPasswordAutosaveEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsPasswordAutosaveEnabled(This,value) ) 

#define ICoreWebView2Profile7_put_IsPasswordAutosaveEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsPasswordAutosaveEnabled(This,value) ) 

#define ICoreWebView2Profile7_get_IsGeneralAutofillEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsGeneralAutofillEnabled(This,value) ) 

#define ICoreWebView2Profile7_put_IsGeneralAutofillEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsGeneralAutofillEnabled(This,value) ) 


#define ICoreWebView2Profile7_AddBrowserExtension(This,extensionFolderPath,handler)	\
    ( (This)->lpVtbl -> AddBrowserExtension(This,extensionFolderPath,handler) ) 

#define ICoreWebView2Profile7_GetBrowserExtensions(This,handler)	\
    ( (This)->lpVtbl -> GetBrowserExtensions(This,handler) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Profile7_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2Profile8_INTERFACE_DEFINED__
#define __ICoreWebView2Profile8_INTERFACE_DEFINED__

/* interface ICoreWebView2Profile8 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Profile8 = {0xfbf70c2f,0xeb1f,0x4383,{0x85,0xa0,0x16,0x3e,0x92,0x04,0x40,0x11}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("fbf70c2f-eb1f-4383-85a0-163e92044011")
    ICoreWebView2Profile8 : public ICoreWebView2Profile7
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE add_Deleted( 
            /* [in] */ ICoreWebView2ProfileDeletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE remove_Deleted( 
            /* [in] */ EventRegistrationToken token) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Profile8Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Profile8 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Profile8 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Profile8 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfileName)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfileName )( 
            ICoreWebView2Profile8 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_IsInPrivateModeEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsInPrivateModeEnabled )( 
            ICoreWebView2Profile8 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_ProfilePath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfilePath )( 
            ICoreWebView2Profile8 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_DefaultDownloadFolderPath)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile8 * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_DefaultDownloadFolderPath)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultDownloadFolderPath )( 
            ICoreWebView2Profile8 * This,
            /* [in] */ LPCWSTR value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, get_PreferredColorScheme)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredColorScheme )( 
            ICoreWebView2Profile8 * This,
            /* [retval][out] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile, put_PreferredColorScheme)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredColorScheme )( 
            ICoreWebView2Profile8 * This,
            /* [in] */ COREWEBVIEW2_PREFERRED_COLOR_SCHEME value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingData)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingData )( 
            ICoreWebView2Profile8 * This,
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingDataInTimeRange)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingDataInTimeRange )( 
            ICoreWebView2Profile8 * This,
            /* [in] */ COREWEBVIEW2_BROWSING_DATA_KINDS dataKinds,
            /* [in] */ double startTime,
            /* [in] */ double endTime,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile2, ClearBrowsingDataAll)
        HRESULT ( STDMETHODCALLTYPE *ClearBrowsingDataAll )( 
            ICoreWebView2Profile8 * This,
            /* [in] */ ICoreWebView2ClearBrowsingDataCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile3, get_PreferredTrackingPreventionLevel)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredTrackingPreventionLevel )( 
            ICoreWebView2Profile8 * This,
            /* [retval][out] */ COREWEBVIEW2_TRACKING_PREVENTION_LEVEL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile3, put_PreferredTrackingPreventionLevel)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_PreferredTrackingPreventionLevel )( 
            ICoreWebView2Profile8 * This,
            /* [in] */ COREWEBVIEW2_TRACKING_PREVENTION_LEVEL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile4, SetPermissionState)
        HRESULT ( STDMETHODCALLTYPE *SetPermissionState )( 
            ICoreWebView2Profile8 * This,
            /* [in] */ COREWEBVIEW2_PERMISSION_KIND permissionKind,
            /* [in] */ LPCWSTR origin,
            /* [in] */ COREWEBVIEW2_PERMISSION_STATE state,
            /* [in] */ ICoreWebView2SetPermissionStateCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile4, GetNonDefaultPermissionSettings)
        HRESULT ( STDMETHODCALLTYPE *GetNonDefaultPermissionSettings )( 
            ICoreWebView2Profile8 * This,
            /* [in] */ ICoreWebView2GetNonDefaultPermissionSettingsCompletedHandler *completedHandler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile5, get_CookieManager)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_CookieManager )( 
            ICoreWebView2Profile8 * This,
            /* [retval][out] */ ICoreWebView2CookieManager **cookieManager);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile6, get_IsPasswordAutosaveEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Profile8 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile6, put_IsPasswordAutosaveEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Profile8 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile6, get_IsGeneralAutofillEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsGeneralAutofillEnabled )( 
            ICoreWebView2Profile8 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile6, put_IsGeneralAutofillEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsGeneralAutofillEnabled )( 
            ICoreWebView2Profile8 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile7, AddBrowserExtension)
        HRESULT ( STDMETHODCALLTYPE *AddBrowserExtension )( 
            ICoreWebView2Profile8 * This,
            /* [in] */ LPCWSTR extensionFolderPath,
            /* [in] */ ICoreWebView2ProfileAddBrowserExtensionCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile7, GetBrowserExtensions)
        HRESULT ( STDMETHODCALLTYPE *GetBrowserExtensions )( 
            ICoreWebView2Profile8 * This,
            /* [in] */ ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile8, Delete)
        HRESULT ( STDMETHODCALLTYPE *Delete )( 
            ICoreWebView2Profile8 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile8, add_Deleted)
        HRESULT ( STDMETHODCALLTYPE *add_Deleted )( 
            ICoreWebView2Profile8 * This,
            /* [in] */ ICoreWebView2ProfileDeletedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Profile8, remove_Deleted)
        HRESULT ( STDMETHODCALLTYPE *remove_Deleted )( 
            ICoreWebView2Profile8 * This,
            /* [in] */ EventRegistrationToken token);
        
        END_INTERFACE
    } ICoreWebView2Profile8Vtbl;

    interface ICoreWebView2Profile8
    {
        CONST_VTBL struct ICoreWebView2Profile8Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Profile8_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Profile8_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Profile8_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Profile8_get_ProfileName(This,value)	\
    ( (This)->lpVtbl -> get_ProfileName(This,value) ) 

#define ICoreWebView2Profile8_get_IsInPrivateModeEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsInPrivateModeEnabled(This,value) ) 

#define ICoreWebView2Profile8_get_ProfilePath(This,value)	\
    ( (This)->lpVtbl -> get_ProfilePath(This,value) ) 

#define ICoreWebView2Profile8_get_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> get_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile8_put_DefaultDownloadFolderPath(This,value)	\
    ( (This)->lpVtbl -> put_DefaultDownloadFolderPath(This,value) ) 

#define ICoreWebView2Profile8_get_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> get_PreferredColorScheme(This,value) ) 

#define ICoreWebView2Profile8_put_PreferredColorScheme(This,value)	\
    ( (This)->lpVtbl -> put_PreferredColorScheme(This,value) ) 


#define ICoreWebView2Profile8_ClearBrowsingData(This,dataKinds,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingData(This,dataKinds,handler) ) 

#define ICoreWebView2Profile8_ClearBrowsingDataInTimeRange(This,dataKinds,startTime,endTime,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingDataInTimeRange(This,dataKinds,startTime,endTime,handler) ) 

#define ICoreWebView2Profile8_ClearBrowsingDataAll(This,handler)	\
    ( (This)->lpVtbl -> ClearBrowsingDataAll(This,handler) ) 


#define ICoreWebView2Profile8_get_PreferredTrackingPreventionLevel(This,value)	\
    ( (This)->lpVtbl -> get_PreferredTrackingPreventionLevel(This,value) ) 

#define ICoreWebView2Profile8_put_PreferredTrackingPreventionLevel(This,value)	\
    ( (This)->lpVtbl -> put_PreferredTrackingPreventionLevel(This,value) ) 


#define ICoreWebView2Profile8_SetPermissionState(This,permissionKind,origin,state,completedHandler)	\
    ( (This)->lpVtbl -> SetPermissionState(This,permissionKind,origin,state,completedHandler) ) 

#define ICoreWebView2Profile8_GetNonDefaultPermissionSettings(This,completedHandler)	\
    ( (This)->lpVtbl -> GetNonDefaultPermissionSettings(This,completedHandler) ) 


#define ICoreWebView2Profile8_get_CookieManager(This,cookieManager)	\
    ( (This)->lpVtbl -> get_CookieManager(This,cookieManager) ) 


#define ICoreWebView2Profile8_get_IsPasswordAutosaveEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsPasswordAutosaveEnabled(This,value) ) 

#define ICoreWebView2Profile8_put_IsPasswordAutosaveEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsPasswordAutosaveEnabled(This,value) ) 

#define ICoreWebView2Profile8_get_IsGeneralAutofillEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsGeneralAutofillEnabled(This,value) ) 

#define ICoreWebView2Profile8_put_IsGeneralAutofillEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsGeneralAutofillEnabled(This,value) ) 


#define ICoreWebView2Profile8_AddBrowserExtension(This,extensionFolderPath,handler)	\
    ( (This)->lpVtbl -> AddBrowserExtension(This,extensionFolderPath,handler) ) 

#define ICoreWebView2Profile8_GetBrowserExtensions(This,handler)	\
    ( (This)->lpVtbl -> GetBrowserExtensions(This,handler) ) 


#define ICoreWebView2Profile8_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define ICoreWebView2Profile8_add_Deleted(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_Deleted(This,eventHandler,token) ) 

#define ICoreWebView2Profile8_remove_Deleted(This,token)	\
    ( (This)->lpVtbl -> remove_Deleted(This,token) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Profile8_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ProfileDeletedEventHandler_INTERFACE_DEFINED__
#define __ICoreWebView2ProfileDeletedEventHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2ProfileDeletedEventHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ProfileDeletedEventHandler = {0xDF35055D,0x772E,0x4DBE,{0xB7,0x43,0x5F,0xBF,0x74,0xA2,0xB2,0x58}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DF35055D-772E-4DBE-B743-5FBF74A2B258")
    ICoreWebView2ProfileDeletedEventHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ ICoreWebView2Profile *sender,
            /* [in] */ IUnknown *args) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ProfileDeletedEventHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ProfileDeletedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ProfileDeletedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ProfileDeletedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProfileDeletedEventHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2ProfileDeletedEventHandler * This,
            /* [in] */ ICoreWebView2Profile *sender,
            /* [in] */ IUnknown *args);
        
        END_INTERFACE
    } ICoreWebView2ProfileDeletedEventHandlerVtbl;

    interface ICoreWebView2ProfileDeletedEventHandler
    {
        CONST_VTBL struct ICoreWebView2ProfileDeletedEventHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ProfileDeletedEventHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ProfileDeletedEventHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ProfileDeletedEventHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ProfileDeletedEventHandler_Invoke(This,sender,args)	\
    ( (This)->lpVtbl -> Invoke(This,sender,args) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ProfileDeletedEventHandler_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2RasterizationScaleChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2RasterizationScaleChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2RasterizationScaleChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2RasterizationScaleChangedEventHandler, Invoke)
        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 __ICoreWebView2ServerCertificateErrorDetectedEventArgs_INTERFACE_DEFINED__
#define __ICoreWebView2ServerCertificateErrorDetectedEventArgs_INTERFACE_DEFINED__

/* interface ICoreWebView2ServerCertificateErrorDetectedEventArgs */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ServerCertificateErrorDetectedEventArgs = {0x012193ED,0x7C13,0x48FF,{0x96,0x9D,0xA8,0x4C,0x1F,0x43,0x2A,0x14}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("012193ED-7C13-48FF-969D-A84C1F432A14")
    ICoreWebView2ServerCertificateErrorDetectedEventArgs : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ErrorStatus( 
            /* [retval][out] */ COREWEBVIEW2_WEB_ERROR_STATUS *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestUri( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ServerCertificate( 
            /* [retval][out] */ ICoreWebView2Certificate **value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Action( 
            /* [retval][out] */ COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Action( 
            /* [in] */ COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetDeferral( 
            /* [retval][out] */ ICoreWebView2Deferral **deferral) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ServerCertificateErrorDetectedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ServerCertificateErrorDetectedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ServerCertificateErrorDetectedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ServerCertificateErrorDetectedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ServerCertificateErrorDetectedEventArgs, get_ErrorStatus)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ErrorStatus )( 
            ICoreWebView2ServerCertificateErrorDetectedEventArgs * This,
            /* [retval][out] */ COREWEBVIEW2_WEB_ERROR_STATUS *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ServerCertificateErrorDetectedEventArgs, get_RequestUri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestUri )( 
            ICoreWebView2ServerCertificateErrorDetectedEventArgs * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ServerCertificateErrorDetectedEventArgs, get_ServerCertificate)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServerCertificate )( 
            ICoreWebView2ServerCertificateErrorDetectedEventArgs * This,
            /* [retval][out] */ ICoreWebView2Certificate **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ServerCertificateErrorDetectedEventArgs, get_Action)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Action )( 
            ICoreWebView2ServerCertificateErrorDetectedEventArgs * This,
            /* [retval][out] */ COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ServerCertificateErrorDetectedEventArgs, put_Action)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Action )( 
            ICoreWebView2ServerCertificateErrorDetectedEventArgs * This,
            /* [in] */ COREWEBVIEW2_SERVER_CERTIFICATE_ERROR_ACTION value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ServerCertificateErrorDetectedEventArgs, GetDeferral)
        HRESULT ( STDMETHODCALLTYPE *GetDeferral )( 
            ICoreWebView2ServerCertificateErrorDetectedEventArgs * This,
            /* [retval][out] */ ICoreWebView2Deferral **deferral);
        
        END_INTERFACE
    } ICoreWebView2ServerCertificateErrorDetectedEventArgsVtbl;

    interface ICoreWebView2ServerCertificateErrorDetectedEventArgs
    {
        CONST_VTBL struct ICoreWebView2ServerCertificateErrorDetectedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ServerCertificateErrorDetectedEventArgs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ServerCertificateErrorDetectedEventArgs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ServerCertificateErrorDetectedEventArgs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ServerCertificateErrorDetectedEventArgs_get_ErrorStatus(This,value)	\
    ( (This)->lpVtbl -> get_ErrorStatus(This,value) ) 

#define ICoreWebView2ServerCertificateErrorDetectedEventArgs_get_RequestUri(This,value)	\
    ( (This)->lpVtbl -> get_RequestUri(This,value) ) 

#define ICoreWebView2ServerCertificateErrorDetectedEventArgs_get_ServerCertificate(This,value)	\
    ( (This)->lpVtbl -> get_ServerCertificate(This,value) ) 

#define ICoreWebView2ServerCertificateErrorDetectedEventArgs_get_Action(This,value)	\
    ( (This)->lpVtbl -> get_Action(This,value) ) 

#define ICoreWebView2ServerCertificateErrorDetectedEventArgs_put_Action(This,value)	\
    ( (This)->lpVtbl -> put_Action(This,value) ) 

#define ICoreWebView2ServerCertificateErrorDetectedEventArgs_GetDeferral(This,deferral)	\
    ( (This)->lpVtbl -> GetDeferral(This,deferral) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ServerCertificateErrorDetectedEventArgs_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ServerCertificateErrorDetectedEventHandler_INTERFACE_DEFINED__
#define __ICoreWebView2ServerCertificateErrorDetectedEventHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2ServerCertificateErrorDetectedEventHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ServerCertificateErrorDetectedEventHandler = {0x969B3A26,0xD85E,0x4795,{0x81,0x99,0xFE,0xF5,0x73,0x44,0xDA,0x22}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("969B3A26-D85E-4795-8199-FEF57344DA22")
    ICoreWebView2ServerCertificateErrorDetectedEventHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ ICoreWebView2 *sender,
            /* [in] */ ICoreWebView2ServerCertificateErrorDetectedEventArgs *args) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ServerCertificateErrorDetectedEventHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ServerCertificateErrorDetectedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ServerCertificateErrorDetectedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ServerCertificateErrorDetectedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ServerCertificateErrorDetectedEventHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2ServerCertificateErrorDetectedEventHandler * This,
            /* [in] */ ICoreWebView2 *sender,
            /* [in] */ ICoreWebView2ServerCertificateErrorDetectedEventArgs *args);
        
        END_INTERFACE
    } ICoreWebView2ServerCertificateErrorDetectedEventHandlerVtbl;

    interface ICoreWebView2ServerCertificateErrorDetectedEventHandler
    {
        CONST_VTBL struct ICoreWebView2ServerCertificateErrorDetectedEventHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ServerCertificateErrorDetectedEventHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ServerCertificateErrorDetectedEventHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ServerCertificateErrorDetectedEventHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ServerCertificateErrorDetectedEventHandler_Invoke(This,sender,args)	\
    ( (This)->lpVtbl -> Invoke(This,sender,args) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ServerCertificateErrorDetectedEventHandler_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2SetPermissionStateCompletedHandler_INTERFACE_DEFINED__
#define __ICoreWebView2SetPermissionStateCompletedHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2SetPermissionStateCompletedHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2SetPermissionStateCompletedHandler = {0xfc77fb30,0x9c9e,0x4076,{0xb8,0xc7,0x76,0x44,0xa7,0x03,0xca,0x1b}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("fc77fb30-9c9e-4076-b8c7-7644a703ca1b")
    ICoreWebView2SetPermissionStateCompletedHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ HRESULT errorCode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2SetPermissionStateCompletedHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2SetPermissionStateCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2SetPermissionStateCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2SetPermissionStateCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2SetPermissionStateCompletedHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2SetPermissionStateCompletedHandler * This,
            /* [in] */ HRESULT errorCode);
        
        END_INTERFACE
    } ICoreWebView2SetPermissionStateCompletedHandlerVtbl;

    interface ICoreWebView2SetPermissionStateCompletedHandler
    {
        CONST_VTBL struct ICoreWebView2SetPermissionStateCompletedHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2SetPermissionStateCompletedHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2SetPermissionStateCompletedHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2SetPermissionStateCompletedHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2SetPermissionStateCompletedHandler_Invoke(This,errorCode)	\
    ( (This)->lpVtbl -> Invoke(This,errorCode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2SetPermissionStateCompletedHandler_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ScriptDialogOpeningEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ScriptDialogOpeningEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ScriptDialogOpeningEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ScriptDialogOpeningEventArgs, get_Uri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )( 
            ICoreWebView2ScriptDialogOpeningEventArgs * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ScriptDialogOpeningEventArgs, get_Kind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Kind )( 
            ICoreWebView2ScriptDialogOpeningEventArgs * This,
            /* [retval][out] */ COREWEBVIEW2_SCRIPT_DIALOG_KIND *kind);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ScriptDialogOpeningEventArgs, get_Message)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Message )( 
            ICoreWebView2ScriptDialogOpeningEventArgs * This,
            /* [retval][out] */ LPWSTR *message);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ScriptDialogOpeningEventArgs, Accept)
        HRESULT ( STDMETHODCALLTYPE *Accept )( 
            ICoreWebView2ScriptDialogOpeningEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ScriptDialogOpeningEventArgs, get_DefaultText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultText )( 
            ICoreWebView2ScriptDialogOpeningEventArgs * This,
            /* [retval][out] */ LPWSTR *defaultText);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ScriptDialogOpeningEventArgs, get_ResultText)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ResultText )( 
            ICoreWebView2ScriptDialogOpeningEventArgs * This,
            /* [retval][out] */ LPWSTR *resultText);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ScriptDialogOpeningEventArgs, put_ResultText)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_ResultText )( 
            ICoreWebView2ScriptDialogOpeningEventArgs * This,
            /* [in] */ LPCWSTR resultText);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ScriptDialogOpeningEventArgs, GetDeferral)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ScriptDialogOpeningEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ScriptDialogOpeningEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ScriptDialogOpeningEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ScriptDialogOpeningEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Settings * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Settings * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Settings * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsScriptEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsScriptEnabled )( 
            ICoreWebView2Settings * This,
            /* [retval][out] */ BOOL *isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsScriptEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsScriptEnabled )( 
            ICoreWebView2Settings * This,
            /* [in] */ BOOL isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsWebMessageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWebMessageEnabled )( 
            ICoreWebView2Settings * This,
            /* [retval][out] */ BOOL *isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsWebMessageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsWebMessageEnabled )( 
            ICoreWebView2Settings * This,
            /* [in] */ BOOL isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultScriptDialogsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings * This,
            /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultScriptDialogsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings * This,
            /* [in] */ BOOL areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsStatusBarEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStatusBarEnabled )( 
            ICoreWebView2Settings * This,
            /* [retval][out] */ BOOL *isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsStatusBarEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStatusBarEnabled )( 
            ICoreWebView2Settings * This,
            /* [in] */ BOOL isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDevToolsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDevToolsEnabled )( 
            ICoreWebView2Settings * This,
            /* [retval][out] */ BOOL *areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDevToolsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDevToolsEnabled )( 
            ICoreWebView2Settings * This,
            /* [in] */ BOOL areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultContextMenusEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultContextMenusEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreHostObjectsAllowed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreHostObjectsAllowed )( 
            ICoreWebView2Settings * This,
            /* [retval][out] */ BOOL *allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreHostObjectsAllowed)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreHostObjectsAllowed )( 
            ICoreWebView2Settings * This,
            /* [in] */ BOOL allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsZoomControlEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsZoomControlEnabled )( 
            ICoreWebView2Settings * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsZoomControlEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsZoomControlEnabled )( 
            ICoreWebView2Settings * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsBuiltInErrorPageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsBuiltInErrorPageEnabled)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Settings2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Settings2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Settings2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsScriptEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsScriptEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [retval][out] */ BOOL *isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsScriptEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsScriptEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [in] */ BOOL isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsWebMessageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWebMessageEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [retval][out] */ BOOL *isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsWebMessageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsWebMessageEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [in] */ BOOL isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultScriptDialogsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultScriptDialogsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [in] */ BOOL areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsStatusBarEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStatusBarEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [retval][out] */ BOOL *isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsStatusBarEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStatusBarEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [in] */ BOOL isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDevToolsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDevToolsEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [retval][out] */ BOOL *areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDevToolsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDevToolsEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [in] */ BOOL areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultContextMenusEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultContextMenusEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreHostObjectsAllowed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreHostObjectsAllowed )( 
            ICoreWebView2Settings2 * This,
            /* [retval][out] */ BOOL *allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreHostObjectsAllowed)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreHostObjectsAllowed )( 
            ICoreWebView2Settings2 * This,
            /* [in] */ BOOL allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsZoomControlEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsZoomControlEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsZoomControlEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsZoomControlEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsBuiltInErrorPageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsBuiltInErrorPageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings2 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, get_UserAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserAgent )( 
            ICoreWebView2Settings2 * This,
            /* [retval][out] */ LPWSTR *userAgent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, put_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Settings3 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Settings3 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Settings3 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsScriptEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsScriptEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [retval][out] */ BOOL *isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsScriptEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsScriptEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [in] */ BOOL isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsWebMessageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWebMessageEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [retval][out] */ BOOL *isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsWebMessageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsWebMessageEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [in] */ BOOL isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultScriptDialogsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultScriptDialogsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [in] */ BOOL areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsStatusBarEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStatusBarEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [retval][out] */ BOOL *isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsStatusBarEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStatusBarEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [in] */ BOOL isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDevToolsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDevToolsEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [retval][out] */ BOOL *areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDevToolsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDevToolsEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [in] */ BOOL areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultContextMenusEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultContextMenusEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreHostObjectsAllowed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreHostObjectsAllowed )( 
            ICoreWebView2Settings3 * This,
            /* [retval][out] */ BOOL *allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreHostObjectsAllowed)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreHostObjectsAllowed )( 
            ICoreWebView2Settings3 * This,
            /* [in] */ BOOL allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsZoomControlEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsZoomControlEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsZoomControlEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsZoomControlEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsBuiltInErrorPageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsBuiltInErrorPageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, get_UserAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserAgent )( 
            ICoreWebView2Settings3 * This,
            /* [retval][out] */ LPWSTR *userAgent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, put_UserAgent)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserAgent )( 
            ICoreWebView2Settings3 * This,
            /* [in] */ LPCWSTR userAgent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings3, get_AreBrowserAcceleratorKeysEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreBrowserAcceleratorKeysEnabled )( 
            ICoreWebView2Settings3 * This,
            /* [retval][out] */ BOOL *areBrowserAcceleratorKeysEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings3, put_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Settings4 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Settings4 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Settings4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsScriptEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsScriptEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [retval][out] */ BOOL *isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsScriptEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsScriptEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [in] */ BOOL isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsWebMessageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWebMessageEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [retval][out] */ BOOL *isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsWebMessageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsWebMessageEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [in] */ BOOL isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultScriptDialogsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultScriptDialogsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [in] */ BOOL areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsStatusBarEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStatusBarEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [retval][out] */ BOOL *isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsStatusBarEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStatusBarEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [in] */ BOOL isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDevToolsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDevToolsEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [retval][out] */ BOOL *areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDevToolsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDevToolsEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [in] */ BOOL areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultContextMenusEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultContextMenusEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreHostObjectsAllowed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreHostObjectsAllowed )( 
            ICoreWebView2Settings4 * This,
            /* [retval][out] */ BOOL *allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreHostObjectsAllowed)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreHostObjectsAllowed )( 
            ICoreWebView2Settings4 * This,
            /* [in] */ BOOL allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsZoomControlEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsZoomControlEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsZoomControlEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsZoomControlEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsBuiltInErrorPageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsBuiltInErrorPageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, get_UserAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserAgent )( 
            ICoreWebView2Settings4 * This,
            /* [retval][out] */ LPWSTR *userAgent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, put_UserAgent)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserAgent )( 
            ICoreWebView2Settings4 * This,
            /* [in] */ LPCWSTR userAgent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings3, get_AreBrowserAcceleratorKeysEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreBrowserAcceleratorKeysEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [retval][out] */ BOOL *areBrowserAcceleratorKeysEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings3, put_AreBrowserAcceleratorKeysEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreBrowserAcceleratorKeysEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [in] */ BOOL areBrowserAcceleratorKeysEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, get_IsPasswordAutosaveEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, put_IsPasswordAutosaveEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, get_IsGeneralAutofillEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsGeneralAutofillEnabled )( 
            ICoreWebView2Settings4 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, put_IsGeneralAutofillEnabled)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Settings5 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Settings5 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Settings5 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsScriptEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsScriptEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [retval][out] */ BOOL *isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsScriptEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsScriptEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [in] */ BOOL isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsWebMessageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWebMessageEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [retval][out] */ BOOL *isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsWebMessageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsWebMessageEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [in] */ BOOL isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultScriptDialogsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultScriptDialogsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [in] */ BOOL areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsStatusBarEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStatusBarEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [retval][out] */ BOOL *isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsStatusBarEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStatusBarEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [in] */ BOOL isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDevToolsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDevToolsEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [retval][out] */ BOOL *areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDevToolsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDevToolsEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [in] */ BOOL areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultContextMenusEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultContextMenusEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreHostObjectsAllowed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreHostObjectsAllowed )( 
            ICoreWebView2Settings5 * This,
            /* [retval][out] */ BOOL *allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreHostObjectsAllowed)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreHostObjectsAllowed )( 
            ICoreWebView2Settings5 * This,
            /* [in] */ BOOL allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsZoomControlEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsZoomControlEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsZoomControlEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsZoomControlEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsBuiltInErrorPageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsBuiltInErrorPageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, get_UserAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserAgent )( 
            ICoreWebView2Settings5 * This,
            /* [retval][out] */ LPWSTR *userAgent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, put_UserAgent)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserAgent )( 
            ICoreWebView2Settings5 * This,
            /* [in] */ LPCWSTR userAgent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings3, get_AreBrowserAcceleratorKeysEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreBrowserAcceleratorKeysEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [retval][out] */ BOOL *areBrowserAcceleratorKeysEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings3, put_AreBrowserAcceleratorKeysEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreBrowserAcceleratorKeysEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [in] */ BOOL areBrowserAcceleratorKeysEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, get_IsPasswordAutosaveEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, put_IsPasswordAutosaveEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, get_IsGeneralAutofillEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsGeneralAutofillEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, put_IsGeneralAutofillEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsGeneralAutofillEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings5, get_IsPinchZoomEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPinchZoomEnabled )( 
            ICoreWebView2Settings5 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings5, put_IsPinchZoomEnabled)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Settings6 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Settings6 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Settings6 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsScriptEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsScriptEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [retval][out] */ BOOL *isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsScriptEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsScriptEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [in] */ BOOL isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsWebMessageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWebMessageEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [retval][out] */ BOOL *isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsWebMessageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsWebMessageEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [in] */ BOOL isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultScriptDialogsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultScriptDialogsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [in] */ BOOL areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsStatusBarEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStatusBarEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [retval][out] */ BOOL *isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsStatusBarEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStatusBarEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [in] */ BOOL isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDevToolsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDevToolsEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [retval][out] */ BOOL *areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDevToolsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDevToolsEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [in] */ BOOL areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultContextMenusEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultContextMenusEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreHostObjectsAllowed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreHostObjectsAllowed )( 
            ICoreWebView2Settings6 * This,
            /* [retval][out] */ BOOL *allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreHostObjectsAllowed)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreHostObjectsAllowed )( 
            ICoreWebView2Settings6 * This,
            /* [in] */ BOOL allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsZoomControlEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsZoomControlEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsZoomControlEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsZoomControlEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsBuiltInErrorPageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsBuiltInErrorPageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, get_UserAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserAgent )( 
            ICoreWebView2Settings6 * This,
            /* [retval][out] */ LPWSTR *userAgent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, put_UserAgent)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserAgent )( 
            ICoreWebView2Settings6 * This,
            /* [in] */ LPCWSTR userAgent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings3, get_AreBrowserAcceleratorKeysEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreBrowserAcceleratorKeysEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [retval][out] */ BOOL *areBrowserAcceleratorKeysEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings3, put_AreBrowserAcceleratorKeysEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreBrowserAcceleratorKeysEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [in] */ BOOL areBrowserAcceleratorKeysEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, get_IsPasswordAutosaveEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, put_IsPasswordAutosaveEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, get_IsGeneralAutofillEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsGeneralAutofillEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, put_IsGeneralAutofillEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsGeneralAutofillEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings5, get_IsPinchZoomEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPinchZoomEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings5, put_IsPinchZoomEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPinchZoomEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings6, get_IsSwipeNavigationEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSwipeNavigationEnabled )( 
            ICoreWebView2Settings6 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings6, put_IsSwipeNavigationEnabled)
        /* [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 __ICoreWebView2Settings7_INTERFACE_DEFINED__
#define __ICoreWebView2Settings7_INTERFACE_DEFINED__

/* interface ICoreWebView2Settings7 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Settings7 = {0x488dc902,0x35ef,0x42d2,{0xbc,0x7d,0x94,0xb6,0x5c,0x4b,0xc4,0x9c}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("488dc902-35ef-42d2-bc7d-94b65c4bc49c")
    ICoreWebView2Settings7 : public ICoreWebView2Settings6
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_HiddenPdfToolbarItems( 
            /* [retval][out] */ COREWEBVIEW2_PDF_TOOLBAR_ITEMS *hidden_pdf_toolbar_items) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_HiddenPdfToolbarItems( 
            /* [in] */ COREWEBVIEW2_PDF_TOOLBAR_ITEMS hidden_pdf_toolbar_items) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Settings7Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Settings7 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Settings7 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsScriptEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsScriptEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ BOOL *isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsScriptEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsScriptEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ BOOL isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsWebMessageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWebMessageEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ BOOL *isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsWebMessageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsWebMessageEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ BOOL isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultScriptDialogsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultScriptDialogsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ BOOL areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsStatusBarEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStatusBarEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ BOOL *isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsStatusBarEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStatusBarEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ BOOL isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDevToolsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDevToolsEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ BOOL *areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDevToolsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDevToolsEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ BOOL areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultContextMenusEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultContextMenusEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreHostObjectsAllowed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreHostObjectsAllowed )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ BOOL *allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreHostObjectsAllowed)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreHostObjectsAllowed )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ BOOL allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsZoomControlEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsZoomControlEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsZoomControlEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsZoomControlEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsBuiltInErrorPageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsBuiltInErrorPageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, get_UserAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserAgent )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ LPWSTR *userAgent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, put_UserAgent)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserAgent )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ LPCWSTR userAgent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings3, get_AreBrowserAcceleratorKeysEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreBrowserAcceleratorKeysEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ BOOL *areBrowserAcceleratorKeysEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings3, put_AreBrowserAcceleratorKeysEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreBrowserAcceleratorKeysEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ BOOL areBrowserAcceleratorKeysEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, get_IsPasswordAutosaveEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, put_IsPasswordAutosaveEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, get_IsGeneralAutofillEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsGeneralAutofillEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, put_IsGeneralAutofillEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsGeneralAutofillEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings5, get_IsPinchZoomEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPinchZoomEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings5, put_IsPinchZoomEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPinchZoomEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings6, get_IsSwipeNavigationEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSwipeNavigationEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings6, put_IsSwipeNavigationEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsSwipeNavigationEnabled )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings7, get_HiddenPdfToolbarItems)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HiddenPdfToolbarItems )( 
            ICoreWebView2Settings7 * This,
            /* [retval][out] */ COREWEBVIEW2_PDF_TOOLBAR_ITEMS *hidden_pdf_toolbar_items);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings7, put_HiddenPdfToolbarItems)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HiddenPdfToolbarItems )( 
            ICoreWebView2Settings7 * This,
            /* [in] */ COREWEBVIEW2_PDF_TOOLBAR_ITEMS hidden_pdf_toolbar_items);
        
        END_INTERFACE
    } ICoreWebView2Settings7Vtbl;

    interface ICoreWebView2Settings7
    {
        CONST_VTBL struct ICoreWebView2Settings7Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Settings7_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Settings7_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Settings7_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Settings7_get_IsScriptEnabled(This,isScriptEnabled)	\
    ( (This)->lpVtbl -> get_IsScriptEnabled(This,isScriptEnabled) ) 

#define ICoreWebView2Settings7_put_IsScriptEnabled(This,isScriptEnabled)	\
    ( (This)->lpVtbl -> put_IsScriptEnabled(This,isScriptEnabled) ) 

#define ICoreWebView2Settings7_get_IsWebMessageEnabled(This,isWebMessageEnabled)	\
    ( (This)->lpVtbl -> get_IsWebMessageEnabled(This,isWebMessageEnabled) ) 

#define ICoreWebView2Settings7_put_IsWebMessageEnabled(This,isWebMessageEnabled)	\
    ( (This)->lpVtbl -> put_IsWebMessageEnabled(This,isWebMessageEnabled) ) 

#define ICoreWebView2Settings7_get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled)	\
    ( (This)->lpVtbl -> get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) ) 

#define ICoreWebView2Settings7_put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled)	\
    ( (This)->lpVtbl -> put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) ) 

#define ICoreWebView2Settings7_get_IsStatusBarEnabled(This,isStatusBarEnabled)	\
    ( (This)->lpVtbl -> get_IsStatusBarEnabled(This,isStatusBarEnabled) ) 

#define ICoreWebView2Settings7_put_IsStatusBarEnabled(This,isStatusBarEnabled)	\
    ( (This)->lpVtbl -> put_IsStatusBarEnabled(This,isStatusBarEnabled) ) 

#define ICoreWebView2Settings7_get_AreDevToolsEnabled(This,areDevToolsEnabled)	\
    ( (This)->lpVtbl -> get_AreDevToolsEnabled(This,areDevToolsEnabled) ) 

#define ICoreWebView2Settings7_put_AreDevToolsEnabled(This,areDevToolsEnabled)	\
    ( (This)->lpVtbl -> put_AreDevToolsEnabled(This,areDevToolsEnabled) ) 

#define ICoreWebView2Settings7_get_AreDefaultContextMenusEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_AreDefaultContextMenusEnabled(This,enabled) ) 

#define ICoreWebView2Settings7_put_AreDefaultContextMenusEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_AreDefaultContextMenusEnabled(This,enabled) ) 

#define ICoreWebView2Settings7_get_AreHostObjectsAllowed(This,allowed)	\
    ( (This)->lpVtbl -> get_AreHostObjectsAllowed(This,allowed) ) 

#define ICoreWebView2Settings7_put_AreHostObjectsAllowed(This,allowed)	\
    ( (This)->lpVtbl -> put_AreHostObjectsAllowed(This,allowed) ) 

#define ICoreWebView2Settings7_get_IsZoomControlEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_IsZoomControlEnabled(This,enabled) ) 

#define ICoreWebView2Settings7_put_IsZoomControlEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_IsZoomControlEnabled(This,enabled) ) 

#define ICoreWebView2Settings7_get_IsBuiltInErrorPageEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_IsBuiltInErrorPageEnabled(This,enabled) ) 

#define ICoreWebView2Settings7_put_IsBuiltInErrorPageEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_IsBuiltInErrorPageEnabled(This,enabled) ) 


#define ICoreWebView2Settings7_get_UserAgent(This,userAgent)	\
    ( (This)->lpVtbl -> get_UserAgent(This,userAgent) ) 

#define ICoreWebView2Settings7_put_UserAgent(This,userAgent)	\
    ( (This)->lpVtbl -> put_UserAgent(This,userAgent) ) 


#define ICoreWebView2Settings7_get_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled)	\
    ( (This)->lpVtbl -> get_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) ) 

#define ICoreWebView2Settings7_put_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled)	\
    ( (This)->lpVtbl -> put_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) ) 


#define ICoreWebView2Settings7_get_IsPasswordAutosaveEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsPasswordAutosaveEnabled(This,value) ) 

#define ICoreWebView2Settings7_put_IsPasswordAutosaveEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsPasswordAutosaveEnabled(This,value) ) 

#define ICoreWebView2Settings7_get_IsGeneralAutofillEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsGeneralAutofillEnabled(This,value) ) 

#define ICoreWebView2Settings7_put_IsGeneralAutofillEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsGeneralAutofillEnabled(This,value) ) 


#define ICoreWebView2Settings7_get_IsPinchZoomEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_IsPinchZoomEnabled(This,enabled) ) 

#define ICoreWebView2Settings7_put_IsPinchZoomEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_IsPinchZoomEnabled(This,enabled) ) 


#define ICoreWebView2Settings7_get_IsSwipeNavigationEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_IsSwipeNavigationEnabled(This,enabled) ) 

#define ICoreWebView2Settings7_put_IsSwipeNavigationEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_IsSwipeNavigationEnabled(This,enabled) ) 


#define ICoreWebView2Settings7_get_HiddenPdfToolbarItems(This,hidden_pdf_toolbar_items)	\
    ( (This)->lpVtbl -> get_HiddenPdfToolbarItems(This,hidden_pdf_toolbar_items) ) 

#define ICoreWebView2Settings7_put_HiddenPdfToolbarItems(This,hidden_pdf_toolbar_items)	\
    ( (This)->lpVtbl -> put_HiddenPdfToolbarItems(This,hidden_pdf_toolbar_items) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Settings7_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2Settings8_INTERFACE_DEFINED__
#define __ICoreWebView2Settings8_INTERFACE_DEFINED__

/* interface ICoreWebView2Settings8 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Settings8 = {0x9e6b0e8f,0x86ad,0x4e81,{0x81,0x47,0xa9,0xb5,0xed,0xb6,0x86,0x50}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9e6b0e8f-86ad-4e81-8147-a9b5edb68650")
    ICoreWebView2Settings8 : public ICoreWebView2Settings7
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsReputationCheckingRequired( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsReputationCheckingRequired( 
            /* [in] */ BOOL value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Settings8Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Settings8 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Settings8 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsScriptEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsScriptEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ BOOL *isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsScriptEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsScriptEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ BOOL isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsWebMessageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWebMessageEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ BOOL *isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsWebMessageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsWebMessageEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ BOOL isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultScriptDialogsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultScriptDialogsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ BOOL areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsStatusBarEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStatusBarEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ BOOL *isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsStatusBarEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStatusBarEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ BOOL isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDevToolsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDevToolsEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ BOOL *areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDevToolsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDevToolsEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ BOOL areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultContextMenusEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultContextMenusEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreHostObjectsAllowed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreHostObjectsAllowed )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ BOOL *allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreHostObjectsAllowed)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreHostObjectsAllowed )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ BOOL allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsZoomControlEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsZoomControlEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsZoomControlEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsZoomControlEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsBuiltInErrorPageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsBuiltInErrorPageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, get_UserAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserAgent )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ LPWSTR *userAgent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, put_UserAgent)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserAgent )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ LPCWSTR userAgent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings3, get_AreBrowserAcceleratorKeysEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreBrowserAcceleratorKeysEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ BOOL *areBrowserAcceleratorKeysEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings3, put_AreBrowserAcceleratorKeysEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreBrowserAcceleratorKeysEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ BOOL areBrowserAcceleratorKeysEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, get_IsPasswordAutosaveEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, put_IsPasswordAutosaveEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, get_IsGeneralAutofillEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsGeneralAutofillEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, put_IsGeneralAutofillEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsGeneralAutofillEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings5, get_IsPinchZoomEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPinchZoomEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings5, put_IsPinchZoomEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPinchZoomEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings6, get_IsSwipeNavigationEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSwipeNavigationEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings6, put_IsSwipeNavigationEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsSwipeNavigationEnabled )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings7, get_HiddenPdfToolbarItems)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HiddenPdfToolbarItems )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ COREWEBVIEW2_PDF_TOOLBAR_ITEMS *hidden_pdf_toolbar_items);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings7, put_HiddenPdfToolbarItems)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HiddenPdfToolbarItems )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ COREWEBVIEW2_PDF_TOOLBAR_ITEMS hidden_pdf_toolbar_items);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings8, get_IsReputationCheckingRequired)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsReputationCheckingRequired )( 
            ICoreWebView2Settings8 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings8, put_IsReputationCheckingRequired)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsReputationCheckingRequired )( 
            ICoreWebView2Settings8 * This,
            /* [in] */ BOOL value);
        
        END_INTERFACE
    } ICoreWebView2Settings8Vtbl;

    interface ICoreWebView2Settings8
    {
        CONST_VTBL struct ICoreWebView2Settings8Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Settings8_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Settings8_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Settings8_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Settings8_get_IsScriptEnabled(This,isScriptEnabled)	\
    ( (This)->lpVtbl -> get_IsScriptEnabled(This,isScriptEnabled) ) 

#define ICoreWebView2Settings8_put_IsScriptEnabled(This,isScriptEnabled)	\
    ( (This)->lpVtbl -> put_IsScriptEnabled(This,isScriptEnabled) ) 

#define ICoreWebView2Settings8_get_IsWebMessageEnabled(This,isWebMessageEnabled)	\
    ( (This)->lpVtbl -> get_IsWebMessageEnabled(This,isWebMessageEnabled) ) 

#define ICoreWebView2Settings8_put_IsWebMessageEnabled(This,isWebMessageEnabled)	\
    ( (This)->lpVtbl -> put_IsWebMessageEnabled(This,isWebMessageEnabled) ) 

#define ICoreWebView2Settings8_get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled)	\
    ( (This)->lpVtbl -> get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) ) 

#define ICoreWebView2Settings8_put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled)	\
    ( (This)->lpVtbl -> put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) ) 

#define ICoreWebView2Settings8_get_IsStatusBarEnabled(This,isStatusBarEnabled)	\
    ( (This)->lpVtbl -> get_IsStatusBarEnabled(This,isStatusBarEnabled) ) 

#define ICoreWebView2Settings8_put_IsStatusBarEnabled(This,isStatusBarEnabled)	\
    ( (This)->lpVtbl -> put_IsStatusBarEnabled(This,isStatusBarEnabled) ) 

#define ICoreWebView2Settings8_get_AreDevToolsEnabled(This,areDevToolsEnabled)	\
    ( (This)->lpVtbl -> get_AreDevToolsEnabled(This,areDevToolsEnabled) ) 

#define ICoreWebView2Settings8_put_AreDevToolsEnabled(This,areDevToolsEnabled)	\
    ( (This)->lpVtbl -> put_AreDevToolsEnabled(This,areDevToolsEnabled) ) 

#define ICoreWebView2Settings8_get_AreDefaultContextMenusEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_AreDefaultContextMenusEnabled(This,enabled) ) 

#define ICoreWebView2Settings8_put_AreDefaultContextMenusEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_AreDefaultContextMenusEnabled(This,enabled) ) 

#define ICoreWebView2Settings8_get_AreHostObjectsAllowed(This,allowed)	\
    ( (This)->lpVtbl -> get_AreHostObjectsAllowed(This,allowed) ) 

#define ICoreWebView2Settings8_put_AreHostObjectsAllowed(This,allowed)	\
    ( (This)->lpVtbl -> put_AreHostObjectsAllowed(This,allowed) ) 

#define ICoreWebView2Settings8_get_IsZoomControlEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_IsZoomControlEnabled(This,enabled) ) 

#define ICoreWebView2Settings8_put_IsZoomControlEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_IsZoomControlEnabled(This,enabled) ) 

#define ICoreWebView2Settings8_get_IsBuiltInErrorPageEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_IsBuiltInErrorPageEnabled(This,enabled) ) 

#define ICoreWebView2Settings8_put_IsBuiltInErrorPageEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_IsBuiltInErrorPageEnabled(This,enabled) ) 


#define ICoreWebView2Settings8_get_UserAgent(This,userAgent)	\
    ( (This)->lpVtbl -> get_UserAgent(This,userAgent) ) 

#define ICoreWebView2Settings8_put_UserAgent(This,userAgent)	\
    ( (This)->lpVtbl -> put_UserAgent(This,userAgent) ) 


#define ICoreWebView2Settings8_get_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled)	\
    ( (This)->lpVtbl -> get_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) ) 

#define ICoreWebView2Settings8_put_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled)	\
    ( (This)->lpVtbl -> put_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) ) 


#define ICoreWebView2Settings8_get_IsPasswordAutosaveEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsPasswordAutosaveEnabled(This,value) ) 

#define ICoreWebView2Settings8_put_IsPasswordAutosaveEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsPasswordAutosaveEnabled(This,value) ) 

#define ICoreWebView2Settings8_get_IsGeneralAutofillEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsGeneralAutofillEnabled(This,value) ) 

#define ICoreWebView2Settings8_put_IsGeneralAutofillEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsGeneralAutofillEnabled(This,value) ) 


#define ICoreWebView2Settings8_get_IsPinchZoomEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_IsPinchZoomEnabled(This,enabled) ) 

#define ICoreWebView2Settings8_put_IsPinchZoomEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_IsPinchZoomEnabled(This,enabled) ) 


#define ICoreWebView2Settings8_get_IsSwipeNavigationEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_IsSwipeNavigationEnabled(This,enabled) ) 

#define ICoreWebView2Settings8_put_IsSwipeNavigationEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_IsSwipeNavigationEnabled(This,enabled) ) 


#define ICoreWebView2Settings8_get_HiddenPdfToolbarItems(This,hidden_pdf_toolbar_items)	\
    ( (This)->lpVtbl -> get_HiddenPdfToolbarItems(This,hidden_pdf_toolbar_items) ) 

#define ICoreWebView2Settings8_put_HiddenPdfToolbarItems(This,hidden_pdf_toolbar_items)	\
    ( (This)->lpVtbl -> put_HiddenPdfToolbarItems(This,hidden_pdf_toolbar_items) ) 


#define ICoreWebView2Settings8_get_IsReputationCheckingRequired(This,value)	\
    ( (This)->lpVtbl -> get_IsReputationCheckingRequired(This,value) ) 

#define ICoreWebView2Settings8_put_IsReputationCheckingRequired(This,value)	\
    ( (This)->lpVtbl -> put_IsReputationCheckingRequired(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Settings8_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2Settings9_INTERFACE_DEFINED__
#define __ICoreWebView2Settings9_INTERFACE_DEFINED__

/* interface ICoreWebView2Settings9 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Settings9 = {0x0528A73B,0xE92D,0x49F4,{0x92,0x7A,0xE5,0x47,0xDD,0xDA,0xA3,0x7D}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0528A73B-E92D-49F4-927A-E547DDDAA37D")
    ICoreWebView2Settings9 : public ICoreWebView2Settings8
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsNonClientRegionSupportEnabled( 
            /* [retval][out] */ BOOL *enabled) = 0;
        
        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_IsNonClientRegionSupportEnabled( 
            /* [in] */ BOOL enabled) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2Settings9Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2Settings9 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2Settings9 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsScriptEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsScriptEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsScriptEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsScriptEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL isScriptEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsWebMessageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsWebMessageEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsWebMessageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsWebMessageEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL isWebMessageEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultScriptDialogsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultScriptDialogsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultScriptDialogsEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL areDefaultScriptDialogsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsStatusBarEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsStatusBarEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsStatusBarEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsStatusBarEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL isStatusBarEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDevToolsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDevToolsEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDevToolsEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDevToolsEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL areDevToolsEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreDefaultContextMenusEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreDefaultContextMenusEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreDefaultContextMenusEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_AreHostObjectsAllowed)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreHostObjectsAllowed )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_AreHostObjectsAllowed)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreHostObjectsAllowed )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL allowed);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsZoomControlEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsZoomControlEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsZoomControlEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsZoomControlEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, get_IsBuiltInErrorPageEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings, put_IsBuiltInErrorPageEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsBuiltInErrorPageEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, get_UserAgent)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_UserAgent )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ LPWSTR *userAgent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings2, put_UserAgent)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_UserAgent )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ LPCWSTR userAgent);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings3, get_AreBrowserAcceleratorKeysEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AreBrowserAcceleratorKeysEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *areBrowserAcceleratorKeysEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings3, put_AreBrowserAcceleratorKeysEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_AreBrowserAcceleratorKeysEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL areBrowserAcceleratorKeysEnabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, get_IsPasswordAutosaveEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, put_IsPasswordAutosaveEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPasswordAutosaveEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, get_IsGeneralAutofillEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsGeneralAutofillEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings4, put_IsGeneralAutofillEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsGeneralAutofillEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings5, get_IsPinchZoomEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPinchZoomEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings5, put_IsPinchZoomEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPinchZoomEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings6, get_IsSwipeNavigationEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsSwipeNavigationEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings6, put_IsSwipeNavigationEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsSwipeNavigationEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings7, get_HiddenPdfToolbarItems)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HiddenPdfToolbarItems )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ COREWEBVIEW2_PDF_TOOLBAR_ITEMS *hidden_pdf_toolbar_items);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings7, put_HiddenPdfToolbarItems)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_HiddenPdfToolbarItems )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ COREWEBVIEW2_PDF_TOOLBAR_ITEMS hidden_pdf_toolbar_items);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings8, get_IsReputationCheckingRequired)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsReputationCheckingRequired )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings8, put_IsReputationCheckingRequired)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsReputationCheckingRequired )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings9, get_IsNonClientRegionSupportEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsNonClientRegionSupportEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [retval][out] */ BOOL *enabled);
        
        DECLSPEC_XFGVIRT(ICoreWebView2Settings9, put_IsNonClientRegionSupportEnabled)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsNonClientRegionSupportEnabled )( 
            ICoreWebView2Settings9 * This,
            /* [in] */ BOOL enabled);
        
        END_INTERFACE
    } ICoreWebView2Settings9Vtbl;

    interface ICoreWebView2Settings9
    {
        CONST_VTBL struct ICoreWebView2Settings9Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2Settings9_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2Settings9_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2Settings9_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2Settings9_get_IsScriptEnabled(This,isScriptEnabled)	\
    ( (This)->lpVtbl -> get_IsScriptEnabled(This,isScriptEnabled) ) 

#define ICoreWebView2Settings9_put_IsScriptEnabled(This,isScriptEnabled)	\
    ( (This)->lpVtbl -> put_IsScriptEnabled(This,isScriptEnabled) ) 

#define ICoreWebView2Settings9_get_IsWebMessageEnabled(This,isWebMessageEnabled)	\
    ( (This)->lpVtbl -> get_IsWebMessageEnabled(This,isWebMessageEnabled) ) 

#define ICoreWebView2Settings9_put_IsWebMessageEnabled(This,isWebMessageEnabled)	\
    ( (This)->lpVtbl -> put_IsWebMessageEnabled(This,isWebMessageEnabled) ) 

#define ICoreWebView2Settings9_get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled)	\
    ( (This)->lpVtbl -> get_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) ) 

#define ICoreWebView2Settings9_put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled)	\
    ( (This)->lpVtbl -> put_AreDefaultScriptDialogsEnabled(This,areDefaultScriptDialogsEnabled) ) 

#define ICoreWebView2Settings9_get_IsStatusBarEnabled(This,isStatusBarEnabled)	\
    ( (This)->lpVtbl -> get_IsStatusBarEnabled(This,isStatusBarEnabled) ) 

#define ICoreWebView2Settings9_put_IsStatusBarEnabled(This,isStatusBarEnabled)	\
    ( (This)->lpVtbl -> put_IsStatusBarEnabled(This,isStatusBarEnabled) ) 

#define ICoreWebView2Settings9_get_AreDevToolsEnabled(This,areDevToolsEnabled)	\
    ( (This)->lpVtbl -> get_AreDevToolsEnabled(This,areDevToolsEnabled) ) 

#define ICoreWebView2Settings9_put_AreDevToolsEnabled(This,areDevToolsEnabled)	\
    ( (This)->lpVtbl -> put_AreDevToolsEnabled(This,areDevToolsEnabled) ) 

#define ICoreWebView2Settings9_get_AreDefaultContextMenusEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_AreDefaultContextMenusEnabled(This,enabled) ) 

#define ICoreWebView2Settings9_put_AreDefaultContextMenusEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_AreDefaultContextMenusEnabled(This,enabled) ) 

#define ICoreWebView2Settings9_get_AreHostObjectsAllowed(This,allowed)	\
    ( (This)->lpVtbl -> get_AreHostObjectsAllowed(This,allowed) ) 

#define ICoreWebView2Settings9_put_AreHostObjectsAllowed(This,allowed)	\
    ( (This)->lpVtbl -> put_AreHostObjectsAllowed(This,allowed) ) 

#define ICoreWebView2Settings9_get_IsZoomControlEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_IsZoomControlEnabled(This,enabled) ) 

#define ICoreWebView2Settings9_put_IsZoomControlEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_IsZoomControlEnabled(This,enabled) ) 

#define ICoreWebView2Settings9_get_IsBuiltInErrorPageEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_IsBuiltInErrorPageEnabled(This,enabled) ) 

#define ICoreWebView2Settings9_put_IsBuiltInErrorPageEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_IsBuiltInErrorPageEnabled(This,enabled) ) 


#define ICoreWebView2Settings9_get_UserAgent(This,userAgent)	\
    ( (This)->lpVtbl -> get_UserAgent(This,userAgent) ) 

#define ICoreWebView2Settings9_put_UserAgent(This,userAgent)	\
    ( (This)->lpVtbl -> put_UserAgent(This,userAgent) ) 


#define ICoreWebView2Settings9_get_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled)	\
    ( (This)->lpVtbl -> get_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) ) 

#define ICoreWebView2Settings9_put_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled)	\
    ( (This)->lpVtbl -> put_AreBrowserAcceleratorKeysEnabled(This,areBrowserAcceleratorKeysEnabled) ) 


#define ICoreWebView2Settings9_get_IsPasswordAutosaveEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsPasswordAutosaveEnabled(This,value) ) 

#define ICoreWebView2Settings9_put_IsPasswordAutosaveEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsPasswordAutosaveEnabled(This,value) ) 

#define ICoreWebView2Settings9_get_IsGeneralAutofillEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsGeneralAutofillEnabled(This,value) ) 

#define ICoreWebView2Settings9_put_IsGeneralAutofillEnabled(This,value)	\
    ( (This)->lpVtbl -> put_IsGeneralAutofillEnabled(This,value) ) 


#define ICoreWebView2Settings9_get_IsPinchZoomEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_IsPinchZoomEnabled(This,enabled) ) 

#define ICoreWebView2Settings9_put_IsPinchZoomEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_IsPinchZoomEnabled(This,enabled) ) 


#define ICoreWebView2Settings9_get_IsSwipeNavigationEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_IsSwipeNavigationEnabled(This,enabled) ) 

#define ICoreWebView2Settings9_put_IsSwipeNavigationEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_IsSwipeNavigationEnabled(This,enabled) ) 


#define ICoreWebView2Settings9_get_HiddenPdfToolbarItems(This,hidden_pdf_toolbar_items)	\
    ( (This)->lpVtbl -> get_HiddenPdfToolbarItems(This,hidden_pdf_toolbar_items) ) 

#define ICoreWebView2Settings9_put_HiddenPdfToolbarItems(This,hidden_pdf_toolbar_items)	\
    ( (This)->lpVtbl -> put_HiddenPdfToolbarItems(This,hidden_pdf_toolbar_items) ) 


#define ICoreWebView2Settings9_get_IsReputationCheckingRequired(This,value)	\
    ( (This)->lpVtbl -> get_IsReputationCheckingRequired(This,value) ) 

#define ICoreWebView2Settings9_put_IsReputationCheckingRequired(This,value)	\
    ( (This)->lpVtbl -> put_IsReputationCheckingRequired(This,value) ) 


#define ICoreWebView2Settings9_get_IsNonClientRegionSupportEnabled(This,enabled)	\
    ( (This)->lpVtbl -> get_IsNonClientRegionSupportEnabled(This,enabled) ) 

#define ICoreWebView2Settings9_put_IsNonClientRegionSupportEnabled(This,enabled)	\
    ( (This)->lpVtbl -> put_IsNonClientRegionSupportEnabled(This,enabled) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2Settings9_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2SharedBuffer_INTERFACE_DEFINED__
#define __ICoreWebView2SharedBuffer_INTERFACE_DEFINED__

/* interface ICoreWebView2SharedBuffer */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2SharedBuffer = {0xB747A495,0x0C6F,0x449E,{0x97,0xB8,0x2F,0x81,0xE9,0xD6,0xAB,0x43}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B747A495-0C6F-449E-97B8-2F81E9D6AB43")
    ICoreWebView2SharedBuffer : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
            /* [retval][out] */ UINT64 *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Buffer( 
            /* [retval][out] */ BYTE **value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE OpenStream( 
            /* [retval][out] */ IStream **value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_FileMappingHandle( 
            /* [retval][out] */ HANDLE *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2SharedBufferVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2SharedBuffer * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2SharedBuffer * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2SharedBuffer * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2SharedBuffer, get_Size)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Size )( 
            ICoreWebView2SharedBuffer * This,
            /* [retval][out] */ UINT64 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2SharedBuffer, get_Buffer)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Buffer )( 
            ICoreWebView2SharedBuffer * This,
            /* [retval][out] */ BYTE **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2SharedBuffer, OpenStream)
        HRESULT ( STDMETHODCALLTYPE *OpenStream )( 
            ICoreWebView2SharedBuffer * This,
            /* [retval][out] */ IStream **value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2SharedBuffer, get_FileMappingHandle)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_FileMappingHandle )( 
            ICoreWebView2SharedBuffer * This,
            /* [retval][out] */ HANDLE *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2SharedBuffer, Close)
        HRESULT ( STDMETHODCALLTYPE *Close )( 
            ICoreWebView2SharedBuffer * This);
        
        END_INTERFACE
    } ICoreWebView2SharedBufferVtbl;

    interface ICoreWebView2SharedBuffer
    {
        CONST_VTBL struct ICoreWebView2SharedBufferVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2SharedBuffer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2SharedBuffer_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2SharedBuffer_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2SharedBuffer_get_Size(This,value)	\
    ( (This)->lpVtbl -> get_Size(This,value) ) 

#define ICoreWebView2SharedBuffer_get_Buffer(This,value)	\
    ( (This)->lpVtbl -> get_Buffer(This,value) ) 

#define ICoreWebView2SharedBuffer_OpenStream(This,value)	\
    ( (This)->lpVtbl -> OpenStream(This,value) ) 

#define ICoreWebView2SharedBuffer_get_FileMappingHandle(This,value)	\
    ( (This)->lpVtbl -> get_FileMappingHandle(This,value) ) 

#define ICoreWebView2SharedBuffer_Close(This)	\
    ( (This)->lpVtbl -> Close(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2SharedBuffer_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2SourceChangedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2SourceChangedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2SourceChangedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2SourceChangedEventArgs, get_IsNewDocument)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2SourceChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2SourceChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2SourceChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2SourceChangedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2StateChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2StateChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2StateChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2StateChangedEventHandler, Invoke)
        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 __ICoreWebView2StatusBarTextChangedEventHandler_INTERFACE_DEFINED__
#define __ICoreWebView2StatusBarTextChangedEventHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2StatusBarTextChangedEventHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2StatusBarTextChangedEventHandler = {0xA5E3B0D0,0x10DF,0x4156,{0xBF,0xAD,0x3B,0x43,0x86,0x7A,0xCA,0xC6}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A5E3B0D0-10DF-4156-BFAD-3B43867ACAC6")
    ICoreWebView2StatusBarTextChangedEventHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ ICoreWebView2 *sender,
            /* [in] */ IUnknown *args) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2StatusBarTextChangedEventHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2StatusBarTextChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2StatusBarTextChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2StatusBarTextChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2StatusBarTextChangedEventHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2StatusBarTextChangedEventHandler * This,
            /* [in] */ ICoreWebView2 *sender,
            /* [in] */ IUnknown *args);
        
        END_INTERFACE
    } ICoreWebView2StatusBarTextChangedEventHandlerVtbl;

    interface ICoreWebView2StatusBarTextChangedEventHandler
    {
        CONST_VTBL struct ICoreWebView2StatusBarTextChangedEventHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2StatusBarTextChangedEventHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2StatusBarTextChangedEventHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2StatusBarTextChangedEventHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2StatusBarTextChangedEventHandler_Invoke(This,sender,args)	\
    ( (This)->lpVtbl -> Invoke(This,sender,args) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2StatusBarTextChangedEventHandler_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2TrySuspendCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2TrySuspendCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2TrySuspendCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2TrySuspendCompletedHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2WebMessageReceivedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2WebMessageReceivedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2WebMessageReceivedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebMessageReceivedEventArgs, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2WebMessageReceivedEventArgs * This,
            /* [retval][out] */ LPWSTR *source);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebMessageReceivedEventArgs, get_WebMessageAsJson)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WebMessageAsJson )( 
            ICoreWebView2WebMessageReceivedEventArgs * This,
            /* [retval][out] */ LPWSTR *webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebMessageReceivedEventArgs, TryGetWebMessageAsString)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2WebMessageReceivedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2WebMessageReceivedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2WebMessageReceivedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebMessageReceivedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2WebResourceRequest * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2WebResourceRequest * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2WebResourceRequest * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequest, get_Uri)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Uri )( 
            ICoreWebView2WebResourceRequest * This,
            /* [retval][out] */ LPWSTR *uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequest, put_Uri)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Uri )( 
            ICoreWebView2WebResourceRequest * This,
            /* [in] */ LPCWSTR uri);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequest, get_Method)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Method )( 
            ICoreWebView2WebResourceRequest * This,
            /* [retval][out] */ LPWSTR *method);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequest, put_Method)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Method )( 
            ICoreWebView2WebResourceRequest * This,
            /* [in] */ LPCWSTR method);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequest, get_Content)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Content )( 
            ICoreWebView2WebResourceRequest * This,
            /* [retval][out] */ IStream **content);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequest, put_Content)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Content )( 
            ICoreWebView2WebResourceRequest * This,
            /* [in] */ IStream *content);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequest, get_Headers)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2WebResourceRequestedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2WebResourceRequestedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2WebResourceRequestedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequestedEventArgs, get_Request)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Request )( 
            ICoreWebView2WebResourceRequestedEventArgs * This,
            /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequestedEventArgs, get_Response)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Response )( 
            ICoreWebView2WebResourceRequestedEventArgs * This,
            /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequestedEventArgs, put_Response)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Response )( 
            ICoreWebView2WebResourceRequestedEventArgs * This,
            /* [in] */ ICoreWebView2WebResourceResponse *response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequestedEventArgs, GetDeferral)
        HRESULT ( STDMETHODCALLTYPE *GetDeferral )( 
            ICoreWebView2WebResourceRequestedEventArgs * This,
            /* [retval][out] */ ICoreWebView2Deferral **deferral);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequestedEventArgs, get_ResourceContext)
        /* [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 __ICoreWebView2WebResourceRequestedEventArgs2_INTERFACE_DEFINED__
#define __ICoreWebView2WebResourceRequestedEventArgs2_INTERFACE_DEFINED__

/* interface ICoreWebView2WebResourceRequestedEventArgs2 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2WebResourceRequestedEventArgs2 = {0x9C562C24,0xB219,0x4D7F,{0x92,0xF6,0xB1,0x87,0xFB,0xBA,0xDD,0x56}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9C562C24-B219-4D7F-92F6-B187FBBADD56")
    ICoreWebView2WebResourceRequestedEventArgs2 : public ICoreWebView2WebResourceRequestedEventArgs
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RequestedSourceKind( 
            /* [retval][out] */ COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS *requestedSourceKind) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2WebResourceRequestedEventArgs2Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2WebResourceRequestedEventArgs2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2WebResourceRequestedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2WebResourceRequestedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequestedEventArgs, get_Request)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Request )( 
            ICoreWebView2WebResourceRequestedEventArgs2 * This,
            /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequestedEventArgs, get_Response)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Response )( 
            ICoreWebView2WebResourceRequestedEventArgs2 * This,
            /* [retval][out] */ ICoreWebView2WebResourceResponse **response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequestedEventArgs, put_Response)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Response )( 
            ICoreWebView2WebResourceRequestedEventArgs2 * This,
            /* [in] */ ICoreWebView2WebResourceResponse *response);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequestedEventArgs, GetDeferral)
        HRESULT ( STDMETHODCALLTYPE *GetDeferral )( 
            ICoreWebView2WebResourceRequestedEventArgs2 * This,
            /* [retval][out] */ ICoreWebView2Deferral **deferral);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequestedEventArgs, get_ResourceContext)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ResourceContext )( 
            ICoreWebView2WebResourceRequestedEventArgs2 * This,
            /* [retval][out] */ COREWEBVIEW2_WEB_RESOURCE_CONTEXT *context);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequestedEventArgs2, get_RequestedSourceKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RequestedSourceKind )( 
            ICoreWebView2WebResourceRequestedEventArgs2 * This,
            /* [retval][out] */ COREWEBVIEW2_WEB_RESOURCE_REQUEST_SOURCE_KINDS *requestedSourceKind);
        
        END_INTERFACE
    } ICoreWebView2WebResourceRequestedEventArgs2Vtbl;

    interface ICoreWebView2WebResourceRequestedEventArgs2
    {
        CONST_VTBL struct ICoreWebView2WebResourceRequestedEventArgs2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2WebResourceRequestedEventArgs2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2WebResourceRequestedEventArgs2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2WebResourceRequestedEventArgs2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2WebResourceRequestedEventArgs2_get_Request(This,request)	\
    ( (This)->lpVtbl -> get_Request(This,request) ) 

#define ICoreWebView2WebResourceRequestedEventArgs2_get_Response(This,response)	\
    ( (This)->lpVtbl -> get_Response(This,response) ) 

#define ICoreWebView2WebResourceRequestedEventArgs2_put_Response(This,response)	\
    ( (This)->lpVtbl -> put_Response(This,response) ) 

#define ICoreWebView2WebResourceRequestedEventArgs2_GetDeferral(This,deferral)	\
    ( (This)->lpVtbl -> GetDeferral(This,deferral) ) 

#define ICoreWebView2WebResourceRequestedEventArgs2_get_ResourceContext(This,context)	\
    ( (This)->lpVtbl -> get_ResourceContext(This,context) ) 


#define ICoreWebView2WebResourceRequestedEventArgs2_get_RequestedSourceKind(This,requestedSourceKind)	\
    ( (This)->lpVtbl -> get_RequestedSourceKind(This,requestedSourceKind) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2WebResourceRequestedEventArgs2_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2WebResourceRequestedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2WebResourceRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2WebResourceRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceRequestedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2WebResourceResponse * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2WebResourceResponse * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2WebResourceResponse * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceResponse, get_Content)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Content )( 
            ICoreWebView2WebResourceResponse * This,
            /* [retval][out] */ IStream **content);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceResponse, put_Content)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_Content )( 
            ICoreWebView2WebResourceResponse * This,
            /* [in] */ IStream *content);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceResponse, get_Headers)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Headers )( 
            ICoreWebView2WebResourceResponse * This,
            /* [retval][out] */ ICoreWebView2HttpResponseHeaders **headers);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceResponse, get_StatusCode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusCode )( 
            ICoreWebView2WebResourceResponse * This,
            /* [retval][out] */ int *statusCode);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceResponse, put_StatusCode)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_StatusCode )( 
            ICoreWebView2WebResourceResponse * This,
            /* [in] */ int statusCode);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceResponse, get_ReasonPhrase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReasonPhrase )( 
            ICoreWebView2WebResourceResponse * This,
            /* [retval][out] */ LPWSTR *reasonPhrase);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceResponse, put_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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2WebResourceResponseReceivedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2WebResourceResponseReceivedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2WebResourceResponseReceivedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceResponseReceivedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2WebResourceResponseReceivedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2WebResourceResponseReceivedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2WebResourceResponseReceivedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceResponseReceivedEventArgs, get_Request)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Request )( 
            ICoreWebView2WebResourceResponseReceivedEventArgs * This,
            /* [retval][out] */ ICoreWebView2WebResourceRequest **request);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceResponseReceivedEventArgs, get_Response)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2WebResourceResponseView * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2WebResourceResponseView * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2WebResourceResponseView * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceResponseView, get_Headers)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Headers )( 
            ICoreWebView2WebResourceResponseView * This,
            /* [retval][out] */ ICoreWebView2HttpResponseHeaders **headers);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceResponseView, get_StatusCode)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_StatusCode )( 
            ICoreWebView2WebResourceResponseView * This,
            /* [retval][out] */ int *statusCode);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceResponseView, get_ReasonPhrase)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReasonPhrase )( 
            ICoreWebView2WebResourceResponseView * This,
            /* [retval][out] */ LPWSTR *reasonPhrase);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceResponseView, GetContent)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2WebResourceResponseViewGetContentCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2WebResourceResponseViewGetContentCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2WebResourceResponseViewGetContentCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebResourceResponseViewGetContentCompletedHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2WindowCloseRequestedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2WindowCloseRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2WindowCloseRequestedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WindowCloseRequestedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2WindowFeatures * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2WindowFeatures * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2WindowFeatures * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WindowFeatures, get_HasPosition)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasPosition )( 
            ICoreWebView2WindowFeatures * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WindowFeatures, get_HasSize)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasSize )( 
            ICoreWebView2WindowFeatures * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WindowFeatures, get_Left)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            ICoreWebView2WindowFeatures * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WindowFeatures, get_Top)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            ICoreWebView2WindowFeatures * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WindowFeatures, get_Height)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            ICoreWebView2WindowFeatures * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WindowFeatures, get_Width)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            ICoreWebView2WindowFeatures * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WindowFeatures, get_ShouldDisplayMenuBar)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldDisplayMenuBar )( 
            ICoreWebView2WindowFeatures * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WindowFeatures, get_ShouldDisplayStatus)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldDisplayStatus )( 
            ICoreWebView2WindowFeatures * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WindowFeatures, get_ShouldDisplayToolbar)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShouldDisplayToolbar )( 
            ICoreWebView2WindowFeatures * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WindowFeatures, get_ShouldDisplayScrollBars)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ZoomFactorChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ZoomFactorChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ZoomFactorChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ZoomFactorChangedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2IsMutedChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2IsMutedChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2IsMutedChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2IsMutedChangedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2IsDocumentPlayingAudioChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2IsDocumentPlayingAudioChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2IsDocumentPlayingAudioChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2IsDocumentPlayingAudioChangedEventHandler, Invoke)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ProcessInfo * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ProcessInfo * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ProcessInfo * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessInfo, get_ProcessId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProcessId )( 
            ICoreWebView2ProcessInfo * This,
            /* [retval][out] */ INT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessInfo, get_Kind)
        /* [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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ProcessInfoCollection * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ProcessInfoCollection * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ProcessInfoCollection * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessInfoCollection, get_Count)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICoreWebView2ProcessInfoCollection * This,
            /* [retval][out] */ UINT *count);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessInfoCollection, GetValueAtIndex)
        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
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ProcessInfosChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ProcessInfosChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ProcessInfosChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProcessInfosChangedEventHandler, Invoke)
        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__ */


#ifndef __ICoreWebView2FaviconChangedEventHandler_INTERFACE_DEFINED__
#define __ICoreWebView2FaviconChangedEventHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2FaviconChangedEventHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2FaviconChangedEventHandler = {0x2913DA94,0x833D,0x4DE0,{0x8D,0xCA,0x90,0x0F,0xC5,0x24,0xA1,0xA4}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2913DA94-833D-4DE0-8DCA-900FC524A1A4")
    ICoreWebView2FaviconChangedEventHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ ICoreWebView2 *sender,
            /* [in] */ IUnknown *args) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2FaviconChangedEventHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2FaviconChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2FaviconChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2FaviconChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2FaviconChangedEventHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2FaviconChangedEventHandler * This,
            /* [in] */ ICoreWebView2 *sender,
            /* [in] */ IUnknown *args);
        
        END_INTERFACE
    } ICoreWebView2FaviconChangedEventHandlerVtbl;

    interface ICoreWebView2FaviconChangedEventHandler
    {
        CONST_VTBL struct ICoreWebView2FaviconChangedEventHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2FaviconChangedEventHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2FaviconChangedEventHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2FaviconChangedEventHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2FaviconChangedEventHandler_Invoke(This,sender,args)	\
    ( (This)->lpVtbl -> Invoke(This,sender,args) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2FaviconChangedEventHandler_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2GetFaviconCompletedHandler_INTERFACE_DEFINED__
#define __ICoreWebView2GetFaviconCompletedHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2GetFaviconCompletedHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2GetFaviconCompletedHandler = {0xA2508329,0x7DA8,0x49D7,{0x8C,0x05,0xFA,0x12,0x5E,0x4A,0xEE,0x8D}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A2508329-7DA8-49D7-8C05-FA125E4AEE8D")
    ICoreWebView2GetFaviconCompletedHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ HRESULT errorCode,
            /* [in] */ IStream *faviconStream) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2GetFaviconCompletedHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2GetFaviconCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2GetFaviconCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2GetFaviconCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2GetFaviconCompletedHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2GetFaviconCompletedHandler * This,
            /* [in] */ HRESULT errorCode,
            /* [in] */ IStream *faviconStream);
        
        END_INTERFACE
    } ICoreWebView2GetFaviconCompletedHandlerVtbl;

    interface ICoreWebView2GetFaviconCompletedHandler
    {
        CONST_VTBL struct ICoreWebView2GetFaviconCompletedHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2GetFaviconCompletedHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2GetFaviconCompletedHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2GetFaviconCompletedHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2GetFaviconCompletedHandler_Invoke(This,errorCode,faviconStream)	\
    ( (This)->lpVtbl -> Invoke(This,errorCode,faviconStream) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2GetFaviconCompletedHandler_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_INTERFACE_DEFINED__
#define __ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2ProfileAddBrowserExtensionCompletedHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ProfileAddBrowserExtensionCompletedHandler = {0xDF1AAB27,0x82B9,0x4AB6,{0xAA,0xE8,0x01,0x7A,0x49,0x39,0x8C,0x14}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DF1AAB27-82B9-4AB6-AAE8-017A49398C14")
    ICoreWebView2ProfileAddBrowserExtensionCompletedHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ HRESULT errorCode,
            /* [in] */ ICoreWebView2BrowserExtension *extension) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ProfileAddBrowserExtensionCompletedHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ProfileAddBrowserExtensionCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ProfileAddBrowserExtensionCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ProfileAddBrowserExtensionCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProfileAddBrowserExtensionCompletedHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2ProfileAddBrowserExtensionCompletedHandler * This,
            /* [in] */ HRESULT errorCode,
            /* [in] */ ICoreWebView2BrowserExtension *extension);
        
        END_INTERFACE
    } ICoreWebView2ProfileAddBrowserExtensionCompletedHandlerVtbl;

    interface ICoreWebView2ProfileAddBrowserExtensionCompletedHandler
    {
        CONST_VTBL struct ICoreWebView2ProfileAddBrowserExtensionCompletedHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_Invoke(This,errorCode,extension)	\
    ( (This)->lpVtbl -> Invoke(This,errorCode,extension) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ProfileAddBrowserExtensionCompletedHandler_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_INTERFACE_DEFINED__
#define __ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler = {0xFCE16A1C,0xF107,0x4601,{0x8B,0x75,0xFC,0x49,0x40,0xAE,0x25,0xD0}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FCE16A1C-F107-4601-8B75-FC4940AE25D0")
    ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ HRESULT errorCode,
            /* [in] */ ICoreWebView2BrowserExtensionList *extensionList) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ProfileGetBrowserExtensionsCompletedHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler * This,
            /* [in] */ HRESULT errorCode,
            /* [in] */ ICoreWebView2BrowserExtensionList *extensionList);
        
        END_INTERFACE
    } ICoreWebView2ProfileGetBrowserExtensionsCompletedHandlerVtbl;

    interface ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler
    {
        CONST_VTBL struct ICoreWebView2ProfileGetBrowserExtensionsCompletedHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_Invoke(This,errorCode,extensionList)	\
    ( (This)->lpVtbl -> Invoke(This,errorCode,extensionList) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ProfileGetBrowserExtensionsCompletedHandler_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2BrowserExtensionList_INTERFACE_DEFINED__
#define __ICoreWebView2BrowserExtensionList_INTERFACE_DEFINED__

/* interface ICoreWebView2BrowserExtensionList */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2BrowserExtensionList = {0x2EF3D2DC,0xBD5F,0x4F4D,{0x90,0xAF,0xFD,0x67,0x79,0x8F,0x0C,0x2F}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2EF3D2DC-BD5F-4F4D-90AF-FD67798F0C2F")
    ICoreWebView2BrowserExtensionList : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ UINT *count) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetValueAtIndex( 
            /* [in] */ UINT index,
            /* [retval][out] */ ICoreWebView2BrowserExtension **extension) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2BrowserExtensionListVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2BrowserExtensionList * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2BrowserExtensionList * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2BrowserExtensionList * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BrowserExtensionList, get_Count)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICoreWebView2BrowserExtensionList * This,
            /* [retval][out] */ UINT *count);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BrowserExtensionList, GetValueAtIndex)
        HRESULT ( STDMETHODCALLTYPE *GetValueAtIndex )( 
            ICoreWebView2BrowserExtensionList * This,
            /* [in] */ UINT index,
            /* [retval][out] */ ICoreWebView2BrowserExtension **extension);
        
        END_INTERFACE
    } ICoreWebView2BrowserExtensionListVtbl;

    interface ICoreWebView2BrowserExtensionList
    {
        CONST_VTBL struct ICoreWebView2BrowserExtensionListVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2BrowserExtensionList_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2BrowserExtensionList_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2BrowserExtensionList_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2BrowserExtensionList_get_Count(This,count)	\
    ( (This)->lpVtbl -> get_Count(This,count) ) 

#define ICoreWebView2BrowserExtensionList_GetValueAtIndex(This,index,extension)	\
    ( (This)->lpVtbl -> GetValueAtIndex(This,index,extension) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2BrowserExtensionList_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2BrowserExtension_INTERFACE_DEFINED__
#define __ICoreWebView2BrowserExtension_INTERFACE_DEFINED__

/* interface ICoreWebView2BrowserExtension */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2BrowserExtension = {0x7EF7FFA0,0xFAC5,0x462C,{0xB1,0x89,0x3D,0x9E,0xDB,0xE5,0x75,0xDA}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7EF7FFA0-FAC5-462C-B189-3D9EDBE575DA")
    ICoreWebView2BrowserExtension : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Id( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ ICoreWebView2BrowserExtensionRemoveCompletedHandler *handler) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_IsEnabled( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE Enable( 
            /* [in] */ BOOL isEnabled,
            /* [in] */ ICoreWebView2BrowserExtensionEnableCompletedHandler *handler) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2BrowserExtensionVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2BrowserExtension * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2BrowserExtension * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2BrowserExtension * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BrowserExtension, get_Id)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Id )( 
            ICoreWebView2BrowserExtension * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BrowserExtension, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICoreWebView2BrowserExtension * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BrowserExtension, Remove)
        HRESULT ( STDMETHODCALLTYPE *Remove )( 
            ICoreWebView2BrowserExtension * This,
            /* [in] */ ICoreWebView2BrowserExtensionRemoveCompletedHandler *handler);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BrowserExtension, get_IsEnabled)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsEnabled )( 
            ICoreWebView2BrowserExtension * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BrowserExtension, Enable)
        HRESULT ( STDMETHODCALLTYPE *Enable )( 
            ICoreWebView2BrowserExtension * This,
            /* [in] */ BOOL isEnabled,
            /* [in] */ ICoreWebView2BrowserExtensionEnableCompletedHandler *handler);
        
        END_INTERFACE
    } ICoreWebView2BrowserExtensionVtbl;

    interface ICoreWebView2BrowserExtension
    {
        CONST_VTBL struct ICoreWebView2BrowserExtensionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2BrowserExtension_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2BrowserExtension_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2BrowserExtension_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2BrowserExtension_get_Id(This,value)	\
    ( (This)->lpVtbl -> get_Id(This,value) ) 

#define ICoreWebView2BrowserExtension_get_Name(This,value)	\
    ( (This)->lpVtbl -> get_Name(This,value) ) 

#define ICoreWebView2BrowserExtension_Remove(This,handler)	\
    ( (This)->lpVtbl -> Remove(This,handler) ) 

#define ICoreWebView2BrowserExtension_get_IsEnabled(This,value)	\
    ( (This)->lpVtbl -> get_IsEnabled(This,value) ) 

#define ICoreWebView2BrowserExtension_Enable(This,isEnabled,handler)	\
    ( (This)->lpVtbl -> Enable(This,isEnabled,handler) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2BrowserExtension_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2BrowserExtensionEnableCompletedHandler_INTERFACE_DEFINED__
#define __ICoreWebView2BrowserExtensionEnableCompletedHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2BrowserExtensionEnableCompletedHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2BrowserExtensionEnableCompletedHandler = {0x30C186CE,0x7FAD,0x421F,{0xA3,0xBC,0xA8,0xEA,0xF0,0x71,0xDD,0xB8}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("30C186CE-7FAD-421F-A3BC-A8EAF071DDB8")
    ICoreWebView2BrowserExtensionEnableCompletedHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ HRESULT errorCode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2BrowserExtensionEnableCompletedHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2BrowserExtensionEnableCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2BrowserExtensionEnableCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2BrowserExtensionEnableCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BrowserExtensionEnableCompletedHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2BrowserExtensionEnableCompletedHandler * This,
            /* [in] */ HRESULT errorCode);
        
        END_INTERFACE
    } ICoreWebView2BrowserExtensionEnableCompletedHandlerVtbl;

    interface ICoreWebView2BrowserExtensionEnableCompletedHandler
    {
        CONST_VTBL struct ICoreWebView2BrowserExtensionEnableCompletedHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2BrowserExtensionEnableCompletedHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2BrowserExtensionEnableCompletedHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2BrowserExtensionEnableCompletedHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2BrowserExtensionEnableCompletedHandler_Invoke(This,errorCode)	\
    ( (This)->lpVtbl -> Invoke(This,errorCode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2BrowserExtensionEnableCompletedHandler_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2BrowserExtensionRemoveCompletedHandler_INTERFACE_DEFINED__
#define __ICoreWebView2BrowserExtensionRemoveCompletedHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2BrowserExtensionRemoveCompletedHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2BrowserExtensionRemoveCompletedHandler = {0x8E41909A,0x9B18,0x4BB1,{0x8C,0xDF,0x93,0x0F,0x46,0x7A,0x50,0xBE}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8E41909A-9B18-4BB1-8CDF-930F467A50BE")
    ICoreWebView2BrowserExtensionRemoveCompletedHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ HRESULT errorCode) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2BrowserExtensionRemoveCompletedHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2BrowserExtensionRemoveCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2BrowserExtensionRemoveCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2BrowserExtensionRemoveCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2BrowserExtensionRemoveCompletedHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2BrowserExtensionRemoveCompletedHandler * This,
            /* [in] */ HRESULT errorCode);
        
        END_INTERFACE
    } ICoreWebView2BrowserExtensionRemoveCompletedHandlerVtbl;

    interface ICoreWebView2BrowserExtensionRemoveCompletedHandler
    {
        CONST_VTBL struct ICoreWebView2BrowserExtensionRemoveCompletedHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2BrowserExtensionRemoveCompletedHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2BrowserExtensionRemoveCompletedHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2BrowserExtensionRemoveCompletedHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2BrowserExtensionRemoveCompletedHandler_Invoke(This,errorCode)	\
    ( (This)->lpVtbl -> Invoke(This,errorCode) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2BrowserExtensionRemoveCompletedHandler_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ExecuteScriptResult_INTERFACE_DEFINED__
#define __ICoreWebView2ExecuteScriptResult_INTERFACE_DEFINED__

/* interface ICoreWebView2ExecuteScriptResult */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ExecuteScriptResult = {0x0CE15963,0x3698,0x4DF7,{0x93,0x99,0x71,0xED,0x6C,0xDD,0x8C,0x9F}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0CE15963-3698-4DF7-9399-71ED6CDD8C9F")
    ICoreWebView2ExecuteScriptResult : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Succeeded( 
            /* [retval][out] */ BOOL *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ResultAsJson( 
            /* [retval][out] */ LPWSTR *jsonResult) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE TryGetResultAsString( 
            /* [out] */ LPWSTR *stringResult,
            /* [out] */ BOOL *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Exception( 
            /* [retval][out] */ ICoreWebView2ScriptException **exception) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ExecuteScriptResultVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ExecuteScriptResult * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ExecuteScriptResult * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ExecuteScriptResult * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ExecuteScriptResult, get_Succeeded)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Succeeded )( 
            ICoreWebView2ExecuteScriptResult * This,
            /* [retval][out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ExecuteScriptResult, get_ResultAsJson)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ResultAsJson )( 
            ICoreWebView2ExecuteScriptResult * This,
            /* [retval][out] */ LPWSTR *jsonResult);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ExecuteScriptResult, TryGetResultAsString)
        HRESULT ( STDMETHODCALLTYPE *TryGetResultAsString )( 
            ICoreWebView2ExecuteScriptResult * This,
            /* [out] */ LPWSTR *stringResult,
            /* [out] */ BOOL *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ExecuteScriptResult, get_Exception)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Exception )( 
            ICoreWebView2ExecuteScriptResult * This,
            /* [retval][out] */ ICoreWebView2ScriptException **exception);
        
        END_INTERFACE
    } ICoreWebView2ExecuteScriptResultVtbl;

    interface ICoreWebView2ExecuteScriptResult
    {
        CONST_VTBL struct ICoreWebView2ExecuteScriptResultVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ExecuteScriptResult_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ExecuteScriptResult_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ExecuteScriptResult_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ExecuteScriptResult_get_Succeeded(This,value)	\
    ( (This)->lpVtbl -> get_Succeeded(This,value) ) 

#define ICoreWebView2ExecuteScriptResult_get_ResultAsJson(This,jsonResult)	\
    ( (This)->lpVtbl -> get_ResultAsJson(This,jsonResult) ) 

#define ICoreWebView2ExecuteScriptResult_TryGetResultAsString(This,stringResult,value)	\
    ( (This)->lpVtbl -> TryGetResultAsString(This,stringResult,value) ) 

#define ICoreWebView2ExecuteScriptResult_get_Exception(This,exception)	\
    ( (This)->lpVtbl -> get_Exception(This,exception) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ExecuteScriptResult_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ExecuteScriptWithResultCompletedHandler_INTERFACE_DEFINED__
#define __ICoreWebView2ExecuteScriptWithResultCompletedHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2ExecuteScriptWithResultCompletedHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ExecuteScriptWithResultCompletedHandler = {0x1BB5317B,0x8238,0x4C67,{0xA7,0xFF,0xBA,0xF6,0x55,0x8F,0x28,0x9D}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1BB5317B-8238-4C67-A7FF-BAF6558F289D")
    ICoreWebView2ExecuteScriptWithResultCompletedHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ HRESULT errorCode,
            /* [in] */ ICoreWebView2ExecuteScriptResult *result) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ExecuteScriptWithResultCompletedHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ExecuteScriptWithResultCompletedHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ExecuteScriptWithResultCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ExecuteScriptWithResultCompletedHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ExecuteScriptWithResultCompletedHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2ExecuteScriptWithResultCompletedHandler * This,
            /* [in] */ HRESULT errorCode,
            /* [in] */ ICoreWebView2ExecuteScriptResult *result);
        
        END_INTERFACE
    } ICoreWebView2ExecuteScriptWithResultCompletedHandlerVtbl;

    interface ICoreWebView2ExecuteScriptWithResultCompletedHandler
    {
        CONST_VTBL struct ICoreWebView2ExecuteScriptWithResultCompletedHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ExecuteScriptWithResultCompletedHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ExecuteScriptWithResultCompletedHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ExecuteScriptWithResultCompletedHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ExecuteScriptWithResultCompletedHandler_Invoke(This,errorCode,result)	\
    ( (This)->lpVtbl -> Invoke(This,errorCode,result) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ExecuteScriptWithResultCompletedHandler_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ScriptException_INTERFACE_DEFINED__
#define __ICoreWebView2ScriptException_INTERFACE_DEFINED__

/* interface ICoreWebView2ScriptException */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ScriptException = {0x054DAE00,0x84A3,0x49FF,{0xBC,0x17,0x40,0x12,0xA9,0x0B,0xC9,0xFD}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("054DAE00-84A3-49FF-BC17-4012A90BC9FD")
    ICoreWebView2ScriptException : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_LineNumber( 
            /* [retval][out] */ UINT32 *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ColumnNumber( 
            /* [retval][out] */ UINT32 *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Message( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ToJson( 
            /* [retval][out] */ LPWSTR *value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ScriptExceptionVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ScriptException * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ScriptException * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ScriptException * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ScriptException, get_LineNumber)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_LineNumber )( 
            ICoreWebView2ScriptException * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ScriptException, get_ColumnNumber)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColumnNumber )( 
            ICoreWebView2ScriptException * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ScriptException, get_Name)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            ICoreWebView2ScriptException * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ScriptException, get_Message)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Message )( 
            ICoreWebView2ScriptException * This,
            /* [retval][out] */ LPWSTR *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ScriptException, get_ToJson)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToJson )( 
            ICoreWebView2ScriptException * This,
            /* [retval][out] */ LPWSTR *value);
        
        END_INTERFACE
    } ICoreWebView2ScriptExceptionVtbl;

    interface ICoreWebView2ScriptException
    {
        CONST_VTBL struct ICoreWebView2ScriptExceptionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ScriptException_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ScriptException_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ScriptException_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ScriptException_get_LineNumber(This,value)	\
    ( (This)->lpVtbl -> get_LineNumber(This,value) ) 

#define ICoreWebView2ScriptException_get_ColumnNumber(This,value)	\
    ( (This)->lpVtbl -> get_ColumnNumber(This,value) ) 

#define ICoreWebView2ScriptException_get_Name(This,value)	\
    ( (This)->lpVtbl -> get_Name(This,value) ) 

#define ICoreWebView2ScriptException_get_Message(This,value)	\
    ( (This)->lpVtbl -> get_Message(This,value) ) 

#define ICoreWebView2ScriptException_get_ToJson(This,value)	\
    ( (This)->lpVtbl -> get_ToJson(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ScriptException_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2NonClientRegionChangedEventHandler_INTERFACE_DEFINED__
#define __ICoreWebView2NonClientRegionChangedEventHandler_INTERFACE_DEFINED__

/* interface ICoreWebView2NonClientRegionChangedEventHandler */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2NonClientRegionChangedEventHandler = {0x4A794E66,0xAA6C,0x46BD,{0x93,0xA3,0x38,0x21,0x96,0x83,0x76,0x80}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4A794E66-AA6C-46BD-93A3-382196837680")
    ICoreWebView2NonClientRegionChangedEventHandler : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Invoke( 
            /* [in] */ ICoreWebView2CompositionController *sender,
            /* [in] */ ICoreWebView2NonClientRegionChangedEventArgs *args) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2NonClientRegionChangedEventHandlerVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2NonClientRegionChangedEventHandler * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2NonClientRegionChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2NonClientRegionChangedEventHandler * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NonClientRegionChangedEventHandler, Invoke)
        HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ICoreWebView2NonClientRegionChangedEventHandler * This,
            /* [in] */ ICoreWebView2CompositionController *sender,
            /* [in] */ ICoreWebView2NonClientRegionChangedEventArgs *args);
        
        END_INTERFACE
    } ICoreWebView2NonClientRegionChangedEventHandlerVtbl;

    interface ICoreWebView2NonClientRegionChangedEventHandler
    {
        CONST_VTBL struct ICoreWebView2NonClientRegionChangedEventHandlerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2NonClientRegionChangedEventHandler_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2NonClientRegionChangedEventHandler_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2NonClientRegionChangedEventHandler_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2NonClientRegionChangedEventHandler_Invoke(This,sender,args)	\
    ( (This)->lpVtbl -> Invoke(This,sender,args) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2NonClientRegionChangedEventHandler_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2RegionRectCollectionView_INTERFACE_DEFINED__
#define __ICoreWebView2RegionRectCollectionView_INTERFACE_DEFINED__

/* interface ICoreWebView2RegionRectCollectionView */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2RegionRectCollectionView = {0x333353B8,0x48BF,0x4449,{0x8F,0xCC,0x22,0x69,0x7F,0xAF,0x57,0x53}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("333353B8-48BF-4449-8FCC-22697FAF5753")
    ICoreWebView2RegionRectCollectionView : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ UINT32 *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetValueAtIndex( 
            /* [in] */ UINT32 index,
            /* [retval][out] */ RECT *value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2RegionRectCollectionViewVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2RegionRectCollectionView * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2RegionRectCollectionView * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2RegionRectCollectionView * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2RegionRectCollectionView, get_Count)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICoreWebView2RegionRectCollectionView * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2RegionRectCollectionView, GetValueAtIndex)
        HRESULT ( STDMETHODCALLTYPE *GetValueAtIndex )( 
            ICoreWebView2RegionRectCollectionView * This,
            /* [in] */ UINT32 index,
            /* [retval][out] */ RECT *value);
        
        END_INTERFACE
    } ICoreWebView2RegionRectCollectionViewVtbl;

    interface ICoreWebView2RegionRectCollectionView
    {
        CONST_VTBL struct ICoreWebView2RegionRectCollectionViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2RegionRectCollectionView_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2RegionRectCollectionView_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2RegionRectCollectionView_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2RegionRectCollectionView_get_Count(This,value)	\
    ( (This)->lpVtbl -> get_Count(This,value) ) 

#define ICoreWebView2RegionRectCollectionView_GetValueAtIndex(This,index,value)	\
    ( (This)->lpVtbl -> GetValueAtIndex(This,index,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2RegionRectCollectionView_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2CompositionController4_INTERFACE_DEFINED__
#define __ICoreWebView2CompositionController4_INTERFACE_DEFINED__

/* interface ICoreWebView2CompositionController4 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CompositionController4 = {0x7C367B9B,0x3D2B,0x450F,{0x9E,0x58,0xD6,0x1A,0x20,0xF4,0x86,0xAA}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("7C367B9B-3D2B-450F-9E58-D61A20F486AA")
    ICoreWebView2CompositionController4 : public ICoreWebView2CompositionController3
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE GetNonClientRegionAtPoint( 
            /* [in] */ POINT point,
            /* [retval][out] */ COREWEBVIEW2_NON_CLIENT_REGION_KIND *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE QueryNonClientRegion( 
            /* [in] */ COREWEBVIEW2_NON_CLIENT_REGION_KIND kind,
            /* [retval][out] */ ICoreWebView2RegionRectCollectionView **rects) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE add_NonClientRegionChanged( 
            /* [in] */ ICoreWebView2NonClientRegionChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE remove_NonClientRegionChanged( 
            /* [in] */ EventRegistrationToken token) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2CompositionController4Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2CompositionController4 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2CompositionController4 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2CompositionController4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, get_RootVisualTarget)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootVisualTarget )( 
            ICoreWebView2CompositionController4 * This,
            /* [retval][out] */ IUnknown **target);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, put_RootVisualTarget)
        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootVisualTarget )( 
            ICoreWebView2CompositionController4 * This,
            /* [in] */ IUnknown *target);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, SendMouseInput)
        HRESULT ( STDMETHODCALLTYPE *SendMouseInput )( 
            ICoreWebView2CompositionController4 * This,
            /* [in] */ COREWEBVIEW2_MOUSE_EVENT_KIND eventKind,
            /* [in] */ COREWEBVIEW2_MOUSE_EVENT_VIRTUAL_KEYS virtualKeys,
            /* [in] */ UINT32 mouseData,
            /* [in] */ POINT point);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, SendPointerInput)
        HRESULT ( STDMETHODCALLTYPE *SendPointerInput )( 
            ICoreWebView2CompositionController4 * This,
            /* [in] */ COREWEBVIEW2_POINTER_EVENT_KIND eventKind,
            /* [in] */ ICoreWebView2PointerInfo *pointerInfo);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, get_Cursor)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Cursor )( 
            ICoreWebView2CompositionController4 * This,
            /* [retval][out] */ HCURSOR *cursor);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, get_SystemCursorId)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_SystemCursorId )( 
            ICoreWebView2CompositionController4 * This,
            /* [retval][out] */ UINT32 *systemCursorId);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, add_CursorChanged)
        HRESULT ( STDMETHODCALLTYPE *add_CursorChanged )( 
            ICoreWebView2CompositionController4 * This,
            /* [in] */ ICoreWebView2CursorChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController, remove_CursorChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_CursorChanged )( 
            ICoreWebView2CompositionController4 * This,
            /* [in] */ EventRegistrationToken token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController2, get_AutomationProvider)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutomationProvider )( 
            ICoreWebView2CompositionController4 * This,
            /* [retval][out] */ IUnknown **provider);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController3, DragEnter)
        HRESULT ( STDMETHODCALLTYPE *DragEnter )( 
            ICoreWebView2CompositionController4 * This,
            /* [in] */ IDataObject *dataObject,
            /* [in] */ DWORD keyState,
            /* [in] */ POINT point,
            /* [retval][out] */ DWORD *effect);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController3, DragLeave)
        HRESULT ( STDMETHODCALLTYPE *DragLeave )( 
            ICoreWebView2CompositionController4 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController3, DragOver)
        HRESULT ( STDMETHODCALLTYPE *DragOver )( 
            ICoreWebView2CompositionController4 * This,
            /* [in] */ DWORD keyState,
            /* [in] */ POINT point,
            /* [retval][out] */ DWORD *effect);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController3, Drop)
        HRESULT ( STDMETHODCALLTYPE *Drop )( 
            ICoreWebView2CompositionController4 * This,
            /* [in] */ IDataObject *dataObject,
            /* [in] */ DWORD keyState,
            /* [in] */ POINT point,
            /* [retval][out] */ DWORD *effect);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController4, GetNonClientRegionAtPoint)
        HRESULT ( STDMETHODCALLTYPE *GetNonClientRegionAtPoint )( 
            ICoreWebView2CompositionController4 * This,
            /* [in] */ POINT point,
            /* [retval][out] */ COREWEBVIEW2_NON_CLIENT_REGION_KIND *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController4, QueryNonClientRegion)
        HRESULT ( STDMETHODCALLTYPE *QueryNonClientRegion )( 
            ICoreWebView2CompositionController4 * This,
            /* [in] */ COREWEBVIEW2_NON_CLIENT_REGION_KIND kind,
            /* [retval][out] */ ICoreWebView2RegionRectCollectionView **rects);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController4, add_NonClientRegionChanged)
        HRESULT ( STDMETHODCALLTYPE *add_NonClientRegionChanged )( 
            ICoreWebView2CompositionController4 * This,
            /* [in] */ ICoreWebView2NonClientRegionChangedEventHandler *eventHandler,
            /* [out] */ EventRegistrationToken *token);
        
        DECLSPEC_XFGVIRT(ICoreWebView2CompositionController4, remove_NonClientRegionChanged)
        HRESULT ( STDMETHODCALLTYPE *remove_NonClientRegionChanged )( 
            ICoreWebView2CompositionController4 * This,
            /* [in] */ EventRegistrationToken token);
        
        END_INTERFACE
    } ICoreWebView2CompositionController4Vtbl;

    interface ICoreWebView2CompositionController4
    {
        CONST_VTBL struct ICoreWebView2CompositionController4Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2CompositionController4_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2CompositionController4_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2CompositionController4_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2CompositionController4_get_RootVisualTarget(This,target)	\
    ( (This)->lpVtbl -> get_RootVisualTarget(This,target) ) 

#define ICoreWebView2CompositionController4_put_RootVisualTarget(This,target)	\
    ( (This)->lpVtbl -> put_RootVisualTarget(This,target) ) 

#define ICoreWebView2CompositionController4_SendMouseInput(This,eventKind,virtualKeys,mouseData,point)	\
    ( (This)->lpVtbl -> SendMouseInput(This,eventKind,virtualKeys,mouseData,point) ) 

#define ICoreWebView2CompositionController4_SendPointerInput(This,eventKind,pointerInfo)	\
    ( (This)->lpVtbl -> SendPointerInput(This,eventKind,pointerInfo) ) 

#define ICoreWebView2CompositionController4_get_Cursor(This,cursor)	\
    ( (This)->lpVtbl -> get_Cursor(This,cursor) ) 

#define ICoreWebView2CompositionController4_get_SystemCursorId(This,systemCursorId)	\
    ( (This)->lpVtbl -> get_SystemCursorId(This,systemCursorId) ) 

#define ICoreWebView2CompositionController4_add_CursorChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_CursorChanged(This,eventHandler,token) ) 

#define ICoreWebView2CompositionController4_remove_CursorChanged(This,token)	\
    ( (This)->lpVtbl -> remove_CursorChanged(This,token) ) 


#define ICoreWebView2CompositionController4_get_AutomationProvider(This,provider)	\
    ( (This)->lpVtbl -> get_AutomationProvider(This,provider) ) 


#define ICoreWebView2CompositionController4_DragEnter(This,dataObject,keyState,point,effect)	\
    ( (This)->lpVtbl -> DragEnter(This,dataObject,keyState,point,effect) ) 

#define ICoreWebView2CompositionController4_DragLeave(This)	\
    ( (This)->lpVtbl -> DragLeave(This) ) 

#define ICoreWebView2CompositionController4_DragOver(This,keyState,point,effect)	\
    ( (This)->lpVtbl -> DragOver(This,keyState,point,effect) ) 

#define ICoreWebView2CompositionController4_Drop(This,dataObject,keyState,point,effect)	\
    ( (This)->lpVtbl -> Drop(This,dataObject,keyState,point,effect) ) 


#define ICoreWebView2CompositionController4_GetNonClientRegionAtPoint(This,point,value)	\
    ( (This)->lpVtbl -> GetNonClientRegionAtPoint(This,point,value) ) 

#define ICoreWebView2CompositionController4_QueryNonClientRegion(This,kind,rects)	\
    ( (This)->lpVtbl -> QueryNonClientRegion(This,kind,rects) ) 

#define ICoreWebView2CompositionController4_add_NonClientRegionChanged(This,eventHandler,token)	\
    ( (This)->lpVtbl -> add_NonClientRegionChanged(This,eventHandler,token) ) 

#define ICoreWebView2CompositionController4_remove_NonClientRegionChanged(This,token)	\
    ( (This)->lpVtbl -> remove_NonClientRegionChanged(This,token) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2CompositionController4_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2File_INTERFACE_DEFINED__
#define __ICoreWebView2File_INTERFACE_DEFINED__

/* interface ICoreWebView2File */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2File = {0xf2c19559,0x6bc1,0x4583,{0xa7,0x57,0x90,0x02,0x1b,0xe9,0xaf,0xec}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("f2c19559-6bc1-4583-a757-90021be9afec")
    ICoreWebView2File : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ LPWSTR *path) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2FileVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2File * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2File * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2File * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2File, get_Path)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            ICoreWebView2File * This,
            /* [retval][out] */ LPWSTR *path);
        
        END_INTERFACE
    } ICoreWebView2FileVtbl;

    interface ICoreWebView2File
    {
        CONST_VTBL struct ICoreWebView2FileVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2File_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2File_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2File_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2File_get_Path(This,path)	\
    ( (This)->lpVtbl -> get_Path(This,path) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2File_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2ObjectCollectionView_INTERFACE_DEFINED__
#define __ICoreWebView2ObjectCollectionView_INTERFACE_DEFINED__

/* interface ICoreWebView2ObjectCollectionView */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2ObjectCollectionView = {0x0f36fd87,0x4f69,0x4415,{0x98,0xda,0x88,0x8f,0x89,0xfb,0x9a,0x33}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0f36fd87-4f69-4415-98da-888f89fb9a33")
    ICoreWebView2ObjectCollectionView : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ UINT32 *value) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetValueAtIndex( 
            /* [in] */ UINT32 index,
            /* [retval][out] */ IUnknown **value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2ObjectCollectionViewVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2ObjectCollectionView * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2ObjectCollectionView * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2ObjectCollectionView * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ObjectCollectionView, get_Count)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            ICoreWebView2ObjectCollectionView * This,
            /* [retval][out] */ UINT32 *value);
        
        DECLSPEC_XFGVIRT(ICoreWebView2ObjectCollectionView, GetValueAtIndex)
        HRESULT ( STDMETHODCALLTYPE *GetValueAtIndex )( 
            ICoreWebView2ObjectCollectionView * This,
            /* [in] */ UINT32 index,
            /* [retval][out] */ IUnknown **value);
        
        END_INTERFACE
    } ICoreWebView2ObjectCollectionViewVtbl;

    interface ICoreWebView2ObjectCollectionView
    {
        CONST_VTBL struct ICoreWebView2ObjectCollectionViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2ObjectCollectionView_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2ObjectCollectionView_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2ObjectCollectionView_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2ObjectCollectionView_get_Count(This,value)	\
    ( (This)->lpVtbl -> get_Count(This,value) ) 

#define ICoreWebView2ObjectCollectionView_GetValueAtIndex(This,index,value)	\
    ( (This)->lpVtbl -> GetValueAtIndex(This,index,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2ObjectCollectionView_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2WebMessageReceivedEventArgs2_INTERFACE_DEFINED__
#define __ICoreWebView2WebMessageReceivedEventArgs2_INTERFACE_DEFINED__

/* interface ICoreWebView2WebMessageReceivedEventArgs2 */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2WebMessageReceivedEventArgs2 = {0x06fc7ab7,0xc90c,0x4297,{0x93,0x89,0x33,0xca,0x01,0xcf,0x6d,0x5e}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("06fc7ab7-c90c-4297-9389-33ca01cf6d5e")
    ICoreWebView2WebMessageReceivedEventArgs2 : public ICoreWebView2WebMessageReceivedEventArgs
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AdditionalObjects( 
            /* [retval][out] */ ICoreWebView2ObjectCollectionView **value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2WebMessageReceivedEventArgs2Vtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2WebMessageReceivedEventArgs2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2WebMessageReceivedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2WebMessageReceivedEventArgs2 * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebMessageReceivedEventArgs, get_Source)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_Source )( 
            ICoreWebView2WebMessageReceivedEventArgs2 * This,
            /* [retval][out] */ LPWSTR *source);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebMessageReceivedEventArgs, get_WebMessageAsJson)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WebMessageAsJson )( 
            ICoreWebView2WebMessageReceivedEventArgs2 * This,
            /* [retval][out] */ LPWSTR *webMessageAsJson);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebMessageReceivedEventArgs, TryGetWebMessageAsString)
        HRESULT ( STDMETHODCALLTYPE *TryGetWebMessageAsString )( 
            ICoreWebView2WebMessageReceivedEventArgs2 * This,
            /* [retval][out] */ LPWSTR *webMessageAsString);
        
        DECLSPEC_XFGVIRT(ICoreWebView2WebMessageReceivedEventArgs2, get_AdditionalObjects)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdditionalObjects )( 
            ICoreWebView2WebMessageReceivedEventArgs2 * This,
            /* [retval][out] */ ICoreWebView2ObjectCollectionView **value);
        
        END_INTERFACE
    } ICoreWebView2WebMessageReceivedEventArgs2Vtbl;

    interface ICoreWebView2WebMessageReceivedEventArgs2
    {
        CONST_VTBL struct ICoreWebView2WebMessageReceivedEventArgs2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2WebMessageReceivedEventArgs2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2WebMessageReceivedEventArgs2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2WebMessageReceivedEventArgs2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2WebMessageReceivedEventArgs2_get_Source(This,source)	\
    ( (This)->lpVtbl -> get_Source(This,source) ) 

#define ICoreWebView2WebMessageReceivedEventArgs2_get_WebMessageAsJson(This,webMessageAsJson)	\
    ( (This)->lpVtbl -> get_WebMessageAsJson(This,webMessageAsJson) ) 

#define ICoreWebView2WebMessageReceivedEventArgs2_TryGetWebMessageAsString(This,webMessageAsString)	\
    ( (This)->lpVtbl -> TryGetWebMessageAsString(This,webMessageAsString) ) 


#define ICoreWebView2WebMessageReceivedEventArgs2_get_AdditionalObjects(This,value)	\
    ( (This)->lpVtbl -> get_AdditionalObjects(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2WebMessageReceivedEventArgs2_INTERFACE_DEFINED__ */


#ifndef __ICoreWebView2NonClientRegionChangedEventArgs_INTERFACE_DEFINED__
#define __ICoreWebView2NonClientRegionChangedEventArgs_INTERFACE_DEFINED__

/* interface ICoreWebView2NonClientRegionChangedEventArgs */
/* [unique][object][uuid] */ 


EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2NonClientRegionChangedEventArgs = {0xAB71D500,0x0820,0x4A52,{0x80,0x9C,0x48,0xDB,0x04,0xFF,0x93,0xBF}};

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AB71D500-0820-4A52-809C-48DB04FF93BF")
    ICoreWebView2NonClientRegionChangedEventArgs : public IUnknown
    {
    public:
        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RegionKind( 
            /* [retval][out] */ COREWEBVIEW2_NON_CLIENT_REGION_KIND *value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICoreWebView2NonClientRegionChangedEventArgsVtbl
    {
        BEGIN_INTERFACE
        
        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICoreWebView2NonClientRegionChangedEventArgs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        DECLSPEC_XFGVIRT(IUnknown, AddRef)
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICoreWebView2NonClientRegionChangedEventArgs * This);
        
        DECLSPEC_XFGVIRT(IUnknown, Release)
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICoreWebView2NonClientRegionChangedEventArgs * This);
        
        DECLSPEC_XFGVIRT(ICoreWebView2NonClientRegionChangedEventArgs, get_RegionKind)
        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegionKind )( 
            ICoreWebView2NonClientRegionChangedEventArgs * This,
            /* [retval][out] */ COREWEBVIEW2_NON_CLIENT_REGION_KIND *value);
        
        END_INTERFACE
    } ICoreWebView2NonClientRegionChangedEventArgsVtbl;

    interface ICoreWebView2NonClientRegionChangedEventArgs
    {
        CONST_VTBL struct ICoreWebView2NonClientRegionChangedEventArgsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICoreWebView2NonClientRegionChangedEventArgs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICoreWebView2NonClientRegionChangedEventArgs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICoreWebView2NonClientRegionChangedEventArgs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICoreWebView2NonClientRegionChangedEventArgs_get_RegionKind(This,value)	\
    ( (This)->lpVtbl -> get_RegionKind(This,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICoreWebView2NonClientRegionChangedEventArgs_INTERFACE_DEFINED__ */

#endif /* __WebView2_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


