From 53e1d3ee2dd6423dd6a0748d03e6d654bc6f1015 Mon Sep 17 00:00:00 2001 From: Steve Kirbach Date: Wed, 14 Feb 2024 11:30:27 -0800 Subject: [PATCH] testing out new project config --- Package.swift | 28 +- Sources/CWinAppSDK/delayloadhelper.c | 23 + .../include/CWinAppSDK-Bridging-Header.h | 13 + Sources/CWinAppSDK/module.modulemap | 5 + Sources/WinAppSDKExt/Initialize.swift | 52 + generate-bindings.ps1 | 38 +- projections.json | 1 + .../Microsoft.WindowsAppRuntime.Bootstrap.dll | Bin vendor/include/MRM.h | 133 + vendor/include/MddBootstrap.h | 338 + .../Microsoft.UI.Composition.Interop.h | 121 + .../Microsoft.UI.Dispatching.Interop.h | 12 + .../Microsoft.UI.Input.InputCursor.Interop.h | 30 + ...UI.Input.InputPreTranslateSource.Interop.h | 63 + vendor/include/Microsoft.UI.Interop.h | 151 + vendor/include/MsixDynamicDependency.h | 226 + vendor/include/Security.AccessControl.h | 21 + vendor/include/WebView2.h | 48014 ++++++++++++++++ vendor/include/WindowsAppRuntimeInsights.h | 71 + vendor/include/WindowsAppSDK-VersionInfo.h | 285 + vendor/include/dwrite.h | 5151 ++ vendor/include/dwrite_1.h | 1924 + vendor/include/dwrite_2.h | 980 + vendor/include/dwrite_3.h | 4677 ++ vendor/include/dwrite_core.h | 45 + ...crosoft.ui.xaml.hosting.referencetracker.h | 970 + .../microsoft.ui.xaml.media.dxinterop.h | 1054 + vendor/include/microsoft.ui.xaml.window.h | 177 + vendor/include/wil_msixdynamicdependency.h | 25 + vendor/include/winrtdirect3d11.h | 702 + vendor/include/winrtdirectxcommon.h | 684 + vendor/include/xamlom.winui.h | 299 + vendor/lib/DWriteCore.lib | Bin 0 -> 2352 bytes vendor/lib/MRM.lib | Bin 0 -> 7198 bytes .../Microsoft.WindowsAppRuntime.Bootstrap.lib | Bin 0 -> 3046 bytes vendor/lib/Microsoft.WindowsAppRuntime.lib | Bin 0 -> 7260 bytes 36 files changed, 66305 insertions(+), 8 deletions(-) create mode 100644 Sources/CWinAppSDK/delayloadhelper.c create mode 100644 Sources/CWinAppSDK/include/CWinAppSDK-Bridging-Header.h create mode 100644 Sources/CWinAppSDK/module.modulemap create mode 100644 Sources/WinAppSDKExt/Initialize.swift rename {Sources/WinAppSDK/NativeBinaries => vendor/bin}/Microsoft.WindowsAppRuntime.Bootstrap.dll (100%) create mode 100644 vendor/include/MRM.h create mode 100644 vendor/include/MddBootstrap.h create mode 100644 vendor/include/Microsoft.UI.Composition.Interop.h create mode 100644 vendor/include/Microsoft.UI.Dispatching.Interop.h create mode 100644 vendor/include/Microsoft.UI.Input.InputCursor.Interop.h create mode 100644 vendor/include/Microsoft.UI.Input.InputPreTranslateSource.Interop.h create mode 100644 vendor/include/Microsoft.UI.Interop.h create mode 100644 vendor/include/MsixDynamicDependency.h create mode 100644 vendor/include/Security.AccessControl.h create mode 100644 vendor/include/WebView2.h create mode 100644 vendor/include/WindowsAppRuntimeInsights.h create mode 100644 vendor/include/WindowsAppSDK-VersionInfo.h create mode 100644 vendor/include/dwrite.h create mode 100644 vendor/include/dwrite_1.h create mode 100644 vendor/include/dwrite_2.h create mode 100644 vendor/include/dwrite_3.h create mode 100644 vendor/include/dwrite_core.h create mode 100644 vendor/include/microsoft.ui.xaml.hosting.referencetracker.h create mode 100644 vendor/include/microsoft.ui.xaml.media.dxinterop.h create mode 100644 vendor/include/microsoft.ui.xaml.window.h create mode 100644 vendor/include/wil_msixdynamicdependency.h create mode 100644 vendor/include/winrtdirect3d11.h create mode 100644 vendor/include/winrtdirectxcommon.h create mode 100644 vendor/include/xamlom.winui.h create mode 100644 vendor/lib/DWriteCore.lib create mode 100644 vendor/lib/MRM.lib create mode 100644 vendor/lib/Microsoft.WindowsAppRuntime.Bootstrap.lib create mode 100644 vendor/lib/Microsoft.WindowsAppRuntime.lib diff --git a/Package.swift b/Package.swift index 58b0eab..b266513 100644 --- a/Package.swift +++ b/Package.swift @@ -1,11 +1,24 @@ // swift-tools-version: 5.10 import PackageDescription +import Foundation +let currentDirectory = Context.packageDirectory + +print(currentDirectory) +let includeSettings: [SwiftSetting] = [ + .unsafeFlags(["-I\(currentDirectory)/vendor/include"]) +] + +let linkerSettings: [LinkerSetting] = [ + .unsafeFlags(["-L\(currentDirectory)/vendor/lib"]) +] let package = Package( name: "swift-windowsappsdk", products: [ .library(name: "WinAppSDK", type: .dynamic, targets: ["WinAppSDK"]), + .library(name: "CWinAppSDK", targets: ["CWinAppSDK"]), + .library(name: "WinAppSDKExt", targets: ["WinAppSDKExt"]) ], dependencies: [ .package(url: "https://github.com/thebrowsercompany/swift-cwinrt", branch: "main"), @@ -19,9 +32,22 @@ let package = Package( .product(name: "CWinRT", package: "swift-cwinrt"), .product(name: "UWP", package: "swift-uwp"), .product(name: "WindowsFoundation", package: "swift-windowsfoundation"), + "CWinAppSDK" ], resources: [ - .copy("NativeBinaries") + .copy("../../vendor/bin/Microsoft.WindowsAppRuntime.Bootstrap.dll"), + ] + ), + .target( + name: "CWinAppSDK", + swiftSettings: includeSettings, + linkerSettings: linkerSettings + ), + .target( + name: "WinAppSDKExt", + dependencies: [ + "WinAppSDK", + "CWinAppSDK" ] ), ] diff --git a/Sources/CWinAppSDK/delayloadhelper.c b/Sources/CWinAppSDK/delayloadhelper.c new file mode 100644 index 0000000..3883fad --- /dev/null +++ b/Sources/CWinAppSDK/delayloadhelper.c @@ -0,0 +1,23 @@ +#include +#include +#include +#include "delayimp.h" +FARPROC WINAPI delayHook(unsigned dliNotify, PDelayLoadInfo pdli) +{ + switch (dliNotify) { + case dliFailLoadLib : + if (strcmp(pdli->szDll, "Microsoft.WindowsAppRuntime.Boostrap.dll") == 0) { + return (FARPROC)LoadLibraryW(L"swift-windowsappsdk_WinAppSDK.resources\\Microsoft.WindowsAppRuntime.Bootstrap.dll"); + } + break; + + default : + + return NULL; + } + + return NULL; +} + +const PfnDliHook __pfnDliNotifyHook2 = delayHook; +const PfnDliHook __pfnDliFailureHook2 = delayHook; diff --git a/Sources/CWinAppSDK/include/CWinAppSDK-Bridging-Header.h b/Sources/CWinAppSDK/include/CWinAppSDK-Bridging-Header.h new file mode 100644 index 0000000..29cbbfd --- /dev/null +++ b/Sources/CWinAppSDK/include/CWinAppSDK-Bridging-Header.h @@ -0,0 +1,13 @@ +#include +#include +#include +#include + +#include +#include +#include "stdlib.h" +#include +#include + +// re-define the string to make it visible in Swift. (#define only supports numbers & strings) +static PCWSTR WINDOWSAPPSDK_RELEASE_VERSION_TAG_SWIFT = WINDOWSAPPSDK_RELEASE_VERSION_TAG_W; \ No newline at end of file diff --git a/Sources/CWinAppSDK/module.modulemap b/Sources/CWinAppSDK/module.modulemap new file mode 100644 index 0000000..a5a0bb3 --- /dev/null +++ b/Sources/CWinAppSDK/module.modulemap @@ -0,0 +1,5 @@ +module CWinAppSDK { + header "Headers/CWinAppSDK-Bridging-Header.h" + link "Microsoft.WindowsAppRuntime.Bootstrap" + export * +} diff --git a/Sources/WinAppSDKExt/Initialize.swift b/Sources/WinAppSDKExt/Initialize.swift new file mode 100644 index 0000000..e60313d --- /dev/null +++ b/Sources/WinAppSDKExt/Initialize.swift @@ -0,0 +1,52 @@ +import CWinAppSDK +import CWinRT +import WindowsFoundation +import WinSDK + +public enum WindowsAppSDKError: Error { + case failedToInitialize +} + +public enum ThreadingModel { + case single + case multi +} + +public class WindowsAppRuntimeInitializer { + private func processHasIdentity() -> Bool { + var length: UInt32 = 0 + return GetCurrentPackageFullName(&length, nil) != APPMODEL_ERROR_NO_PACKAGE + } + + public init(threadingModel: ThreadingModel = .single) throws { + let roInitParam = switch threadingModel { + case .single: RO_INIT_SINGLETHREADED + case .multi: RO_INIT_MULTITHREADED + } + + try CHECKED(RoInitialize(roInitParam)) + + guard !processHasIdentity() else { + return + } + + let result = MddBootstrapInitialize2( + UInt32(WINDOWSAPPSDK_RELEASE_MAJORMINOR), + WINDOWSAPPSDK_RELEASE_VERSION_TAG_SWIFT, + .init(), + MddBootstrapInitializeOptions( + MddBootstrapInitializeOptions_OnNoMatch_ShowUI.rawValue + ) + ) + guard result = S_OK else { + throw WindowsAppSDKError.failedToInitialize + } + } + + deinit { + RoUninitialize() + if !processHasIdentity() { + MddBootstrapShutdown() + } + } +} diff --git a/generate-bindings.ps1 b/generate-bindings.ps1 index 8070616..f5d9c0b 100644 --- a/generate-bindings.ps1 +++ b/generate-bindings.ps1 @@ -91,23 +91,24 @@ function Invoke-SwiftWinRT() { Copy-Item -Path $OutputLocation\Sources\$ProjectName -Filter *.swift -Destination $ProjectDir -Recurse -Force } -function Copy-NativeBinaries { +function Copy-PackageAssets { param( [string]$PackagesDir ) + $Arch = "x64" $Projections = Get-Content -Path $PSScriptRoot\projections.json | ConvertFrom-Json $Package = $Projections.Package $PackageVersion = Get-NugetPackageVersion -Package $Package + $ProjectDir = Join-Path $PSScriptRoot "vendor" + + # copy dlls from runtimes\win-\native to vendor\bin $PackageDir = Join-Path $PackagesDir "$Package.$PackageVersion" - $PackagesRuntimeDir = Join-Path $PackageDir "runtimes\win-x64\native" + $PackagesRuntimeDir = Join-Path $PackageDir "runtimes\win-$Arch\native" $PackagesBinaries = Get-ChildItem -Path $PackagesRuntimeDir -Filter *.dll -Recurse - $ProjectName = $Projections.Project - $ProjectDir = Join-Path $PSScriptRoot "Sources\${ProjectName}" - - $ProjectBinaryDir = Join-Path $ProjectDir "NativeBinaries" + $ProjectBinaryDir = Join-Path $ProjectDir "bin" if (-not (Test-Path $ProjectBinaryDir)) { New-Item -Path $ProjectBinaryDir -ItemType Directory -Force | Out-Null } @@ -115,12 +116,35 @@ function Copy-NativeBinaries { $PackagesBinaries | ForEach-Object { Copy-Item -Path $_.FullName -Destination $ProjectBinaryDir -Force } + + # copy headers from include to vendor\include + $ProjectHeadersDir = Join-Path $ProjectDir "include" + if (-not (Test-Path $ProjectHeadersDir)) { + New-Item -Path $ProjectHeadersDir -ItemType Directory -Force | Out-Null + } + $PackagesHeaderDir = Join-Path $PackageDir "include" + $PackagesHeaders = Get-ChildItem -Path $PackagesHeaderDir -Filter *.h -Recurse + $PackagesHeaders | ForEach-Object { + Copy-Item -Path $_.FullName -Destination $ProjectHeadersDir -Force + } + + # Copy libs from lib\win- to vendor\lib + $ProjectLibsDir = Join-Path $ProjectDir "lib" + $PackagesLibsDir = Join-Path $PackageDir "lib\win10-x64" + $PackagesLibs = Get-ChildItem -Path $PackagesLibsDir -Filter *.lib -Recurse + if (-not (Test-Path $ProjectLibsDir)) { + New-Item -Path $ProjectLibsDir -ItemType Directory -Force | Out-Null + } + $PackagesLibs | ForEach-Object { + Copy-Item -Path $_.FullName -Destination $ProjectLibsDir -Force + } } $PackagesDir = Join-Path $PSScriptRoot ".packages" Restore-Nuget -PackagesDir $PackagesDir Invoke-SwiftWinRT -PackagesDir $PackagesDir -Copy-NativeBinaries -PackagesDir $PackagesDir +Copy-PackageAssets -PackagesDir $PackagesDir + if ($LASTEXITCODE -eq 0) { Write-Host "SwiftWinRT bindings generated successfully!" -ForegroundColor Green } \ No newline at end of file diff --git a/projections.json b/projections.json index d92cb23..14bdc87 100644 --- a/projections.json +++ b/projections.json @@ -1,5 +1,6 @@ { "package": "Microsoft.WindowsAppSDK", + "version": "1.5.240205001-preview1", "project": "WinAppSDK", "dependencies": [ "Microsoft.Windows.SDK.Contracts" diff --git a/Sources/WinAppSDK/NativeBinaries/Microsoft.WindowsAppRuntime.Bootstrap.dll b/vendor/bin/Microsoft.WindowsAppRuntime.Bootstrap.dll similarity index 100% rename from Sources/WinAppSDK/NativeBinaries/Microsoft.WindowsAppRuntime.Bootstrap.dll rename to vendor/bin/Microsoft.WindowsAppRuntime.Bootstrap.dll diff --git a/vendor/include/MRM.h b/vendor/include/MRM.h new file mode 100644 index 0000000..ae10ccd --- /dev/null +++ b/vendor/include/MRM.h @@ -0,0 +1,133 @@ +// Copyright (c) Microsoft Corporation and Contributors. +// Licensed under the MIT License. + +#pragma once + +#ifdef __cplusplus +extern "C" +{ +#endif + + DECLARE_HANDLE(MrmManagerHandle); + DECLARE_HANDLE(MrmContextHandle); + DECLARE_HANDLE(MrmMapHandle); + + enum MrmType + { + MrmType_Unknown, + MrmType_String, + MrmType_Path, + MrmType_Embedded + }; + + struct MrmResourceData + { + UINT32 size; + void* data; + }; + + STDAPI MrmCreateResourceManager(_In_ PCWSTR priFileName, _Out_ MrmManagerHandle* resourceManager); + STDAPI_(void) MrmDestroyResourceManager(_In_opt_ MrmManagerHandle resourceManager); + + STDAPI MrmCreateResourceContext(_In_ MrmManagerHandle resourceManager, _Out_ MrmContextHandle* resourceContext); + STDAPI_(void) MrmFreeQualifierNamesOrValues(UINT32 size, _In_reads_(size) PWSTR* names); + STDAPI MrmGetAllQualifierNames(_In_ MrmContextHandle resourceContext, _Out_ UINT32* size, _Outptr_result_buffer_(*size) PWSTR** names); + STDAPI MrmGetQualifier(_In_ MrmContextHandle resourceContext, _In_ PCWSTR qualifierName, _Outptr_ PWSTR* qualifierValue); + STDAPI MrmSetQualifier(_In_ MrmContextHandle resourceContext, _In_ PCWSTR qualifierName, _In_ PCWSTR qualifierValue); + STDAPI_(void) MrmDestroyResourceContext(_In_opt_ MrmContextHandle resourceContext); + + // Resource maps are owned by the resource manager and so do not need to be destroyed. + STDAPI MrmGetChildResourceMap( + _In_ MrmManagerHandle resourceManager, + _In_opt_ MrmMapHandle resourceMap, + _In_ PCWSTR childResourceMapName, + _Out_ MrmMapHandle* childResourceMap); + + STDAPI MrmGetResourceCount(_In_ MrmManagerHandle resourceManager, _In_opt_ MrmMapHandle resourceMap, _Out_ UINT32* count); + + STDAPI MrmLoadStringResource( + _In_ MrmManagerHandle resourceManager, + _In_opt_ MrmContextHandle resourceContext, + _In_opt_ MrmMapHandle resourceMap, + _In_ PCWSTR resourceId, + _Outptr_ PWSTR* resourceString); + + STDAPI MrmLoadStringResourceFromResourceUri( + _In_ MrmManagerHandle resourceManager, + _In_opt_ MrmContextHandle resourceContext, + _In_ PCWSTR resourceUri, + _Outptr_ PWSTR* resourceString); + + STDAPI MrmLoadEmbeddedResource( + _In_ MrmManagerHandle resourceManager, + _In_opt_ MrmContextHandle resourceContext, + _In_opt_ MrmMapHandle resourceMap, + _In_ PCWSTR resourceId, + _Out_ MrmResourceData* data); + + STDAPI MrmLoadEmbeddedResourceFromResourceUri( + _In_ MrmManagerHandle resourceManager, + _In_opt_ MrmContextHandle resourceContext, + _In_ PCWSTR resourceUri, + _Out_ MrmResourceData* data); + + STDAPI MrmLoadStringOrEmbeddedResource( + _In_ MrmManagerHandle resourceManager, + _In_opt_ MrmContextHandle resourceContext, + _In_opt_ MrmMapHandle resourceMap, + _In_ PCWSTR resourceId, + _Out_ MrmType* resourceType, + _Outptr_result_maybenull_ PWSTR* resourceString, + _Out_ MrmResourceData* data); + + STDAPI MrmLoadStringOrEmbeddedResourceWithQualifierValues( + _In_ MrmManagerHandle resourceManager, + _In_opt_ MrmContextHandle resourceContext, + _In_opt_ MrmMapHandle resourceMap, + _In_ PCWSTR resourceId, + _Out_ MrmType* resourceType, + _Outptr_result_maybenull_ PWSTR* resourceString, + _Out_ MrmResourceData* data, + _Out_ UINT32* qualifierCount, + _Outptr_result_buffer_(*qualifierCount) PWSTR** qualifierNames, + _Outptr_result_buffer_(*qualifierCount) PWSTR** qualifierValues); + + STDAPI MrmLoadStringOrEmbeddedFromResourceUri( + _In_ MrmManagerHandle resourceManager, + _In_opt_ MrmContextHandle resourceContext, + _In_ PCWSTR resourceUri, + _Out_ MrmType* resourceType, + _Outptr_result_maybenull_ PWSTR* resourceString, + _Out_ MrmResourceData* data); + + STDAPI MrmLoadStringOrEmbeddedResourceByIndex( + _In_ MrmManagerHandle resourceManager, + _In_opt_ MrmContextHandle resourceContext, + _In_opt_ MrmMapHandle resourceMap, + UINT32 index, + _Out_ MrmType* resourceType, + _Outptr_ PWSTR* resourceName, + _Outptr_result_maybenull_ PWSTR* resourceString, + _Out_ MrmResourceData* data); + + STDAPI MrmLoadStringOrEmbeddedResourceByIndexWithQualifierValues( + _In_ MrmManagerHandle resourceManager, + _In_opt_ MrmContextHandle resourceContext, + _In_opt_ MrmMapHandle resourceMap, + UINT32 index, + _Out_ MrmType* resourceType, + _Outptr_ PWSTR* resourceName, + _Outptr_result_maybenull_ PWSTR* resourceString, + _Out_ MrmResourceData* data, + _Out_ UINT32* qualifierCount, + _Outptr_result_buffer_(*qualifierCount) PWSTR** qualifierNames, + _Outptr_result_buffer_(*qualifierCount) PWSTR** qualifierValues); + + STDAPI_(void*) MrmAllocateBuffer(size_t size); + STDAPI_(void) MrmFreeResource(_In_opt_ void* resource); + + STDAPI MrmGetFilePathFromName(_In_opt_ PCWSTR filename, _Outptr_ PWSTR* filePath); + +#ifdef __cplusplus +} +#endif diff --git a/vendor/include/MddBootstrap.h b/vendor/include/MddBootstrap.h new file mode 100644 index 0000000..07ae866 --- /dev/null +++ b/vendor/include/MddBootstrap.h @@ -0,0 +1,338 @@ +// Copyright (c) Microsoft Corporation and Contributors. +// Licensed under the MIT License. + +#if !defined(MDDBOOTSTRAP_H) +#define MDDBOOTSTRAP_H + +#include + +#if defined(__cplusplus) +#define MDDBOOTSTRAP_NOEXCEPT noexcept +#else +#define MDDBOOTSTRAP_NOEXCEPT +#endif // defined(__cplusplus) + +/// Options for Bootstrap initialization +typedef enum MddBootstrapInitializeOptions +{ + /// Default behavior + MddBootstrapInitializeOptions_None = 0, + + /// If not successful call DebugBreak() + MddBootstrapInitializeOptions_OnError_DebugBreak = 0x0001, + + /// If not successful call DebugBreak() if a debugger is attached to the process + MddBootstrapInitializeOptions_OnError_DebugBreak_IfDebuggerAttached = 0x0002, + + /// If not successful perform a fail-fast + MddBootstrapInitializeOptions_OnError_FailFast = 0x0004, + + /// If a compatible Windows App Runtime framework package is not found show UI + MddBootstrapInitializeOptions_OnNoMatch_ShowUI = 0x0008, + + /// Do nothing (do not error) if the process has package identity + MddBootstrapInitializeOptions_OnPackageIdentity_NOOP = 0x0010, +} MddBootstrapInitializeOptions; +#if defined(__cplusplus) +DEFINE_ENUM_FLAG_OPERATORS(MddBootstrapInitializeOptions) +#endif // defined(__cplusplus) + +/// Initialize the calling process to use Windows App Runtime framework package. +/// +/// Find a Windows App Runtime framework package meeting the criteria and make it available +/// for use by the current process. If multiple packages meet the criteria the best +/// candidate is selected. +/// +/// If called multiple times the parameters must be compatible with the framework package +/// resolved by the first initialization call (i.e. the framework package currently in use). +/// If the request is not compatible with the framework package currently in use +/// the API fails and an error is returned. +/// +/// @param majorMinorVersion the major and minor version to use, e..g 0x00010002 for Major.Minor=1.2 +/// @param versionTag the version pre-release identifier, or NULL if none. +/// @param minVersion the minimum version to use +STDAPI MddBootstrapInitialize( + UINT32 majorMinorVersion, + PCWSTR versionTag, + PACKAGE_VERSION minVersion) MDDBOOTSTRAP_NOEXCEPT; + +/// Initialize the calling process to use Windows App Runtime framework package. +/// +/// Find a Windows App Runtime framework package meeting the criteria and make it available +/// for use by the current process. If multiple packages meet the criteria the best +/// candidate is selected. +/// +/// If called multiple times the parameters must be compatible with the framework package +/// resolved by the first initialization call (i.e. the framework package currently in use). +/// If the request is not compatible with the framework package currently in use +/// the API fails and an error is returned. +/// +/// @param majorMinorVersion the major and minor version to use, e..g 0x00010002 for Major.Minor=1.2 +/// @param versionTag the version pre-release identifier, or NULL if none. +/// @param minVersion the minimum version to use +STDAPI MddBootstrapInitialize2( + UINT32 majorMinorVersion, + PCWSTR versionTag, + PACKAGE_VERSION minVersion, + MddBootstrapInitializeOptions options) MDDBOOTSTRAP_NOEXCEPT; + +/// Undo the changes made by MddBoostrapInitialize(). +/// +/// @warning Packages made available via MddBootstrapInitialize2() and +/// the Dynamic Dependencies API should not be used after this call. +STDAPI_(void) MddBootstrapShutdown() MDDBOOTSTRAP_NOEXCEPT; + +// C++ friendly APIs +#if defined(__cplusplus) +#if defined(WINDOWSAPPSDK_RELEASE_MAJORMINOR) && defined(WINDOWSAPPSDK_RELEASE_VERSION_TAG_W) && defined(WINDOWSAPPSDK_RUNTIME_VERSION_UINT64) + +#include +#include + +namespace Microsoft::Windows::ApplicationModel +{ +class PackageVersion : public PACKAGE_VERSION +{ +public: + PackageVersion() + { + Version = 0; + } + + // Create an instance with the value `major.minor.build.revision`. + PackageVersion(uint16_t major, uint16_t minor = 0, uint16_t build = 0, uint16_t revision = 0) : + PACKAGE_VERSION() + { + Major = major; + Minor = minor; + Build = build; + Revision = revision; + } + + // Create an instance from a version as a uint64. + PackageVersion(uint64_t version) + { + Version = version; + } + + // Return the version as a uint64. + uint64_t ToVersion() const + { + return Version; + } + +#if defined(_XSTRING_) && defined(_STRSAFE_H_INCLUDED_) && defined(WI_VERIFY) + // Return the string as a formatted value "major.minor.build.revision". + std::wstring ToString() const + { + return ToString(Major, Minor, Build, Revision); + } + + static std::wstring ToString(uint16_t major, uint16_t minor, uint16_t build, uint16_t revision) + { + wchar_t formattedVersion[5 + 1 + 5 + 1 + 5 + 1 + 5 + 1]{}; // "12345.12345.12345.12345" + null-terminator + WI_VERIFY(SUCCEEDED(StringCchPrintfW(formattedVersion, ARRAYSIZE(formattedVersion), L"%hu.%hu.%hu.%hu", major, minor, build, revision))); + return std::wstring(formattedVersion); + } +#endif +}; + +namespace DynamicDependency::Bootstrap +{ + // Automate Boostrap shutdown when leaving scope + namespace details + { + struct mddbootstrapshutdown_t; + + struct mddbootstrapshutdown_deleter_t + { + void operator()(mddbootstrapshutdown_t*) + { + MddBootstrapShutdown(); + } + }; + } + using unique_mddbootstrapshutdown = std::unique_ptr; + + /// Options for Bootstrap initialization APIs. + /// @see InitializeFailFast(uint32_t, PCWSTR, PackageVersion, InitializeOptions) + /// @see Initialize(uint32_t, PCWSTR, PackageVersion, InitializeOptions) + /// @see InitializeNoThrow(uint32_t, PCWSTR, PackageVersion, InitializeOptions) + enum class InitializeOptions + { + /// Default behavior + None = MddBootstrapInitializeOptions_None, + + /// If not successful call DebugBreak() + OnError_DebugBreak = MddBootstrapInitializeOptions_OnError_DebugBreak, + + /// If not successful call DebugBreak() if a debugger is attached to the process + OnError_DebugBreak_IfDebuggerAttached = MddBootstrapInitializeOptions_OnError_DebugBreak_IfDebuggerAttached, + + /// If not successful perform a fail-fast + OnError_FailFast = MddBootstrapInitializeOptions_OnError_FailFast, + + /// If a compatible Windows App Runtime framework package is not found show UI + OnNoMatch_ShowUI = MddBootstrapInitializeOptions_OnNoMatch_ShowUI, + + /// Do nothing (do not error) if the process has package identity + OnPackageIdentity_NOOP = MddBootstrapInitializeOptions_OnPackageIdentity_NOOP, + }; + DEFINE_ENUM_FLAG_OPERATORS(InitializeOptions) + + /// Call MddBootstrapInitialize2() and aborts the process (via std::abort()) if it fails; + /// returns an RAII object that reverts the initialization on success. + /// + /// Initialize the calling process to use Windows App SDK's framework package. + /// + /// Find a Windows App SDK framework package meeting the criteria and make it available + /// for use by the current process. If multiple packages meet the criteria the best + /// candidate is selected. + /// + /// @param majorMinorVersion major and minor version of Windows App SDK's framework package, encoded as `0xMMMMNNNN` where M=Major, N=Minor (e.g. 1.2 == 0x00010002). + /// @param versionTag version tag (if any), e.g. "preview1". + /// @param minVersion the minimum version to use + /// @param options optional behavior + /// @see Initialize(uint32_t, PCWSTR, PackageVersion, InitializeOptions) + /// @see InitializeNoThrow(uint32_t, PCWSTR, PackageVersion, InitializeOptions) + /// @see Shutdown() + /// ~~~~~ + /// #include + /// + /// #include + /// #include + /// + /// #include + /// + /// namespace MddBootstrap { using namespace ::Microsoft::Windows::ApplicationModel::DynamicDependency::Bootstrap; } + /// + /// int main() + /// { + /// auto mddBootstrapShutdown = MddBootstrap::InitializeFailFast(); + /// std::cout << "hello world"; + /// return 0; + /// } + /// ~~~~~ + [[nodiscard]] inline unique_mddbootstrapshutdown InitializeFailFast( + uint32_t majorMinorVersion = WINDOWSAPPSDK_RELEASE_MAJORMINOR, + PCWSTR versionTag = WINDOWSAPPSDK_RELEASE_VERSION_TAG_W, + PackageVersion minVersion = WINDOWSAPPSDK_RUNTIME_VERSION_UINT64, + InitializeOptions options = ::Microsoft::Windows::ApplicationModel::DynamicDependency::Bootstrap::InitializeOptions::None) + { + const auto hr{ ::MddBootstrapInitialize2(majorMinorVersion, versionTag, minVersion, static_cast(options)) }; + if (FAILED(hr)) + { + std::abort(); + } + return unique_mddbootstrapshutdown(reinterpret_cast(1)); + } + +#if defined(_CPPUNWIND) && defined(WINRT_BASE_H) + /// Call MddBootstrapInitialize2() and throws an exception if it fails; + /// returns an RAII object that reverts the initialization on success. + /// + /// Initialize the calling process to use Windows App SDK's framework package. + /// + /// Find a Windows App SDK framework package meeting the criteria and make it available + /// for use by the current process. If multiple packages meet the criteria the best + /// candidate is selected. + /// + /// @param majorMinorVersion major and minor version of Windows App SDK's framework package, encoded as `0xMMMMNNNN` where M=Major, N=Minor (e.g. 1.2 == 0x00010002). + /// @param versionTag version tag (if any), e.g. "preview1". + /// @param minVersion the minimum version to use + /// @param options optional behavior + /// @see Initialize_failfast(uint32_t, PCWSTR, PackageVersion, InitializeOptions) + /// @see Initialize_nothrow(uint32_t, PCWSTR, PackageVersion, InitializeOptions) + /// @see Shutdown() + /// @exception winrt::hresult_error thrown if intialization fails; see code() for more details. + /// ~~~~~ + /// #include + /// + /// #include + /// + /// #include + /// #include + /// + /// #include + /// + /// namespace MddBootstrap { using namespace ::Microsoft::Windows::ApplicationModel::DynamicDependency::Bootstrap; } + /// + /// int main() + /// { + /// try + /// { + /// auto mddBootstrapCleanup = MddBootstrap::Initialize(); + /// std::cout << "hello world"; + /// } + /// catch (const winrt::hresult_error& ex) + /// { + /// const auto hr{ ex.code() }; + /// std::cout << "Error 0x" << std::hex << hr << " in Bootstrap initialization"; + /// return hr; + /// } + /// return 0; + /// } + /// ~~~~~ + [[nodiscard]] inline unique_mddbootstrapshutdown Initialize( + uint32_t majorMinorVersion = WINDOWSAPPSDK_RELEASE_MAJORMINOR, + PCWSTR versionTag = WINDOWSAPPSDK_RELEASE_VERSION_TAG_W, + PackageVersion minVersion = WINDOWSAPPSDK_RUNTIME_VERSION_UINT64, + InitializeOptions options = ::Microsoft::Windows::ApplicationModel::DynamicDependency::Bootstrap::InitializeOptions::None) + { + winrt::check_hresult(::MddBootstrapInitialize2(majorMinorVersion, versionTag, minVersion, static_cast(options))); + return unique_mddbootstrapshutdown(reinterpret_cast(1)); + } +#endif // defined(_CPPUNWIND) && defined(WINRT_BASE_H) + + /// Call MddBootstrapInitialize2() and returns a failure HRESULT if it fails. + /// + /// Initialize the calling process to use Windows App SDK's framework package. + /// + /// Find a Windows App SDK framework package meeting the criteria and make it available + /// for use by the current process. If multiple packages meet the criteria the best + /// candidate is selected. + /// + /// @param majorMinorVersion major and minor version of Windows App SDK's framework package, encoded as `0xMMMMNNNN` where M=Major, N=Minor (e.g. 1.2 == 0x00010002). + /// @param versionTag version tag (if any), e.g. "preview1". + /// @param minVersion the minimum version to use + /// @param options optional behavior + /// @see InitializeFailFast(uint32_t, PCWSTR, PackageVersion, InitializeOptions) + /// @see Initialize(uint32_t, PCWSTR, PackageVersion, InitializeOptions) + /// @see Shutdown() + /// ~~~~~ + /// #include + /// + /// #include + /// #include + /// + /// #include + /// + /// namespace MddBootstrap { using namespace ::Microsoft::Windows::ApplicationModel::DynamicDependency::Bootstrap; } + /// + /// int main() + /// { + /// const auto hr{ MddBootstrap::InitializeNoThrow() }; + /// if (FAILED(hr)) + /// { + /// std::cout << "Error 0x" << std::hex << hr << " in Bootstrap initialization"; + /// return hr; + /// } + /// auto mddBootstrapShutdown{ MddBootstrap::unique_mddbootstrapshutdown(reinterpret_cast(1)) }; + /// std::cout << "hello world"; + /// return 0; + /// } + /// ~~~~~ + inline HRESULT InitializeNoThrow( + uint32_t majorMinorVersion = WINDOWSAPPSDK_RELEASE_MAJORMINOR, + PCWSTR versionTag = WINDOWSAPPSDK_RELEASE_VERSION_TAG_W, + PackageVersion minVersion = WINDOWSAPPSDK_RUNTIME_VERSION_UINT64, + InitializeOptions options = ::Microsoft::Windows::ApplicationModel::DynamicDependency::Bootstrap::InitializeOptions::None) + { + return ::MddBootstrapInitialize2(majorMinorVersion, versionTag, minVersion, static_cast(options)); + } +} +} +#endif // defined(WINDOWSAPPSDK_RELEASE_MAJORMINOR) && defined(WINDOWSAPPSDK_RELEASE_VERSION_TAG_W) && defined(WINDOWSAPPSDK_RUNTIME_VERSION_UINT64) +#endif // defined(__cplusplus) + +#endif // MDDBOOTSTRAP_H diff --git a/vendor/include/Microsoft.UI.Composition.Interop.h b/vendor/include/Microsoft.UI.Composition.Interop.h new file mode 100644 index 0000000..17ba1f9 --- /dev/null +++ b/vendor/include/Microsoft.UI.Composition.Interop.h @@ -0,0 +1,121 @@ + +//--------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +//--------------------------------------------------------------------------- + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +#include +#include + +namespace winrt { +namespace Microsoft { +namespace UI { +namespace Composition { + +#undef INTERFACE +#define INTERFACE ICompositionDrawingSurfaceInterop +DECLARE_INTERFACE_IID_(ICompositionDrawingSurfaceInterop, ::IUnknown, "2D6355C2-AD57-4EAE-92E4-4C3EFF65D578") +{ + IFACEMETHOD(BeginDraw)( + _In_opt_ const RECT * updateRect, + _In_ REFIID iid, + _COM_Outptr_ void ** updateObject, + _Out_ POINT * updateOffset + ) PURE; + + IFACEMETHOD(EndDraw)( + ) PURE; + + IFACEMETHOD(Resize)( + _In_ SIZE sizePixels + ) PURE; + + IFACEMETHOD(Scroll)( + _In_opt_ const RECT * scrollRect, + _In_opt_ const RECT * clipRect, + _In_ int offsetX, + _In_ int offsetY + ) PURE; + + IFACEMETHOD(ResumeDraw)( + ) PURE; + + IFACEMETHOD(SuspendDraw)( + ) PURE; +}; + +#undef INTERFACE +#define INTERFACE ICompositionDrawingSurfaceInterop2 +DECLARE_INTERFACE_IID_(ICompositionDrawingSurfaceInterop2, ICompositionDrawingSurfaceInterop, "D4B71A65-3052-4ABE-9183-E98DE02A41A9") +{ + IFACEMETHOD(CopySurface)( + _In_ ::IUnknown* destinationResource, + _In_ int destinationOffsetX, + _In_ int destinationOffsetY, + _In_opt_ const RECT * sourceRectangle + ) PURE; +}; + +#undef INTERFACE +#define INTERFACE ICompositionGraphicsDeviceInterop +DECLARE_INTERFACE_IID_(ICompositionGraphicsDeviceInterop, ::IUnknown, "4AFA8030-BC70-4B0C-B1C7-6E69F933DC83") +{ + IFACEMETHOD(GetRenderingDevice)( + _COM_Outptr_ ::IUnknown ** value + ) PURE; + + IFACEMETHOD(SetRenderingDevice)( + _In_ ::IUnknown * value + ) PURE; +}; + + +#undef INTERFACE +#define INTERFACE ICompositorInterop +DECLARE_INTERFACE_IID_(ICompositorInterop, ::IUnknown, "FAB19398-6D19-4D8A-B752-8F096C396069") +{ +public: + HRESULT CreateGraphicsDevice( + _In_ ::IUnknown * renderingDevice, + _Out_ ICompositionGraphicsDevice* result) + { + return CreateGraphicsDevice_Abi( + renderingDevice, + winrt::put_abi(*result)); + } + +private: + IFACEMETHOD(CreateGraphicsDevice_Abi)( + _In_ ::IUnknown * renderingDevice, + _COM_Outptr_ void** result // ICompositionGraphicsDevice** + ) PURE; +}; + +#pragma region Desktop Family +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +namespace Interactions +{ + +#undef INTERFACE +#define INTERFACE IVisualInteractionSourceInterop +DECLARE_INTERFACE_IID_(IVisualInteractionSourceInterop, ::IUnknown, "AA170AEE-01D7-4954-89D2-8554415D6946") +{ + IFACEMETHOD(TryRedirectForManipulation)( + _In_ const POINTER_INFO& pointerInfo + ) PURE; +}; + +} // Interactions + +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ +#pragma endregion + + +} // namespace Composition +} // namespace UI +} // namespace Microsoft +} // namespace winrt diff --git a/vendor/include/Microsoft.UI.Dispatching.Interop.h b/vendor/include/Microsoft.UI.Dispatching.Interop.h new file mode 100644 index 0000000..d694d03 --- /dev/null +++ b/vendor/include/Microsoft.UI.Dispatching.Interop.h @@ -0,0 +1,12 @@ +//--------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +//--------------------------------------------------------------------------- + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +#include + +extern "C" BOOL __stdcall +ContentPreTranslateMessage(const MSG *pmsg); \ No newline at end of file diff --git a/vendor/include/Microsoft.UI.Input.InputCursor.Interop.h b/vendor/include/Microsoft.UI.Input.InputCursor.Interop.h new file mode 100644 index 0000000..e844b72 --- /dev/null +++ b/vendor/include/Microsoft.UI.Input.InputCursor.Interop.h @@ -0,0 +1,30 @@ +//--------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +//--------------------------------------------------------------------------- + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +#include + +namespace winrt { +namespace Microsoft { +namespace UI { +namespace Input { + +#undef INTERFACE +#define INTERFACE IInputCursorStaticsInterop + +DECLARE_INTERFACE_IID_(IInputCursorStaticsInterop, IInspectable, "ac6f5065-90c4-46ce-beb7-05e138e54117") +{ + IFACEMETHOD(CreateFromHCursor)( + _In_ HCURSOR cursor, + _Out_ IInputCursor * *result + ) PURE; +}; + +} // namespace Input +} // namespace UI +} // namespace Microsoft +} // namespace winrt \ No newline at end of file diff --git a/vendor/include/Microsoft.UI.Input.InputPreTranslateSource.Interop.h b/vendor/include/Microsoft.UI.Input.InputPreTranslateSource.Interop.h new file mode 100644 index 0000000..577433f --- /dev/null +++ b/vendor/include/Microsoft.UI.Input.InputPreTranslateSource.Interop.h @@ -0,0 +1,63 @@ +//--------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +//--------------------------------------------------------------------------- + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +#include + +namespace winrt { +namespace Microsoft { +namespace UI { +namespace Input { + + +// Ever wondered what all of the macros do for these manual COM-style interface definitions? I +// know I did! And Raymond Chen has the answers: https://devblogs.microsoft.com/oldnewthing/20041005-00/?p=37653 +// +// Since we don't support C code calling these interfaces, we've opted to forego a few of the usual +// requirements. Specifically, we don't use "#undef INTERFACE / #define INTERFACE", we don't use the +// BEGIN and END macros, we don't use the THIS or THIS_ macros, and we don't repeat the base class +// members. + +interface IInputPreTranslateKeyboardSourceHandler; + +DECLARE_INTERFACE_IID_(IInputPreTranslateKeyboardSourceInterop, IUnknown, "C3244A48-DCB4-416C-901A-FFC5E50C2FFA") +{ + IFACEMETHOD(SetPreTranslateHandler)( + _In_ IInputPreTranslateKeyboardSourceHandler* handler + ) PURE; +}; + + +DECLARE_INTERFACE_IID_(IInputPreTranslateKeyboardSourceHandler, IUnknown, "9A4B69AA-E3BE-4590-95F5-3AAA7B12B260") +{ + // "keyboardModifiers" are flags that can hold a combination of the following values: + // + // FVIRTKEY 0x0001 Message is WM_(SYS)KEYDOWN or WM_(SYS)KEYUP. + // FSHIFT 0x0004 VK_SHIFT is pressed. + // FCONTROL 0x0008 VK_CONTROL is pressed (or VK_RCONTROL when the AltGr key is present and pressed). + // FALT 0x0010 VK_MENU is pressed (or VK_LMENU when the AltGr key is present and pressed). + + IFACEMETHOD(OnDirectMessage)( + _In_ IInputPreTranslateKeyboardSourceInterop* source, + _In_ const MSG* msg, + _In_ UINT keyboardModifiers, + _Inout_ bool* handled + ) PURE; + + IFACEMETHOD(OnTreeMessage)( + _In_ IInputPreTranslateKeyboardSourceInterop* source, + _In_ const MSG* msg, + _In_ UINT keyboardModifiers, + _Inout_ bool* handled + ) PURE; +}; + + +} // namespace Input +} // namespace UI +} // namespace Microsoft +} // namespace winrt diff --git a/vendor/include/Microsoft.UI.Interop.h b/vendor/include/Microsoft.UI.Interop.h new file mode 100644 index 0000000..79370fc --- /dev/null +++ b/vendor/include/Microsoft.UI.Interop.h @@ -0,0 +1,151 @@ +//---------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +//---------------------------------------------------------------------------- + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +#include + +namespace ABI::Microsoft::UI +{ + using WindowId = winrt::Microsoft::UI::WindowId; + using DisplayId = winrt::Microsoft::UI::DisplayId; + using IconId = winrt::Microsoft::UI::IconId; +} + + +namespace winrt::Microsoft::UI +{ + +typedef HRESULT (STDAPICALLTYPE *PfnGetWindowIdFromWindow)(_In_ HWND hwnd, _Out_ ABI::Microsoft::UI::WindowId* windowId); +typedef HRESULT (STDAPICALLTYPE *PfnGetWindowFromWindowId)(_In_ ABI::Microsoft::UI::WindowId windowId, _Out_ HWND* hwnd); +typedef HRESULT (STDAPICALLTYPE *PfnGetDisplayIdFromMonitor)(_In_ HMONITOR hmonitor, _Out_ ABI::Microsoft::UI::DisplayId* displayId); +typedef HRESULT (STDAPICALLTYPE *PfnGetMonitorFromDisplayId)(_In_ ABI::Microsoft::UI::DisplayId displayId, _Out_ HMONITOR* hmonitor); +typedef HRESULT (STDAPICALLTYPE *PfnGetIconIdFromIcon)(_In_ HICON hicon, _Out_ ABI::Microsoft::UI::IconId* iconId); +typedef HRESULT (STDAPICALLTYPE *PfnGetIconFromIconId)(_In_ ABI::Microsoft::UI::IconId iconId, _Out_ HICON* hicon); + +typedef struct _InteropImpl +{ + PfnGetWindowIdFromWindow pfnGetWindowIdFromWindow; + PfnGetWindowFromWindowId pfnGetWindowFromWindowId; + PfnGetDisplayIdFromMonitor pfnGetDisplayIdFromMonitor; + PfnGetMonitorFromDisplayId pfnGetMonitorFromDisplayId; + PfnGetIconIdFromIcon pfnGetIconIdFromIcon; + PfnGetIconFromIconId pfnGetIconFromIconId; +} InteropImpl; + +#pragma warning(push) +#pragma warning(disable:4505) // linker warning: unreferenced local function has been removed + +__declspec(selectany) InteropImpl s_impl { nullptr }; +__declspec(selectany) HMODULE s_module { nullptr }; + + +// Load the FrameworkUdk library if needed and store pointers to the handle conversion functions. +// We need this approach because third-party apps cannot link to the FrameworkUdk directly. +// Note that in unpackaged apps this will only work after a call to MddBootstrapInitialize(). +static void EnsureInteropImplLoaded() +{ + if (s_module == nullptr) + { + HMODULE hmod = ::GetModuleHandle(TEXT("Microsoft.Internal.FrameworkUdk.dll")); + if (hmod == nullptr) + { + hmod = ::LoadLibrary(TEXT("Microsoft.Internal.FrameworkUdk.dll")); + } + + if (hmod != nullptr) + { + // In case of race conditions, this should be idempotent + *reinterpret_cast(&s_impl.pfnGetWindowIdFromWindow) = ::GetProcAddress(hmod, "Windowing_GetWindowIdFromWindow"); + *reinterpret_cast(&s_impl.pfnGetWindowFromWindowId) = ::GetProcAddress(hmod, "Windowing_GetWindowFromWindowId"); + *reinterpret_cast(&s_impl.pfnGetDisplayIdFromMonitor) = ::GetProcAddress(hmod, "Windowing_GetDisplayIdFromMonitor"); + *reinterpret_cast(&s_impl.pfnGetMonitorFromDisplayId) = ::GetProcAddress(hmod, "Windowing_GetMonitorFromDisplayId"); + *reinterpret_cast(&s_impl.pfnGetIconIdFromIcon) = ::GetProcAddress(hmod, "Windowing_GetIconIdFromIcon"); + *reinterpret_cast(&s_impl.pfnGetIconFromIconId) = ::GetProcAddress(hmod, "Windowing_GetIconFromIconId"); + + winrt::check_bool( + (s_impl.pfnGetWindowIdFromWindow != nullptr) && + (s_impl.pfnGetWindowFromWindowId != nullptr) && + (s_impl.pfnGetDisplayIdFromMonitor != nullptr) && + (s_impl.pfnGetMonitorFromDisplayId != nullptr) && + (s_impl.pfnGetIconIdFromIcon != nullptr) && + (s_impl.pfnGetIconFromIconId != nullptr)); + + // Store our HMODULE if none has been set so far + ::InterlockedCompareExchangePointer(reinterpret_cast(&s_module), hmod, nullptr); + + // It is possible that due to race conditions the FrameworkUdk dll ends up loaded multiple + // times. The expectation is that the FrameworkUdk dll will remain loaded for the lifetime + // of the process so we won't attempt to mitigate the extra lib refcounts. + } + } + + winrt::check_bool(s_module != nullptr); +} + + +static winrt::Microsoft::UI::WindowId GetWindowIdFromWindow(_In_ const HWND& hwnd) +{ + ::ABI::Microsoft::UI::WindowId abiWindowId = {}; + EnsureInteropImplLoaded(); + winrt::check_hresult(s_impl.pfnGetWindowIdFromWindow(hwnd, &abiWindowId)); + winrt::Microsoft::UI::WindowId winrtWindowId { abiWindowId.Value }; + return winrtWindowId; +} + + +static HWND GetWindowFromWindowId(_In_ const winrt::Microsoft::UI::WindowId& windowId) +{ + HWND hwnd = nullptr; + EnsureInteropImplLoaded(); + ::ABI::Microsoft::UI::WindowId abiWindowId { windowId.Value }; + winrt::check_hresult(s_impl.pfnGetWindowFromWindowId(abiWindowId, &hwnd)); + return hwnd; +} + + +static winrt::Microsoft::UI::DisplayId GetDisplayIdFromMonitor(_In_ const HMONITOR& hmonitor) +{ + ::ABI::Microsoft::UI::DisplayId abiDisplayId = {}; + EnsureInteropImplLoaded(); + winrt::check_hresult(s_impl.pfnGetDisplayIdFromMonitor(hmonitor, &abiDisplayId)); + winrt::Microsoft::UI::DisplayId winrtDisplayId { abiDisplayId.Value }; + return winrtDisplayId; +} + + +static HMONITOR GetMonitorFromDisplayId(_In_ const winrt::Microsoft::UI::DisplayId& displayId) +{ + HMONITOR hmonitor = nullptr; + EnsureInteropImplLoaded(); + ::ABI::Microsoft::UI::DisplayId abiDisplayId { displayId.Value }; + winrt::check_hresult(s_impl.pfnGetMonitorFromDisplayId(abiDisplayId, &hmonitor)); + return hmonitor; +} + + +static winrt::Microsoft::UI::IconId GetIconIdFromIcon(_In_ const HICON& hicon) +{ + ::ABI::Microsoft::UI::IconId abiIconId = {}; + EnsureInteropImplLoaded(); + winrt::check_hresult(s_impl.pfnGetIconIdFromIcon(hicon, &abiIconId)); + winrt::Microsoft::UI::IconId winrtIconId { abiIconId.Value }; + return winrtIconId; +} + + +static HICON GetIconFromIconId(_In_ const winrt::Microsoft::UI::IconId& iconId) +{ + HICON hicon = nullptr; + EnsureInteropImplLoaded(); + ::ABI::Microsoft::UI::IconId abiIconId { iconId.Value }; + winrt::check_hresult(s_impl.pfnGetIconFromIconId(abiIconId, &hicon)); + return hicon; +} + +#pragma warning(pop) + +} // namespace winrt::Microsoft::UI diff --git a/vendor/include/MsixDynamicDependency.h b/vendor/include/MsixDynamicDependency.h new file mode 100644 index 0000000..71d92a9 --- /dev/null +++ b/vendor/include/MsixDynamicDependency.h @@ -0,0 +1,226 @@ +// Copyright (c) Microsoft Corporation and Contributors. +// Licensed under the MIT License. + +#if !defined(MSIXDYNAMICDEPENDENCY_H) +#define MSIXDYNAMICDEPENDENCY_H + +#include + +#include + +/// MSIX Dynamic Dependency HRESULT: Windows App Runtime is not in the package graph. +#define MDD_E_WINDOWSAPPRUNTIME_NOT_IN_PACKAGE_GRAPH _HRESULT_TYPEDEF_(0x80040001L) + +/// MSIX Dynamic Dependency HRESULT: Data Store not found (Windows App Runtime's Main package not registered?) +#define MDD_E_WINDOWSAPPRUNTIME_DATASTORE_NOT_FOUND _HRESULT_TYPEDEF_(0x80040002L) + +/// MSIX Dynamic Dependency: Bootstrap initialization is scanning for an applicable DynamicDependencyLifetimeManager (DDLM) package +#define MDD_E_BOOTSTRAP_INITIALIZE_SCAN_FOR_DDLM _HRESULT_TYPEDEF_(0x80040010L) + +/// MSIX Dynamic Dependency: Bootstrap initialization found a DynamicDependencyLifetimeManager (DDLM) but doesn't match the criteria +#define MDD_E_BOOTSTRAP_INITIALIZE_DDLM_SCAN_NO_MATCH _HRESULT_TYPEDEF_(0x80040011L) + +/// MSIX Dynamic Dependency: Bootstrap initialization found a DynamicDependencyLifetimeManager (DDLM) that does match the criteria +#define MDD_E_BOOTSTRAP_INITIALIZE_DDLM_SCAN_MATCH _HRESULT_TYPEDEF_(0x80040012L) + +/// MSIX Dynamic Dependency: Bootstrap initialization found an applicable DynamicDependencyLifetimeManager (DDLM) best matching the criteria +#define MDD_E_BOOTSTRAP_INITIALIZE_DDLM_FOUND _HRESULT_TYPEDEF_(0x80040013L) + +/// MSIX Dynamic Dependency: Bootstrap initialization request is incompatible with current Bootstrap initialization state. +#define MDD_E_BOOTSTRAP_INITIALIZE_INCOMPATIBLE _HRESULT_TYPEDEF_(0x80040014L) + +#if defined(__cplusplus) + +enum class MddCreatePackageDependencyOptions : uint32_t +{ + None = 0, + + /// Disable dependency resolution when pinning a package dependency. + DoNotVerifyDependencyResolution = 0x00000001, + + /// Define the package dependency for the system, accessible to all users + /// (default is the package dependency is defined for a specific user). + /// This option requires the caller has adminitrative privileges. + ScopeIsSystem = 0x00000002, +}; +DEFINE_ENUM_FLAG_OPERATORS(MddCreatePackageDependencyOptions) + +enum class MddPackageDependencyLifetimeKind +{ + /// The current process is the lifetime artifact. The package dependency + /// is implicitly deleted when the process terminates. + Process = 0, + + /// The lifetime artifact is an absolute filename or path. + /// The package dependency is implicitly deleted when this is deleted. + FilePath = 1, + + /// The lifetime artifact is a registry key in the format + /// 'root\\subkey' where root is one of the following: HKLM, HKCU, HKCR, HKU. + /// The package dependency is implicitly deleted when this is deleted. + RegistryKey = 2, +}; + +enum class MddAddPackageDependencyOptions : uint32_t +{ + None = 0, + PrependIfRankCollision = 0x00000001, +}; +DEFINE_ENUM_FLAG_OPERATORS(MddAddPackageDependencyOptions) + +#define MDD_PACKAGE_DEPENDENCY_RANK_DEFAULT 0 + +enum class MddPackageDependencyProcessorArchitectures : uint32_t +{ + None = 0, + Neutral = 0x00000001, + X86 = 0x00000002, + X64 = 0x00000004, + Arm = 0x00000008, + Arm64 = 0x00000010, + X86OnArm64 = 0x00000020, +}; +DEFINE_ENUM_FLAG_OPERATORS(MddPackageDependencyProcessorArchitectures) + +DECLARE_HANDLE(MDD_PACKAGEDEPENDENCY_CONTEXT); + +/// Define a package dependency. The criteria for a PackageDependency +/// (package family name, minimum version, etc) +/// may match multiple packages, but ensures Deployment won't remove +/// a package if it's the only one satisfying the PackageDependency. +/// +/// @note A package matching a PackageDependency pin can still be removed +/// as long as there's another package that satisfies the PackageDependency. +/// For example, if Fwk-v1 is installed and a PackageDependency specifies +/// MinVersion=1 and then Fwk-v2 is installed, Deployment could remove +/// Fwk-v1 because Fwk-v2 will satisfy the PackageDependency. After Fwk-v1 +/// is removed Deployment won't remove Fwk-v2 because it's the only package +/// satisfying the PackageDependency. Thus Fwk-v1 and Fwk-v2 (and any other +/// package matching the PackageDependency) are 'loosely pinned'. Deployment +/// guarantees it won't remove a package if it would make a PackageDependency +/// unsatisfied. +/// +/// A PackageDependency specifies criteria (package family, minimum version, etc) +/// and not a specific package. Deployment reserves the right to use a different +/// package (e.g. higher version) to satisfy the PackageDependency if/when +/// one becomes available. +/// +/// @param user the user scope of the package dependency. If NULL the caller's +/// user context is used. MUST be NULL if MddCreatePackageDependencyOptions::ScopeIsSystem +/// is specified +/// @param lifetimeArtifact MUST be NULL if lifetimeKind=MddPackageDependencyLifetimeKind::Process +/// @param packageDependencyId allocated via HeapAlloc; use HeapFree to deallocate +/// +/// @note MddTryCreatePackageDependency() fails if the PackageDependency cannot be resolved to a specific +/// package. This package resolution check is skipped if +/// MddCreatePackageDependencyOptions::DoNotVerifyDependencyResolution is specified. This is useful +/// for installers running as user contexts other than the target user (e.g. installers +/// running as LocalSystem). +STDAPI MddTryCreatePackageDependency( + PSID user, + _In_ PCWSTR packageFamilyName, + PACKAGE_VERSION minVersion, + MddPackageDependencyProcessorArchitectures packageDependencyProcessorArchitectures, + MddPackageDependencyLifetimeKind lifetimeKind, + PCWSTR lifetimeArtifact, + MddCreatePackageDependencyOptions options, + _Outptr_result_maybenull_ PWSTR* packageDependencyId) noexcept; + +/// Undefine a package dependency. Removing a pin on a PackageDependency is typically done at uninstall-time. +/// This implicitly occurs if the package dependency's 'lifetime artifact' (specified via MddTryCreatePackageDependency) +/// is deleted. Packages that are not referenced by other packages and have no pins are elegible to be removed. +/// +/// @warn MddDeletePackageDependency() requires the caller have administrative privileges +/// if the package dependency was pinned with MddCreatePackageDependencyOptions::ScopeIsSystem. +STDAPI_(void) MddDeletePackageDependency( + _In_ PCWSTR packageDependencyId) noexcept; + +/// Resolve a previously-pinned PackageDependency to a specific package and +/// add it to the invoking process' package graph. Once the dependency has +/// been added other code-loading methods (LoadLibrary, CoCreateInstance, etc) +/// can find the binaries in the resolved package. +/// +/// Package resolution is specific to a user and can return different values +/// for different users on a system. +/// +/// Each successful MddAddPackageDependency() adds the resolved packaged to the +/// calling process' package graph, even if already present. There is no +/// duplicate 'detection' or 'filtering' applied by the API (multiple +/// references from a package is not harmful). Once resolution is complete +/// the package dependency stays resolved for that user until the last reference across +/// all processes for that user is removed via MddRemovePackageDependency (or +/// process termination). +/// +/// MddAddPackageDependency() adds the resolved package to the caller's package graph, +/// per the rank specified. A process' package graph is a list of packages sorted by +/// rank in ascending order (-infinity...0...+infinity). If package(s) are present in the +/// package graph with the same rank as the call to MddAddPackageDependency the resolved +/// package is (by default) added after others of the same rank. To add a package +/// before others o the same rank, specify MddAddPackageDependencyOptions::PrependIfRankCollision. +/// +/// Every MddAddPackageDependency can be balanced by a MddRemovePackageDependency +/// to remove the entry from the package graph. If the process terminates all package +/// references are removed, but any pins stay behind. +/// +/// MddAddPackageDependency adds the resolved package to the process' package +/// graph, per the rank and options parameters. The process' package +/// graph is used to search for DLLs (per Dynamic-Link Library Search Order), +/// WinRT objects and other resources; the caller can now load DLLs, activate +/// WinRT objects and use other resources from the framework package until +/// MddRemovePackageDependency is called. The packageDependencyId parameter +/// must match a package dependency defined for the calling user or the +/// system (i.e. pinned with MddCreatePackageDependencyOptions::ScopeIsSystem) else +/// an error is returned. +/// +/// @param packageDependencyContext valid until passed to MddRemovePackageDependency() +/// @param packageFullName allocated via HeapAlloc; use HeapFree to deallocate +STDAPI MddAddPackageDependency( + _In_ PCWSTR packageDependencyId, + INT32 rank, + MddAddPackageDependencyOptions options, + _Out_ MDD_PACKAGEDEPENDENCY_CONTEXT* packageDependencyContext, + _Outptr_opt_result_maybenull_ PWSTR* packageFullName) noexcept; + +/// Remove a resolved PackageDependency from the current process' package graph +/// (i.e. undo MddAddPackageDependency). Used at runtime (i.e. the moral equivalent +/// of Windows' RemoveDllDirectory()). +/// +/// @note This does not unload loaded resources (DLLs etc). After removing +/// a package dependency any files loaded from the package can continue +/// to be used; future file resolution will fail to see the removed +/// package dependency. +STDAPI_(void) MddRemovePackageDependency( + _In_ MDD_PACKAGEDEPENDENCY_CONTEXT packageDependencyContext) noexcept; + +/// Return the package full name that would be used if the +/// PackageDependency were to be resolved. Does not add the +/// package to the process graph. +/// +/// @param packageFullName allocated via HeapAlloc; use HeapFree to deallocate. +/// If the package dependency cannot be resolved the function +/// succeeds but packageFullName is nullptr. +STDAPI MddGetResolvedPackageFullNameForPackageDependency( + _In_ PCWSTR packageDependencyId, + _Outptr_result_maybenull_ PWSTR* packageFullName) noexcept; + +/// Return the package dependency for the context. +/// +/// @param packageDependencyId allocated via HeapAlloc; use HeapFree to deallocate. +/// If the package dependency context cannot be resolved +/// the function succeeds but packageDependencyId is nullptr. +STDAPI MddGetIdForPackageDependencyContext( + _In_ MDD_PACKAGEDEPENDENCY_CONTEXT packageDependencyContext, + _Outptr_result_maybenull_ PWSTR* packageDependencyId) noexcept; + +/// Return the package graph's current revision id. +STDAPI_(UINT32) MddGetPackageGraphRevisionId() noexcept; + +/// Return the package graph's current revision id. +/// +/// @note This API is deprecated and will be removed in a future release. +/// Use MddGetPackageGraphRevisionId(). +STDAPI_(UINT32) MddGetGenerationId() noexcept; + +#endif // defined(__cplusplus) + +#endif // MSIXDYNAMICDEPENDENCY_H diff --git a/vendor/include/Security.AccessControl.h b/vendor/include/Security.AccessControl.h new file mode 100644 index 0000000..eba78eb --- /dev/null +++ b/vendor/include/Security.AccessControl.h @@ -0,0 +1,21 @@ +// Copyright (c) Microsoft Corporation and Contributors. +// Licensed under the MIT License. + +#pragma once + +#include + +struct AppContainerNameAndAccess +{ + PCWSTR appContainerName; + UINT32 accessMask; +}; + +STDAPI GetSecurityDescriptorForAppContainerNames( + UINT32 accessRequestCount, + _In_reads_(accessRequestCount) const AppContainerNameAndAccess* accessRequests, + _In_opt_ PSID principal, + UINT32 principalAccessMask, + _Outptr_ PSECURITY_DESCRIPTOR* securityDescriptor, + _Out_opt_ UINT32* securityDescriptorSize +); diff --git a/vendor/include/WebView2.h b/vendor/include/WebView2.h new file mode 100644 index 0000000..e6a28bb --- /dev/null +++ b/vendor/include/WebView2.h @@ -0,0 +1,48014 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 8.xx.xxxx */ +/* at a redacted point in time + */ +/* Compiler settings for ../../edge_embedded_browser/client/win/current/webview2.idl: + Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx + protocol : dce , ms_ext, c_ext, robust + error checks: allocation ref bounds_check enum stub_data + VC __declspec() decoration level: + __declspec(uuid()), __declspec(selectany), __declspec(novtable) + DECLSPEC_UUID(), MIDL_INTERFACE() +*/ +/* @@MIDL_FILE_HEADING( ) */ + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif /* __RPCNDR_H_VERSION__ */ + + +#ifndef __webview2_h__ +#define __webview2_h__ + +#if defined(_MSC_VER) && (_MSC_VER >= 1020) +#pragma once +#endif + +#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 __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 __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 __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 __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 __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 __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__ */ + + +/* 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; + +STDAPI CreateCoreWebView2EnvironmentWithOptions(PCWSTR browserExecutableFolder, PCWSTR userDataFolder, ICoreWebView2EnvironmentOptions* environmentOptions, ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler* environmentCreatedHandler); +STDAPI CreateCoreWebView2Environment(ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler* environmentCreatedHandler); +STDAPI GetAvailableCoreWebView2BrowserVersionString(PCWSTR browserExecutableFolder, LPWSTR* versionInfo); +STDAPI CompareBrowserVersions(PCWSTR version1, PCWSTR version2, int* result); + +EXTERN_C const IID LIBID_WebView2; + +#ifndef __ICoreWebView2AcceleratorKeyPressedEventArgs_INTERFACE_DEFINED__ +#define __ICoreWebView2AcceleratorKeyPressedEventArgs_INTERFACE_DEFINED__ + +/* interface ICoreWebView2AcceleratorKeyPressedEventArgs */ +/* [unique][object][uuid] */ + + +EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2AcceleratorKeyPressedEventArgs = {0x9f760f8a,0xfb79,0x42be,{0x99,0x90,0x7b,0x56,0x90,0x0f,0xa9,0xc7}}; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("9f760f8a-fb79-42be-9990-7b56900fa9c7") + ICoreWebView2AcceleratorKeyPressedEventArgs : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeyEventKind( + /* [retval][out] */ COREWEBVIEW2_KEY_EVENT_KIND *keyEventKind) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_VirtualKey( + /* [retval][out] */ UINT *virtualKey) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_KeyEventLParam( + /* [retval][out] */ INT *lParam) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_PhysicalKeyStatus( + /* [retval][out] */ COREWEBVIEW2_PHYSICAL_KEY_STATUS *physicalKeyStatus) = 0; + + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_Handled( + /* [retval][out] */ BOOL *handled) = 0; + + virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_Handled( + /* [in] */ BOOL handled) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ICoreWebView2AcceleratorKeyPressedEventArgsVtbl + { + BEGIN_INTERFACE + + 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 __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 __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 __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 __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 __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 __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__ */ + +#endif /* __WebView2_LIBRARY_DEFINED__ */ + +/* Additional Prototypes for ALL interfaces */ + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/vendor/include/WindowsAppRuntimeInsights.h b/vendor/include/WindowsAppRuntimeInsights.h new file mode 100644 index 0000000..bd99974 --- /dev/null +++ b/vendor/include/WindowsAppRuntimeInsights.h @@ -0,0 +1,71 @@ +// Copyright (c) Microsoft Corporation and Contributors. +// Licensed under the MIT License. + +#pragma once + +#if __has_include() +#ifndef __WINDOWSAPPRUNTIMEINSIGHTS_INCLUDED +#define __WINDOWSAPPRUNTIMEINSIGHTS_INCLUDED + +#ifdef __WIL_TRACELOGGING_H_INCLUDED +#error "WIL Tracelogging.h must not be explicitly included when including this file" +#endif + +#include +#include + namespace Microsoft::WindowsAppRuntime::Insights + { + class RuntimeInformation + { + public: + static std::string WindowsAppRuntimeVersion() + { + const uint32_t c_versionResourceId{ 10000 }; + static std::string version{ LoadStringFromResource(c_versionResourceId) }; + return version; + } + + static std::string WindowsAppRuntimeChannel() + { + const uint32_t c_channelResourceId{ 10001 }; + static std::string channel{ LoadStringFromResource(c_channelResourceId) }; + return channel; + } + + private: + static std::string LoadStringFromResource(uint32_t id) + { + const uint32_t c_ResourceMaxLength{ 100 }; + char resourceValue[c_ResourceMaxLength]{}; + static wil::unique_hmodule module{ LoadResourceModule() }; + if (module) + { + const auto resourceValueLength{ ::LoadStringA(module.get(), id, resourceValue, ARRAYSIZE(resourceValue)) }; + LOG_LAST_ERROR_IF_MSG(resourceValueLength == 0, "Failed to load resource string. id: %u", id); + } + return resourceValue; + } + + static wil::unique_hmodule LoadResourceModule() + { + const PCWSTR c_resourceDllName{ L"Microsoft.WindowsAppRuntime.Insights.Resource.dll" }; + wil::unique_hmodule resourceDllHandle(::LoadLibraryW(c_resourceDllName)); + LOG_LAST_ERROR_IF_NULL_MSG(resourceDllHandle, "Unable to load resource dll. %ls", c_resourceDllName); + return resourceDllHandle; + } + }; + } + + #define _GENERIC_PARTB_FIELDS_ENABLED \ + TraceLoggingStruct(4, "COMMON_WINDOWSAPPSDK_PARAMS"), \ + TraceLoggingString(::Microsoft::WindowsAppRuntime::Insights::RuntimeInformation::WindowsAppRuntimeVersion().c_str(), "Version"), \ + TraceLoggingString(::Microsoft::WindowsAppRuntime::Insights::RuntimeInformation::WindowsAppRuntimeChannel().c_str(), "WindowsAppSDKChannel"), \ + TraceLoggingBool(wil::details::IsDebuggerPresent(), "IsDebugging"), \ + TraceLoggingBool(true, "UTCReplace_AppSessionGuid") + + #include + +#endif // __WINDOWSAPPRUNTIMEINSIGHTS_INCLUDED +#else +#error "WIL package must be referenced before including this header" +#endif diff --git a/vendor/include/WindowsAppSDK-VersionInfo.h b/vendor/include/WindowsAppSDK-VersionInfo.h new file mode 100644 index 0000000..1c9f368 --- /dev/null +++ b/vendor/include/WindowsAppSDK-VersionInfo.h @@ -0,0 +1,285 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See LICENSE in the project root for license information. + +#ifndef __WINDOWSAPPSDK_VERSIONINFO_H__ +#define __WINDOWSAPPSDK_VERSIONINFO_H__ + +// Release information +#define WINDOWSAPPSDK_RELEASE_MAJOR 1 +#define WINDOWSAPPSDK_RELEASE_MINOR 5 +#define WINDOWSAPPSDK_RELEASE_PATCH 0 +#define WINDOWSAPPSDK_RELEASE_MAJORMINOR 0x00010005 + +#define WINDOWSAPPSDK_RELEASE_CHANNEL "preview" +#define WINDOWSAPPSDK_RELEASE_CHANNEL_W L"preview" + +#define WINDOWSAPPSDK_RELEASE_VERSION_TAG "preview1" +#define WINDOWSAPPSDK_RELEASE_VERSION_TAG_W L"preview1" + +#define WINDOWSAPPSDK_RELEASE_VERSION_SHORTTAG "p1" +#define WINDOWSAPPSDK_RELEASE_VERSION_SHORTTAG_W L"p1" + +#define WINDOWSAPPSDK_RELEASE_FORMATTED_VERSION_TAG "-preview1" +#define WINDOWSAPPSDK_RELEASE_FORMATTED_VERSION_TAG_W L"-preview1" + +#define WINDOWSAPPSDK_RELEASE_FORMATTED_VERSION_SHORTTAG "-p1" +#define WINDOWSAPPSDK_RELEASE_FORMATTED_VERSION_SHORTTAG_W L"-p1" + +// Runtime information +#define WINDOWSAPPSDK_RUNTIME_IDENTITY_PUBLISHER "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" +#define WINDOWSAPPSDK_RUNTIME_IDENTITY_PUBLISHER_W L"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" +#define WINDOWSAPPSDK_RUNTIME_IDENTITY_PUBLISHERID "8wekyb3d8bbwe" +#define WINDOWSAPPSDK_RUNTIME_IDENTITY_PUBLISHERID_W L"8wekyb3d8bbwe" + +#define WINDOWSAPPSDK_RUNTIME_VERSION_MAJOR 5000u +#define WINDOWSAPPSDK_RUNTIME_VERSION_MINOR 35u +#define WINDOWSAPPSDK_RUNTIME_VERSION_BUILD 2034u +#define WINDOWSAPPSDK_RUNTIME_VERSION_REVISION 0u +#define WINDOWSAPPSDK_RUNTIME_VERSION_UINT64 0x1388002307F20000u +#define WINDOWSAPPSDK_RUNTIME_VERSION_DOTQUADSTRING "5000.35.2034.0" +#define WINDOWSAPPSDK_RUNTIME_VERSION_DOTQUADSTRING_W L"5000.35.2034.0" + +#define WINDOWSAPPSDK_RUNTIME_PACKAGE_FRAMEWORK_PACKAGEFAMILYNAME "Microsoft.WindowsAppRuntime.1.5-preview1_8wekyb3d8bbwe" +#define WINDOWSAPPSDK_RUNTIME_PACKAGE_FRAMEWORK_PACKAGEFAMILYNAME_W L"Microsoft.WindowsAppRuntime.1.5-preview1_8wekyb3d8bbwe" +#define WINDOWSAPPSDK_RUNTIME_PACKAGE_MAIN_PACKAGEFAMILYNAME "MicrosoftCorporationII.WinAppRuntime.Main.1.5-p1_8wekyb3d8bbwe" +#define WINDOWSAPPSDK_RUNTIME_PACKAGE_MAIN_PACKAGEFAMILYNAME_W L"MicrosoftCorporationII.WinAppRuntime.Main.1.5-p1_8wekyb3d8bbwe" +#define WINDOWSAPPSDK_RUNTIME_PACKAGE_SINGLETON_PACKAGEFAMILYNAME "MicrosoftCorporationII.WinAppRuntime.Singleton-p1_8wekyb3d8bbwe" +#define WINDOWSAPPSDK_RUNTIME_PACKAGE_SINGLETON_PACKAGEFAMILYNAME_W L"MicrosoftCorporationII.WinAppRuntime.Singleton-p1_8wekyb3d8bbwe" +#define WINDOWSAPPSDK_RUNTIME_PACKAGE_DDLM_X86_PACKAGEFAMILYNAME "Microsoft.WinAppRuntime.DDLM.5000.35.2034.0-x8-p1_8wekyb3d8bbwe" +#define WINDOWSAPPSDK_RUNTIME_PACKAGE_DDLM_X86_PACKAGEFAMILYNAME_W L"Microsoft.WinAppRuntime.DDLM.5000.35.2034.0-x8-p1_8wekyb3d8bbwe" +#define WINDOWSAPPSDK_RUNTIME_PACKAGE_DDLM_X64_PACKAGEFAMILYNAME "Microsoft.WinAppRuntime.DDLM.5000.35.2034.0-x6-p1_8wekyb3d8bbwe" +#define WINDOWSAPPSDK_RUNTIME_PACKAGE_DDLM_X64_PACKAGEFAMILYNAME_W L"Microsoft.WinAppRuntime.DDLM.5000.35.2034.0-x6-p1_8wekyb3d8bbwe" +#define WINDOWSAPPSDK_RUNTIME_PACKAGE_DDLM_ARM64_PACKAGEFAMILYNAME "Microsoft.WinAppRuntime.DDLM.5000.35.2034.0-a6-p1_8wekyb3d8bbwe" +#define WINDOWSAPPSDK_RUNTIME_PACKAGE_DDLM_ARM64_PACKAGEFAMILYNAME_W L"Microsoft.WinAppRuntime.DDLM.5000.35.2034.0-a6-p1_8wekyb3d8bbwe" + +#ifdef RC_INVOKED +// Only first 31 characters are significant for ResourceCompiler macro names (anything beyond that's silently ignored) +// These definitions provide RC-compatible equivalents to the macros above. Here's the translation key: +// * WAS == WINDOWSAPPSDK +// * WASR == WINDOWSAPPSDK_RUNTIME +// * FMT == FORMATTED +// * STAG == SHORTTAG +// * PKG == PACKAGE +// * FAMILY == PACKAGEFAMILYNAME + +// Release information +#define WAS_RELEASE_MAJOR 1 +#define WAS_RELEASE_MINOR 5 +#define WAS_RELEASE_PATCH 0 +#define WAS_RELEASE_MAJORMINOR 0x00010005 + +#define WAS_RELEASE_CHANNEL "preview" +#define WAS_RELEASE_CHANNEL_W L"preview" + +#define WAS_RELEASE_VERSION_TAG "preview1" +#define WAS_RELEASE_VERSION_TAG_W L"preview1" + +#define WAS_RELEASE_VERSION_STAG "p1" +#define WAS_RELEASE_VERSION_STAG_W L"p1" + +#define WAS_RELEASE_FMT_VERSION_TAG "-preview1" +#define WAS_RELEASE_FMT_VERSION_TAG_W L"-preview1" + +#define WAS_RELEASE_FMT_VERSION_STAG "-p1" +#define WAS_RELEASE_FMT_VERSION_STAG_W L"-p1" + +// Runtime information +#define WASR_IDENTITY_PUBLISHER "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" +#define WASR_IDENTITY_PUBLISHER_W L"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" +#define WASR_IDENTITY_PUBLISHERID "8wekyb3d8bbwe" +#define WASR_IDENTITY_PUBLISHERID_W L"8wekyb3d8bbwe" + +#define WASR_VERSION_MAJOR 5000 +#define WASR_VERSION_MINOR 35 +#define WASR_VERSION_BUILD 2034 +#define WASR_VERSION_REVISION 0 +#define WASR_VERSION_UINT64 0x1388002307F20000 +#define WASR_VERSION_DOTQUADSTRING "5000.35.2034.0" +#define WASR_VERSION_DOTQUADSTRING_W L"5000.35.2034.0" + +#define WASR_PKG_FRAMEWORK_FAMILY "Microsoft.WindowsAppRuntime.1.5-preview1_8wekyb3d8bbwe" +#define WASR_PKG_FRAMEWORK_FAMILY_W L"Microsoft.WindowsAppRuntime.1.5-preview1_8wekyb3d8bbwe" +#define WASR_PKG_MAIN_FAMILY "MicrosoftCorporationII.WinAppRuntime.Main.1.5-p1_8wekyb3d8bbwe" +#define WASR_PKG_MAIN_FAMILY_W L"MicrosoftCorporationII.WinAppRuntime.Main.1.5-p1_8wekyb3d8bbwe" +#define WASR_PKG_SINGLETON_FAMILY "MicrosoftCorporationII.WinAppRuntime.Singleton-p1_8wekyb3d8bbwe" +#define WASR_PKG_SINGLETON_FAMILY_W L"MicrosoftCorporationII.WinAppRuntime.Singleton-p1_8wekyb3d8bbwe" +#define WASR_PKG_DDLM_X86_FAMILY "Microsoft.WinAppRuntime.DDLM.5000.35.2034.0-x8-p1_8wekyb3d8bbwe" +#define WASR_PKG_DDLM_X86_FAMILY_W L"Microsoft.WinAppRuntime.DDLM.5000.35.2034.0-x8-p1_8wekyb3d8bbwe" +#define WASR_PKG_DDLM_X64_FAMILY "Microsoft.WinAppRuntime.DDLM.5000.35.2034.0-x6-p1_8wekyb3d8bbwe" +#define WASR_PKG_DDLM_X64_FAMILY_W L"Microsoft.WinAppRuntime.DDLM.5000.35.2034.0-x6-p1_8wekyb3d8bbwe" +#define WASR_PKG_DDLM_ARM64_FAMILY "Microsoft.WinAppRuntime.DDLM.5000.35.2034.0-a6-p1_8wekyb3d8bbwe" +#define WASR_PKG_DDLM_ARM64_FAMILY_W L"Microsoft.WinAppRuntime.DDLM.5000.35.2034.0-a6-p1_8wekyb3d8bbwe" +#endif + +#ifdef __cplusplus +#include +namespace Microsoft::WindowsAppSDK +{ + /// Build-time constants for the Windows App SDK release + namespace Release + { + /// The major version of the Windows App SDK release. + constexpr uint16_t Major = 1; + + /// The minor version of the Windows App SDK release. + constexpr uint16_t Minor = 5; + + /// The patch version of the Windows App SDK release. + constexpr uint16_t Patch = 0; + + /// The major and minor version of the Windows App SDK release, encoded as a uint32_t (0xMMMMNNNN where M=major, N=minor). + constexpr uint32_t MajorMinor = 0x00010005; + + /// The Windows App SDK release's channel; for example, "preview", or empty string for stable. + constexpr PCWSTR Channel = L"preview"; + + /// The Windows App SDK release's version tag; for example, "preview2", or empty string for stable. + constexpr PCWSTR VersionTag = L"preview1"; + + /// The Windows App SDK release's short-form version tag; for example, "p2", or empty string for stable. + constexpr PCWSTR VersionShortTag = L"p1"; + + /// The Windows App SDK release's version tag, formatted for concatenation when constructing identifiers; for example, "-preview2", or empty string for stable. + constexpr PCWSTR FormattedVersionTag = L"-preview1"; + + /// The Windows App SDK release's short-form version tag, formatted for concatenation when constructing identifiers; for example, "-p2", or empty string for stable. + constexpr PCWSTR FormattedVersionShortTag = L"-p1"; + } + + /// Build-time constants for the Windows App SDK runtime + namespace Runtime + { + namespace Identity + { + /// The Windows App SDK runtime's package identity's Publisher. + constexpr PCWSTR Publisher = L"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"; + + /// The Windows App SDK runtime's package identity's PublisherId. + constexpr PCWSTR PublisherId = L"8wekyb3d8bbwe"; + } + + namespace Version + { + /// The major version of the Windows App SDK runtime; for example, 1000. + constexpr uint16_t Major = 5000; + + /// The minor version of the Windows App SDK runtime; for example, 446. + constexpr uint16_t Minor = 35; + + /// The build version of the Windows App SDK runtime; for example, 804. + constexpr uint16_t Build = 2034; + + /// The revision version of the Windows App SDK runtime; for example, 0. + constexpr uint16_t Revision = 0; + + /// The version of the Windows App SDK runtime, as a uint64l for example, 0x03E801BE03240000. + constexpr uint64_t UInt64 = 0x1388002307F20000; + + /// The version of the Windows App SDK runtime, as a string (const wchar_t*); for example, "1000.446.804.0". + constexpr PCWSTR DotQuadString = L"5000.35.2034.0"; + } + + namespace Packages + { + namespace Framework + { + /// The Windows App SDK runtime's Framework package's family name. + constexpr PCWSTR PackageFamilyName = L"Microsoft.WindowsAppRuntime.1.5-preview1_8wekyb3d8bbwe"; + } + namespace Main + { + /// The Windows App SDK runtime's Main package's family name. + constexpr PCWSTR PackageFamilyName = L"MicrosoftCorporationII.WinAppRuntime.Main.1.5-p1_8wekyb3d8bbwe"; + } + namespace Singleton + { + /// The Windows App SDK runtime's Singleton package's family name. + constexpr PCWSTR PackageFamilyName = L"MicrosoftCorporationII.WinAppRuntime.Singleton-p1_8wekyb3d8bbwe"; + } + namespace DDLM + { + namespace X86 + { + /// The Windows App SDK runtime's Dynamic Dependency Lifetime Manager (DDLM) package's family name, for x86. + constexpr PCWSTR PackageFamilyName = L"Microsoft.WinAppRuntime.DDLM.5000.35.2034.0-x8-p1_8wekyb3d8bbwe"; + } + namespace X64 + { + /// The Windows App SDK runtime's Dynamic Dependency Lifetime Manager (DDLM) package's family name, for x64. + constexpr PCWSTR PackageFamilyName = L"Microsoft.WinAppRuntime.DDLM.5000.35.2034.0-x6-p1_8wekyb3d8bbwe"; + } + namespace Arm64 + { + /// The Windows App SDK runtime's Dynamic Dependency Lifetime Manager (DDLM) package's family name, for arm64. + constexpr PCWSTR PackageFamilyName = L"Microsoft.WinAppRuntime.DDLM.5000.35.2034.0-a6-p1_8wekyb3d8bbwe"; + } + } + } + } + + /// Run-time query'able version information for the Windows App SDK. + struct VersionInfo + { + /// Run-time query'able version information for the Windows App SDK release + struct Release + { + /// The major version of the Windows App SDK release. + uint16_t Major; + + /// The minor version of the Windows App SDK release. + uint16_t Minor; + + /// The patch version of the Windows App SDK release. + uint16_t Patch; + + /// The major and minor version of the Windows App SDK release, encoded as a uint32_t (0xMMMMNNNN where M=major, N=minor). + uint32_t MajorMinor; + + /// The Windows App SDK release's channel; for example, "preview", or empty string for stable. + PCWSTR Channel; + + /// The Windows App SDK release's version tag; for example, "preview2", or empty string for stable. + PCWSTR VersionTag; + + /// The Windows App SDK release's short-form version tag; for example, "p2", or empty string for stable. + PCWSTR VersionShortTag; + } Release; + + /// Run-time query'able version information for the Windows App SDK runtime + struct Runtime + { + struct Identity + { + /// The Windows App SDK runtime's package identity's Publisher. + PCWSTR Publisher; + + /// The Windows App SDK runtime's package identity's PublisherId. + PCWSTR PublisherId; + } Identity; + + struct Version + { + /// The major version of the Windows App SDK runtime; for example, 1000. + uint16_t Major; + + /// The minor version of the Windows App SDK runtime; for example, 446. + uint16_t Minor; + + /// The build version of the Windows App SDK runtime; for example, 804. + uint16_t Build; + + /// The revision version of the Windows App SDK runtime; for example, 0. + uint16_t Revision; + + /// The version of the Windows App SDK runtime, as a uint64l for example, 0x03E801BE03240000. + uint64_t UInt64; + + /// The version of the Windows App SDK runtime, as a string (const wchar_t*); for example, "1000.446.804.0". + PCWSTR DotQuadString; + } Version; + } Runtime; + }; +} +#endif // __cplusplus + +#endif // _WINDOWSAPPSDK_VERSIONINFO_H__ diff --git a/vendor/include/dwrite.h b/vendor/include/dwrite.h new file mode 100644 index 0000000..dba14dc --- /dev/null +++ b/vendor/include/dwrite.h @@ -0,0 +1,5151 @@ +//+-------------------------------------------------------------------------- +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +// Abstract: +// DirectX Typography Services public API definitions. +// +//---------------------------------------------------------------------------- + +#ifndef DWRITE_H_INCLUDED +#define DWRITE_H_INCLUDED + +#pragma once + +#include +#include +#include + +#ifndef DWRITE_DECLARE_INTERFACE +#define DWRITE_DECLARE_INTERFACE(iid) DECLSPEC_UUID(iid) DECLSPEC_NOVTABLE +#endif + +#ifndef DWRITE_DECLARE_UUID +#define DWRITE_DECLARE_UUID(classKeyword, name, iid) classKeyword DECLSPEC_UUID(iid) name +#endif + +#ifndef DWRITE_BEGIN_INTERFACE +#define DWRITE_BEGIN_INTERFACE(name, iid) interface DWRITE_DECLARE_INTERFACE(iid) name +#endif + +#ifndef DWRITE_EXPORT +#define DWRITE_EXPORT __declspec(dllimport) WINAPI +#endif + +/// +/// The type of a font represented by a single font file. +/// Font formats that consist of multiple files, e.g. Type 1 .PFM and .PFB, have +/// separate enum values for each of the file type. +/// +enum DWRITE_FONT_FILE_TYPE +{ + /// + /// Font type is not recognized by the DirectWrite font system. + /// + DWRITE_FONT_FILE_TYPE_UNKNOWN, + + /// + /// OpenType font with CFF outlines. + /// + DWRITE_FONT_FILE_TYPE_CFF, + + /// + /// OpenType font with TrueType outlines. + /// + DWRITE_FONT_FILE_TYPE_TRUETYPE, + + /// + /// OpenType font that contains a TrueType collection. + /// + DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION, + + /// + /// Type 1 PFM font. + /// + DWRITE_FONT_FILE_TYPE_TYPE1_PFM, + + /// + /// Type 1 PFB font. + /// + DWRITE_FONT_FILE_TYPE_TYPE1_PFB, + + /// + /// Vector .FON font. + /// + DWRITE_FONT_FILE_TYPE_VECTOR, + + /// + /// Bitmap .FON font. + /// + DWRITE_FONT_FILE_TYPE_BITMAP, + + // The following name is obsolete, but kept as an alias to avoid breaking existing code. + DWRITE_FONT_FILE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FILE_TYPE_OPENTYPE_COLLECTION, +}; + +/// +/// The file format of a complete font face. +/// Font formats that consist of multiple files, e.g. Type 1 .PFM and .PFB, have +/// a single enum entry. +/// +enum DWRITE_FONT_FACE_TYPE +{ + /// + /// OpenType font face with CFF outlines. + /// + DWRITE_FONT_FACE_TYPE_CFF, + + /// + /// OpenType font face with TrueType outlines. + /// + DWRITE_FONT_FACE_TYPE_TRUETYPE, + + /// + /// OpenType font face that is a part of a TrueType or CFF collection. + /// + DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION, + + /// + /// A Type 1 font face. + /// + DWRITE_FONT_FACE_TYPE_TYPE1, + + /// + /// A vector .FON format font face. + /// + DWRITE_FONT_FACE_TYPE_VECTOR, + + /// + /// A bitmap .FON format font face. + /// + DWRITE_FONT_FACE_TYPE_BITMAP, + + /// + /// Font face type is not recognized by the DirectWrite font system. + /// + DWRITE_FONT_FACE_TYPE_UNKNOWN, + + /// + /// The font data includes only the CFF table from an OpenType CFF font. + /// This font face type can be used only for embedded fonts (i.e., custom + /// font file loaders) and the resulting font face object supports only the + /// minimum functionality necessary to render glyphs. + /// + DWRITE_FONT_FACE_TYPE_RAW_CFF, + + // The following name is obsolete, but kept as an alias to avoid breaking existing code. + DWRITE_FONT_FACE_TYPE_TRUETYPE_COLLECTION = DWRITE_FONT_FACE_TYPE_OPENTYPE_COLLECTION, +}; + +/// +/// Specifies algorithmic style simulations to be applied to the font face. +/// Bold and oblique simulations can be combined via bitwise OR operation. +/// +enum DWRITE_FONT_SIMULATIONS +{ + /// + /// No simulations are performed. + /// + DWRITE_FONT_SIMULATIONS_NONE = 0x0000, + + /// + /// Algorithmic emboldening is performed. + /// + DWRITE_FONT_SIMULATIONS_BOLD = 0x0001, + + /// + /// Algorithmic italicization is performed. + /// + DWRITE_FONT_SIMULATIONS_OBLIQUE = 0x0002 +}; + +#ifdef DEFINE_ENUM_FLAG_OPERATORS +DEFINE_ENUM_FLAG_OPERATORS(DWRITE_FONT_SIMULATIONS) +#endif + +/// +/// The font weight enumeration describes common values for degree of blackness or thickness of strokes of characters in a font. +/// Font weight values less than 1 or greater than 999 are considered to be invalid, and they are rejected by font API functions. +/// +enum DWRITE_FONT_WEIGHT +{ + /// + /// Predefined font weight : Thin (100). + /// + DWRITE_FONT_WEIGHT_THIN = 100, + + /// + /// Predefined font weight : Extra-light (200). + /// + DWRITE_FONT_WEIGHT_EXTRA_LIGHT = 200, + + /// + /// Predefined font weight : Ultra-light (200). + /// + DWRITE_FONT_WEIGHT_ULTRA_LIGHT = 200, + + /// + /// Predefined font weight : Light (300). + /// + DWRITE_FONT_WEIGHT_LIGHT = 300, + + /// + /// Predefined font weight : Semi-light (350). + /// + DWRITE_FONT_WEIGHT_SEMI_LIGHT = 350, + + /// + /// Predefined font weight : Normal (400). + /// + DWRITE_FONT_WEIGHT_NORMAL = 400, + + /// + /// Predefined font weight : Regular (400). + /// + DWRITE_FONT_WEIGHT_REGULAR = 400, + + /// + /// Predefined font weight : Medium (500). + /// + DWRITE_FONT_WEIGHT_MEDIUM = 500, + + /// + /// Predefined font weight : Demi-bold (600). + /// + DWRITE_FONT_WEIGHT_DEMI_BOLD = 600, + + /// + /// Predefined font weight : Semi-bold (600). + /// + DWRITE_FONT_WEIGHT_SEMI_BOLD = 600, + + /// + /// Predefined font weight : Bold (700). + /// + DWRITE_FONT_WEIGHT_BOLD = 700, + + /// + /// Predefined font weight : Extra-bold (800). + /// + DWRITE_FONT_WEIGHT_EXTRA_BOLD = 800, + + /// + /// Predefined font weight : Ultra-bold (800). + /// + DWRITE_FONT_WEIGHT_ULTRA_BOLD = 800, + + /// + /// Predefined font weight : Black (900). + /// + DWRITE_FONT_WEIGHT_BLACK = 900, + + /// + /// Predefined font weight : Heavy (900). + /// + DWRITE_FONT_WEIGHT_HEAVY = 900, + + /// + /// Predefined font weight : Extra-black (950). + /// + DWRITE_FONT_WEIGHT_EXTRA_BLACK = 950, + + /// + /// Predefined font weight : Ultra-black (950). + /// + DWRITE_FONT_WEIGHT_ULTRA_BLACK = 950 +}; + +/// +/// The font stretch enumeration describes relative change from the normal aspect ratio +/// as specified by a font designer for the glyphs in a font. +/// Values less than 1 or greater than 9 are considered to be invalid, and they are rejected by font API functions. +/// +enum DWRITE_FONT_STRETCH +{ + /// + /// Predefined font stretch : Not known (0). + /// + DWRITE_FONT_STRETCH_UNDEFINED = 0, + + /// + /// Predefined font stretch : Ultra-condensed (1). + /// + DWRITE_FONT_STRETCH_ULTRA_CONDENSED = 1, + + /// + /// Predefined font stretch : Extra-condensed (2). + /// + DWRITE_FONT_STRETCH_EXTRA_CONDENSED = 2, + + /// + /// Predefined font stretch : Condensed (3). + /// + DWRITE_FONT_STRETCH_CONDENSED = 3, + + /// + /// Predefined font stretch : Semi-condensed (4). + /// + DWRITE_FONT_STRETCH_SEMI_CONDENSED = 4, + + /// + /// Predefined font stretch : Normal (5). + /// + DWRITE_FONT_STRETCH_NORMAL = 5, + + /// + /// Predefined font stretch : Medium (5). + /// + DWRITE_FONT_STRETCH_MEDIUM = 5, + + /// + /// Predefined font stretch : Semi-expanded (6). + /// + DWRITE_FONT_STRETCH_SEMI_EXPANDED = 6, + + /// + /// Predefined font stretch : Expanded (7). + /// + DWRITE_FONT_STRETCH_EXPANDED = 7, + + /// + /// Predefined font stretch : Extra-expanded (8). + /// + DWRITE_FONT_STRETCH_EXTRA_EXPANDED = 8, + + /// + /// Predefined font stretch : Ultra-expanded (9). + /// + DWRITE_FONT_STRETCH_ULTRA_EXPANDED = 9 +}; + +/// +/// The font style enumeration describes the slope style of a font face, such as Normal, Italic or Oblique. +/// Values other than the ones defined in the enumeration are considered to be invalid, and they are rejected by font API functions. +/// +enum DWRITE_FONT_STYLE +{ + /// + /// Font slope style : Normal. + /// + DWRITE_FONT_STYLE_NORMAL, + + /// + /// Font slope style : Oblique. + /// + DWRITE_FONT_STYLE_OBLIQUE, + + /// + /// Font slope style : Italic. + /// + DWRITE_FONT_STYLE_ITALIC + +}; + +/// +/// The informational string enumeration identifies a string in a font. +/// +enum DWRITE_INFORMATIONAL_STRING_ID +{ + /// + /// Unspecified name ID. + /// + DWRITE_INFORMATIONAL_STRING_NONE, + + /// + /// Copyright notice provided by the font. + /// + DWRITE_INFORMATIONAL_STRING_COPYRIGHT_NOTICE, + + /// + /// String containing a version number. + /// + DWRITE_INFORMATIONAL_STRING_VERSION_STRINGS, + + /// + /// Trademark information provided by the font. + /// + DWRITE_INFORMATIONAL_STRING_TRADEMARK, + + /// + /// Name of the font manufacturer. + /// + DWRITE_INFORMATIONAL_STRING_MANUFACTURER, + + /// + /// Name of the font designer. + /// + DWRITE_INFORMATIONAL_STRING_DESIGNER, + + /// + /// URL of font designer (with protocol, e.g., http://, ftp://). + /// + DWRITE_INFORMATIONAL_STRING_DESIGNER_URL, + + /// + /// Description of the font. Can contain revision information, usage recommendations, history, features, etc. + /// + DWRITE_INFORMATIONAL_STRING_DESCRIPTION, + + /// + /// URL of font vendor (with protocol, e.g., http://, ftp://). If a unique serial number is embedded in the URL, it can be used to register the font. + /// + DWRITE_INFORMATIONAL_STRING_FONT_VENDOR_URL, + + /// + /// Description of how the font may be legally used, or different example scenarios for licensed use. This field should be written in plain language, not legalese. + /// + DWRITE_INFORMATIONAL_STRING_LICENSE_DESCRIPTION, + + /// + /// URL where additional licensing information can be found. + /// + DWRITE_INFORMATIONAL_STRING_LICENSE_INFO_URL, + + /// + /// GDI-compatible family name. Because GDI allows a maximum of four fonts per family, fonts in the same family may have different GDI-compatible family names + /// (e.g., "Arial", "Arial Narrow", "Arial Black"). + /// + DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES, + + /// + /// GDI-compatible subfamily name. + /// + DWRITE_INFORMATIONAL_STRING_WIN32_SUBFAMILY_NAMES, + + /// + /// Typographic family name preferred by the designer. This enables font designers to group more than four fonts in a single family without losing compatibility with + /// GDI. This name is typically only present if it differs from the GDI-compatible family name. + /// + DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_FAMILY_NAMES, + + /// + /// Typographic subfamily name preferred by the designer. This name is typically only present if it differs from the GDI-compatible subfamily name. + /// + DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_SUBFAMILY_NAMES, + + /// + /// Sample text. This can be the font name or any other text that the designer thinks is the best example to display the font in. + /// + DWRITE_INFORMATIONAL_STRING_SAMPLE_TEXT, + + /// + /// The full name of the font, e.g. "Arial Bold", from name id 4 in the name table. + /// + DWRITE_INFORMATIONAL_STRING_FULL_NAME, + + /// + /// The postscript name of the font, e.g. "GillSans-Bold" from name id 6 in the name table. + /// + DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_NAME, + + /// + /// The postscript CID findfont name, from name id 20 in the name table. + /// + DWRITE_INFORMATIONAL_STRING_POSTSCRIPT_CID_NAME, + + /// + /// Family name for the weight-stretch-style model. + /// + DWRITE_INFORMATIONAL_STRING_WEIGHT_STRETCH_STYLE_FAMILY_NAME, + + /// + /// Script/language tag to identify the scripts or languages that the font was + /// primarily designed to support. See DWRITE_FONT_PROPERTY_ID_DESIGN_SCRIPT_LANGUAGE_TAG + /// for a longer description. + /// + DWRITE_INFORMATIONAL_STRING_DESIGN_SCRIPT_LANGUAGE_TAG, + + /// + /// Script/language tag to identify the scripts or languages that the font declares + /// it is able to support. + /// + DWRITE_INFORMATIONAL_STRING_SUPPORTED_SCRIPT_LANGUAGE_TAG, + + // Obsolete aliases kept to avoid breaking existing code. + DWRITE_INFORMATIONAL_STRING_PREFERRED_FAMILY_NAMES = DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_FAMILY_NAMES, + DWRITE_INFORMATIONAL_STRING_PREFERRED_SUBFAMILY_NAMES = DWRITE_INFORMATIONAL_STRING_TYPOGRAPHIC_SUBFAMILY_NAMES, + DWRITE_INFORMATIONAL_STRING_WWS_FAMILY_NAME = DWRITE_INFORMATIONAL_STRING_WEIGHT_STRETCH_STYLE_FAMILY_NAME, +}; + + +/// +/// The DWRITE_FONT_METRICS structure specifies the metrics of a font face that +/// are applicable to all glyphs within the font face. +/// +struct DWRITE_FONT_METRICS +{ + /// + /// The number of font design units per em unit. + /// Font files use their own coordinate system of font design units. + /// A font design unit is the smallest measurable unit in the em square, + /// an imaginary square that is used to size and align glyphs. + /// The concept of em square is used as a reference scale factor when defining font size and device transformation semantics. + /// The size of one em square is also commonly used to compute the paragraph indentation value. + /// + UINT16 designUnitsPerEm; + + /// + /// Ascent value of the font face in font design units. + /// Ascent is the distance from the top of font character alignment box to English baseline. + /// + UINT16 ascent; + + /// + /// Descent value of the font face in font design units. + /// Descent is the distance from the bottom of font character alignment box to English baseline. + /// + UINT16 descent; + + /// + /// Line gap in font design units. + /// Recommended additional white space to add between lines to improve legibility. The recommended line spacing + /// (baseline-to-baseline distance) is thus the sum of ascent, descent, and lineGap. The line gap is usually + /// positive or zero but can be negative, in which case the recommended line spacing is less than the height + /// of the character alignment box. + /// + INT16 lineGap; + + /// + /// Cap height value of the font face in font design units. + /// Cap height is the distance from English baseline to the top of a typical English capital. + /// Capital "H" is often used as a reference character for the purpose of calculating the cap height value. + /// + UINT16 capHeight; + + /// + /// x-height value of the font face in font design units. + /// x-height is the distance from English baseline to the top of lowercase letter "x", or a similar lowercase character. + /// + UINT16 xHeight; + + /// + /// The underline position value of the font face in font design units. + /// Underline position is the position of underline relative to the English baseline. + /// The value is usually made negative in order to place the underline below the baseline. + /// + INT16 underlinePosition; + + /// + /// The suggested underline thickness value of the font face in font design units. + /// + UINT16 underlineThickness; + + /// + /// The strikethrough position value of the font face in font design units. + /// Strikethrough position is the position of strikethrough relative to the English baseline. + /// The value is usually made positive in order to place the strikethrough above the baseline. + /// + INT16 strikethroughPosition; + + /// + /// The suggested strikethrough thickness value of the font face in font design units. + /// + UINT16 strikethroughThickness; +}; + +/// +/// The DWRITE_GLYPH_METRICS structure specifies the metrics of an individual glyph. +/// The units depend on how the metrics are obtained. +/// +struct DWRITE_GLYPH_METRICS +{ + /// + /// Specifies the X offset from the glyph origin to the left edge of the black box. + /// The glyph origin is the current horizontal writing position. + /// A negative value means the black box extends to the left of the origin (often true for lowercase italic 'f'). + /// + INT32 leftSideBearing; + + /// + /// Specifies the X offset from the origin of the current glyph to the origin of the next glyph when writing horizontally. + /// + UINT32 advanceWidth; + + /// + /// Specifies the X offset from the right edge of the black box to the origin of the next glyph when writing horizontally. + /// The value is negative when the right edge of the black box overhangs the layout box. + /// + INT32 rightSideBearing; + + /// + /// Specifies the vertical offset from the vertical origin to the top of the black box. + /// Thus, a positive value adds whitespace whereas a negative value means the glyph overhangs the top of the layout box. + /// + INT32 topSideBearing; + + /// + /// Specifies the Y offset from the vertical origin of the current glyph to the vertical origin of the next glyph when writing vertically. + /// (Note that the term "origin" by itself denotes the horizontal origin. The vertical origin is different. + /// Its Y coordinate is specified by verticalOriginY value, + /// and its X coordinate is half the advanceWidth to the right of the horizontal origin). + /// + UINT32 advanceHeight; + + /// + /// Specifies the vertical distance from the black box's bottom edge to the advance height. + /// Positive when the bottom edge of the black box is within the layout box. + /// Negative when the bottom edge of black box overhangs the layout box. + /// + INT32 bottomSideBearing; + + /// + /// Specifies the Y coordinate of a glyph's vertical origin, in the font's design coordinate system. + /// The y coordinate of a glyph's vertical origin is the sum of the glyph's top side bearing + /// and the top (i.e. yMax) of the glyph's bounding box. + /// + INT32 verticalOriginY; +}; + +/// +/// Optional adjustment to a glyph's position. A glyph offset changes the position of a glyph without affecting +/// the pen position. Offsets are in logical, pre-transform units. +/// +struct DWRITE_GLYPH_OFFSET +{ + /// + /// Offset in the advance direction of the run. A positive advance offset moves the glyph to the right + /// (in pre-transform coordinates) if the run is left-to-right or to the left if the run is right-to-left. + /// + FLOAT advanceOffset; + + /// + /// Offset in the ascent direction, i.e., the direction ascenders point. A positive ascender offset moves + /// the glyph up (in pre-transform coordinates). + /// + FLOAT ascenderOffset; +}; + +/// +/// Specifies the type of DirectWrite factory object. +/// DirectWrite factory contains internal state such as font loader registration and cached font data. +/// In most cases it is recommended to use the shared factory object, because it allows multiple components +/// that use DirectWrite to share internal DirectWrite state and reduce memory usage. +/// However, there are cases when it is desirable to reduce the impact of a component, +/// such as a plug-in from an untrusted source, on the rest of the process by sandboxing and isolating it +/// from the rest of the process components. In such cases, it is recommended to use an isolated factory for the sandboxed +/// component. +/// +enum DWRITE_FACTORY_TYPE +{ + /// + /// This is the recommended value in most cases. The shared factory is a singleton, so mulitiple + /// components in a process that create a shared factory share a single instance. This enables + /// reuse of cached font data and other state across multiple components. In addition, objects + /// created from a shared factory can read from and/or modify a cross-process or persistent cache. + /// + DWRITE_FACTORY_TYPE_SHARED, + + /// + /// Objects created from an isolated factory do not modify internal state or cached data used by + /// objects from other factories. However, they may still read from a cross-process or persistent + /// cache. + /// + DWRITE_FACTORY_TYPE_ISOLATED, + +#if DWRITE_CORE + /// + /// Objects created from an "isolated2" factory do not use or modify internal state or cached data + /// used by other factories. In addition, the system font collection contains only well-known fonts. + /// + // Warning: Make sure any additional new enum values are consistent between different versions of + // this header in DWriteCore and the Windows SDK. + DWRITE_FACTORY_TYPE_ISOLATED2 +#endif +}; + +/// +/// Creates an OpenType tag as a 32bit integer such that +/// the first character in the tag is the lowest byte, +/// (least significant on little endian architectures) +/// which can be used to compare with tags in the font file. +/// This macro is compatible with DWRITE_FONT_FEATURE_TAG. +/// +/// Example: DWRITE_MAKE_OPENTYPE_TAG('c','c','m','p') +/// Dword: 0x706D6363 +/// +#define DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d) ( \ + (static_cast(static_cast(d)) << 24) | \ + (static_cast(static_cast(c)) << 16) | \ + (static_cast(static_cast(b)) << 8) | \ + static_cast(static_cast(a))) + +/// +/// Creates an OpenType tag for glyph positioning and substitution font features. +/// +#define DWRITE_MAKE_FONT_FEATURE_TAG(a,b,c,d) (static_cast(DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d))) + +interface IDWriteFontFileStream; + +/// +/// Font file loader interface handles loading font file resources of a particular type from a key. +/// The font file loader interface is recommended to be implemented by a singleton object. +/// IMPORTANT: font file loader implementations must not register themselves with DirectWrite factory +/// inside their constructors and must not unregister themselves in their destructors, because +/// registration and unregistration operations increment and decrement the object reference count respectively. +/// Instead, registration and unregistration of font file loaders with DirectWrite factory should be performed +/// outside of the font file loader implementation as a separate step. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontFileLoader, "727cad4e-d6af-4c9e-8a08-d695b11caa49") : IUnknown +{ + /// + /// Creates a font file stream object that encapsulates an open file resource. + /// The resource is closed when the last reference to fontFileStream is released. + /// + /// Font file reference key that uniquely identifies the font file resource + /// within the scope of the font loader being used. + /// Size of font file reference key in bytes. + /// Pointer to the newly created font file stream. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateStreamFromKey)( + _In_reads_bytes_(fontFileReferenceKeySize) void const* fontFileReferenceKey, + UINT32 fontFileReferenceKeySize, + _COM_Outptr_ IDWriteFontFileStream** fontFileStream + ) PURE; +}; + +/// +/// A built-in implementation of IDWriteFontFileLoader interface that operates on local font files +/// and exposes local font file information from the font file reference key. +/// Font file references created using CreateFontFileReference use this font file loader. +/// +DWRITE_BEGIN_INTERFACE(IDWriteLocalFontFileLoader, "b2d9f3ec-c9fe-4a11-a2ec-d86208f7c0a2") : IDWriteFontFileLoader +{ + /// + /// Obtains the length of the absolute file path from the font file reference key. + /// + /// Font file reference key that uniquely identifies the local font file + /// within the scope of the font loader being used. + /// Size of font file reference key in bytes. + /// Length of the file path string not including the terminated NULL character. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFilePathLengthFromKey)( + _In_reads_bytes_(fontFileReferenceKeySize) void const* fontFileReferenceKey, + UINT32 fontFileReferenceKeySize, + _Out_ UINT32* filePathLength + ) PURE; + + /// + /// Obtains the absolute font file path from the font file reference key. + /// + /// Font file reference key that uniquely identifies the local font file + /// within the scope of the font loader being used. + /// Size of font file reference key in bytes. + /// Character array that receives the local file path. + /// Size of the filePath array in character count including the terminated NULL character. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFilePathFromKey)( + _In_reads_bytes_(fontFileReferenceKeySize) void const* fontFileReferenceKey, + UINT32 fontFileReferenceKeySize, + _Out_writes_z_(filePathSize) WCHAR* filePath, + UINT32 filePathSize + ) PURE; + + /// + /// Obtains the last write time of the file from the font file reference key. + /// + /// Font file reference key that uniquely identifies the local font file + /// within the scope of the font loader being used. + /// Size of font file reference key in bytes. + /// Last modified time of the font file. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetLastWriteTimeFromKey)( + _In_reads_bytes_(fontFileReferenceKeySize) void const* fontFileReferenceKey, + UINT32 fontFileReferenceKeySize, + _Out_ FILETIME* lastWriteTime + ) PURE; +}; + +/// +/// The interface for loading font file data. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontFileStream, "6d4865fe-0ab8-4d91-8f62-5dd6be34a3e0") : IUnknown +{ + /// + /// Reads a fragment from a file. + /// + /// Receives the pointer to the start of the font file fragment. + /// Offset of the fragment from the beginning of the font file. + /// Size of the fragment in bytes. + /// The client defined context to be passed to the ReleaseFileFragment. + /// + /// Standard HRESULT error code. + /// + /// + /// IMPORTANT: ReadFileFragment() implementations must check whether the requested file fragment + /// is within the file bounds. Otherwise, an error should be returned from ReadFileFragment. + /// + STDMETHOD(ReadFileFragment)( + _Outptr_result_bytebuffer_(fragmentSize) void const** fragmentStart, + UINT64 fileOffset, + UINT64 fragmentSize, + _Out_ void** fragmentContext + ) PURE; + + /// + /// Releases a fragment from a file. + /// + /// The client defined context of a font fragment returned from ReadFileFragment. + STDMETHOD_(void, ReleaseFileFragment)( + void* fragmentContext + ) PURE; + + /// + /// Obtains the total size of a file. + /// + /// Receives the total size of the file. + /// + /// Standard HRESULT error code. + /// + /// + /// Implementing GetFileSize() for asynchronously loaded font files may require + /// downloading the complete file contents, therefore this method should only be used for operations that + /// either require complete font file to be loaded (e.g., copying a font file) or need to make + /// decisions based on the value of the file size (e.g., validation against a persisted file size). + /// + STDMETHOD(GetFileSize)( + _Out_ UINT64* fileSize + ) PURE; + + /// + /// Obtains the last modified time of the file. The last modified time is used by DirectWrite font selection algorithms + /// to determine whether one font resource is more up to date than another one. + /// + /// Receives the last modified time of the file in the format that represents + /// the number of 100-nanosecond intervals since January 1, 1601 (UTC). + /// + /// Standard HRESULT error code. For resources that don't have a concept of the last modified time, the implementation of + /// GetLastWriteTime should return E_NOTIMPL. + /// + STDMETHOD(GetLastWriteTime)( + _Out_ UINT64* lastWriteTime + ) PURE; +}; + +/// +/// The interface that represents a reference to a font file. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontFile, "739d886a-cef5-47dc-8769-1a8b41bebbb0") : IUnknown +{ + /// + /// This method obtains the pointer to the reference key of a font file. The pointer is only valid until the object that refers to it is released. + /// + /// Pointer to the font file reference key. + /// IMPORTANT: The pointer value is valid until the font file reference object it is obtained from is released. + /// Size of font file reference key in bytes. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetReferenceKey)( + _Outptr_result_bytebuffer_(*fontFileReferenceKeySize) void const** fontFileReferenceKey, + _Out_ UINT32* fontFileReferenceKeySize + ) PURE; + + /// + /// Obtains the file loader associated with a font file object. + /// + /// The font file loader associated with the font file object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetLoader)( + _COM_Outptr_ IDWriteFontFileLoader** fontFileLoader + ) PURE; + + /// + /// Analyzes a file and returns whether it represents a font, and whether the font type is supported by the font system. + /// + /// TRUE if the font type is supported by the font system, FALSE otherwise. + /// The type of the font file. Note that even if isSupportedFontType is FALSE, + /// the fontFileType value may be different from DWRITE_FONT_FILE_TYPE_UNKNOWN. + /// The type of the font face that can be constructed from the font file. + /// Note that even if isSupportedFontType is FALSE, the fontFaceType value may be different from + /// DWRITE_FONT_FACE_TYPE_UNKNOWN. + /// Number of font faces contained in the font file. + /// + /// Standard HRESULT error code if there was a processing error during analysis. + /// + /// + /// IMPORTANT: certain font file types are recognized, but not supported by the font system. + /// For example, the font system will recognize a file as a Type 1 font file, + /// but will not be able to construct a font face object from it. In such situations, Analyze will set + /// isSupportedFontType output parameter to FALSE. + /// + STDMETHOD(Analyze)( + _Out_ BOOL* isSupportedFontType, + _Out_ DWRITE_FONT_FILE_TYPE* fontFileType, + _Out_opt_ DWRITE_FONT_FACE_TYPE* fontFaceType, + _Out_ UINT32* numberOfFaces + ) PURE; +}; + +/// +/// Represents the internal structure of a device pixel (i.e., the physical arrangement of red, +/// green, and blue color components) that is assumed for purposes of rendering text. +/// +#ifndef DWRITE_PIXEL_GEOMETRY_DEFINED +enum DWRITE_PIXEL_GEOMETRY +{ + /// + /// The red, green, and blue color components of each pixel are assumed to occupy the same point. + /// + DWRITE_PIXEL_GEOMETRY_FLAT, + + /// + /// Each pixel comprises three vertical stripes, with red on the left, green in the center, and + /// blue on the right. This is the most common pixel geometry for LCD monitors. + /// + DWRITE_PIXEL_GEOMETRY_RGB, + + /// + /// Each pixel comprises three vertical stripes, with blue on the left, green in the center, and + /// red on the right. + /// + DWRITE_PIXEL_GEOMETRY_BGR +}; +#define DWRITE_PIXEL_GEOMETRY_DEFINED +#endif + +/// +/// Represents a method of rendering glyphs. +/// +enum DWRITE_RENDERING_MODE +{ + /// + /// Specifies that the rendering mode is determined automatically based on the font and size. + /// + DWRITE_RENDERING_MODE_DEFAULT, + + /// + /// Specifies that no antialiasing is performed. Each pixel is either set to the foreground + /// color of the text or retains the color of the background. + /// + DWRITE_RENDERING_MODE_ALIASED, + + /// + /// Specifies that antialiasing is performed in the horizontal direction and the appearance + /// of glyphs is layout-compatible with GDI using CLEARTYPE_QUALITY. Use DWRITE_MEASURING_MODE_GDI_CLASSIC + /// to get glyph advances. The antialiasing may be either ClearType or grayscale depending on + /// the text antialiasing mode. + /// + DWRITE_RENDERING_MODE_GDI_CLASSIC, + + /// + /// Specifies that antialiasing is performed in the horizontal direction and the appearance + /// of glyphs is layout-compatible with GDI using CLEARTYPE_NATURAL_QUALITY. Glyph advances + /// are close to the font design advances, but are still rounded to whole pixels. Use + /// DWRITE_MEASURING_MODE_GDI_NATURAL to get glyph advances. The antialiasing may be either + /// ClearType or grayscale depending on the text antialiasing mode. + /// + DWRITE_RENDERING_MODE_GDI_NATURAL, + + /// + /// Specifies that antialiasing is performed in the horizontal direction. This rendering + /// mode allows glyphs to be positioned with subpixel precision and is therefore suitable + /// for natural (i.e., resolution-independent) layout. The antialiasing may be either + /// ClearType or grayscale depending on the text antialiasing mode. + /// + DWRITE_RENDERING_MODE_NATURAL, + + /// + /// Similar to natural mode except that antialiasing is performed in both the horizontal + /// and vertical directions. This is typically used at larger sizes to make curves and + /// diagonal lines look smoother. The antialiasing may be either ClearType or grayscale + /// depending on the text antialiasing mode. + /// + DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC, + + /// + /// Specifies that rendering should bypass the rasterizer and use the outlines directly. + /// This is typically used at very large sizes. + /// + DWRITE_RENDERING_MODE_OUTLINE, + + // The following names are obsolete, but are kept as aliases to avoid breaking existing code. + // Each of these rendering modes may result in either ClearType or grayscale antialiasing + // depending on the DWRITE_TEXT_ANTIALIASING_MODE. + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC = DWRITE_RENDERING_MODE_GDI_CLASSIC, + DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL = DWRITE_RENDERING_MODE_GDI_NATURAL, + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL = DWRITE_RENDERING_MODE_NATURAL, + DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL_SYMMETRIC = DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC +}; + +/// +/// The DWRITE_MATRIX structure specifies the graphics transform to be applied +/// to rendered glyphs. +/// +struct DWRITE_MATRIX +{ + /// + /// Horizontal scaling / cosine of rotation + /// + FLOAT m11; + + /// + /// Vertical shear / sine of rotation + /// + FLOAT m12; + + /// + /// Horizontal shear / negative sine of rotation + /// + FLOAT m21; + + /// + /// Vertical scaling / cosine of rotation + /// + FLOAT m22; + + /// + /// Horizontal shift (always orthogonal regardless of rotation) + /// + FLOAT dx; + + /// + /// Vertical shift (always orthogonal regardless of rotation) + /// + FLOAT dy; +}; + +/// +/// The interface that represents text rendering settings for glyph rasterization and filtering. +/// +DWRITE_BEGIN_INTERFACE(IDWriteRenderingParams, "2f0da53a-2add-47cd-82ee-d9ec34688e75") : IUnknown +{ + /// + /// Gets the gamma value used for gamma correction. Valid values must be + /// greater than zero and cannot exceed 256. + /// + STDMETHOD_(FLOAT, GetGamma)() PURE; + + /// + /// Gets the amount of contrast enhancement. Valid values are greater than + /// or equal to zero. + /// + STDMETHOD_(FLOAT, GetEnhancedContrast)() PURE; + + /// + /// Gets the ClearType level. Valid values range from 0.0f (no ClearType) + /// to 1.0f (full ClearType). + /// + STDMETHOD_(FLOAT, GetClearTypeLevel)() PURE; + + /// + /// Gets the pixel geometry. + /// + STDMETHOD_(DWRITE_PIXEL_GEOMETRY, GetPixelGeometry)() PURE; + + /// + /// Gets the rendering mode. + /// + STDMETHOD_(DWRITE_RENDERING_MODE, GetRenderingMode)() PURE; +}; + +// Forward declarations of D2D types +interface ID2D1SimplifiedGeometrySink; + +typedef ID2D1SimplifiedGeometrySink IDWriteGeometrySink; + +/// +/// This interface exposes various font data such as metrics, names, and glyph outlines. +/// It contains font face type, appropriate file references and face identification data. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontFace, "5f49804d-7024-4d43-bfa9-d25984f53849") : IUnknown +{ + /// + /// Obtains the file format type of a font face. + /// + STDMETHOD_(DWRITE_FONT_FACE_TYPE, GetType)() PURE; + + /// + /// Obtains the font files representing a font face. + /// + /// The number of files representing the font face. + /// User provided array that stores pointers to font files representing the font face. + /// This parameter can be NULL if the user is only interested in the number of files representing the font face. + /// This API increments reference count of the font file pointers returned according to COM conventions, and the client + /// should release them when finished. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFiles)( + _Inout_ UINT32* numberOfFiles, + _Out_writes_opt_(*numberOfFiles) IDWriteFontFile** fontFiles + ) PURE; + + /// + /// Obtains the zero-based index of the font face in its font file or files. If the font files contain a single face, + /// the return value is zero. + /// + STDMETHOD_(UINT32, GetIndex)() PURE; + + /// + /// Obtains the algorithmic style simulation flags of a font face. + /// + STDMETHOD_(DWRITE_FONT_SIMULATIONS, GetSimulations)() PURE; + + /// + /// Determines whether the font is a symbol font. + /// + STDMETHOD_(BOOL, IsSymbolFont)() PURE; + + /// + /// Obtains design units and common metrics for the font face. + /// These metrics are applicable to all the glyphs within a fontface and are used by applications for layout calculations. + /// + /// Points to a DWRITE_FONT_METRICS structure to fill in. + /// The metrics returned by this function are in font design units. + STDMETHOD_(void, GetMetrics)( + _Out_ DWRITE_FONT_METRICS* fontFaceMetrics + ) PURE; + + /// + /// Obtains the number of glyphs in the font face. + /// + STDMETHOD_(UINT16, GetGlyphCount)() PURE; + + /// + /// Obtains ideal glyph metrics in font design units. Design glyphs metrics are used for glyph positioning. + /// + /// An array of glyph indices to compute the metrics for. + /// The number of elements in the glyphIndices array. + /// Array of DWRITE_GLYPH_METRICS structures filled by this function. + /// The metrics returned by this function are in font design units. + /// Indicates whether the font is being used in a sideways run. + /// This can affect the glyph metrics if the font has oblique simulation + /// because sideways oblique simulation differs from non-sideways oblique simulation. + /// + /// Standard HRESULT error code. If any of the input glyph indices are outside of the valid glyph index range + /// for the current font face, E_INVALIDARG will be returned. + /// + STDMETHOD(GetDesignGlyphMetrics)( + _In_reads_(glyphCount) UINT16 const* glyphIndices, + UINT32 glyphCount, + _Out_writes_(glyphCount) DWRITE_GLYPH_METRICS* glyphMetrics, + BOOL isSideways = FALSE + ) PURE; + + /// + /// Returns the nominal mapping of UTF-32 Unicode code points to glyph indices as defined by the font 'cmap' table. + /// Note that this mapping is primarily provided for line layout engines built on top of the physical font API. + /// Because of OpenType glyph substitution and line layout character substitution, the nominal conversion does not always correspond + /// to how a Unicode string will map to glyph indices when rendering using a particular font face. + /// Also, note that Unicode Variation Selectors provide for alternate mappings for character to glyph. + /// This call will always return the default variant. + /// + /// An array of UTF-32 code points to obtain nominal glyph indices from. + /// The number of elements in the codePoints array. + /// Array of nominal glyph indices filled by this function. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetGlyphIndices)( + _In_reads_(codePointCount) UINT32 const* codePoints, + UINT32 codePointCount, + _Out_writes_(codePointCount) UINT16* glyphIndices + ) PURE; + + /// + /// Finds the specified OpenType font table if it exists and returns a pointer to it. + /// The function accesses the underlying font data via the IDWriteFontFileStream interface + /// implemented by the font file loader. + /// + /// Four character tag of table to find. + /// Use the DWRITE_MAKE_OPENTYPE_TAG() macro to create it. + /// Unlike GDI, it does not support the special TTCF and null tags to access the whole font. + /// + /// Pointer to base of table in memory. + /// The pointer is only valid so long as the FontFace used to get the font table still exists + /// (not any other FontFace, even if it actually refers to the same physical font). + /// + /// Byte size of table. + /// + /// Opaque context which must be freed by calling ReleaseFontTable. + /// The context actually comes from the lower level IDWriteFontFileStream, + /// which may be implemented by the application or DWrite itself. + /// It is possible for a NULL tableContext to be returned, especially if + /// the implementation directly memory maps the whole file. + /// Nevertheless, always release it later, and do not use it as a test for function success. + /// The same table can be queried multiple times, + /// but each returned context can be different, so release each separately. + /// + /// True if table exists. + /// + /// Standard HRESULT error code. + /// If a table can not be found, the function will not return an error, but the size will be 0, table NULL, and exists = FALSE. + /// The context does not need to be freed if the table was not found. + /// + /// + /// The context for the same tag may be different for each call, + /// so each one must be held and released separately. + /// + STDMETHOD(TryGetFontTable)( + _In_ UINT32 openTypeTableTag, + _Outptr_result_bytebuffer_(*tableSize) const void** tableData, + _Out_ UINT32* tableSize, + _Out_ void** tableContext, + _Out_ BOOL* exists + ) PURE; + + /// + /// Releases the table obtained earlier from TryGetFontTable. + /// + /// Opaque context from TryGetFontTable. + STDMETHOD_(void, ReleaseFontTable)( + _In_ void* tableContext + ) PURE; + + /// + /// Computes the outline of a run of glyphs by calling back to the outline sink interface. + /// + /// Logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch. + /// Array of glyph indices. + /// Optional array of glyph advances in DIPs. + /// Optional array of glyph offsets. + /// Number of glyphs. + /// If true, specifies that glyphs are rotated 90 degrees to the left and vertical metrics are used. + /// A client can render a vertical run by specifying isSideways = true and rotating the resulting geometry 90 degrees to the + /// right using a transform. + /// If true, specifies that the advance direction is right to left. By default, the advance direction + /// is left to right. + /// Interface the function calls back to draw each element of the geometry. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetGlyphRunOutline)( + FLOAT emSize, + _In_reads_(glyphCount) UINT16 const* glyphIndices, + _In_reads_opt_(glyphCount) FLOAT const* glyphAdvances, + _In_reads_opt_(glyphCount) DWRITE_GLYPH_OFFSET const* glyphOffsets, + UINT32 glyphCount, + BOOL isSideways, + BOOL isRightToLeft, + _In_ IDWriteGeometrySink* geometrySink + ) PURE; + + /// + /// Determines the recommended rendering mode for the font given the specified size and rendering parameters. + /// + /// Logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch. + /// Number of physical pixels per DIP. For example, if the DPI of the rendering surface is 96 this + /// value is 1.0f. If the DPI is 120, this value is 120.0f/96. + /// Specifies measuring mode that will be used for glyphs in the font. + /// Renderer implementations may choose different rendering modes for given measuring modes, but + /// best results are seen when the corresponding modes match: + /// DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL for DWRITE_MEASURING_MODE_NATURAL + /// DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC for DWRITE_MEASURING_MODE_GDI_CLASSIC + /// DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL for DWRITE_MEASURING_MODE_GDI_NATURAL + /// + /// Rendering parameters object. This parameter is necessary in case the rendering parameters + /// object overrides the rendering mode. + /// Receives the recommended rendering mode to use. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetRecommendedRenderingMode)( + FLOAT emSize, + FLOAT pixelsPerDip, + DWRITE_MEASURING_MODE measuringMode, + IDWriteRenderingParams* renderingParams, + _Out_ DWRITE_RENDERING_MODE* renderingMode + ) PURE; + + /// + /// Obtains design units and common metrics for the font face. + /// These metrics are applicable to all the glyphs within a fontface and are used by applications for layout calculations. + /// + /// Logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch. + /// Number of physical pixels per DIP. For example, if the DPI of the rendering surface is 96 this + /// value is 1.0f. If the DPI is 120, this value is 120.0f/96. + /// Optional transform applied to the glyphs and their positions. This transform is applied after the + /// scaling specified by the font size and pixelsPerDip. + /// Points to a DWRITE_FONT_METRICS structure to fill in. + /// The metrics returned by this function are in font design units. + STDMETHOD(GetGdiCompatibleMetrics)( + FLOAT emSize, + FLOAT pixelsPerDip, + _In_opt_ DWRITE_MATRIX const* transform, + _Out_ DWRITE_FONT_METRICS* fontFaceMetrics + ) PURE; + + /// + /// Obtains glyph metrics in font design units with the return values compatible with what GDI would produce. + /// Glyphs metrics are used for positioning of individual glyphs. + /// + /// Logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch. + /// Number of physical pixels per DIP. For example, if the DPI of the rendering surface is 96 this + /// value is 1.0f. If the DPI is 120, this value is 120.0f/96. + /// Optional transform applied to the glyphs and their positions. This transform is applied after the + /// scaling specified by the font size and pixelsPerDip. + /// + /// When set to FALSE, the metrics are the same as the metrics of GDI aliased text. + /// When set to TRUE, the metrics are the same as the metrics of text measured by GDI using a font + /// created with CLEARTYPE_NATURAL_QUALITY. + /// + /// An array of glyph indices to compute the metrics for. + /// The number of elements in the glyphIndices array. + /// Array of DWRITE_GLYPH_METRICS structures filled by this function. + /// The metrics returned by this function are in font design units. + /// Indicates whether the font is being used in a sideways run. + /// This can affect the glyph metrics if the font has oblique simulation + /// because sideways oblique simulation differs from non-sideways oblique simulation. + /// + /// Standard HRESULT error code. If any of the input glyph indices are outside of the valid glyph index range + /// for the current font face, E_INVALIDARG will be returned. + /// + STDMETHOD(GetGdiCompatibleGlyphMetrics)( + FLOAT emSize, + FLOAT pixelsPerDip, + _In_opt_ DWRITE_MATRIX const* transform, + BOOL useGdiNatural, + _In_reads_(glyphCount) UINT16 const* glyphIndices, + UINT32 glyphCount, + _Out_writes_(glyphCount) DWRITE_GLYPH_METRICS* glyphMetrics, + BOOL isSideways = FALSE + ) PURE; +}; + + +interface IDWriteFactory; +interface IDWriteFontFileEnumerator; + +/// +/// The font collection loader interface is used to construct a collection of fonts given a particular type of key. +/// The font collection loader interface is recommended to be implemented by a singleton object. +/// IMPORTANT: font collection loader implementations must not register themselves with a DirectWrite factory +/// inside their constructors and must not unregister themselves in their destructors, because +/// registration and unregistration operations increment and decrement the object reference count respectively. +/// Instead, registration and unregistration of font file loaders with DirectWrite factory should be performed +/// outside of the font file loader implementation as a separate step. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontCollectionLoader, "cca920e4-52f0-492b-bfa8-29c72ee0a468") : IUnknown +{ + /// + /// Creates a font file enumerator object that encapsulates a collection of font files. + /// The font system calls back to this interface to create a font collection. + /// + /// Factory associated with the loader. + /// Font collection key that uniquely identifies the collection of font files within + /// the scope of the font collection loader being used. + /// Size of the font collection key in bytes. + /// Pointer to the newly created font file enumerator. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateEnumeratorFromKey)( + _In_ IDWriteFactory* factory, + _In_reads_bytes_(collectionKeySize) void const* collectionKey, + UINT32 collectionKeySize, + _COM_Outptr_ IDWriteFontFileEnumerator** fontFileEnumerator + ) PURE; +}; + +/// +/// The font file enumerator interface encapsulates a collection of font files. The font system uses this interface +/// to enumerate font files when building a font collection. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontFileEnumerator, "72755049-5ff7-435d-8348-4be97cfa6c7c") : IUnknown +{ + /// + /// Advances to the next font file in the collection. When it is first created, the enumerator is positioned + /// before the first element of the collection and the first call to MoveNext advances to the first file. + /// + /// Receives the value TRUE if the enumerator advances to a file, or FALSE if + /// the enumerator advanced past the last file in the collection. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(MoveNext)( + _Out_ BOOL* hasCurrentFile + ) PURE; + + /// + /// Gets a reference to the current font file. + /// + /// Pointer to the newly created font file object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetCurrentFontFile)( + _COM_Outptr_ IDWriteFontFile** fontFile + ) PURE; +}; + +/// +/// Represents a collection of strings indexed by locale name. +/// +DWRITE_BEGIN_INTERFACE(IDWriteLocalizedStrings, "08256209-099a-4b34-b86d-c22b110e7771") : IUnknown +{ + /// + /// Gets the number of language/string pairs. + /// + STDMETHOD_(UINT32, GetCount)() PURE; + + /// + /// Gets the index of the item with the specified locale name. + /// + /// Locale name to look for. + /// Receives the zero-based index of the locale name/string pair. + /// Receives TRUE if the locale name exists or FALSE if not. + /// + /// Standard HRESULT error code. If the specified locale name does not exist, the return value is S_OK, + /// but *index is UINT32_MAX and *exists is FALSE. + /// + STDMETHOD(FindLocaleName)( + _In_z_ WCHAR const* localeName, + _Out_ UINT32* index, + _Out_ BOOL* exists + ) PURE; + + /// + /// Gets the length in characters (not including the null terminator) of the locale name with the specified index. + /// + /// Zero-based index of the locale name. + /// Receives the length in characters, not including the null terminator. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetLocaleNameLength)( + UINT32 index, + _Out_ UINT32* length + ) PURE; + + /// + /// Copies the locale name with the specified index to the specified array. + /// + /// Zero-based index of the locale name. + /// Character array that receives the locale name. + /// Size of the array in characters. The size must include space for the terminating + /// null character. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetLocaleName)( + UINT32 index, + _Out_writes_z_(size) WCHAR* localeName, + UINT32 size + ) PURE; + + /// + /// Gets the length in characters (not including the null terminator) of the string with the specified index. + /// + /// Zero-based index of the string. + /// Receives the length in characters, not including the null terminator. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetStringLength)( + UINT32 index, + _Out_ UINT32* length + ) PURE; + + /// + /// Copies the string with the specified index to the specified array. + /// + /// Zero-based index of the string. + /// Character array that receives the string. + /// Size of the array in characters. The size must include space for the terminating + /// null character. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetString)( + UINT32 index, + _Out_writes_z_(size) WCHAR* stringBuffer, + UINT32 size + ) PURE; +}; + +interface IDWriteFontFamily; +interface IDWriteFont; + +/// +/// The IDWriteFontCollection encapsulates a collection of font families. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontCollection, "a84cee02-3eea-4eee-a827-87c1a02a0fcc") : IUnknown +{ + /// + /// Gets the number of font families in the collection. + /// + STDMETHOD_(UINT32, GetFontFamilyCount)() PURE; + + /// + /// Creates a font family object given a zero-based font family index. + /// + /// Zero-based index of the font family. + /// Receives a pointer the newly created font family object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontFamily)( + UINT32 index, + _COM_Outptr_ IDWriteFontFamily** fontFamily + ) PURE; + + /// + /// Finds the font family with the specified family name. + /// + /// Name of the font family. The name is not case-sensitive but must otherwise exactly match a family name in the collection. + /// Receives the zero-based index of the matching font family if the family name was found or UINT32_MAX otherwise. + /// Receives TRUE if the family name exists or FALSE otherwise. + /// + /// Standard HRESULT error code. If the specified family name does not exist, the return value is S_OK, but *index is UINT32_MAX and *exists is FALSE. + /// + STDMETHOD(FindFamilyName)( + _In_z_ WCHAR const* familyName, + _Out_ UINT32* index, + _Out_ BOOL* exists + ) PURE; + + /// + /// Gets the font object that corresponds to the same physical font as the specified font face object. The specified physical font must belong + /// to the font collection. + /// + /// Font face object that specifies the physical font. + /// Receives a pointer to the newly created font object if successful or NULL otherwise. + /// + /// Standard HRESULT error code. If the specified physical font is not part of the font collection the return value is DWRITE_E_NOFONT. + /// + STDMETHOD(GetFontFromFontFace)( + _In_ IDWriteFontFace* fontFace, + _COM_Outptr_ IDWriteFont** font + ) PURE; +}; + +/// +/// The IDWriteFontList interface represents an ordered set of fonts that are part of an IDWriteFontCollection. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontList, "1a0d8438-1d97-4ec1-aef9-a2fb86ed6acb") : IUnknown +{ + /// + /// Gets the font collection that contains the fonts. + /// + /// Receives a pointer to the font collection object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontCollection)( + _COM_Outptr_ IDWriteFontCollection** fontCollection + ) PURE; + + /// + /// Gets the number of fonts in the font list. + /// + STDMETHOD_(UINT32, GetFontCount)() PURE; + + /// + /// Gets a font given its zero-based index. + /// + /// Zero-based index of the font in the font list. + /// Receives a pointer to the newly created font object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFont)( + UINT32 index, + _COM_Outptr_ IDWriteFont** font + ) PURE; +}; + +/// +/// The IDWriteFontFamily interface represents a set of fonts that share the same design but are differentiated +/// by weight, stretch, and style. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontFamily, "da20d8ef-812a-4c43-9802-62ec4abd7add") : IDWriteFontList +{ + /// + /// Creates a localized strings object that contains the family names for the font family, indexed by locale name. + /// + /// Receives a pointer to the newly created localized strings object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFamilyNames)( + _COM_Outptr_ IDWriteLocalizedStrings** names + ) PURE; + + /// + /// Gets the font that best matches the specified properties. + /// + /// Requested font weight. + /// Requested font stretch. + /// Requested font style. + /// Receives a pointer to the newly created font object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFirstMatchingFont)( + DWRITE_FONT_WEIGHT weight, + DWRITE_FONT_STRETCH stretch, + DWRITE_FONT_STYLE style, + _COM_Outptr_ IDWriteFont** matchingFont + ) PURE; + + /// + /// Gets a list of fonts in the font family ranked in order of how well they match the specified properties. + /// + /// Requested font weight. + /// Requested font stretch. + /// Requested font style. + /// Receives a pointer to the newly created font list object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetMatchingFonts)( + DWRITE_FONT_WEIGHT weight, + DWRITE_FONT_STRETCH stretch, + DWRITE_FONT_STYLE style, + _COM_Outptr_ IDWriteFontList** matchingFonts + ) PURE; +}; + +/// +/// The IDWriteFont interface represents a physical font in a font collection. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFont, "acd16696-8c14-4f5d-877e-fe3fc1d32737") : IUnknown +{ + /// + /// Gets the font family to which the specified font belongs. + /// + /// Receives a pointer to the font family object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontFamily)( + _COM_Outptr_ IDWriteFontFamily** fontFamily + ) PURE; + + /// + /// Gets the weight of the specified font. + /// + STDMETHOD_(DWRITE_FONT_WEIGHT, GetWeight)() PURE; + + /// + /// Gets the stretch (aka. width) of the specified font. + /// + STDMETHOD_(DWRITE_FONT_STRETCH, GetStretch)() PURE; + + /// + /// Gets the style (aka. slope) of the specified font. + /// + STDMETHOD_(DWRITE_FONT_STYLE, GetStyle)() PURE; + + /// + /// Returns TRUE if the font is a symbol font or FALSE if not. + /// + STDMETHOD_(BOOL, IsSymbolFont)() PURE; + + /// + /// Gets a localized strings collection containing the face names for the font (e.g., Regular or Bold), indexed by locale name. + /// + /// Receives a pointer to the newly created localized strings object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFaceNames)( + _COM_Outptr_ IDWriteLocalizedStrings** names + ) PURE; + + /// + /// Gets a localized strings collection containing the specified informational strings, indexed by locale name. + /// + /// Identifies the string to get. + /// Receives a pointer to the newly created localized strings object. + /// Receives the value TRUE if the font contains the specified string ID or FALSE if not. + /// + /// Standard HRESULT error code. If the font does not contain the specified string, the return value is S_OK but + /// informationalStrings receives a NULL pointer and exists receives the value FALSE. + /// + STDMETHOD(GetInformationalStrings)( + DWRITE_INFORMATIONAL_STRING_ID informationalStringID, + _COM_Outptr_result_maybenull_ IDWriteLocalizedStrings** informationalStrings, + _Out_ BOOL* exists + ) PURE; + + /// + /// Gets a value that indicates what simulation are applied to the specified font. + /// + STDMETHOD_(DWRITE_FONT_SIMULATIONS, GetSimulations)() PURE; + + /// + /// Gets the metrics for the font. + /// + /// Receives the font metrics. + STDMETHOD_(void, GetMetrics)( + _Out_ DWRITE_FONT_METRICS* fontMetrics + ) PURE; + + /// + /// Determines whether the font supports the specified character. + /// + /// Unicode (UCS-4) character value. + /// Receives the value TRUE if the font supports the specified character or FALSE if not. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(HasCharacter)( + UINT32 unicodeValue, + _Out_ BOOL* exists + ) PURE; + + /// + /// Creates a font face object for the font. + /// + /// Receives a pointer to the newly created font face object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontFace)( + _COM_Outptr_ IDWriteFontFace** fontFace + ) PURE; +}; + +/// +/// Direction for how reading progresses. +/// +enum DWRITE_READING_DIRECTION +{ + /// + /// Reading progresses from left to right. + /// + DWRITE_READING_DIRECTION_LEFT_TO_RIGHT = 0, + + /// + /// Reading progresses from right to left. + /// + DWRITE_READING_DIRECTION_RIGHT_TO_LEFT = 1, + + /// + /// Reading progresses from top to bottom. + /// + DWRITE_READING_DIRECTION_TOP_TO_BOTTOM = 2, + + /// + /// Reading progresses from bottom to top. + /// + DWRITE_READING_DIRECTION_BOTTOM_TO_TOP = 3, +}; + +/// +/// Direction for how lines of text are placed relative to one another. +/// +enum DWRITE_FLOW_DIRECTION +{ + /// + /// Text lines are placed from top to bottom. + /// + DWRITE_FLOW_DIRECTION_TOP_TO_BOTTOM = 0, + + /// + /// Text lines are placed from bottom to top. + /// + DWRITE_FLOW_DIRECTION_BOTTOM_TO_TOP = 1, + + /// + /// Text lines are placed from left to right. + /// + DWRITE_FLOW_DIRECTION_LEFT_TO_RIGHT = 2, + + /// + /// Text lines are placed from right to left. + /// + DWRITE_FLOW_DIRECTION_RIGHT_TO_LEFT = 3, +}; + +/// +/// Alignment of paragraph text along the reading direction axis relative to +/// the leading and trailing edge of the layout box. +/// +enum DWRITE_TEXT_ALIGNMENT +{ + /// + /// The leading edge of the paragraph text is aligned to the layout box's leading edge. + /// + DWRITE_TEXT_ALIGNMENT_LEADING, + + /// + /// The trailing edge of the paragraph text is aligned to the layout box's trailing edge. + /// + DWRITE_TEXT_ALIGNMENT_TRAILING, + + /// + /// The center of the paragraph text is aligned to the center of the layout box. + /// + DWRITE_TEXT_ALIGNMENT_CENTER, + + /// + /// Align text to the leading side, and also justify text to fill the lines. + /// + DWRITE_TEXT_ALIGNMENT_JUSTIFIED +}; + +/// +/// Alignment of paragraph text along the flow direction axis relative to the +/// flow's beginning and ending edge of the layout box. +/// +enum DWRITE_PARAGRAPH_ALIGNMENT +{ + /// + /// The first line of paragraph is aligned to the flow's beginning edge of the layout box. + /// + DWRITE_PARAGRAPH_ALIGNMENT_NEAR, + + /// + /// The last line of paragraph is aligned to the flow's ending edge of the layout box. + /// + DWRITE_PARAGRAPH_ALIGNMENT_FAR, + + /// + /// The center of the paragraph is aligned to the center of the flow of the layout box. + /// + DWRITE_PARAGRAPH_ALIGNMENT_CENTER +}; + +/// +/// Word wrapping in multiline paragraph. +/// +enum DWRITE_WORD_WRAPPING +{ + /// + /// Words are broken across lines to avoid text overflowing the layout box. + /// + DWRITE_WORD_WRAPPING_WRAP = 0, + + /// + /// Words are kept within the same line even when it overflows the layout box. + /// This option is often used with scrolling to reveal overflow text. + /// + DWRITE_WORD_WRAPPING_NO_WRAP = 1, + + /// + /// Words are broken across lines to avoid text overflowing the layout box. + /// Emergency wrapping occurs if the word is larger than the maximum width. + /// + DWRITE_WORD_WRAPPING_EMERGENCY_BREAK = 2, + + /// + /// Only wrap whole words, never breaking words (emergency wrapping) when the + /// layout width is too small for even a single word. + /// + DWRITE_WORD_WRAPPING_WHOLE_WORD = 3, + + /// + /// Wrap between any valid characters clusters. + /// + DWRITE_WORD_WRAPPING_CHARACTER = 4, +}; + +/// +/// The method used for line spacing in layout. +/// +enum DWRITE_LINE_SPACING_METHOD +{ + /// + /// Line spacing depends solely on the content, growing to accommodate the size of fonts and inline objects. + /// + DWRITE_LINE_SPACING_METHOD_DEFAULT, + + /// + /// Lines are explicitly set to uniform spacing, regardless of contained font sizes. + /// This can be useful to avoid the uneven appearance that can occur from font fallback. + /// + DWRITE_LINE_SPACING_METHOD_UNIFORM, + + /// + /// Line spacing and baseline distances are proportional to the computed values based on the content, the size of the fonts and inline objects. + /// + DWRITE_LINE_SPACING_METHOD_PROPORTIONAL +}; + +/// +/// Text granularity used to trim text overflowing the layout box. +/// +enum DWRITE_TRIMMING_GRANULARITY +{ + /// + /// No trimming occurs. Text flows beyond the layout width. + /// + DWRITE_TRIMMING_GRANULARITY_NONE, + + /// + /// Trimming occurs at character cluster boundary. + /// + DWRITE_TRIMMING_GRANULARITY_CHARACTER, + + /// + /// Trimming occurs at word boundary. + /// + DWRITE_TRIMMING_GRANULARITY_WORD +}; + +/// +/// Typographic feature of text supplied by the font. +/// +/// +/// Use DWRITE_MAKE_FONT_FEATURE_TAG() to create a custom one. +/// +enum DWRITE_FONT_FEATURE_TAG +{ + DWRITE_FONT_FEATURE_TAG_ALTERNATIVE_FRACTIONS = DWRITE_MAKE_OPENTYPE_TAG('a','f','r','c'), + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS_FROM_CAPITALS = DWRITE_MAKE_OPENTYPE_TAG('c','2','p','c'), + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS_FROM_CAPITALS = DWRITE_MAKE_OPENTYPE_TAG('c','2','s','c'), + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_ALTERNATES = DWRITE_MAKE_OPENTYPE_TAG('c','a','l','t'), + DWRITE_FONT_FEATURE_TAG_CASE_SENSITIVE_FORMS = DWRITE_MAKE_OPENTYPE_TAG('c','a','s','e'), + DWRITE_FONT_FEATURE_TAG_GLYPH_COMPOSITION_DECOMPOSITION = DWRITE_MAKE_OPENTYPE_TAG('c','c','m','p'), + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_LIGATURES = DWRITE_MAKE_OPENTYPE_TAG('c','l','i','g'), + DWRITE_FONT_FEATURE_TAG_CAPITAL_SPACING = DWRITE_MAKE_OPENTYPE_TAG('c','p','s','p'), + DWRITE_FONT_FEATURE_TAG_CONTEXTUAL_SWASH = DWRITE_MAKE_OPENTYPE_TAG('c','s','w','h'), + DWRITE_FONT_FEATURE_TAG_CURSIVE_POSITIONING = DWRITE_MAKE_OPENTYPE_TAG('c','u','r','s'), + DWRITE_FONT_FEATURE_TAG_DEFAULT = DWRITE_MAKE_OPENTYPE_TAG('d','f','l','t'), + DWRITE_FONT_FEATURE_TAG_DISCRETIONARY_LIGATURES = DWRITE_MAKE_OPENTYPE_TAG('d','l','i','g'), + DWRITE_FONT_FEATURE_TAG_EXPERT_FORMS = DWRITE_MAKE_OPENTYPE_TAG('e','x','p','t'), + DWRITE_FONT_FEATURE_TAG_FRACTIONS = DWRITE_MAKE_OPENTYPE_TAG('f','r','a','c'), + DWRITE_FONT_FEATURE_TAG_FULL_WIDTH = DWRITE_MAKE_OPENTYPE_TAG('f','w','i','d'), + DWRITE_FONT_FEATURE_TAG_HALF_FORMS = DWRITE_MAKE_OPENTYPE_TAG('h','a','l','f'), + DWRITE_FONT_FEATURE_TAG_HALANT_FORMS = DWRITE_MAKE_OPENTYPE_TAG('h','a','l','n'), + DWRITE_FONT_FEATURE_TAG_ALTERNATE_HALF_WIDTH = DWRITE_MAKE_OPENTYPE_TAG('h','a','l','t'), + DWRITE_FONT_FEATURE_TAG_HISTORICAL_FORMS = DWRITE_MAKE_OPENTYPE_TAG('h','i','s','t'), + DWRITE_FONT_FEATURE_TAG_HORIZONTAL_KANA_ALTERNATES = DWRITE_MAKE_OPENTYPE_TAG('h','k','n','a'), + DWRITE_FONT_FEATURE_TAG_HISTORICAL_LIGATURES = DWRITE_MAKE_OPENTYPE_TAG('h','l','i','g'), + DWRITE_FONT_FEATURE_TAG_HALF_WIDTH = DWRITE_MAKE_OPENTYPE_TAG('h','w','i','d'), + DWRITE_FONT_FEATURE_TAG_HOJO_KANJI_FORMS = DWRITE_MAKE_OPENTYPE_TAG('h','o','j','o'), + DWRITE_FONT_FEATURE_TAG_JIS04_FORMS = DWRITE_MAKE_OPENTYPE_TAG('j','p','0','4'), + DWRITE_FONT_FEATURE_TAG_JIS78_FORMS = DWRITE_MAKE_OPENTYPE_TAG('j','p','7','8'), + DWRITE_FONT_FEATURE_TAG_JIS83_FORMS = DWRITE_MAKE_OPENTYPE_TAG('j','p','8','3'), + DWRITE_FONT_FEATURE_TAG_JIS90_FORMS = DWRITE_MAKE_OPENTYPE_TAG('j','p','9','0'), + DWRITE_FONT_FEATURE_TAG_KERNING = DWRITE_MAKE_OPENTYPE_TAG('k','e','r','n'), + DWRITE_FONT_FEATURE_TAG_STANDARD_LIGATURES = DWRITE_MAKE_OPENTYPE_TAG('l','i','g','a'), + DWRITE_FONT_FEATURE_TAG_LINING_FIGURES = DWRITE_MAKE_OPENTYPE_TAG('l','n','u','m'), + DWRITE_FONT_FEATURE_TAG_LOCALIZED_FORMS = DWRITE_MAKE_OPENTYPE_TAG('l','o','c','l'), + DWRITE_FONT_FEATURE_TAG_MARK_POSITIONING = DWRITE_MAKE_OPENTYPE_TAG('m','a','r','k'), + DWRITE_FONT_FEATURE_TAG_MATHEMATICAL_GREEK = DWRITE_MAKE_OPENTYPE_TAG('m','g','r','k'), + DWRITE_FONT_FEATURE_TAG_MARK_TO_MARK_POSITIONING = DWRITE_MAKE_OPENTYPE_TAG('m','k','m','k'), + DWRITE_FONT_FEATURE_TAG_ALTERNATE_ANNOTATION_FORMS = DWRITE_MAKE_OPENTYPE_TAG('n','a','l','t'), + DWRITE_FONT_FEATURE_TAG_NLC_KANJI_FORMS = DWRITE_MAKE_OPENTYPE_TAG('n','l','c','k'), + DWRITE_FONT_FEATURE_TAG_OLD_STYLE_FIGURES = DWRITE_MAKE_OPENTYPE_TAG('o','n','u','m'), + DWRITE_FONT_FEATURE_TAG_ORDINALS = DWRITE_MAKE_OPENTYPE_TAG('o','r','d','n'), + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_ALTERNATE_WIDTH = DWRITE_MAKE_OPENTYPE_TAG('p','a','l','t'), + DWRITE_FONT_FEATURE_TAG_PETITE_CAPITALS = DWRITE_MAKE_OPENTYPE_TAG('p','c','a','p'), + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_FIGURES = DWRITE_MAKE_OPENTYPE_TAG('p','n','u','m'), + DWRITE_FONT_FEATURE_TAG_PROPORTIONAL_WIDTHS = DWRITE_MAKE_OPENTYPE_TAG('p','w','i','d'), + DWRITE_FONT_FEATURE_TAG_QUARTER_WIDTHS = DWRITE_MAKE_OPENTYPE_TAG('q','w','i','d'), + DWRITE_FONT_FEATURE_TAG_REQUIRED_LIGATURES = DWRITE_MAKE_OPENTYPE_TAG('r','l','i','g'), + DWRITE_FONT_FEATURE_TAG_RUBY_NOTATION_FORMS = DWRITE_MAKE_OPENTYPE_TAG('r','u','b','y'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_ALTERNATES = DWRITE_MAKE_OPENTYPE_TAG('s','a','l','t'), + DWRITE_FONT_FEATURE_TAG_SCIENTIFIC_INFERIORS = DWRITE_MAKE_OPENTYPE_TAG('s','i','n','f'), + DWRITE_FONT_FEATURE_TAG_SMALL_CAPITALS = DWRITE_MAKE_OPENTYPE_TAG('s','m','c','p'), + DWRITE_FONT_FEATURE_TAG_SIMPLIFIED_FORMS = DWRITE_MAKE_OPENTYPE_TAG('s','m','p','l'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_1 = DWRITE_MAKE_OPENTYPE_TAG('s','s','0','1'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_2 = DWRITE_MAKE_OPENTYPE_TAG('s','s','0','2'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_3 = DWRITE_MAKE_OPENTYPE_TAG('s','s','0','3'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_4 = DWRITE_MAKE_OPENTYPE_TAG('s','s','0','4'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_5 = DWRITE_MAKE_OPENTYPE_TAG('s','s','0','5'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_6 = DWRITE_MAKE_OPENTYPE_TAG('s','s','0','6'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_7 = DWRITE_MAKE_OPENTYPE_TAG('s','s','0','7'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_8 = DWRITE_MAKE_OPENTYPE_TAG('s','s','0','8'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_9 = DWRITE_MAKE_OPENTYPE_TAG('s','s','0','9'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_10 = DWRITE_MAKE_OPENTYPE_TAG('s','s','1','0'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_11 = DWRITE_MAKE_OPENTYPE_TAG('s','s','1','1'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_12 = DWRITE_MAKE_OPENTYPE_TAG('s','s','1','2'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_13 = DWRITE_MAKE_OPENTYPE_TAG('s','s','1','3'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_14 = DWRITE_MAKE_OPENTYPE_TAG('s','s','1','4'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_15 = DWRITE_MAKE_OPENTYPE_TAG('s','s','1','5'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_16 = DWRITE_MAKE_OPENTYPE_TAG('s','s','1','6'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_17 = DWRITE_MAKE_OPENTYPE_TAG('s','s','1','7'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_18 = DWRITE_MAKE_OPENTYPE_TAG('s','s','1','8'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_19 = DWRITE_MAKE_OPENTYPE_TAG('s','s','1','9'), + DWRITE_FONT_FEATURE_TAG_STYLISTIC_SET_20 = DWRITE_MAKE_OPENTYPE_TAG('s','s','2','0'), + DWRITE_FONT_FEATURE_TAG_SUBSCRIPT = DWRITE_MAKE_OPENTYPE_TAG('s','u','b','s'), + DWRITE_FONT_FEATURE_TAG_SUPERSCRIPT = DWRITE_MAKE_OPENTYPE_TAG('s','u','p','s'), + DWRITE_FONT_FEATURE_TAG_SWASH = DWRITE_MAKE_OPENTYPE_TAG('s','w','s','h'), + DWRITE_FONT_FEATURE_TAG_TITLING = DWRITE_MAKE_OPENTYPE_TAG('t','i','t','l'), + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_NAME_FORMS = DWRITE_MAKE_OPENTYPE_TAG('t','n','a','m'), + DWRITE_FONT_FEATURE_TAG_TABULAR_FIGURES = DWRITE_MAKE_OPENTYPE_TAG('t','n','u','m'), + DWRITE_FONT_FEATURE_TAG_TRADITIONAL_FORMS = DWRITE_MAKE_OPENTYPE_TAG('t','r','a','d'), + DWRITE_FONT_FEATURE_TAG_THIRD_WIDTHS = DWRITE_MAKE_OPENTYPE_TAG('t','w','i','d'), + DWRITE_FONT_FEATURE_TAG_UNICASE = DWRITE_MAKE_OPENTYPE_TAG('u','n','i','c'), + DWRITE_FONT_FEATURE_TAG_VERTICAL_WRITING = DWRITE_MAKE_OPENTYPE_TAG('v','e','r','t'), + DWRITE_FONT_FEATURE_TAG_VERTICAL_ALTERNATES_AND_ROTATION = DWRITE_MAKE_OPENTYPE_TAG('v','r','t','2'), + DWRITE_FONT_FEATURE_TAG_SLASHED_ZERO = DWRITE_MAKE_OPENTYPE_TAG('z','e','r','o'), +}; + +/// +/// The DWRITE_TEXT_RANGE structure specifies a range of text positions where format is applied. +/// +struct DWRITE_TEXT_RANGE +{ + /// + /// The start text position of the range. + /// + UINT32 startPosition; + + /// + /// The number of text positions in the range. + /// + UINT32 length; +}; + +/// +/// The DWRITE_FONT_FEATURE structure specifies properties used to identify and execute typographic feature in the font. +/// +struct DWRITE_FONT_FEATURE +{ + /// + /// The feature OpenType name identifier. + /// + DWRITE_FONT_FEATURE_TAG nameTag; + + /// + /// Execution parameter of the feature. + /// + /// + /// The parameter should be non-zero to enable the feature. Once enabled, a feature can't be disabled again within + /// the same range. Features requiring a selector use this value to indicate the selector index. + /// + UINT32 parameter; +}; + +/// +/// Defines a set of typographic features to be applied during shaping. +/// Notice the character range which this feature list spans is specified +/// as a separate parameter to GetGlyphs. +/// +struct DWRITE_TYPOGRAPHIC_FEATURES +{ + /// + /// Array of font features. + /// + _Field_size_(featureCount) DWRITE_FONT_FEATURE* features; + + /// + /// The number of features. + /// + UINT32 featureCount; +}; + +/// +/// The DWRITE_TRIMMING structure specifies the trimming option for text overflowing the layout box. +/// +struct DWRITE_TRIMMING +{ + /// + /// Text granularity of which trimming applies. + /// + DWRITE_TRIMMING_GRANULARITY granularity; + + /// + /// Character code used as the delimiter signaling the beginning of the portion of text to be preserved, + /// most useful for path ellipsis, where the delimiter would be a slash. Leave this zero if there is no + /// delimiter. + /// + UINT32 delimiter; + + /// + /// How many occurrences of the delimiter to step back. Leave this zero if there is no delimiter. + /// + UINT32 delimiterCount; +}; + + +interface IDWriteTypography; +interface IDWriteInlineObject; + +/// +/// The format of text used for text layout. +/// +/// +/// This object may not be thread-safe and it may carry the state of text format change. +/// +DWRITE_BEGIN_INTERFACE(IDWriteTextFormat, "9c906818-31d7-4fd3-a151-7c5e225db55a") : IUnknown +{ + /// + /// Set alignment option of text relative to layout box's leading and trailing edge. + /// + /// Text alignment option + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetTextAlignment)( + DWRITE_TEXT_ALIGNMENT textAlignment + ) PURE; + + /// + /// Set alignment option of paragraph relative to layout box's top and bottom edge. + /// + /// Paragraph alignment option + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetParagraphAlignment)( + DWRITE_PARAGRAPH_ALIGNMENT paragraphAlignment + ) PURE; + + /// + /// Set word wrapping option. + /// + /// Word wrapping option + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetWordWrapping)( + DWRITE_WORD_WRAPPING wordWrapping + ) PURE; + + /// + /// Set paragraph reading direction. + /// + /// Text reading direction + /// + /// Standard HRESULT error code. + /// + /// + /// The flow direction must be perpendicular to the reading direction. + /// Setting both to a vertical direction or both to horizontal yields + /// DWRITE_E_FLOWDIRECTIONCONFLICTS when calling GetMetrics or Draw. + /// + STDMETHOD(SetReadingDirection)( + DWRITE_READING_DIRECTION readingDirection + ) PURE; + + /// + /// Set paragraph flow direction. + /// + /// Paragraph flow direction + /// + /// Standard HRESULT error code. + /// + /// + /// The flow direction must be perpendicular to the reading direction. + /// Setting both to a vertical direction or both to horizontal yields + /// DWRITE_E_FLOWDIRECTIONCONFLICTS when calling GetMetrics or Draw. + /// + STDMETHOD(SetFlowDirection)( + DWRITE_FLOW_DIRECTION flowDirection + ) PURE; + + /// + /// Set incremental tab stop position. + /// + /// The incremental tab stop value + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetIncrementalTabStop)( + FLOAT incrementalTabStop + ) PURE; + + /// + /// Set trimming options for any trailing text exceeding the layout width + /// or for any far text exceeding the layout height. + /// + /// Text trimming options. + /// Application-defined omission sign. This parameter may be NULL if no trimming sign is desired. + /// + /// Any inline object can be used for the trimming sign, but CreateEllipsisTrimmingSign + /// provides a typical ellipsis symbol. Trimming is also useful vertically for hiding + /// partial lines. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetTrimming)( + _In_ DWRITE_TRIMMING const* trimmingOptions, + _In_opt_ IDWriteInlineObject* trimmingSign + ) PURE; + + /// + /// Set line spacing. + /// + /// How to determine line height. + /// The line height, or rather distance between one baseline to another. + /// Distance from top of line to baseline. A reasonable ratio to lineSpacing is 80%. + /// + /// For the default method, spacing depends solely on the content. + /// For uniform spacing, the given line height will override the content. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetLineSpacing)( + DWRITE_LINE_SPACING_METHOD lineSpacingMethod, + FLOAT lineSpacing, + FLOAT baseline + ) PURE; + + /// + /// Get alignment option of text relative to layout box's leading and trailing edge. + /// + STDMETHOD_(DWRITE_TEXT_ALIGNMENT, GetTextAlignment)() PURE; + + /// + /// Get alignment option of paragraph relative to layout box's top and bottom edge. + /// + STDMETHOD_(DWRITE_PARAGRAPH_ALIGNMENT, GetParagraphAlignment)() PURE; + + /// + /// Get word wrapping option. + /// + STDMETHOD_(DWRITE_WORD_WRAPPING, GetWordWrapping)() PURE; + + /// + /// Get paragraph reading direction. + /// + STDMETHOD_(DWRITE_READING_DIRECTION, GetReadingDirection)() PURE; + + /// + /// Get paragraph flow direction. + /// + STDMETHOD_(DWRITE_FLOW_DIRECTION, GetFlowDirection)() PURE; + + /// + /// Get incremental tab stop position. + /// + STDMETHOD_(FLOAT, GetIncrementalTabStop)() PURE; + + /// + /// Get trimming options for text overflowing the layout width. + /// + /// Text trimming options. + /// Trimming omission sign. This parameter may be NULL. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetTrimming)( + _Out_ DWRITE_TRIMMING* trimmingOptions, + _COM_Outptr_ IDWriteInlineObject** trimmingSign + ) PURE; + + /// + /// Get line spacing. + /// + /// How line height is determined. + /// The line height, or rather distance between one baseline to another. + /// Distance from top of line to baseline. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetLineSpacing)( + _Out_ DWRITE_LINE_SPACING_METHOD* lineSpacingMethod, + _Out_ FLOAT* lineSpacing, + _Out_ FLOAT* baseline + ) PURE; + + /// + /// Get the font collection. + /// + /// The current font collection. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontCollection)( + _COM_Outptr_result_maybenull_ IDWriteFontCollection** fontCollection + ) PURE; + + /// + /// Get the length of the font family name, in characters, not including the terminating NULL character. + /// + STDMETHOD_(UINT32, GetFontFamilyNameLength)() PURE; + + /// + /// Get a copy of the font family name. + /// + /// Character array that receives the current font family name + /// Size of the character array in character count including the terminated NULL character. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontFamilyName)( + _Out_writes_z_(nameSize) WCHAR* fontFamilyName, + UINT32 nameSize + ) PURE; + + /// + /// Get the font weight. + /// + STDMETHOD_(DWRITE_FONT_WEIGHT, GetFontWeight)() PURE; + + /// + /// Get the font style. + /// + STDMETHOD_(DWRITE_FONT_STYLE, GetFontStyle)() PURE; + + /// + /// Get the font stretch. + /// + STDMETHOD_(DWRITE_FONT_STRETCH, GetFontStretch)() PURE; + + /// + /// Get the font em height. + /// + STDMETHOD_(FLOAT, GetFontSize)() PURE; + + /// + /// Get the length of the locale name, in characters, not including the terminating NULL character. + /// + STDMETHOD_(UINT32, GetLocaleNameLength)() PURE; + + /// + /// Get a copy of the locale name. + /// + /// Character array that receives the current locale name + /// Size of the character array in character count including the terminated NULL character. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetLocaleName)( + _Out_writes_z_(nameSize) WCHAR* localeName, + UINT32 nameSize + ) PURE; +}; + + +/// +/// Font typography setting. +/// +DWRITE_BEGIN_INTERFACE(IDWriteTypography, "55f1112b-1dc2-4b3c-9541-f46894ed85b6") : IUnknown +{ + /// + /// Add font feature. + /// + /// The font feature to add. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(AddFontFeature)( + DWRITE_FONT_FEATURE fontFeature + ) PURE; + + /// + /// Get the number of font features. + /// + STDMETHOD_(UINT32, GetFontFeatureCount)() PURE; + + /// + /// Get the font feature at the specified index. + /// + /// The zero-based index of the font feature to get. + /// The font feature. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontFeature)( + UINT32 fontFeatureIndex, + _Out_ DWRITE_FONT_FEATURE* fontFeature + ) PURE; +}; + +enum DWRITE_SCRIPT_SHAPES +{ + /// + /// No additional shaping requirement. Text is shaped with the writing system default behavior. + /// + DWRITE_SCRIPT_SHAPES_DEFAULT = 0, + + /// + /// Text should leave no visual on display i.e. control or format control characters. + /// + DWRITE_SCRIPT_SHAPES_NO_VISUAL = 1 +}; + +#ifdef DEFINE_ENUM_FLAG_OPERATORS +DEFINE_ENUM_FLAG_OPERATORS(DWRITE_SCRIPT_SHAPES) +#endif + +/// +/// Association of text and its writing system script as well as some display attributes. +/// +struct DWRITE_SCRIPT_ANALYSIS +{ + /// + /// Zero-based index representation of writing system script. + /// + UINT16 script; + + /// + /// Additional shaping requirement of text. + /// + DWRITE_SCRIPT_SHAPES shapes; +}; + +/// +/// Condition at the edges of inline object or text used to determine +/// line-breaking behavior. +/// +enum DWRITE_BREAK_CONDITION +{ + /// + /// Whether a break is allowed is determined by the condition of the + /// neighboring text span or inline object. + /// + DWRITE_BREAK_CONDITION_NEUTRAL, + + /// + /// A break is allowed, unless overruled by the condition of the + /// neighboring text span or inline object, either prohibited by a + /// May Not or forced by a Must. + /// + DWRITE_BREAK_CONDITION_CAN_BREAK, + + /// + /// There should be no break, unless overruled by a Must condition from + /// the neighboring text span or inline object. + /// + DWRITE_BREAK_CONDITION_MAY_NOT_BREAK, + + /// + /// The break must happen, regardless of the condition of the adjacent + /// text span or inline object. + /// + DWRITE_BREAK_CONDITION_MUST_BREAK +}; + +/// +/// Line breakpoint characteristics of a character. +/// +struct DWRITE_LINE_BREAKPOINT +{ + /// + /// Breaking condition before the character. + /// + UINT8 breakConditionBefore : 2; + + /// + /// Breaking condition after the character. + /// + UINT8 breakConditionAfter : 2; + + /// + /// The character is some form of whitespace, which may be meaningful + /// for justification. + /// + UINT8 isWhitespace : 1; + + /// + /// The character is a soft hyphen, often used to indicate hyphenation + /// points inside words. + /// + UINT8 isSoftHyphen : 1; + + UINT8 padding : 2; +}; + +/// +/// How to apply number substitution on digits and related punctuation. +/// +enum DWRITE_NUMBER_SUBSTITUTION_METHOD +{ + /// + /// Specifies that the substitution method should be determined based + /// on LOCALE_IDIGITSUBSTITUTION value of the specified text culture. + /// + DWRITE_NUMBER_SUBSTITUTION_METHOD_FROM_CULTURE, + + /// + /// If the culture is Arabic, Dari, or Persian, specifies that the number + /// shape depend on the context. Either traditional or nominal number shape + /// are used depending on the nearest preceding strong character or (if + /// there is none) the reading direction of the paragraph. + /// + DWRITE_NUMBER_SUBSTITUTION_METHOD_CONTEXTUAL, + + /// + /// Specifies that code points 0x30-0x39 are always rendered as nominal numeral + /// shapes (ones of the European number), i.e., no substitution is performed. + /// + DWRITE_NUMBER_SUBSTITUTION_METHOD_NONE, + + /// + /// Specifies that number are rendered using the national number shape + /// as specified by the LOCALE_SNATIVEDIGITS value of the specified text culture. + /// + DWRITE_NUMBER_SUBSTITUTION_METHOD_NATIONAL, + + /// + /// Specifies that number are rendered using the traditional shape + /// for the specified culture. For most cultures, this is the same as + /// NativeNational. However, NativeNational results in Latin number + /// for some Arabic cultures, whereas this value results in Arabic + /// number for all Arabic cultures. + /// + DWRITE_NUMBER_SUBSTITUTION_METHOD_TRADITIONAL +}; + +/// +/// Holds the appropriate digits and numeric punctuation for a given locale. +/// +DWRITE_BEGIN_INTERFACE(IDWriteNumberSubstitution, "14885CC9-BAB0-4f90-B6ED-5C366A2CD03D") : IUnknown +{ +}; + +/// +/// Shaping output properties per input character. +/// +struct DWRITE_SHAPING_TEXT_PROPERTIES +{ + /// + /// This character can be shaped independently from the others + /// (usually set for the space character). + /// + UINT16 isShapedAlone : 1; + + /// + /// Reserved for use by shaping engine. + /// + UINT16 reserved1 : 1; + + /// + /// Glyph shaping can be cut after this point without affecting shaping + /// before or after it. Otherwise, splitting a call to GetGlyphs would + /// cause a reflow of glyph advances and shapes. + /// + UINT16 canBreakShapingAfter : 1; + + /// + /// Reserved for use by shaping engine. + /// + UINT16 reserved : 13; +}; + +/// +/// Shaping output properties per output glyph. +/// +struct DWRITE_SHAPING_GLYPH_PROPERTIES +{ + /// + /// Justification class, whether to use spacing, kashidas, or + /// another method. This exists for backwards compatibility + /// with Uniscribe's SCRIPT_JUSTIFY enum. + /// + UINT16 justification : 4; + + /// + /// Indicates glyph is the first of a cluster. + /// + UINT16 isClusterStart : 1; + + /// + /// Glyph is a diacritic. + /// + UINT16 isDiacritic : 1; + + /// + /// Glyph has no width, mark, ZWJ, ZWNJ, ZWSP, LRM etc. + /// This flag is not limited to just U+200B. + /// + UINT16 isZeroWidthSpace : 1; + + /// + /// Reserved for use by shaping engine. + /// + UINT16 reserved : 9; +}; + +/// +/// The interface implemented by the text analyzer's client to provide text to +/// the analyzer. It allows the separation between the logical view of text as +/// a continuous stream of characters identifiable by unique text positions, +/// and the actual memory layout of potentially discrete blocks of text in the +/// client's backing store. +/// +/// If any of these callbacks returns an error, the analysis functions will +/// stop prematurely and return a callback error. Rather than return E_NOTIMPL, +/// an application should stub the method and return a constant/null and S_OK. +/// +DWRITE_BEGIN_INTERFACE(IDWriteTextAnalysisSource, "688e1a58-5094-47c8-adc8-fbcea60ae92b") : IUnknown +{ + /// + /// Get a block of text starting at the specified text position. + /// Returning NULL indicates the end of text - the position is after + /// the last character. This function is called iteratively for + /// each consecutive block, tying together several fragmented blocks + /// in the backing store into a virtual contiguous string. + /// + /// First position of the piece to obtain. All + /// positions are in UTF16 code-units, not whole characters, which + /// matters when supplementary characters are used. + /// Address that receives a pointer to the text block + /// at the specified position. + /// Number of UTF16 units of the retrieved chunk. + /// The returned length is not the length of the block, but the length + /// remaining in the block, from the given position until its end. + /// So querying for a position that is 75 positions into a 100 + /// position block would return 25. + /// Pointer to the first character at the given text position. + /// NULL indicates no chunk available at the specified position, either + /// because textPosition >= the entire text content length or because the + /// queried position is not mapped into the app's backing store. + /// + /// Although apps can implement sparse textual content that only maps part of + /// the backing store, the app must map any text that is in the range passed + /// to any analysis functions. + /// + STDMETHOD(GetTextAtPosition)( + UINT32 textPosition, + _Outptr_result_buffer_(*textLength) WCHAR const** textString, + _Out_ UINT32* textLength + ) PURE; + + /// + /// Get a block of text immediately preceding the specified position. + /// + /// Position immediately after the last position of the chunk to obtain. + /// Address that receives a pointer to the text block + /// at the specified position. + /// Number of UTF16 units of the retrieved block. + /// The length returned is from the given position to the front of + /// the block. + /// Pointer to the first character at (textPosition - textLength). + /// NULL indicates no chunk available at the specified position, either + /// because textPosition == 0,the textPosition > the entire text content + /// length, or the queried position is not mapped into the app's backing + /// store. + /// + /// Although apps can implement sparse textual content that only maps part of + /// the backing store, the app must map any text that is in the range passed + /// to any analysis functions. + /// + STDMETHOD(GetTextBeforePosition)( + UINT32 textPosition, + _Outptr_result_buffer_(*textLength) WCHAR const** textString, + _Out_ UINT32* textLength + ) PURE; + + /// + /// Get paragraph reading direction. + /// + STDMETHOD_(DWRITE_READING_DIRECTION, GetParagraphReadingDirection)() PURE; + + /// + /// Get locale name on the range affected by it. + /// + /// Position to get the locale name of. + /// Receives the length from the given position up to the + /// next differing locale. + /// Address that receives a pointer to the locale + /// at the specified position. + /// + /// The localeName pointer must remain valid until the next call or until + /// the analysis returns. + /// + STDMETHOD(GetLocaleName)( + UINT32 textPosition, + _Out_ UINT32* textLength, + _Outptr_result_z_ WCHAR const** localeName + ) PURE; + + /// + /// Get number substitution on the range affected by it. + /// + /// Position to get the number substitution of. + /// Receives the length from the given position up to the + /// next differing number substitution. + /// Address that receives a pointer to the number substitution + /// at the specified position. + /// + /// Any implementation should return the number substitution with an + /// incremented ref count, and the analysis will release when finished + /// with it (either before the next call or before it returns). However, + /// the sink callback may hold onto it after that. + /// + STDMETHOD(GetNumberSubstitution)( + UINT32 textPosition, + _Out_ UINT32* textLength, + _COM_Outptr_result_maybenull_ IDWriteNumberSubstitution** numberSubstitution + ) PURE; +}; + +/// +/// The interface implemented by the text analyzer's client to receive the +/// output of a given text analysis. The Text analyzer disregards any current +/// state of the analysis sink, therefore a Set method call on a range +/// overwrites the previously set analysis result of the same range. +/// +DWRITE_BEGIN_INTERFACE(IDWriteTextAnalysisSink, "5810cd44-0ca0-4701-b3fa-bec5182ae4f6") : IUnknown +{ + /// + /// Report script analysis for the text range. + /// + /// Starting position to report from. + /// Number of UTF16 units of the reported range. + /// Script analysis of characters in range. + /// + /// A successful code or error code to abort analysis. + /// + STDMETHOD(SetScriptAnalysis)( + UINT32 textPosition, + UINT32 textLength, + _In_ DWRITE_SCRIPT_ANALYSIS const* scriptAnalysis + ) PURE; + + /// + /// Report line-break opportunities for each character, starting from + /// the specified position. + /// + /// Starting position to report from. + /// Number of UTF16 units of the reported range. + /// Breaking conditions for each character. + /// + /// A successful code or error code to abort analysis. + /// + STDMETHOD(SetLineBreakpoints)( + UINT32 textPosition, + UINT32 textLength, + _In_reads_(textLength) DWRITE_LINE_BREAKPOINT const* lineBreakpoints + ) PURE; + + /// + /// Set bidirectional level on the range, called once per each + /// level run change (either explicit or resolved implicit). + /// + /// Starting position to report from. + /// Number of UTF16 units of the reported range. + /// Explicit level from embedded control codes + /// RLE/RLO/LRE/LRO/PDF, determined before any additional rules. + /// Final implicit level considering the + /// explicit level and characters' natural directionality, after all + /// Bidi rules have been applied. + /// + /// A successful code or error code to abort analysis. + /// + STDMETHOD(SetBidiLevel)( + UINT32 textPosition, + UINT32 textLength, + UINT8 explicitLevel, + UINT8 resolvedLevel + ) PURE; + + /// + /// Set number substitution on the range. + /// + /// Starting position to report from. + /// Number of UTF16 units of the reported range. + /// The number substitution applicable to + /// the returned range of text. The sink callback may hold onto it by + /// incrementing its ref count. + /// + /// A successful code or error code to abort analysis. + /// + /// + /// Unlike script and bidi analysis, where every character passed to the + /// analyzer has a result, this will only be called for those ranges where + /// substitution is applicable. For any other range, you will simply not + /// be called. + /// + STDMETHOD(SetNumberSubstitution)( + UINT32 textPosition, + UINT32 textLength, + _In_ IDWriteNumberSubstitution* numberSubstitution + ) PURE; +}; + +/// +/// Analyzes various text properties for complex script processing. +/// +DWRITE_BEGIN_INTERFACE(IDWriteTextAnalyzer, "b7e6163e-7f46-43b4-84b3-e4e6249c365d") : IUnknown +{ + /// + /// Analyzes a text range for script boundaries, reading text attributes + /// from the source and reporting the Unicode script ID to the sink + /// callback SetScript. + /// + /// Source object to analyze. + /// Starting position within the source object. + /// Length to analyze. + /// Callback object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(AnalyzeScript)( + _In_ IDWriteTextAnalysisSource* analysisSource, + UINT32 textPosition, + UINT32 textLength, + _In_ IDWriteTextAnalysisSink* analysisSink + ) PURE; + + /// + /// Analyzes a text range for script directionality, reading attributes + /// from the source and reporting levels to the sink callback SetBidiLevel. + /// + /// Source object to analyze. + /// Starting position within the source object. + /// Length to analyze. + /// Callback object. + /// + /// Standard HRESULT error code. + /// + /// + /// While the function can handle multiple paragraphs, the text range + /// should not arbitrarily split the middle of paragraphs. Otherwise the + /// returned levels may be wrong, since the Bidi algorithm is meant to + /// apply to the paragraph as a whole. + /// + /// + /// Embedded control codes (LRE/LRO/RLE/RLO/PDF) are taken into account. + /// + STDMETHOD(AnalyzeBidi)( + _In_ IDWriteTextAnalysisSource* analysisSource, + UINT32 textPosition, + UINT32 textLength, + _In_ IDWriteTextAnalysisSink* analysisSink + ) PURE; + + /// + /// Analyzes a text range for spans where number substitution is applicable, + /// reading attributes from the source and reporting substitutable ranges + /// to the sink callback SetNumberSubstitution. + /// + /// Source object to analyze. + /// Starting position within the source object. + /// Length to analyze. + /// Callback object. + /// + /// Standard HRESULT error code. + /// + /// + /// While the function can handle multiple ranges of differing number + /// substitutions, the text ranges should not arbitrarily split the + /// middle of numbers. Otherwise it will treat the numbers separately + /// and will not translate any intervening punctuation. + /// + /// + /// Embedded control codes (LRE/LRO/RLE/RLO/PDF) are taken into account. + /// + STDMETHOD(AnalyzeNumberSubstitution)( + _In_ IDWriteTextAnalysisSource* analysisSource, + UINT32 textPosition, + UINT32 textLength, + _In_ IDWriteTextAnalysisSink* analysisSink + ) PURE; + + /// + /// Analyzes a text range for potential breakpoint opportunities, reading + /// attributes from the source and reporting breakpoint opportunities to + /// the sink callback SetLineBreakpoints. + /// + /// Source object to analyze. + /// Starting position within the source object. + /// Length to analyze. + /// Callback object. + /// + /// Standard HRESULT error code. + /// + /// + /// While the function can handle multiple paragraphs, the text range + /// should not arbitrarily split the middle of paragraphs, unless the + /// given text span is considered a whole unit. Otherwise the + /// returned properties for the first and last characters will + /// inappropriately allow breaks. + /// + /// + /// Special cases include the first, last, and surrogate characters. Any + /// text span is treated as if adjacent to inline objects on either side. + /// So the rules with contingent-break opportunities are used, where the + /// edge between text and inline objects is always treated as a potential + /// break opportunity, dependent on any overriding rules of the adjacent + /// objects to prohibit or force the break (see Unicode TR #14). + /// Surrogate pairs never break between. + /// + STDMETHOD(AnalyzeLineBreakpoints)( + _In_ IDWriteTextAnalysisSource* analysisSource, + UINT32 textPosition, + UINT32 textLength, + _In_ IDWriteTextAnalysisSink* analysisSink + ) PURE; + + /// + /// Parses the input text string and maps it to the set of glyphs and associated glyph data + /// according to the font and the writing system's rendering rules. + /// + /// The string to convert to glyphs. + /// The length of textString. + /// The font face to get glyphs from. + /// Set to true if the text is intended to be + /// drawn vertically. + /// Set to TRUE for right-to-left text. + /// Script analysis result from AnalyzeScript. + /// The locale to use when selecting glyphs. + /// e.g. the same character may map to different glyphs for ja-jp vs zh-chs. + /// If this is NULL then the default mapping based on the script is used. + /// Optional number substitution which + /// selects the appropriate glyphs for digits and related numeric characters, + /// depending on the results obtained from AnalyzeNumberSubstitution. Passing + /// null indicates that no substitution is needed and that the digits should + /// receive nominal glyphs. + /// An array of pointers to the sets of typographic + /// features to use in each feature range. + /// The length of each feature range, in characters. + /// The sum of all lengths should be equal to textLength. + /// The number of feature ranges. + /// The maximum number of glyphs that can be + /// returned. + /// The mapping from character ranges to glyph + /// ranges. + /// Per-character output properties. + /// Output glyph indices. + /// Per-glyph output properties. + /// The actual number of glyphs returned if + /// the call succeeds. + /// + /// Standard HRESULT error code. + /// + /// + /// Note that the mapping from characters to glyphs is, in general, many- + /// to-many. The recommended estimate for the per-glyph output buffers is + /// (3 * textLength / 2 + 16). This is not guaranteed to be sufficient. + /// + /// The value of the actualGlyphCount parameter is only valid if the call + /// succeeds. In the event that maxGlyphCount is not big enough + /// E_NOT_SUFFICIENT_BUFFER, which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), + /// will be returned. The application should allocate a larger buffer and try again. + /// + STDMETHOD(GetGlyphs)( + _In_reads_(textLength) WCHAR const* textString, + UINT32 textLength, + _In_ IDWriteFontFace* fontFace, + BOOL isSideways, + BOOL isRightToLeft, + _In_ DWRITE_SCRIPT_ANALYSIS const* scriptAnalysis, + _In_opt_z_ WCHAR const* localeName, + _In_opt_ IDWriteNumberSubstitution* numberSubstitution, + _In_reads_opt_(featureRanges) DWRITE_TYPOGRAPHIC_FEATURES const** features, + _In_reads_opt_(featureRanges) UINT32 const* featureRangeLengths, + UINT32 featureRanges, + UINT32 maxGlyphCount, + _Out_writes_(textLength) UINT16* clusterMap, + _Out_writes_(textLength) DWRITE_SHAPING_TEXT_PROPERTIES* textProps, + _Out_writes_(maxGlyphCount) UINT16* glyphIndices, + _Out_writes_(maxGlyphCount) DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps, + _Out_ UINT32* actualGlyphCount + ) PURE; + + /// + /// Place glyphs output from the GetGlyphs method according to the font + /// and the writing system's rendering rules. + /// + /// The original string the glyphs came from. + /// The mapping from character ranges to glyph + /// ranges. Returned by GetGlyphs. + /// Per-character properties. Returned by + /// GetGlyphs. + /// The length of textString. + /// Glyph indices. See GetGlyphs + /// Per-glyph properties. See GetGlyphs + /// The number of glyphs. + /// The font face the glyphs came from. + /// Logical font size in DIP's. + /// Set to true if the text is intended to be + /// drawn vertically. + /// Set to TRUE for right-to-left text. + /// Script analysis result from AnalyzeScript. + /// The locale to use when selecting glyphs. + /// e.g. the same character may map to different glyphs for ja-jp vs zh-chs. + /// If this is NULL then the default mapping based on the script is used. + /// An array of pointers to the sets of typographic + /// features to use in each feature range. + /// The length of each feature range, in characters. + /// The sum of all lengths should be equal to textLength. + /// The number of feature ranges. + /// The advance width of each glyph. + /// The offset of the origin of each glyph. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetGlyphPlacements)( + _In_reads_(textLength) WCHAR const* textString, + _In_reads_(textLength) UINT16 const* clusterMap, + _Inout_updates_(textLength) DWRITE_SHAPING_TEXT_PROPERTIES* textProps, + UINT32 textLength, + _In_reads_(glyphCount) UINT16 const* glyphIndices, + _In_reads_(glyphCount) DWRITE_SHAPING_GLYPH_PROPERTIES const* glyphProps, + UINT32 glyphCount, + _In_ IDWriteFontFace* fontFace, + FLOAT fontEmSize, + BOOL isSideways, + BOOL isRightToLeft, + _In_ DWRITE_SCRIPT_ANALYSIS const* scriptAnalysis, + _In_opt_z_ WCHAR const* localeName, + _In_reads_opt_(featureRanges) DWRITE_TYPOGRAPHIC_FEATURES const** features, + _In_reads_opt_(featureRanges) UINT32 const* featureRangeLengths, + UINT32 featureRanges, + _Out_writes_(glyphCount) FLOAT* glyphAdvances, + _Out_writes_(glyphCount) DWRITE_GLYPH_OFFSET* glyphOffsets + ) PURE; + + /// + /// Place glyphs output from the GetGlyphs method according to the font + /// and the writing system's rendering rules. + /// + /// The original string the glyphs came from. + /// The mapping from character ranges to glyph + /// ranges. Returned by GetGlyphs. + /// Per-character properties. Returned by + /// GetGlyphs. + /// The length of textString. + /// Glyph indices. See GetGlyphs + /// Per-glyph properties. See GetGlyphs + /// The number of glyphs. + /// The font face the glyphs came from. + /// Logical font size in DIP's. + /// Number of physical pixels per DIP. For example, if the DPI of the rendering surface is 96 this + /// value is 1.0f. If the DPI is 120, this value is 120.0f/96. + /// Optional transform applied to the glyphs and their positions. This transform is applied after the + /// scaling specified by the font size and pixelsPerDip. + /// + /// When set to FALSE, the metrics are the same as the metrics of GDI aliased text. + /// When set to TRUE, the metrics are the same as the metrics of text measured by GDI using a font + /// created with CLEARTYPE_NATURAL_QUALITY. + /// + /// Set to true if the text is intended to be + /// drawn vertically. + /// Set to TRUE for right-to-left text. + /// Script analysis result from AnalyzeScript. + /// The locale to use when selecting glyphs. + /// e.g. the same character may map to different glyphs for ja-jp vs zh-chs. + /// If this is NULL then the default mapping based on the script is used. + /// An array of pointers to the sets of typographic + /// features to use in each feature range. + /// The length of each feature range, in characters. + /// The sum of all lengths should be equal to textLength. + /// The number of feature ranges. + /// The advance width of each glyph. + /// The offset of the origin of each glyph. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetGdiCompatibleGlyphPlacements)( + _In_reads_(textLength) WCHAR const* textString, + _In_reads_(textLength) UINT16 const* clusterMap, + _In_reads_(textLength) DWRITE_SHAPING_TEXT_PROPERTIES* textProps, + UINT32 textLength, + _In_reads_(glyphCount) UINT16 const* glyphIndices, + _In_reads_(glyphCount) DWRITE_SHAPING_GLYPH_PROPERTIES const* glyphProps, + UINT32 glyphCount, + _In_ IDWriteFontFace * fontFace, + FLOAT fontEmSize, + FLOAT pixelsPerDip, + _In_opt_ DWRITE_MATRIX const* transform, + BOOL useGdiNatural, + BOOL isSideways, + BOOL isRightToLeft, + _In_ DWRITE_SCRIPT_ANALYSIS const* scriptAnalysis, + _In_opt_z_ WCHAR const* localeName, + _In_reads_opt_(featureRanges) DWRITE_TYPOGRAPHIC_FEATURES const** features, + _In_reads_opt_(featureRanges) UINT32 const* featureRangeLengths, + UINT32 featureRanges, + _Out_writes_(glyphCount) FLOAT* glyphAdvances, + _Out_writes_(glyphCount) DWRITE_GLYPH_OFFSET* glyphOffsets + ) PURE; +}; + +/// +/// The DWRITE_GLYPH_RUN structure contains the information needed by renderers +/// to draw glyph runs. All coordinates are in device independent pixels (DIPs). +/// +struct DWRITE_GLYPH_RUN +{ + /// + /// The physical font face to draw with. + /// + _Notnull_ IDWriteFontFace* fontFace; + + /// + /// Logical size of the font in DIPs, not points (equals 1/96 inch). + /// + FLOAT fontEmSize; + + /// + /// The number of glyphs. + /// + UINT32 glyphCount; + + /// + /// The indices to render. + /// + _Field_size_(glyphCount) UINT16 const* glyphIndices; + + /// + /// Glyph advance widths. + /// + _Field_size_opt_(glyphCount) FLOAT const* glyphAdvances; + + /// + /// Glyph offsets. + /// + _Field_size_opt_(glyphCount) DWRITE_GLYPH_OFFSET const* glyphOffsets; + + /// + /// If true, specifies that glyphs are rotated 90 degrees to the left and + /// vertical metrics are used. Vertical writing is achieved by specifying + /// isSideways = true and rotating the entire run 90 degrees to the right + /// via a rotate transform. + /// + BOOL isSideways; + + /// + /// The implicit resolved bidi level of the run. Odd levels indicate + /// right-to-left languages like Hebrew and Arabic, while even levels + /// indicate left-to-right languages like English and Japanese (when + /// written horizontally). For right-to-left languages, the text origin + /// is on the right, and text should be drawn to the left. + /// + UINT32 bidiLevel; +}; + +/// +/// The DWRITE_GLYPH_RUN_DESCRIPTION structure contains additional properties +/// related to those in DWRITE_GLYPH_RUN. +/// +struct DWRITE_GLYPH_RUN_DESCRIPTION +{ + /// + /// The locale name associated with this run. + /// + _Field_z_ WCHAR const* localeName; + + /// + /// The text associated with the glyphs. + /// + _Field_size_(stringLength) WCHAR const* string; + + /// + /// The number of characters (UTF16 code-units). + /// Note that this may be different than the number of glyphs. + /// + UINT32 stringLength; + + /// + /// An array of indices to the glyph indices array, of the first glyphs of + /// all the glyph clusters of the glyphs to render. + /// + _Field_size_opt_(stringLength) UINT16 const* clusterMap; + + /// + /// Corresponding text position in the original string + /// this glyph run came from. + /// + UINT32 textPosition; +}; + +/// +/// The DWRITE_UNDERLINE structure contains information about the size and +/// placement of underlines. All coordinates are in device independent +/// pixels (DIPs). +/// +struct DWRITE_UNDERLINE +{ + /// + /// Width of the underline, measured parallel to the baseline. + /// + FLOAT width; + + /// + /// Thickness of the underline, measured perpendicular to the + /// baseline. + /// + FLOAT thickness; + + /// + /// Offset of the underline from the baseline. + /// A positive offset represents a position below the baseline and + /// a negative offset is above. + /// + FLOAT offset; + + /// + /// Height of the tallest run where the underline applies. + /// + FLOAT runHeight; + + /// + /// Reading direction of the text associated with the underline. This + /// value is used to interpret whether the width value runs horizontally + /// or vertically. + /// + DWRITE_READING_DIRECTION readingDirection; + + /// + /// Flow direction of the text associated with the underline. This value + /// is used to interpret whether the thickness value advances top to + /// bottom, left to right, or right to left. + /// + DWRITE_FLOW_DIRECTION flowDirection; + + /// + /// Locale of the text the underline is being drawn under. Can be + /// pertinent where the locale affects how the underline is drawn. + /// For example, in vertical text, the underline belongs on the + /// left for Chinese but on the right for Japanese. + /// This choice is completely left up to higher levels. + /// + _Field_z_ WCHAR const* localeName; + + /// + /// The measuring mode can be useful to the renderer to determine how + /// underlines are rendered, e.g. rounding the thickness to a whole pixel + /// in GDI-compatible modes. + /// + DWRITE_MEASURING_MODE measuringMode; +}; + +/// +/// The DWRITE_STRIKETHROUGH structure contains information about the size and +/// placement of strikethroughs. All coordinates are in device independent +/// pixels (DIPs). +/// +struct DWRITE_STRIKETHROUGH +{ + /// + /// Width of the strikethrough, measured parallel to the baseline. + /// + FLOAT width; + + /// + /// Thickness of the strikethrough, measured perpendicular to the + /// baseline. + /// + FLOAT thickness; + + /// + /// Offset of the strikethrough from the baseline. + /// A positive offset represents a position below the baseline and + /// a negative offset is above. + /// + FLOAT offset; + + /// + /// Reading direction of the text associated with the strikethrough. This + /// value is used to interpret whether the width value runs horizontally + /// or vertically. + /// + DWRITE_READING_DIRECTION readingDirection; + + /// + /// Flow direction of the text associated with the strikethrough. This + /// value is used to interpret whether the thickness value advances top to + /// bottom, left to right, or right to left. + /// + DWRITE_FLOW_DIRECTION flowDirection; + + /// + /// Locale of the range. Can be pertinent where the locale affects the style. + /// + _Field_z_ WCHAR const* localeName; + + /// + /// The measuring mode can be useful to the renderer to determine how + /// underlines are rendered, e.g. rounding the thickness to a whole pixel + /// in GDI-compatible modes. + /// + DWRITE_MEASURING_MODE measuringMode; +}; + +/// +/// The DWRITE_LINE_METRICS structure contains information about a formatted +/// line of text. +/// +struct DWRITE_LINE_METRICS +{ + /// + /// The number of total text positions in the line. + /// This includes any trailing whitespace and newline characters. + /// + UINT32 length; + + /// + /// The number of whitespace positions at the end of the line. Newline + /// sequences are considered whitespace. + /// + UINT32 trailingWhitespaceLength; + + /// + /// The number of characters in the newline sequence at the end of the line. + /// If the count is zero, then the line was either wrapped or it is the + /// end of the text. + /// + UINT32 newlineLength; + + /// + /// Height of the line as measured from top to bottom. + /// + FLOAT height; + + /// + /// Distance from the top of the line to its baseline. + /// + FLOAT baseline; + + /// + /// The line is trimmed. + /// + BOOL isTrimmed; +}; + + +/// +/// The DWRITE_CLUSTER_METRICS structure contains information about a glyph cluster. +/// +struct DWRITE_CLUSTER_METRICS +{ + /// + /// The total advance width of all glyphs in the cluster. + /// + FLOAT width; + + /// + /// The number of text positions in the cluster. + /// + UINT16 length; + + /// + /// Indicate whether line can be broken right after the cluster. + /// + UINT16 canWrapLineAfter : 1; + + /// + /// Indicate whether the cluster corresponds to whitespace character. + /// + UINT16 isWhitespace : 1; + + /// + /// Indicate whether the cluster corresponds to a newline character. + /// + UINT16 isNewline : 1; + + /// + /// Indicate whether the cluster corresponds to soft hyphen character. + /// + UINT16 isSoftHyphen : 1; + + /// + /// Indicate whether the cluster is read from right to left. + /// + UINT16 isRightToLeft : 1; + + UINT16 padding : 11; +}; + + +/// +/// Overall metrics associated with text after layout. +/// All coordinates are in device independent pixels (DIPs). +/// +struct DWRITE_TEXT_METRICS +{ + /// + /// Left-most point of formatted text relative to layout box + /// (excluding any glyph overhang). + /// + FLOAT left; + + /// + /// Top-most point of formatted text relative to layout box + /// (excluding any glyph overhang). + /// + FLOAT top; + + /// + /// The width of the formatted text ignoring trailing whitespace + /// at the end of each line. + /// + FLOAT width; + + /// + /// The width of the formatted text taking into account the + /// trailing whitespace at the end of each line. + /// + FLOAT widthIncludingTrailingWhitespace; + + /// + /// The height of the formatted text. The height of an empty string + /// is determined by the size of the default font's line height. + /// + FLOAT height; + + /// + /// Initial width given to the layout. Depending on whether the text + /// was wrapped or not, it can be either larger or smaller than the + /// text content width. + /// + FLOAT layoutWidth; + + /// + /// Initial height given to the layout. Depending on the length of the + /// text, it may be larger or smaller than the text content height. + /// + FLOAT layoutHeight; + + /// + /// The maximum reordering count of any line of text, used + /// to calculate the most number of hit-testing boxes needed. + /// If the layout has no bidirectional text or no text at all, + /// the minimum level is 1. + /// + UINT32 maxBidiReorderingDepth; + + /// + /// Total number of lines. + /// + UINT32 lineCount; +}; + + +/// +/// Properties describing the geometric measurement of an +/// application-defined inline object. +/// +struct DWRITE_INLINE_OBJECT_METRICS +{ + /// + /// Width of the inline object. + /// + FLOAT width; + + /// + /// Height of the inline object as measured from top to bottom. + /// + FLOAT height; + + /// + /// Distance from the top of the object to the baseline where it is lined up with the adjacent text. + /// If the baseline is at the bottom, baseline simply equals height. + /// + FLOAT baseline; + + /// + /// Flag indicating whether the object is to be placed upright or alongside the text baseline + /// for vertical text. + /// + BOOL supportsSideways; +}; + + +/// +/// The DWRITE_OVERHANG_METRICS structure holds how much any visible pixels +/// (in DIPs) overshoot each side of the layout or inline objects. +/// +/// +/// Positive overhangs indicate that the visible area extends outside the layout +/// box or inline object, while negative values mean there is whitespace inside. +/// The returned values are unaffected by rendering transforms or pixel snapping. +/// Additionally, they may not exactly match final target's pixel bounds after +/// applying grid fitting and hinting. +/// +struct DWRITE_OVERHANG_METRICS +{ + /// + /// The distance from the left-most visible DIP to its left alignment edge. + /// + FLOAT left; + + /// + /// The distance from the top-most visible DIP to its top alignment edge. + /// + FLOAT top; + + /// + /// The distance from the right-most visible DIP to its right alignment edge. + /// + FLOAT right; + + /// + /// The distance from the bottom-most visible DIP to its bottom alignment edge. + /// + FLOAT bottom; +}; + + +/// +/// Geometry enclosing of text positions. +/// +struct DWRITE_HIT_TEST_METRICS +{ + /// + /// First text position within the geometry. + /// + UINT32 textPosition; + + /// + /// Number of text positions within the geometry. + /// + UINT32 length; + + /// + /// Left position of the top-left coordinate of the geometry. + /// + FLOAT left; + + /// + /// Top position of the top-left coordinate of the geometry. + /// + FLOAT top; + + /// + /// Geometry's width. + /// + FLOAT width; + + /// + /// Geometry's height. + /// + FLOAT height; + + /// + /// Bidi level of text positions enclosed within the geometry. + /// + UINT32 bidiLevel; + + /// + /// Geometry encloses text? + /// + BOOL isText; + + /// + /// Range is trimmed. + /// + BOOL isTrimmed; +}; + + +interface IDWriteTextRenderer; + + +/// +/// The IDWriteInlineObject interface wraps an application defined inline graphic, +/// allowing DWrite to query metrics as if it was a glyph inline with the text. +/// +DWRITE_BEGIN_INTERFACE(IDWriteInlineObject, "8339FDE3-106F-47ab-8373-1C6295EB10B3") : IUnknown +{ + /// + /// The application implemented rendering callback (IDWriteTextRenderer::DrawInlineObject) + /// can use this to draw the inline object without needing to cast or query the object + /// type. The text layout does not call this method directly. + /// + /// The context passed to IDWriteTextLayout::Draw. + /// The renderer passed to IDWriteTextLayout::Draw as the object's containing parent. + /// X-coordinate at the top-left corner of the inline object. + /// Y-coordinate at the top-left corner of the inline object. + /// The object should be drawn on its side. + /// The object is in an right-to-left context and should be drawn flipped. + /// The drawing effect set in IDWriteTextLayout::SetDrawingEffect. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(Draw)( + _In_opt_ void* clientDrawingContext, + _In_ IDWriteTextRenderer* renderer, + FLOAT originX, + FLOAT originY, + BOOL isSideways, + BOOL isRightToLeft, + _In_opt_ IUnknown* clientDrawingEffect + ) PURE; + + /// + /// TextLayout calls this callback function to get the measurement of the inline object. + /// + /// Returned metrics + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetMetrics)( + _Out_ DWRITE_INLINE_OBJECT_METRICS* metrics + ) PURE; + + /// + /// TextLayout calls this callback function to get the visible extents (in DIPs) of the inline object. + /// In the case of a simple bitmap, with no padding and no overhang, all the overhangs will + /// simply be zeroes. + /// + /// Overshoot of visible extents (in DIPs) outside the object. + /// + /// Standard HRESULT error code. + /// + /// + /// The overhangs should be returned relative to the reported size of the object + /// (DWRITE_INLINE_OBJECT_METRICS::width/height), and should not be baseline + /// adjusted. If you have an image that is actually 100x100 DIPs, but you want it + /// slightly inset (perhaps it has a glow) by 20 DIPs on each side, you would + /// return a width/height of 60x60 and four overhangs of 20 DIPs. + /// + STDMETHOD(GetOverhangMetrics)( + _Out_ DWRITE_OVERHANG_METRICS* overhangs + ) PURE; + + /// + /// Layout uses this to determine the line breaking behavior of the inline object + /// amidst the text. + /// + /// Line-breaking condition between the object and the content immediately preceding it. + /// Line-breaking condition between the object and the content immediately following it. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetBreakConditions)( + _Out_ DWRITE_BREAK_CONDITION* breakConditionBefore, + _Out_ DWRITE_BREAK_CONDITION* breakConditionAfter + ) PURE; +}; + +/// +/// The IDWritePixelSnapping interface defines the pixel snapping properties of a text renderer. +/// +DWRITE_BEGIN_INTERFACE(IDWritePixelSnapping, "eaf3a2da-ecf4-4d24-b644-b34f6842024b") : IUnknown +{ + /// + /// Determines whether pixel snapping is disabled. The recommended default is FALSE, + /// unless doing animation that requires subpixel vertical placement. + /// + /// The context passed to IDWriteTextLayout::Draw. + /// Receives TRUE if pixel snapping is disabled or FALSE if it not. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(IsPixelSnappingDisabled)( + _In_opt_ void* clientDrawingContext, + _Out_ BOOL* isDisabled + ) PURE; + + /// + /// Gets the current transform that maps abstract coordinates to DIPs, + /// which may disable pixel snapping upon any rotation or shear. + /// + /// The context passed to IDWriteTextLayout::Draw. + /// Receives the transform. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetCurrentTransform)( + _In_opt_ void* clientDrawingContext, + _Out_ DWRITE_MATRIX* transform + ) PURE; + + /// + /// Gets the number of physical pixels per DIP. A DIP (device-independent pixel) is 1/96 inch, + /// so the pixelsPerDip value is the number of logical pixels per inch divided by 96 (yielding + /// a value of 1 for 96 DPI and 1.25 for 120). + /// + /// The context passed to IDWriteTextLayout::Draw. + /// Receives the number of physical pixels per DIP. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetPixelsPerDip)( + _In_opt_ void* clientDrawingContext, + _Out_ FLOAT* pixelsPerDip + ) PURE; +}; + +/// +/// The IDWriteTextRenderer interface represents a set of application-defined +/// callbacks that perform rendering of text, inline objects, and decorations +/// such as underlines. +/// +DWRITE_BEGIN_INTERFACE(IDWriteTextRenderer, "ef8a8135-5cc6-45fe-8825-c5a0724eb819") : IDWritePixelSnapping +{ + /// + /// IDWriteTextLayout::Draw calls this function to instruct the client to + /// render a run of glyphs. + /// + /// The context passed to + /// IDWriteTextLayout::Draw. + /// X-coordinate of the baseline. + /// Y-coordinate of the baseline. + /// Specifies measuring mode for glyphs in the run. + /// Renderer implementations may choose different rendering modes for given measuring modes, + /// but best results are seen when the rendering mode matches the corresponding measuring mode: + /// DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL for DWRITE_MEASURING_MODE_NATURAL + /// DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC for DWRITE_MEASURING_MODE_GDI_CLASSIC + /// DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL for DWRITE_MEASURING_MODE_GDI_NATURAL + /// + /// The glyph run to draw. + /// Properties of the characters + /// associated with this run. + /// The drawing effect set in + /// IDWriteTextLayout::SetDrawingEffect. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(DrawGlyphRun)( + _In_opt_ void* clientDrawingContext, + FLOAT baselineOriginX, + FLOAT baselineOriginY, + DWRITE_MEASURING_MODE measuringMode, + _In_ DWRITE_GLYPH_RUN const* glyphRun, + _In_ DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription, + _In_opt_ IUnknown* clientDrawingEffect + ) PURE; + + /// + /// IDWriteTextLayout::Draw calls this function to instruct the client to draw + /// an underline. + /// + /// The context passed to + /// IDWriteTextLayout::Draw. + /// X-coordinate of the baseline. + /// Y-coordinate of the baseline. + /// Underline logical information. + /// The drawing effect set in + /// IDWriteTextLayout::SetDrawingEffect. + /// + /// Standard HRESULT error code. + /// + /// + /// A single underline can be broken into multiple calls, depending on + /// how the formatting changes attributes. If font sizes/styles change + /// within an underline, the thickness and offset will be averaged + /// weighted according to characters. + /// To get the correct top coordinate of the underline rect, add underline::offset + /// to the baseline's Y. Otherwise the underline will be immediately under the text. + /// The x coordinate will always be passed as the left side, regardless + /// of text directionality. This simplifies drawing and reduces the + /// problem of round-off that could potentially cause gaps or a double + /// stamped alpha blend. To avoid alpha overlap, round the end points + /// to the nearest device pixel. + /// + STDMETHOD(DrawUnderline)( + _In_opt_ void* clientDrawingContext, + FLOAT baselineOriginX, + FLOAT baselineOriginY, + _In_ DWRITE_UNDERLINE const* underline, + _In_opt_ IUnknown* clientDrawingEffect + ) PURE; + + /// + /// IDWriteTextLayout::Draw calls this function to instruct the client to draw + /// a strikethrough. + /// + /// The context passed to + /// IDWriteTextLayout::Draw. + /// X-coordinate of the baseline. + /// Y-coordinate of the baseline. + /// Strikethrough logical information. + /// The drawing effect set in + /// IDWriteTextLayout::SetDrawingEffect. + /// + /// Standard HRESULT error code. + /// + /// + /// A single strikethrough can be broken into multiple calls, depending on + /// how the formatting changes attributes. Strikethrough is not averaged + /// across font sizes/styles changes. + /// To get the correct top coordinate of the strikethrough rect, + /// add strikethrough::offset to the baseline's Y. + /// Like underlines, the x coordinate will always be passed as the left side, + /// regardless of text directionality. + /// + STDMETHOD(DrawStrikethrough)( + _In_opt_ void* clientDrawingContext, + FLOAT baselineOriginX, + FLOAT baselineOriginY, + _In_ DWRITE_STRIKETHROUGH const* strikethrough, + _In_opt_ IUnknown* clientDrawingEffect + ) PURE; + + /// + /// IDWriteTextLayout::Draw calls this application callback when it needs to + /// draw an inline object. + /// + /// The context passed to IDWriteTextLayout::Draw. + /// X-coordinate at the top-left corner of the inline object. + /// Y-coordinate at the top-left corner of the inline object. + /// The object set using IDWriteTextLayout::SetInlineObject. + /// The object should be drawn on its side. + /// The object is in an right-to-left context and should be drawn flipped. + /// The drawing effect set in + /// IDWriteTextLayout::SetDrawingEffect. + /// + /// Standard HRESULT error code. + /// + /// + /// The right-to-left flag is a hint for those cases where it would look + /// strange for the image to be shown normally (like an arrow pointing to + /// right to indicate a submenu). + /// + STDMETHOD(DrawInlineObject)( + _In_opt_ void* clientDrawingContext, + FLOAT originX, + FLOAT originY, + _In_ IDWriteInlineObject* inlineObject, + BOOL isSideways, + BOOL isRightToLeft, + _In_opt_ IUnknown* clientDrawingEffect + ) PURE; +}; + +/// +/// The IDWriteTextLayout interface represents a block of text after it has +/// been fully analyzed and formatted. +/// +/// All coordinates are in device independent pixels (DIPs). +/// +DWRITE_BEGIN_INTERFACE(IDWriteTextLayout, "53737037-6d14-410b-9bfe-0b182bb70961") : IDWriteTextFormat +{ + /// + /// Set layout maximum width + /// + /// Layout maximum width + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetMaxWidth)( + FLOAT maxWidth + ) PURE; + + /// + /// Set layout maximum height + /// + /// Layout maximum height + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetMaxHeight)( + FLOAT maxHeight + ) PURE; + + /// + /// Set the font collection. + /// + /// The font collection to set + /// Text range to which this change applies. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetFontCollection)( + _In_opt_ IDWriteFontCollection* fontCollection, + DWRITE_TEXT_RANGE textRange + ) PURE; + + /// + /// Set null-terminated font family name. + /// + /// Font family name + /// Text range to which this change applies. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetFontFamilyName)( + _In_z_ WCHAR const* fontFamilyName, + DWRITE_TEXT_RANGE textRange + ) PURE; + + /// + /// Set font weight. + /// + /// Font weight + /// Text range to which this change applies. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetFontWeight)( + DWRITE_FONT_WEIGHT fontWeight, + DWRITE_TEXT_RANGE textRange + ) PURE; + + /// + /// Set font style. + /// + /// Font style + /// Text range to which this change applies. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetFontStyle)( + DWRITE_FONT_STYLE fontStyle, + DWRITE_TEXT_RANGE textRange + ) PURE; + + /// + /// Set font stretch. + /// + /// font stretch + /// Text range to which this change applies. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetFontStretch)( + DWRITE_FONT_STRETCH fontStretch, + DWRITE_TEXT_RANGE textRange + ) PURE; + + /// + /// Set font em height. + /// + /// Font em height + /// Text range to which this change applies. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetFontSize)( + FLOAT fontSize, + DWRITE_TEXT_RANGE textRange + ) PURE; + + /// + /// Set underline. + /// + /// The Boolean flag indicates whether underline takes place + /// Text range to which this change applies. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetUnderline)( + BOOL hasUnderline, + DWRITE_TEXT_RANGE textRange + ) PURE; + + /// + /// Set strikethrough. + /// + /// The Boolean flag indicates whether strikethrough takes place + /// Text range to which this change applies. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetStrikethrough)( + BOOL hasStrikethrough, + DWRITE_TEXT_RANGE textRange + ) PURE; + + /// + /// Set application-defined drawing effect. + /// + /// Pointer to an application-defined drawing effect. + /// Text range to which this change applies. + /// + /// Standard HRESULT error code. + /// + /// + /// This drawing effect is associated with the specified range and will be passed back + /// to the application via the callback when the range is drawn at drawing time. + /// + STDMETHOD(SetDrawingEffect)( + IUnknown* drawingEffect, + DWRITE_TEXT_RANGE textRange + ) PURE; + + /// + /// Set inline object. + /// + /// Pointer to an application-implemented inline object. + /// Text range to which this change applies. + /// + /// Standard HRESULT error code. + /// + /// + /// This inline object applies to the specified range and will be passed back + /// to the application via the DrawInlineObject callback when the range is drawn. + /// Any text in that range will be suppressed. + /// + STDMETHOD(SetInlineObject)( + _In_ IDWriteInlineObject* inlineObject, + DWRITE_TEXT_RANGE textRange + ) PURE; + + /// + /// Set font typography features. + /// + /// Pointer to font typography setting. + /// Text range to which this change applies. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetTypography)( + _In_ IDWriteTypography* typography, + DWRITE_TEXT_RANGE textRange + ) PURE; + + /// + /// Set locale name. + /// + /// Locale name + /// Text range to which this change applies. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetLocaleName)( + _In_z_ WCHAR const* localeName, + DWRITE_TEXT_RANGE textRange + ) PURE; + + /// + /// Get layout maximum width + /// + STDMETHOD_(FLOAT, GetMaxWidth)() PURE; + + /// + /// Get layout maximum height + /// + STDMETHOD_(FLOAT, GetMaxHeight)() PURE; + + /// + /// Get the font collection where the current position is at. + /// + /// The current text position. + /// The current font collection + /// Text range to which this change applies. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontCollection)( + UINT32 currentPosition, + _COM_Outptr_ IDWriteFontCollection** fontCollection, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; + + /// + /// Get the length of the font family name where the current position is at. + /// + /// The current text position. + /// Size of the character array in character count not including the terminated NULL character. + /// The position range of the current format. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontFamilyNameLength)( + UINT32 currentPosition, + _Out_ UINT32* nameLength, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; + + /// + /// Copy the font family name where the current position is at. + /// + /// The current text position. + /// Character array that receives the current font family name + /// Size of the character array in character count including the terminated NULL character. + /// The position range of the current format. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontFamilyName)( + UINT32 currentPosition, + _Out_writes_z_(nameSize) WCHAR* fontFamilyName, + UINT32 nameSize, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; + + /// + /// Get the font weight where the current position is at. + /// + /// The current text position. + /// The current font weight + /// The position range of the current format. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontWeight)( + UINT32 currentPosition, + _Out_ DWRITE_FONT_WEIGHT* fontWeight, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; + + /// + /// Get the font style where the current position is at. + /// + /// The current text position. + /// The current font style + /// The position range of the current format. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontStyle)( + UINT32 currentPosition, + _Out_ DWRITE_FONT_STYLE* fontStyle, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; + + /// + /// Get the font stretch where the current position is at. + /// + /// The current text position. + /// The current font stretch + /// The position range of the current format. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontStretch)( + UINT32 currentPosition, + _Out_ DWRITE_FONT_STRETCH* fontStretch, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; + + /// + /// Get the font em height where the current position is at. + /// + /// The current text position. + /// The current font em height + /// The position range of the current format. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontSize)( + UINT32 currentPosition, + _Out_ FLOAT* fontSize, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; + + /// + /// Get the underline presence where the current position is at. + /// + /// The current text position. + /// The Boolean flag indicates whether text is underlined. + /// The position range of the current format. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetUnderline)( + UINT32 currentPosition, + _Out_ BOOL* hasUnderline, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; + + /// + /// Get the strikethrough presence where the current position is at. + /// + /// The current text position. + /// The Boolean flag indicates whether text has strikethrough. + /// The position range of the current format. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetStrikethrough)( + UINT32 currentPosition, + _Out_ BOOL* hasStrikethrough, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; + + /// + /// Get the application-defined drawing effect where the current position is at. + /// + /// The current text position. + /// The current application-defined drawing effect. + /// The position range of the current format. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetDrawingEffect)( + UINT32 currentPosition, + _COM_Outptr_ IUnknown** drawingEffect, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; + + /// + /// Get the inline object at the given position. + /// + /// The given text position. + /// The inline object. + /// The position range of the current format. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetInlineObject)( + UINT32 currentPosition, + _COM_Outptr_ IDWriteInlineObject** inlineObject, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; + + /// + /// Get the typography setting where the current position is at. + /// + /// The current text position. + /// The current typography setting. + /// The position range of the current format. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetTypography)( + UINT32 currentPosition, + _COM_Outptr_ IDWriteTypography** typography, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; + + /// + /// Get the length of the locale name where the current position is at. + /// + /// The current text position. + /// Size of the character array in character count not including the terminated NULL character. + /// The position range of the current format. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetLocaleNameLength)( + UINT32 currentPosition, + _Out_ UINT32* nameLength, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; + + /// + /// Get the locale name where the current position is at. + /// + /// The current text position. + /// Character array that receives the current locale name + /// Size of the character array in character count including the terminated NULL character. + /// The position range of the current format. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetLocaleName)( + UINT32 currentPosition, + _Out_writes_z_(nameSize) WCHAR* localeName, + UINT32 nameSize, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; + + /// + /// Initiate drawing of the text. + /// + /// An application defined value + /// included in rendering callbacks. + /// The set of application-defined callbacks that do + /// the actual rendering. + /// X-coordinate of the layout's left side. + /// Y-coordinate of the layout's top side. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(Draw)( + _In_opt_ void* clientDrawingContext, + _In_ IDWriteTextRenderer* renderer, + FLOAT originX, + FLOAT originY + ) PURE; + + /// + /// GetLineMetrics returns properties of each line. + /// + /// The array to fill with line information. + /// The maximum size of the lineMetrics array. + /// The actual size of the lineMetrics + /// array that is needed. + /// + /// Standard HRESULT error code. + /// + /// + /// If maxLineCount is not large enough E_NOT_SUFFICIENT_BUFFER, + /// which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), + /// is returned and *actualLineCount is set to the number of lines + /// needed. + /// + STDMETHOD(GetLineMetrics)( + _Out_writes_opt_(maxLineCount) DWRITE_LINE_METRICS* lineMetrics, + UINT32 maxLineCount, + _Out_ UINT32* actualLineCount + ) PURE; + + /// + /// GetMetrics retrieves overall metrics for the formatted string. + /// + /// The returned metrics. + /// + /// Standard HRESULT error code. + /// + /// + /// Drawing effects like underline and strikethrough do not contribute + /// to the text size, which is essentially the sum of advance widths and + /// line heights. Additionally, visible swashes and other graphic + /// adornments may extend outside the returned width and height. + /// + STDMETHOD(GetMetrics)( + _Out_ DWRITE_TEXT_METRICS* textMetrics + ) PURE; + + /// + /// GetOverhangMetrics returns the overhangs (in DIPs) of the layout and all + /// objects contained in it, including text glyphs and inline objects. + /// + /// Overshoots of visible extents (in DIPs) outside the layout. + /// + /// Standard HRESULT error code. + /// + /// + /// Any underline and strikethrough do not contribute to the black box + /// determination, since these are actually drawn by the renderer, which + /// is allowed to draw them in any variety of styles. + /// + STDMETHOD(GetOverhangMetrics)( + _Out_ DWRITE_OVERHANG_METRICS* overhangs + ) PURE; + + /// + /// Retrieve logical properties and measurement of each cluster. + /// + /// The array to fill with cluster information. + /// The maximum size of the clusterMetrics array. + /// The actual size of the clusterMetrics array that is needed. + /// + /// Standard HRESULT error code. + /// + /// + /// If maxClusterCount is not large enough E_NOT_SUFFICIENT_BUFFER, + /// which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), + /// is returned and *actualClusterCount is set to the number of clusters + /// needed. + /// + STDMETHOD(GetClusterMetrics)( + _Out_writes_opt_(maxClusterCount) DWRITE_CLUSTER_METRICS* clusterMetrics, + UINT32 maxClusterCount, + _Out_ UINT32* actualClusterCount + ) PURE; + + /// + /// Determines the minimum possible width the layout can be set to without + /// emergency breaking between the characters of whole words. + /// + /// Minimum width. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(DetermineMinWidth)( + _Out_ FLOAT* minWidth + ) PURE; + + /// + /// Given a coordinate (in DIPs) relative to the top-left of the layout box, + /// this returns the corresponding hit-test metrics of the text string where + /// the hit-test has occurred. This is useful for mapping mouse clicks to caret + /// positions. When the given coordinate is outside the text string, the function + /// sets the output value *isInside to false but returns the nearest character + /// position. + /// + /// X coordinate to hit-test, relative to the top-left location of the layout box. + /// Y coordinate to hit-test, relative to the top-left location of the layout box. + /// Output flag indicating whether the hit-test location is at the leading or the trailing + /// side of the character. When the output *isInside value is set to false, this value is set according to the output + /// *position value to represent the edge closest to the hit-test location. + /// Output flag indicating whether the hit-test location is inside the text string. + /// When false, the position nearest the text's edge is returned. + /// Output geometry fully enclosing the hit-test location. When the output *isInside value + /// is set to false, this structure represents the geometry enclosing the edge closest to the hit-test location. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(HitTestPoint)( + FLOAT pointX, + FLOAT pointY, + _Out_ BOOL* isTrailingHit, + _Out_ BOOL* isInside, + _Out_ DWRITE_HIT_TEST_METRICS* hitTestMetrics + ) PURE; + + /// + /// Given a text position and whether the caret is on the leading or trailing + /// edge of that position, this returns the corresponding coordinate (in DIPs) + /// relative to the top-left of the layout box. This is most useful for drawing + /// the caret's current position, but it could also be used to anchor an IME to the + /// typed text or attach a floating menu near the point of interest. It may also be + /// used to programmatically obtain the geometry of a particular text position + /// for UI automation. + /// + /// Text position to get the coordinate of. + /// Flag indicating whether the location is of the leading or the trailing side of the specified text position. + /// Output caret X, relative to the top-left of the layout box. + /// Output caret Y, relative to the top-left of the layout box. + /// Output geometry fully enclosing the specified text position. + /// + /// Standard HRESULT error code. + /// + /// + /// When drawing a caret at the returned X,Y, it should be centered on X + /// and drawn from the Y coordinate down. The height will be the size of the + /// hit-tested text (which can vary in size within a line). + /// Reading direction also affects which side of the character the caret is drawn. + /// However, the returned X coordinate will be correct for either case. + /// You can get a text length back that is larger than a single character. + /// This happens for complex scripts when multiple characters form a single cluster, + /// when diacritics join their base character, or when you test a surrogate pair. + /// + STDMETHOD(HitTestTextPosition)( + UINT32 textPosition, + BOOL isTrailingHit, + _Out_ FLOAT* pointX, + _Out_ FLOAT* pointY, + _Out_ DWRITE_HIT_TEST_METRICS* hitTestMetrics + ) PURE; + + /// + /// The application calls this function to get a set of hit-test metrics + /// corresponding to a range of text positions. The main usage for this + /// is to draw highlighted selection of the text string. + /// + /// The function returns E_NOT_SUFFICIENT_BUFFER, which is equivalent to + /// HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), when the buffer size of + /// hitTestMetrics is too small to hold all the regions calculated by the + /// function. In such situation, the function sets the output value + /// *actualHitTestMetricsCount to the number of geometries calculated. + /// The application is responsible to allocate a new buffer of greater + /// size and call the function again. + /// + /// A good value to use as an initial value for maxHitTestMetricsCount may + /// be calculated from the following equation: + /// maxHitTestMetricsCount = lineCount * maxBidiReorderingDepth + /// + /// where lineCount is obtained from the value of the output argument + /// *actualLineCount from the function IDWriteTextLayout::GetLineMetrics, + /// and the maxBidiReorderingDepth value from the DWRITE_TEXT_METRICS + /// structure of the output argument *textMetrics from the function + /// IDWriteFactory::CreateTextLayout. + /// + /// First text position of the specified range. + /// Number of positions of the specified range. + /// Offset of the X origin (left of the layout box) which is added to each of the hit-test metrics returned. + /// Offset of the Y origin (top of the layout box) which is added to each of the hit-test metrics returned. + /// Pointer to a buffer of the output geometry fully enclosing the specified position range. + /// Maximum number of distinct metrics it could hold in its buffer memory. + /// Actual number of metrics returned or needed. + /// + /// Standard HRESULT error code. + /// + /// + /// There are no gaps in the returned metrics. While there could be visual gaps, + /// depending on bidi ordering, each range is contiguous and reports all the text, + /// including any hidden characters and trimmed text. + /// The height of each returned range will be the same within each line, regardless + /// of how the font sizes vary. + /// + STDMETHOD(HitTestTextRange)( + UINT32 textPosition, + UINT32 textLength, + FLOAT originX, + FLOAT originY, + _Out_writes_opt_(maxHitTestMetricsCount) DWRITE_HIT_TEST_METRICS* hitTestMetrics, + UINT32 maxHitTestMetricsCount, + _Out_ UINT32* actualHitTestMetricsCount + ) PURE; + + using IDWriteTextFormat::GetFontCollection; + using IDWriteTextFormat::GetFontFamilyNameLength; + using IDWriteTextFormat::GetFontFamilyName; + using IDWriteTextFormat::GetFontWeight; + using IDWriteTextFormat::GetFontStyle; + using IDWriteTextFormat::GetFontStretch; + using IDWriteTextFormat::GetFontSize; + using IDWriteTextFormat::GetLocaleNameLength; + using IDWriteTextFormat::GetLocaleName; +}; + + +/// +/// Encapsulates a 32-bit device independent bitmap and device context, which can be used for rendering glyphs. +/// +DWRITE_BEGIN_INTERFACE(IDWriteBitmapRenderTarget, "5e5a32a3-8dff-4773-9ff6-0696eab77267") : IUnknown +{ + /// + /// Draws a run of glyphs to the bitmap. + /// + /// Horizontal position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB. + /// Vertical position of the baseline origin, in DIPs, relative to the upper-left corner of the DIB. + /// Specifies measuring mode for glyphs in the run. + /// Renderer implementations may choose different rendering modes for different measuring modes, for example + /// DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL for DWRITE_MEASURING_MODE_NATURAL, + /// DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC for DWRITE_MEASURING_MODE_GDI_CLASSIC, and + /// DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL for DWRITE_MEASURING_MODE_GDI_NATURAL. + /// + /// Structure containing the properties of the glyph run. + /// Object that controls rendering behavior. + /// Specifies the foreground color of the text. + /// Optional rectangle that receives the bounding box (in pixels not DIPs) of all the pixels affected by + /// drawing the glyph run. The black box rectangle may extend beyond the dimensions of the bitmap. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(DrawGlyphRun)( + FLOAT baselineOriginX, + FLOAT baselineOriginY, + DWRITE_MEASURING_MODE measuringMode, + _In_ DWRITE_GLYPH_RUN const* glyphRun, + _In_ IDWriteRenderingParams* renderingParams, + COLORREF textColor, + _Out_opt_ RECT* blackBoxRect = NULL + ) PURE; + + /// + /// Gets a handle to the memory device context. + /// + /// + /// Returns the device context handle. + /// + /// + /// An application can use the device context to draw using GDI functions. An application can obtain the bitmap handle + /// (HBITMAP) by calling GetCurrentObject. An application that wants information about the underlying bitmap, including + /// a pointer to the pixel data, can call GetObject to fill in a DIBSECTION structure. The bitmap is always a 32-bit + /// top-down DIB. + /// + STDMETHOD_(HDC, GetMemoryDC)() PURE; + + /// + /// Gets the number of bitmap pixels per DIP. A DIP (device-independent pixel) is 1/96 inch so this value is the number + /// if pixels per inch divided by 96. + /// + /// + /// Returns the number of bitmap pixels per DIP. + /// + STDMETHOD_(FLOAT, GetPixelsPerDip)() PURE; + + /// + /// Sets the number of bitmap pixels per DIP. A DIP (device-independent pixel) is 1/96 inch so this value is the number + /// if pixels per inch divided by 96. + /// + /// Specifies the number of pixels per DIP. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetPixelsPerDip)( + FLOAT pixelsPerDip + ) PURE; + + /// + /// Gets the transform that maps abstract coordinate to DIPs. By default this is the identity + /// transform. Note that this is unrelated to the world transform of the underlying device + /// context. + /// + /// Receives the transform. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetCurrentTransform)( + _Out_ DWRITE_MATRIX* transform + ) PURE; + + /// + /// Sets the transform that maps abstract coordinate to DIPs. This does not affect the world + /// transform of the underlying device context. + /// + /// Specifies the new transform. This parameter can be NULL, in which + /// case the identity transform is implied. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetCurrentTransform)( + _In_opt_ DWRITE_MATRIX const* transform + ) PURE; + + /// + /// Gets the dimensions of the bitmap. + /// + /// Receives the size of the bitmap in pixels. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetSize)( + _Out_ SIZE* size + ) PURE; + + /// + /// Resizes the bitmap. + /// + /// New bitmap width, in pixels. + /// New bitmap height, in pixels. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(Resize)( + UINT32 width, + UINT32 height + ) PURE; +}; + +/// +/// The GDI interop interface provides interoperability with GDI. +/// +DWRITE_BEGIN_INTERFACE(IDWriteGdiInterop, "1edd9491-9853-4299-898f-6432983b6f3a") : IUnknown +{ + /// + /// Creates a font object that matches the properties specified by the LOGFONT structure + /// in the system font collection (GetSystemFontCollection). + /// + /// Structure containing a GDI-compatible font description. + /// Receives a newly created font object if successful, or NULL in case of error. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontFromLOGFONT)( + _In_ LOGFONTW const* logFont, + _COM_Outptr_ IDWriteFont** font + ) PURE; + + /// + /// Initializes a LOGFONT structure based on the GDI-compatible properties of the specified font. + /// + /// Specifies a font. + /// Structure that receives a GDI-compatible font description. + /// Contains TRUE if the specified font object is part of the system font collection + /// or FALSE otherwise. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(ConvertFontToLOGFONT)( + _In_ IDWriteFont* font, + _Out_ LOGFONTW* logFont, + _Out_ BOOL* isSystemFont + ) PURE; + + /// + /// Initializes a LOGFONT structure based on the GDI-compatible properties of the specified font. + /// + /// Specifies a font face. + /// Structure that receives a GDI-compatible font description. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(ConvertFontFaceToLOGFONT)( + _In_ IDWriteFontFace* font, + _Out_ LOGFONTW* logFont + ) PURE; + + /// + /// Creates a font face object that corresponds to the currently selected HFONT. + /// + /// Handle to a device context into which a font has been selected. It is assumed that the client + /// has already performed font mapping and that the font selected into the DC is the actual font that would be used + /// for rendering glyphs. + /// Contains the newly created font face object, or NULL in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontFaceFromHdc)( + HDC hdc, + _COM_Outptr_ IDWriteFontFace** fontFace + ) PURE; + + /// + /// Creates an object that encapsulates a bitmap and memory DC which can be used for rendering glyphs. + /// + /// Optional device context used to create a compatible memory DC. + /// Width of the bitmap. + /// Height of the bitmap. + /// Receives a pointer to the newly created render target. + STDMETHOD(CreateBitmapRenderTarget)( + _In_opt_ HDC hdc, + UINT32 width, + UINT32 height, + _COM_Outptr_ IDWriteBitmapRenderTarget** renderTarget + ) PURE; +}; + +/// +/// The DWRITE_TEXTURE_TYPE enumeration identifies a type of alpha texture. An alpha texture is a bitmap of alpha values, each +/// representing the darkness (i.e., opacity) of a pixel or subpixel. +/// +enum DWRITE_TEXTURE_TYPE +{ + /// + /// Specifies an alpha texture for aliased text rendering (i.e., bi-level, where each pixel is either fully opaque or fully transparent), + /// with one byte per pixel. + /// + DWRITE_TEXTURE_ALIASED_1x1, + + /// + /// Specifies an alpha texture for ClearType text rendering, with three bytes per pixel in the horizontal dimension and + /// one byte per pixel in the vertical dimension. + /// + DWRITE_TEXTURE_CLEARTYPE_3x1 +}; + +/// +/// Maximum alpha value in a texture returned by IDWriteGlyphRunAnalysis::CreateAlphaTexture. +/// +#define DWRITE_ALPHA_MAX 255 + +/// +/// Interface that encapsulates information used to render a glyph run. +/// +DWRITE_BEGIN_INTERFACE(IDWriteGlyphRunAnalysis, "7d97dbf7-e085-42d4-81e3-6a883bded118") : IUnknown +{ + /// + /// Gets the bounding rectangle of the physical pixels affected by the glyph run. + /// + /// Specifies the type of texture requested. If a bi-level texture is requested, the + /// bounding rectangle includes only bi-level glyphs. Otherwise, the bounding rectangle includes only anti-aliased + /// glyphs. + /// Receives the bounding rectangle, or an empty rectangle if there are no glyphs + /// if the specified type. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetAlphaTextureBounds)( + DWRITE_TEXTURE_TYPE textureType, + _Out_ RECT* textureBounds + ) PURE; + + /// + /// Creates an alpha texture of the specified type. + /// + /// Specifies the type of texture requested. If a bi-level texture is requested, the + /// texture contains only bi-level glyphs. Otherwise, the texture contains only anti-aliased glyphs. + /// Specifies the bounding rectangle of the texture, which can be different than + /// the bounding rectangle returned by GetAlphaTextureBounds. + /// Receives the array of alpha values. + /// Size of the alphaValues array. The minimum size depends on the dimensions of the + /// rectangle and the type of texture requested. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateAlphaTexture)( + DWRITE_TEXTURE_TYPE textureType, + _In_ RECT const* textureBounds, + _Out_writes_bytes_(bufferSize) BYTE* alphaValues, + UINT32 bufferSize + ) PURE; + + /// + /// Gets properties required for ClearType blending. + /// + /// Rendering parameters object. In most cases, the values returned in the output + /// parameters are based on the properties of this object. The exception is if a GDI-compatible rendering mode + /// is specified. + /// Receives the gamma value to use for gamma correction. + /// Receives the enhanced contrast value. + /// Receives the ClearType level. + STDMETHOD(GetAlphaBlendParams)( + _In_ IDWriteRenderingParams* renderingParams, + _Out_ FLOAT* blendGamma, + _Out_ FLOAT* blendEnhancedContrast, + _Out_ FLOAT* blendClearTypeLevel + ) PURE; +}; + +/// +/// The root factory interface for all DWrite objects. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFactory, "b859ee5a-d838-4b5b-a2e8-1adc7d93db48") : IUnknown +{ + /// + /// Gets a font collection representing the set of installed fonts. + /// + /// Receives a pointer to the system font collection object, or NULL in case of failure. + /// If this parameter is nonzero, the function performs an immediate check for changes to the set of + /// installed fonts. If this parameter is FALSE, the function will still detect changes if the font cache service is running, but + /// there may be some latency. For example, an application might specify TRUE if it has itself just installed a font and wants to + /// be sure the font collection contains that font. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetSystemFontCollection)( + _COM_Outptr_ IDWriteFontCollection** fontCollection, + BOOL checkForUpdates = FALSE + ) PURE; + + /// + /// Creates a font collection using a custom font collection loader. + /// + /// Application-defined font collection loader, which must have been previously + /// registered using RegisterFontCollectionLoader. + /// Key used by the loader to identify a collection of font files. + /// Size in bytes of the collection key. + /// Receives a pointer to the system font collection object, or NULL in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateCustomFontCollection)( + _In_ IDWriteFontCollectionLoader* collectionLoader, + _In_reads_bytes_(collectionKeySize) void const* collectionKey, + UINT32 collectionKeySize, + _COM_Outptr_ IDWriteFontCollection** fontCollection + ) PURE; + + /// + /// Registers a custom font collection loader with the factory object. + /// + /// Application-defined font collection loader. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(RegisterFontCollectionLoader)( + _In_ IDWriteFontCollectionLoader* fontCollectionLoader + ) PURE; + + /// + /// Unregisters a custom font collection loader that was previously registered using RegisterFontCollectionLoader. + /// + /// Application-defined font collection loader. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(UnregisterFontCollectionLoader)( + _In_ IDWriteFontCollectionLoader* fontCollectionLoader + ) PURE; + + /// + /// CreateFontFileReference creates a font file reference object from a local font file. + /// + /// Absolute file path. Subsequent operations on the constructed object may fail + /// if the user provided filePath doesn't correspond to a valid file on the disk. + /// Last modified time of the input file path. If the parameter is omitted, + /// the function will access the font file to obtain its last write time, so the clients are encouraged to specify this value + /// to avoid extra disk access. Subsequent operations on the constructed object may fail + /// if the user provided lastWriteTime doesn't match the file on the disk. + /// Contains newly created font file reference object, or NULL in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontFileReference)( + _In_z_ WCHAR const* filePath, + _In_opt_ FILETIME const* lastWriteTime, + _COM_Outptr_ IDWriteFontFile** fontFile + ) PURE; + + /// + /// CreateCustomFontFileReference creates a reference to an application specific font file resource. + /// This function enables an application or a document to use a font without having to install it on the system. + /// The fontFileReferenceKey has to be unique only in the scope of the fontFileLoader used in this call. + /// + /// Font file reference key that uniquely identifies the font file resource + /// during the lifetime of fontFileLoader. + /// Size of font file reference key in bytes. + /// Font file loader that will be used by the font system to load data from the file identified by + /// fontFileReferenceKey. + /// Contains the newly created font file object, or NULL in case of failure. + /// + /// Standard HRESULT error code. + /// + /// + /// This function is provided for cases when an application or a document needs to use a font + /// without having to install it on the system. fontFileReferenceKey has to be unique only in the scope + /// of the fontFileLoader used in this call. + /// + STDMETHOD(CreateCustomFontFileReference)( + _In_reads_bytes_(fontFileReferenceKeySize) void const* fontFileReferenceKey, + UINT32 fontFileReferenceKeySize, + _In_ IDWriteFontFileLoader* fontFileLoader, + _COM_Outptr_ IDWriteFontFile** fontFile + ) PURE; + + /// + /// Creates a font face object. + /// + /// The file format of the font face. + /// The number of font files required to represent the font face. + /// Font files representing the font face. Since IDWriteFontFace maintains its own references + /// to the input font file objects, it's OK to release them after this call. + /// The zero based index of a font face in cases when the font files contain a collection of font faces. + /// If the font files contain a single face, this value should be zero. + /// Font face simulation flags for algorithmic emboldening and italicization. + /// Contains the newly created font face object, or NULL in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontFace)( + DWRITE_FONT_FACE_TYPE fontFaceType, + UINT32 numberOfFiles, + _In_reads_(numberOfFiles) IDWriteFontFile* const* fontFiles, + UINT32 faceIndex, + DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags, + _COM_Outptr_ IDWriteFontFace** fontFace + ) PURE; + + /// + /// Creates a rendering parameters object with default settings for the primary monitor. + /// + /// Holds the newly created rendering parameters object, or NULL in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateRenderingParams)( + _COM_Outptr_ IDWriteRenderingParams** renderingParams + ) PURE; + + /// + /// Creates a rendering parameters object with default settings for the specified monitor. + /// + /// The monitor to read the default values from. + /// Holds the newly created rendering parameters object, or NULL in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateMonitorRenderingParams)( + HMONITOR monitor, + _COM_Outptr_ IDWriteRenderingParams** renderingParams + ) PURE; + + /// + /// Creates a rendering parameters object with the specified properties. + /// + /// The gamma value used for gamma correction, which must be greater than zero and cannot exceed 256. + /// The amount of contrast enhancement, zero or greater. + /// The degree of ClearType level, from 0.0f (no ClearType) to 1.0f (full ClearType). + /// The geometry of a device pixel. + /// Method of rendering glyphs. In most cases, this should be DWRITE_RENDERING_MODE_DEFAULT to automatically use an appropriate mode. + /// Holds the newly created rendering parameters object, or NULL in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateCustomRenderingParams)( + FLOAT gamma, + FLOAT enhancedContrast, + FLOAT clearTypeLevel, + DWRITE_PIXEL_GEOMETRY pixelGeometry, + DWRITE_RENDERING_MODE renderingMode, + _COM_Outptr_ IDWriteRenderingParams** renderingParams + ) PURE; + + /// + /// Registers a font file loader with DirectWrite. + /// + /// Pointer to the implementation of the IDWriteFontFileLoader for a particular file resource type. + /// + /// Standard HRESULT error code. + /// + /// + /// This function registers a font file loader with DirectWrite. + /// Font file loader interface handles loading font file resources of a particular type from a key. + /// The font file loader interface is recommended to be implemented by a singleton object. + /// A given instance can only be registered once. + /// Succeeding attempts will return an error that it has already been registered. + /// IMPORTANT: font file loader implementations must not register themselves with DirectWrite + /// inside their constructors and must not unregister themselves in their destructors, because + /// registration and unregistration operations increment and decrement the object reference count respectively. + /// Instead, registration and unregistration of font file loaders with DirectWrite should be performed + /// outside of the font file loader implementation as a separate step. + /// + STDMETHOD(RegisterFontFileLoader)( + _In_ IDWriteFontFileLoader* fontFileLoader + ) PURE; + + /// + /// Unregisters a font file loader that was previously registered with the DirectWrite font system using RegisterFontFileLoader. + /// + /// Pointer to the file loader that was previously registered with the DirectWrite font system using RegisterFontFileLoader. + /// + /// This function will succeed if the user loader is requested to be removed. + /// It will fail if the pointer to the file loader identifies a standard DirectWrite loader, + /// or a loader that is never registered or has already been unregistered. + /// + /// + /// This function unregisters font file loader callbacks with the DirectWrite font system. + /// The font file loader interface is recommended to be implemented by a singleton object. + /// IMPORTANT: font file loader implementations must not register themselves with DirectWrite + /// inside their constructors and must not unregister themselves in their destructors, because + /// registration and unregistration operations increment and decrement the object reference count respectively. + /// Instead, registration and unregistration of font file loaders with DirectWrite should be performed + /// outside of the font file loader implementation as a separate step. + /// + STDMETHOD(UnregisterFontFileLoader)( + _In_ IDWriteFontFileLoader* fontFileLoader + ) PURE; + + /// + /// Create a text format object used for text layout. + /// + /// Name of the font family + /// Font collection. NULL indicates the system font collection. + /// Font weight + /// Font style + /// Font stretch + /// Logical size of the font in DIP units. A DIP ("device-independent pixel") equals 1/96 inch. + /// Locale name + /// Contains newly created text format object, or NULL in case of failure. + /// + /// Standard HRESULT error code. + /// + /// + /// If fontCollection is nullptr, the system font collection is used, grouped by typographic family name + /// (DWRITE_FONT_FAMILY_MODEL_WEIGHT_STRETCH_STYLE) without downloadable fonts. + /// + STDMETHOD(CreateTextFormat)( + _In_z_ WCHAR const* fontFamilyName, + _In_opt_ IDWriteFontCollection* fontCollection, + DWRITE_FONT_WEIGHT fontWeight, + DWRITE_FONT_STYLE fontStyle, + DWRITE_FONT_STRETCH fontStretch, + FLOAT fontSize, + _In_z_ WCHAR const* localeName, + _COM_Outptr_ IDWriteTextFormat** textFormat + ) PURE; + + /// + /// Create a typography object used in conjunction with text format for text layout. + /// + /// Contains newly created typography object, or NULL in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateTypography)( + _COM_Outptr_ IDWriteTypography** typography + ) PURE; + + /// + /// Create an object used for interoperability with GDI. + /// + /// Receives the GDI interop object if successful, or NULL in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetGdiInterop)( + _COM_Outptr_ IDWriteGdiInterop** gdiInterop + ) PURE; + + /// + /// CreateTextLayout takes a string, format, and associated constraints + /// and produces an object representing the fully analyzed + /// and formatted result. + /// + /// The string to layout. + /// The length of the string. + /// The format to apply to the string. + /// Width of the layout box. + /// Height of the layout box. + /// The resultant object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateTextLayout)( + _In_reads_(stringLength) WCHAR const* string, + UINT32 stringLength, + _In_ IDWriteTextFormat* textFormat, + FLOAT maxWidth, + FLOAT maxHeight, + _COM_Outptr_ IDWriteTextLayout** textLayout + ) PURE; + + /// + /// CreateGdiCompatibleTextLayout takes a string, format, and associated constraints + /// and produces and object representing the result formatted for a particular display resolution + /// and measuring mode. The resulting text layout should only be used for the intended resolution, + /// and for cases where text scalability is desired, CreateTextLayout should be used instead. + /// + /// The string to layout. + /// The length of the string. + /// The format to apply to the string. + /// Width of the layout box. + /// Height of the layout box. + /// Number of physical pixels per DIP. For example, if rendering onto a 96 DPI device then pixelsPerDip + /// is 1. If rendering onto a 120 DPI device then pixelsPerDip is 120/96. + /// Optional transform applied to the glyphs and their positions. This transform is applied after the + /// scaling specified the font size and pixelsPerDip. + /// + /// When set to FALSE, instructs the text layout to use the same metrics as GDI aliased text. + /// When set to TRUE, instructs the text layout to use the same metrics as text measured by GDI using a font + /// created with CLEARTYPE_NATURAL_QUALITY. + /// + /// The resultant object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateGdiCompatibleTextLayout)( + _In_reads_(stringLength) WCHAR const* string, + UINT32 stringLength, + _In_ IDWriteTextFormat* textFormat, + FLOAT layoutWidth, + FLOAT layoutHeight, + FLOAT pixelsPerDip, + _In_opt_ DWRITE_MATRIX const* transform, + BOOL useGdiNatural, + _COM_Outptr_ IDWriteTextLayout** textLayout + ) PURE; + + /// + /// The application may call this function to create an inline object for trimming, using an ellipsis as the omission sign. + /// The ellipsis will be created using the current settings of the format, including base font, style, and any effects. + /// Alternate omission signs can be created by the application by implementing IDWriteInlineObject. + /// + /// Text format used as a template for the omission sign. + /// Created omission sign. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateEllipsisTrimmingSign)( + _In_ IDWriteTextFormat* textFormat, + _COM_Outptr_ IDWriteInlineObject** trimmingSign + ) PURE; + + /// + /// Return an interface to perform text analysis with. + /// + /// The resultant object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateTextAnalyzer)( + _COM_Outptr_ IDWriteTextAnalyzer** textAnalyzer + ) PURE; + + /// + /// Creates a number substitution object using a locale name, + /// substitution method, and whether to ignore user overrides (uses NLS + /// defaults for the given culture instead). + /// + /// Method of number substitution to use. + /// Which locale to obtain the digits from. + /// Ignore the user's settings and use the locale defaults + /// Receives a pointer to the newly created object. + STDMETHOD(CreateNumberSubstitution)( + _In_ DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod, + _In_z_ WCHAR const* localeName, + _In_ BOOL ignoreUserOverride, + _COM_Outptr_ IDWriteNumberSubstitution** numberSubstitution + ) PURE; + + /// + /// Creates a glyph run analysis object, which encapsulates information + /// used to render a glyph run. + /// + /// Structure specifying the properties of the glyph run. + /// Number of physical pixels per DIP. For example, if rendering onto a 96 DPI bitmap then pixelsPerDip + /// is 1. If rendering onto a 120 DPI bitmap then pixelsPerDip is 120/96. + /// Optional transform applied to the glyphs and their positions. This transform is applied after the + /// scaling specified by the emSize and pixelsPerDip. + /// Specifies the rendering mode, which must be one of the raster rendering modes (i.e., not default + /// and not outline). + /// Specifies the method to measure glyphs. + /// Horizontal position of the baseline origin, in DIPs. + /// Vertical position of the baseline origin, in DIPs. + /// Receives a pointer to the newly created object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateGlyphRunAnalysis)( + _In_ DWRITE_GLYPH_RUN const* glyphRun, + FLOAT pixelsPerDip, + _In_opt_ DWRITE_MATRIX const* transform, + DWRITE_RENDERING_MODE renderingMode, + DWRITE_MEASURING_MODE measuringMode, + FLOAT baselineOriginX, + FLOAT baselineOriginY, + _COM_Outptr_ IDWriteGlyphRunAnalysis** glyphRunAnalysis + ) PURE; + +}; // interface IDWriteFactory + + +/// +/// Creates a DirectWrite factory object that is used for subsequent creation of individual DirectWrite objects. +/// +/// Identifies whether the factory object will be shared or isolated. +/// Identifies the DirectWrite factory interface, such as UUIDOF(IDWriteFactory). +/// Receives the DirectWrite factory object. +/// +/// Standard HRESULT error code. +/// +/// +/// Obtains DirectWrite factory object that is used for subsequent creation of individual DirectWrite classes. +/// DirectWrite factory contains internal state such as font loader registration and cached font data. +/// In most cases it is recommended to use the shared factory object, because it allows multiple components +/// that use DirectWrite to share internal DirectWrite state and reduce memory usage. +/// However, there are cases when it is desirable to reduce the impact of a component, +/// such as a plug-in from an untrusted source, on the rest of the process by sandboxing and isolating it +/// from the rest of the process components. In such cases, it is recommended to use an isolated factory for the sandboxed +/// component. +/// +EXTERN_C HRESULT DWRITE_EXPORT DWriteCreateFactory( + _In_ DWRITE_FACTORY_TYPE factoryType, + _In_ REFIID iid, + _COM_Outptr_ IUnknown **factory + ); + +// Macros used to define DirectWrite error codes. +#define FACILITY_DWRITE 0x898 +#define DWRITE_ERR_BASE 0x5000 +#define MAKE_DWRITE_HR(severity, code) MAKE_HRESULT(severity, FACILITY_DWRITE, (DWRITE_ERR_BASE + code)) +#define MAKE_DWRITE_HR_ERR(code) MAKE_DWRITE_HR(SEVERITY_ERROR, code) + +// DWrite errors have moved to winerror.h + + +#endif /* DWRITE_H_INCLUDED */ diff --git a/vendor/include/dwrite_1.h b/vendor/include/dwrite_1.h new file mode 100644 index 0000000..bc947c9 --- /dev/null +++ b/vendor/include/dwrite_1.h @@ -0,0 +1,1924 @@ +//+-------------------------------------------------------------------------- +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +// Abstract: +// DirectX Typography Services public API definitions. +// +//---------------------------------------------------------------------------- + +#ifndef DWRITE_1_H_INCLUDED +#define DWRITE_1_H_INCLUDED + +#pragma once + +#include "dwrite.h" + +/// +/// The overall kind of family. +/// +enum DWRITE_PANOSE_FAMILY +{ + DWRITE_PANOSE_FAMILY_ANY = 0, + DWRITE_PANOSE_FAMILY_NO_FIT = 1, + DWRITE_PANOSE_FAMILY_TEXT_DISPLAY = 2, + DWRITE_PANOSE_FAMILY_SCRIPT = 3, // or hand written + DWRITE_PANOSE_FAMILY_DECORATIVE = 4, + DWRITE_PANOSE_FAMILY_SYMBOL = 5, // or symbol + DWRITE_PANOSE_FAMILY_PICTORIAL = DWRITE_PANOSE_FAMILY_SYMBOL +}; + +/// +/// Appearance of the serifs. +/// Present for families: 2-text +/// +enum DWRITE_PANOSE_SERIF_STYLE +{ + DWRITE_PANOSE_SERIF_STYLE_ANY = 0, + DWRITE_PANOSE_SERIF_STYLE_NO_FIT = 1, + DWRITE_PANOSE_SERIF_STYLE_COVE = 2, + DWRITE_PANOSE_SERIF_STYLE_OBTUSE_COVE = 3, + DWRITE_PANOSE_SERIF_STYLE_SQUARE_COVE = 4, + DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SQUARE_COVE = 5, + DWRITE_PANOSE_SERIF_STYLE_SQUARE = 6, + DWRITE_PANOSE_SERIF_STYLE_THIN = 7, + DWRITE_PANOSE_SERIF_STYLE_OVAL = 8, + DWRITE_PANOSE_SERIF_STYLE_EXAGGERATED = 9, + DWRITE_PANOSE_SERIF_STYLE_TRIANGLE = 10, + DWRITE_PANOSE_SERIF_STYLE_NORMAL_SANS = 11, + DWRITE_PANOSE_SERIF_STYLE_OBTUSE_SANS = 12, + DWRITE_PANOSE_SERIF_STYLE_PERPENDICULAR_SANS = 13, + DWRITE_PANOSE_SERIF_STYLE_FLARED = 14, + DWRITE_PANOSE_SERIF_STYLE_ROUNDED = 15, + DWRITE_PANOSE_SERIF_STYLE_SCRIPT = 16, + DWRITE_PANOSE_SERIF_STYLE_PERP_SANS = DWRITE_PANOSE_SERIF_STYLE_PERPENDICULAR_SANS, + DWRITE_PANOSE_SERIF_STYLE_BONE = DWRITE_PANOSE_SERIF_STYLE_OVAL +}; + +/// +/// PANOSE font weights. These roughly correspond to the DWRITE_FONT_WEIGHT's +/// using (panose_weight - 2) * 100. +/// Present for families: 2-text, 3-script, 4-decorative, 5-symbol +/// +enum DWRITE_PANOSE_WEIGHT +{ + DWRITE_PANOSE_WEIGHT_ANY = 0, + DWRITE_PANOSE_WEIGHT_NO_FIT = 1, + DWRITE_PANOSE_WEIGHT_VERY_LIGHT = 2, + DWRITE_PANOSE_WEIGHT_LIGHT = 3, + DWRITE_PANOSE_WEIGHT_THIN = 4, + DWRITE_PANOSE_WEIGHT_BOOK = 5, + DWRITE_PANOSE_WEIGHT_MEDIUM = 6, + DWRITE_PANOSE_WEIGHT_DEMI = 7, + DWRITE_PANOSE_WEIGHT_BOLD = 8, + DWRITE_PANOSE_WEIGHT_HEAVY = 9, + DWRITE_PANOSE_WEIGHT_BLACK = 10, + DWRITE_PANOSE_WEIGHT_EXTRA_BLACK = 11, + DWRITE_PANOSE_WEIGHT_NORD = DWRITE_PANOSE_WEIGHT_EXTRA_BLACK +}; + +/// +/// Proportion of the glyph shape considering additional detail to standard +/// characters. +/// Present for families: 2-text +/// +enum DWRITE_PANOSE_PROPORTION +{ + DWRITE_PANOSE_PROPORTION_ANY = 0, + DWRITE_PANOSE_PROPORTION_NO_FIT = 1, + DWRITE_PANOSE_PROPORTION_OLD_STYLE = 2, + DWRITE_PANOSE_PROPORTION_MODERN = 3, + DWRITE_PANOSE_PROPORTION_EVEN_WIDTH = 4, + DWRITE_PANOSE_PROPORTION_EXPANDED = 5, + DWRITE_PANOSE_PROPORTION_CONDENSED = 6, + DWRITE_PANOSE_PROPORTION_VERY_EXPANDED = 7, + DWRITE_PANOSE_PROPORTION_VERY_CONDENSED = 8, + DWRITE_PANOSE_PROPORTION_MONOSPACED = 9 +}; + +/// +/// Ratio between thickest and thinnest point of the stroke for a letter such +/// as uppercase 'O'. +/// Present for families: 2-text, 3-script, 4-decorative +/// +enum DWRITE_PANOSE_CONTRAST +{ + DWRITE_PANOSE_CONTRAST_ANY = 0, + DWRITE_PANOSE_CONTRAST_NO_FIT = 1, + DWRITE_PANOSE_CONTRAST_NONE = 2, + DWRITE_PANOSE_CONTRAST_VERY_LOW = 3, + DWRITE_PANOSE_CONTRAST_LOW = 4, + DWRITE_PANOSE_CONTRAST_MEDIUM_LOW = 5, + DWRITE_PANOSE_CONTRAST_MEDIUM = 6, + DWRITE_PANOSE_CONTRAST_MEDIUM_HIGH = 7, + DWRITE_PANOSE_CONTRAST_HIGH = 8, + DWRITE_PANOSE_CONTRAST_VERY_HIGH = 9, + DWRITE_PANOSE_CONTRAST_HORIZONTAL_LOW = 10, + DWRITE_PANOSE_CONTRAST_HORIZONTAL_MEDIUM = 11, + DWRITE_PANOSE_CONTRAST_HORIZONTAL_HIGH = 12, + DWRITE_PANOSE_CONTRAST_BROKEN = 13 +}; + +/// +/// Relationship between thin and thick stems. +/// Present for families: 2-text +/// +enum DWRITE_PANOSE_STROKE_VARIATION +{ + DWRITE_PANOSE_STROKE_VARIATION_ANY = 0, + DWRITE_PANOSE_STROKE_VARIATION_NO_FIT = 1, + DWRITE_PANOSE_STROKE_VARIATION_NO_VARIATION = 2, + DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_DIAGONAL = 3, + DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_TRANSITIONAL = 4, + DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_VERTICAL = 5, + DWRITE_PANOSE_STROKE_VARIATION_GRADUAL_HORIZONTAL = 6, + DWRITE_PANOSE_STROKE_VARIATION_RAPID_VERTICAL = 7, + DWRITE_PANOSE_STROKE_VARIATION_RAPID_HORIZONTAL = 8, + DWRITE_PANOSE_STROKE_VARIATION_INSTANT_VERTICAL = 9, + DWRITE_PANOSE_STROKE_VARIATION_INSTANT_HORIZONTAL = 10 +}; + +/// +/// Style of termination of stems and rounded letterforms. +/// Present for families: 2-text +/// +enum DWRITE_PANOSE_ARM_STYLE +{ + DWRITE_PANOSE_ARM_STYLE_ANY = 0, + DWRITE_PANOSE_ARM_STYLE_NO_FIT = 1, + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORIZONTAL = 2, + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_WEDGE = 3, + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERTICAL = 4, + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_SINGLE_SERIF = 5, + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_DOUBLE_SERIF = 6, + DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_HORIZONTAL = 7, + DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_WEDGE = 8, + DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_VERTICAL = 9, + DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_SINGLE_SERIF = 10, + DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_DOUBLE_SERIF = 11, + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORZ = DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_HORIZONTAL, + DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERT = DWRITE_PANOSE_ARM_STYLE_STRAIGHT_ARMS_VERTICAL, + DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_HORZ = DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_HORIZONTAL, + DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_WEDGE = DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_WEDGE, + DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_VERT = DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_VERTICAL, + DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_SINGLE_SERIF = DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_SINGLE_SERIF, + DWRITE_PANOSE_ARM_STYLE_BENT_ARMS_DOUBLE_SERIF = DWRITE_PANOSE_ARM_STYLE_NONSTRAIGHT_ARMS_DOUBLE_SERIF +}; + +/// +/// Roundness of letterform. +/// Present for families: 2-text +/// +enum DWRITE_PANOSE_LETTERFORM +{ + DWRITE_PANOSE_LETTERFORM_ANY = 0, + DWRITE_PANOSE_LETTERFORM_NO_FIT = 1, + DWRITE_PANOSE_LETTERFORM_NORMAL_CONTACT = 2, + DWRITE_PANOSE_LETTERFORM_NORMAL_WEIGHTED = 3, + DWRITE_PANOSE_LETTERFORM_NORMAL_BOXED = 4, + DWRITE_PANOSE_LETTERFORM_NORMAL_FLATTENED = 5, + DWRITE_PANOSE_LETTERFORM_NORMAL_ROUNDED = 6, + DWRITE_PANOSE_LETTERFORM_NORMAL_OFF_CENTER = 7, + DWRITE_PANOSE_LETTERFORM_NORMAL_SQUARE = 8, + DWRITE_PANOSE_LETTERFORM_OBLIQUE_CONTACT = 9, + DWRITE_PANOSE_LETTERFORM_OBLIQUE_WEIGHTED = 10, + DWRITE_PANOSE_LETTERFORM_OBLIQUE_BOXED = 11, + DWRITE_PANOSE_LETTERFORM_OBLIQUE_FLATTENED = 12, + DWRITE_PANOSE_LETTERFORM_OBLIQUE_ROUNDED = 13, + DWRITE_PANOSE_LETTERFORM_OBLIQUE_OFF_CENTER = 14, + DWRITE_PANOSE_LETTERFORM_OBLIQUE_SQUARE = 15 +}; + +/// +/// Placement of midline across uppercase characters and treatment of diagonal +/// stem apexes. +/// Present for families: 2-text +/// +enum DWRITE_PANOSE_MIDLINE +{ + DWRITE_PANOSE_MIDLINE_ANY = 0, + DWRITE_PANOSE_MIDLINE_NO_FIT = 1, + DWRITE_PANOSE_MIDLINE_STANDARD_TRIMMED = 2, + DWRITE_PANOSE_MIDLINE_STANDARD_POINTED = 3, + DWRITE_PANOSE_MIDLINE_STANDARD_SERIFED = 4, + DWRITE_PANOSE_MIDLINE_HIGH_TRIMMED = 5, + DWRITE_PANOSE_MIDLINE_HIGH_POINTED = 6, + DWRITE_PANOSE_MIDLINE_HIGH_SERIFED = 7, + DWRITE_PANOSE_MIDLINE_CONSTANT_TRIMMED = 8, + DWRITE_PANOSE_MIDLINE_CONSTANT_POINTED = 9, + DWRITE_PANOSE_MIDLINE_CONSTANT_SERIFED = 10, + DWRITE_PANOSE_MIDLINE_LOW_TRIMMED = 11, + DWRITE_PANOSE_MIDLINE_LOW_POINTED = 12, + DWRITE_PANOSE_MIDLINE_LOW_SERIFED = 13 +}; + +/// +/// Relative size of lowercase letters and treament of diacritic marks +/// and uppercase glyphs. +/// Present for families: 2-text +/// +enum DWRITE_PANOSE_XHEIGHT +{ + DWRITE_PANOSE_XHEIGHT_ANY = 0, + DWRITE_PANOSE_XHEIGHT_NO_FIT = 1, + DWRITE_PANOSE_XHEIGHT_CONSTANT_SMALL = 2, + DWRITE_PANOSE_XHEIGHT_CONSTANT_STANDARD = 3, + DWRITE_PANOSE_XHEIGHT_CONSTANT_LARGE = 4, + DWRITE_PANOSE_XHEIGHT_DUCKING_SMALL = 5, + DWRITE_PANOSE_XHEIGHT_DUCKING_STANDARD = 6, + DWRITE_PANOSE_XHEIGHT_DUCKING_LARGE = 7, + DWRITE_PANOSE_XHEIGHT_CONSTANT_STD = DWRITE_PANOSE_XHEIGHT_CONSTANT_STANDARD, + DWRITE_PANOSE_XHEIGHT_DUCKING_STD = DWRITE_PANOSE_XHEIGHT_DUCKING_STANDARD +}; + +/// +/// Kind of tool used to create character forms. +/// Present for families: 3-script +/// +enum DWRITE_PANOSE_TOOL_KIND +{ + DWRITE_PANOSE_TOOL_KIND_ANY = 0, + DWRITE_PANOSE_TOOL_KIND_NO_FIT = 1, + DWRITE_PANOSE_TOOL_KIND_FLAT_NIB = 2, + DWRITE_PANOSE_TOOL_KIND_PRESSURE_POINT = 3, + DWRITE_PANOSE_TOOL_KIND_ENGRAVED = 4, + DWRITE_PANOSE_TOOL_KIND_BALL = 5, + DWRITE_PANOSE_TOOL_KIND_BRUSH = 6, + DWRITE_PANOSE_TOOL_KIND_ROUGH = 7, + DWRITE_PANOSE_TOOL_KIND_FELT_PEN_BRUSH_TIP = 8, + DWRITE_PANOSE_TOOL_KIND_WILD_BRUSH = 9 +}; + +/// +/// Monospace vs proportional. +/// Present for families: 3-script, 5-symbol +/// +enum DWRITE_PANOSE_SPACING +{ + DWRITE_PANOSE_SPACING_ANY = 0, + DWRITE_PANOSE_SPACING_NO_FIT = 1, + DWRITE_PANOSE_SPACING_PROPORTIONAL_SPACED = 2, + DWRITE_PANOSE_SPACING_MONOSPACED = 3, +}; + +/// +/// Ratio between width and height of the face. +/// Present for families: 3-script +/// +enum DWRITE_PANOSE_ASPECT_RATIO +{ + DWRITE_PANOSE_ASPECT_RATIO_ANY = 0, + DWRITE_PANOSE_ASPECT_RATIO_NO_FIT = 1, + DWRITE_PANOSE_ASPECT_RATIO_VERY_CONDENSED = 2, + DWRITE_PANOSE_ASPECT_RATIO_CONDENSED = 3, + DWRITE_PANOSE_ASPECT_RATIO_NORMAL = 4, + DWRITE_PANOSE_ASPECT_RATIO_EXPANDED = 5, + DWRITE_PANOSE_ASPECT_RATIO_VERY_EXPANDED = 6 +}; + +/// +/// Topology of letterforms. +/// Present for families: 3-script +/// +enum DWRITE_PANOSE_SCRIPT_TOPOLOGY +{ + DWRITE_PANOSE_SCRIPT_TOPOLOGY_ANY = 0, + DWRITE_PANOSE_SCRIPT_TOPOLOGY_NO_FIT = 1, + DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_DISCONNECTED = 2, + DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_TRAILING = 3, + DWRITE_PANOSE_SCRIPT_TOPOLOGY_ROMAN_CONNECTED = 4, + DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_DISCONNECTED = 5, + DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_TRAILING = 6, + DWRITE_PANOSE_SCRIPT_TOPOLOGY_CURSIVE_CONNECTED = 7, + DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_DISCONNECTED = 8, + DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_TRAILING = 9, + DWRITE_PANOSE_SCRIPT_TOPOLOGY_BLACKLETTER_CONNECTED = 10 +}; + +/// +/// General look of the face, considering slope and tails. +/// Present for families: 3-script +/// +enum DWRITE_PANOSE_SCRIPT_FORM +{ + DWRITE_PANOSE_SCRIPT_FORM_ANY = 0, + DWRITE_PANOSE_SCRIPT_FORM_NO_FIT = 1, + DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_NO_WRAPPING = 2, + DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_SOME_WRAPPING = 3, + DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_MORE_WRAPPING = 4, + DWRITE_PANOSE_SCRIPT_FORM_UPRIGHT_EXTREME_WRAPPING = 5, + DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_NO_WRAPPING = 6, + DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_SOME_WRAPPING = 7, + DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_MORE_WRAPPING = 8, + DWRITE_PANOSE_SCRIPT_FORM_OBLIQUE_EXTREME_WRAPPING = 9, + DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_NO_WRAPPING = 10, + DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_SOME_WRAPPING = 11, + DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_MORE_WRAPPING = 12, + DWRITE_PANOSE_SCRIPT_FORM_EXAGGERATED_EXTREME_WRAPPING = 13 +}; + +/// +/// How character ends and miniscule ascenders are treated. +/// Present for families: 3-script +/// +enum DWRITE_PANOSE_FINIALS +{ + DWRITE_PANOSE_FINIALS_ANY = 0, + DWRITE_PANOSE_FINIALS_NO_FIT = 1, + DWRITE_PANOSE_FINIALS_NONE_NO_LOOPS = 2, + DWRITE_PANOSE_FINIALS_NONE_CLOSED_LOOPS = 3, + DWRITE_PANOSE_FINIALS_NONE_OPEN_LOOPS = 4, + DWRITE_PANOSE_FINIALS_SHARP_NO_LOOPS = 5, + DWRITE_PANOSE_FINIALS_SHARP_CLOSED_LOOPS = 6, + DWRITE_PANOSE_FINIALS_SHARP_OPEN_LOOPS = 7, + DWRITE_PANOSE_FINIALS_TAPERED_NO_LOOPS = 8, + DWRITE_PANOSE_FINIALS_TAPERED_CLOSED_LOOPS = 9, + DWRITE_PANOSE_FINIALS_TAPERED_OPEN_LOOPS = 10, + DWRITE_PANOSE_FINIALS_ROUND_NO_LOOPS = 11, + DWRITE_PANOSE_FINIALS_ROUND_CLOSED_LOOPS = 12, + DWRITE_PANOSE_FINIALS_ROUND_OPEN_LOOPS = 13 +}; + +/// +/// Relative size of the lowercase letters. +/// Present for families: 3-script +/// +enum DWRITE_PANOSE_XASCENT +{ + DWRITE_PANOSE_XASCENT_ANY = 0, + DWRITE_PANOSE_XASCENT_NO_FIT = 1, + DWRITE_PANOSE_XASCENT_VERY_LOW = 2, + DWRITE_PANOSE_XASCENT_LOW = 3, + DWRITE_PANOSE_XASCENT_MEDIUM = 4, + DWRITE_PANOSE_XASCENT_HIGH = 5, + DWRITE_PANOSE_XASCENT_VERY_HIGH = 6 +}; + +/// +/// General look of the face. +/// Present for families: 4-decorative +/// +enum DWRITE_PANOSE_DECORATIVE_CLASS +{ + DWRITE_PANOSE_DECORATIVE_CLASS_ANY = 0, + DWRITE_PANOSE_DECORATIVE_CLASS_NO_FIT = 1, + DWRITE_PANOSE_DECORATIVE_CLASS_DERIVATIVE = 2, + DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_TOPOLOGY = 3, + DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ELEMENTS = 4, + DWRITE_PANOSE_DECORATIVE_CLASS_NONSTANDARD_ASPECT = 5, + DWRITE_PANOSE_DECORATIVE_CLASS_INITIALS = 6, + DWRITE_PANOSE_DECORATIVE_CLASS_CARTOON = 7, + DWRITE_PANOSE_DECORATIVE_CLASS_PICTURE_STEMS = 8, + DWRITE_PANOSE_DECORATIVE_CLASS_ORNAMENTED = 9, + DWRITE_PANOSE_DECORATIVE_CLASS_TEXT_AND_BACKGROUND = 10, + DWRITE_PANOSE_DECORATIVE_CLASS_COLLAGE = 11, + DWRITE_PANOSE_DECORATIVE_CLASS_MONTAGE = 12 +}; + +/// +/// Ratio between the width and height of the face. +/// Present for families: 4-decorative +/// +enum DWRITE_PANOSE_ASPECT +{ + DWRITE_PANOSE_ASPECT_ANY = 0, + DWRITE_PANOSE_ASPECT_NO_FIT = 1, + DWRITE_PANOSE_ASPECT_SUPER_CONDENSED = 2, + DWRITE_PANOSE_ASPECT_VERY_CONDENSED = 3, + DWRITE_PANOSE_ASPECT_CONDENSED = 4, + DWRITE_PANOSE_ASPECT_NORMAL = 5, + DWRITE_PANOSE_ASPECT_EXTENDED = 6, + DWRITE_PANOSE_ASPECT_VERY_EXTENDED = 7, + DWRITE_PANOSE_ASPECT_SUPER_EXTENDED = 8, + DWRITE_PANOSE_ASPECT_MONOSPACED = 9 +}; + +/// +/// Type of fill/line (treatment). +/// Present for families: 4-decorative +/// +enum DWRITE_PANOSE_FILL +{ + DWRITE_PANOSE_FILL_ANY = 0, + DWRITE_PANOSE_FILL_NO_FIT = 1, + DWRITE_PANOSE_FILL_STANDARD_SOLID_FILL = 2, + DWRITE_PANOSE_FILL_NO_FILL = 3, + DWRITE_PANOSE_FILL_PATTERNED_FILL = 4, + DWRITE_PANOSE_FILL_COMPLEX_FILL = 5, + DWRITE_PANOSE_FILL_SHAPED_FILL = 6, + DWRITE_PANOSE_FILL_DRAWN_DISTRESSED = 7, +}; + +/// +/// Outline handling. +/// Present for families: 4-decorative +/// +enum DWRITE_PANOSE_LINING +{ + DWRITE_PANOSE_LINING_ANY = 0, + DWRITE_PANOSE_LINING_NO_FIT = 1, + DWRITE_PANOSE_LINING_NONE = 2, + DWRITE_PANOSE_LINING_INLINE = 3, + DWRITE_PANOSE_LINING_OUTLINE = 4, + DWRITE_PANOSE_LINING_ENGRAVED = 5, + DWRITE_PANOSE_LINING_SHADOW = 6, + DWRITE_PANOSE_LINING_RELIEF = 7, + DWRITE_PANOSE_LINING_BACKDROP = 8 +}; + +/// +/// Overall shape characteristics of the font. +/// Present for families: 4-decorative +/// +enum DWRITE_PANOSE_DECORATIVE_TOPOLOGY +{ + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ANY = 0, + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_NO_FIT = 1, + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_STANDARD = 2, + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SQUARE = 3, + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_MULTIPLE_SEGMENT = 4, + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_ART_DECO = 5, + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UNEVEN_WEIGHTING = 6, + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_ARMS = 7, + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_DIVERSE_FORMS = 8, + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_LOMBARDIC_FORMS = 9, + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_UPPER_CASE_IN_LOWER_CASE = 10, + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_IMPLIED_TOPOLOGY = 11, + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_HORSESHOE_E_AND_A = 12, + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_CURSIVE = 13, + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_BLACKLETTER = 14, + DWRITE_PANOSE_DECORATIVE_TOPOLOGY_SWASH_VARIANCE = 15 +}; + +/// +/// Type of characters available in the font. +/// Present for families: 4-decorative +/// +enum DWRITE_PANOSE_CHARACTER_RANGES +{ + DWRITE_PANOSE_CHARACTER_RANGES_ANY = 0, + DWRITE_PANOSE_CHARACTER_RANGES_NO_FIT = 1, + DWRITE_PANOSE_CHARACTER_RANGES_EXTENDED_COLLECTION = 2, + DWRITE_PANOSE_CHARACTER_RANGES_LITERALS = 3, + DWRITE_PANOSE_CHARACTER_RANGES_NO_LOWER_CASE = 4, + DWRITE_PANOSE_CHARACTER_RANGES_SMALL_CAPS = 5 +}; + +/// +/// Kind of symbol set. +/// Present for families: 5-symbol +/// +enum DWRITE_PANOSE_SYMBOL_KIND +{ + DWRITE_PANOSE_SYMBOL_KIND_ANY = 0, + DWRITE_PANOSE_SYMBOL_KIND_NO_FIT = 1, + DWRITE_PANOSE_SYMBOL_KIND_MONTAGES = 2, + DWRITE_PANOSE_SYMBOL_KIND_PICTURES = 3, + DWRITE_PANOSE_SYMBOL_KIND_SHAPES = 4, + DWRITE_PANOSE_SYMBOL_KIND_SCIENTIFIC = 5, + DWRITE_PANOSE_SYMBOL_KIND_MUSIC = 6, + DWRITE_PANOSE_SYMBOL_KIND_EXPERT = 7, + DWRITE_PANOSE_SYMBOL_KIND_PATTERNS = 8, + DWRITE_PANOSE_SYMBOL_KIND_BOARDERS = 9, + DWRITE_PANOSE_SYMBOL_KIND_ICONS = 10, + DWRITE_PANOSE_SYMBOL_KIND_LOGOS = 11, + DWRITE_PANOSE_SYMBOL_KIND_INDUSTRY_SPECIFIC = 12 +}; + +/// +/// Aspect ratio of symbolic characters. +/// Present for families: 5-symbol +/// +enum DWRITE_PANOSE_SYMBOL_ASPECT_RATIO +{ + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_ANY = 0, + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_FIT = 1, + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NO_WIDTH = 2, + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_EXCEPTIONALLY_WIDE = 3, + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_SUPER_WIDE = 4, + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_WIDE = 5, + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_WIDE = 6, + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NORMAL = 7, + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_NARROW = 8, + DWRITE_PANOSE_SYMBOL_ASPECT_RATIO_VERY_NARROW = 9 +}; + +/// +/// Specifies the policy used by GetRecommendedRenderingMode to determine whether to +/// render glyphs in outline mode. Glyphs are rendered in outline mode by default at +/// large sizes for performance reasons, but how large (i.e., the outline threshold) +/// depends on the quality of outline rendering. If the graphics system renders anti- +/// aliased outlines then a relatively low threshold is used, but if the graphics +/// system renders aliased outlines then a much higher threshold is used. +/// +enum DWRITE_OUTLINE_THRESHOLD +{ + DWRITE_OUTLINE_THRESHOLD_ANTIALIASED, + DWRITE_OUTLINE_THRESHOLD_ALIASED +}; + +/// +/// Baseline for text alignment. +/// +enum DWRITE_BASELINE +{ + /// + /// The Roman baseline for horizontal, Central baseline for vertical. + /// + DWRITE_BASELINE_DEFAULT, + + /// + /// The baseline used by alphabetic scripts such as Latin, Greek, Cyrillic. + /// + DWRITE_BASELINE_ROMAN, + + /// + /// Central baseline, generally used for vertical text. + /// + DWRITE_BASELINE_CENTRAL, + + /// + /// Mathematical baseline which math characters are centered on. + /// + DWRITE_BASELINE_MATH, + + /// + /// Hanging baseline, used in scripts like Devanagari. + /// + DWRITE_BASELINE_HANGING, + + /// + /// Ideographic bottom baseline for CJK, left in vertical. + /// + DWRITE_BASELINE_IDEOGRAPHIC_BOTTOM, + + /// + /// Ideographic top baseline for CJK, right in vertical. + /// + DWRITE_BASELINE_IDEOGRAPHIC_TOP, + + /// + /// The bottom-most extent in horizontal, left-most in vertical. + /// + DWRITE_BASELINE_MINIMUM, + + /// + /// The top-most extent in horizontal, right-most in vertical. + /// + DWRITE_BASELINE_MAXIMUM, +}; + +/// +/// The desired kind of glyph orientation for the text. The client specifies +/// this to the analyzer as the desired orientation, but note this is the +/// client preference, and the constraints of the script will determine the +/// final presentation. +/// +enum DWRITE_VERTICAL_GLYPH_ORIENTATION +{ + /// + /// In vertical layout, naturally horizontal scripts (Latin, Thai, Arabic, + /// Devanagari) rotate 90 degrees clockwise, while ideographic scripts + /// (Chinese, Japanese, Korean) remain upright, 0 degrees. + /// + DWRITE_VERTICAL_GLYPH_ORIENTATION_DEFAULT, + + /// + /// Ideographic scripts and scripts that permit stacking + /// (Latin, Hebrew) are stacked in vertical reading layout. + /// Connected scripts (Arabic, Syriac, 'Phags-pa, Ogham), + /// which would otherwise look broken if glyphs were kept + /// at 0 degrees, remain connected and rotate. + /// + DWRITE_VERTICAL_GLYPH_ORIENTATION_STACKED, +}; + +/// +/// How the glyph is oriented to the x-axis. This is an output from the text +/// analyzer, dependent on the desired orientation, bidi level, and character +/// properties. +/// +enum DWRITE_GLYPH_ORIENTATION_ANGLE +{ + /// + /// Glyph orientation is upright. + /// + DWRITE_GLYPH_ORIENTATION_ANGLE_0_DEGREES, + + /// + /// Glyph orientation is rotated 90 clockwise. + /// + DWRITE_GLYPH_ORIENTATION_ANGLE_90_DEGREES, + + /// + /// Glyph orientation is upside-down. + /// + DWRITE_GLYPH_ORIENTATION_ANGLE_180_DEGREES, + + /// + /// Glyph orientation is rotated 270 clockwise. + /// + DWRITE_GLYPH_ORIENTATION_ANGLE_270_DEGREES, +}; + + +struct DWRITE_FONT_METRICS1 : public DWRITE_FONT_METRICS +{ + /// + /// Left edge of accumulated bounding blackbox of all glyphs in the font. + /// + INT16 glyphBoxLeft; + + /// + /// Top edge of accumulated bounding blackbox of all glyphs in the font. + /// + INT16 glyphBoxTop; + + /// + /// Right edge of accumulated bounding blackbox of all glyphs in the font. + /// + INT16 glyphBoxRight; + + /// + /// Bottom edge of accumulated bounding blackbox of all glyphs in the font. + /// + INT16 glyphBoxBottom; + + /// + /// Horizontal position of the subscript relative to the baseline origin. + /// This is typically negative (to the left) in italic/oblique fonts, and + /// zero in regular fonts. + /// + INT16 subscriptPositionX; + + /// + /// Vertical position of the subscript relative to the baseline. + /// This is typically negative. + /// + INT16 subscriptPositionY; + + /// + /// Horizontal size of the subscript em box in design units, used to + /// scale the simulated subscript relative to the full em box size. + /// This the numerator of the scaling ratio where denominator is the + /// design units per em. If this member is zero, the font does not specify + /// a scale factor, and the client should use its own policy. + /// + INT16 subscriptSizeX; + + /// + /// Vertical size of the subscript em box in design units, used to + /// scale the simulated subscript relative to the full em box size. + /// This the numerator of the scaling ratio where denominator is the + /// design units per em. If this member is zero, the font does not specify + /// a scale factor, and the client should use its own policy. + /// + INT16 subscriptSizeY; + + /// + /// Horizontal position of the superscript relative to the baseline origin. + /// This is typically positive (to the right) in italic/oblique fonts, and + /// zero in regular fonts. + /// + INT16 superscriptPositionX; + + /// + /// Vertical position of the superscript relative to the baseline. + /// This is typically positive. + /// + INT16 superscriptPositionY; + + /// + /// Horizontal size of the superscript em box in design units, used to + /// scale the simulated superscript relative to the full em box size. + /// This the numerator of the scaling ratio where denominator is the + /// design units per em. If this member is zero, the font does not specify + /// a scale factor, and the client should use its own policy. + /// + INT16 superscriptSizeX; + + /// + /// Vertical size of the superscript em box in design units, used to + /// scale the simulated superscript relative to the full em box size. + /// This the numerator of the scaling ratio where denominator is the + /// design units per em. If this member is zero, the font does not specify + /// a scale factor, and the client should use its own policy. + /// + INT16 superscriptSizeY; + + /// + /// Indicates that the ascent, descent, and lineGap are based on newer + /// 'typographic' values in the font, rather than legacy values. + /// + BOOL hasTypographicMetrics; +}; + + +/// +/// Metrics for caret placement in a font. +/// +struct DWRITE_CARET_METRICS +{ + /// + /// Vertical rise of the caret. Rise / Run yields the caret angle. + /// Rise = 1 for perfectly upright fonts (non-italic). + /// + INT16 slopeRise; + + /// + /// Horizontal run of th caret. Rise / Run yields the caret angle. + /// Run = 0 for perfectly upright fonts (non-italic). + /// + INT16 slopeRun; + + /// + /// Horizontal offset of the caret along the baseline for good appearance. + /// Offset = 0 for perfectly upright fonts (non-italic). + /// + INT16 offset; +}; + + +/// +/// Typeface classification values, used for font selection and matching. +/// +/// +/// Note the family type (index 0) is the only stable entry in the 10-byte +/// array, as all the following entries can change dynamically depending on +/// context of the first field. +/// +union DWRITE_PANOSE +{ + UINT8 values[10]; + + UINT8 familyKind; // this is the only field that never changes meaning + + struct + { + UINT8 familyKind; // = 2 for text + UINT8 serifStyle; + UINT8 weight; + UINT8 proportion; + UINT8 contrast; + UINT8 strokeVariation; + UINT8 armStyle; + UINT8 letterform; + UINT8 midline; + UINT8 xHeight; + } text; + + struct + { + UINT8 familyKind; // = 3 for script + UINT8 toolKind; + UINT8 weight; + UINT8 spacing; + UINT8 aspectRatio; + UINT8 contrast; + UINT8 scriptTopology; + UINT8 scriptForm; + UINT8 finials; + UINT8 xAscent; + } script; + + struct + { + UINT8 familyKind; // = 4 for decorative + UINT8 decorativeClass; + UINT8 weight; + UINT8 aspect; + UINT8 contrast; + UINT8 serifVariant; + UINT8 fill; // treatment + UINT8 lining; + UINT8 decorativeTopology; + UINT8 characterRange; + } decorative; + + struct + { + UINT8 familyKind; // = 5 for symbol + UINT8 symbolKind; + UINT8 weight; + UINT8 spacing; + UINT8 aspectRatioAndContrast; // hard coded to no-fit (1) + UINT8 aspectRatio94; + UINT8 aspectRatio119; + UINT8 aspectRatio157; + UINT8 aspectRatio163; + UINT8 aspectRatio211; + } symbol; +}; + + +/// +/// Range of Unicode codepoints. +/// +struct DWRITE_UNICODE_RANGE +{ + /// + /// The first codepoint in the Unicode range. + /// + UINT32 first; + + /// + /// The last codepoint in the Unicode range. + /// + UINT32 last; +}; + + +/// +/// Script-specific properties for caret navigation and justification. +/// +struct DWRITE_SCRIPT_PROPERTIES +{ + /// + /// The standardized four character code for the given script. + /// Note these only include the general Unicode scripts, not any + /// additional ISO 15924 scripts for bibliographic distinction + /// (for example, Fraktur Latin vs Gaelic Latin). + /// http://unicode.org/iso15924/iso15924-codes.html + /// + UINT32 isoScriptCode; + + /// + /// The standardized numeric code, ranging 0-999. + /// http://unicode.org/iso15924/iso15924-codes.html + /// + UINT32 isoScriptNumber; + + /// + /// Number of characters to estimate look-ahead for complex scripts. + /// Latin and all Kana are generally 1. Indic scripts are up to 15, + /// and most others are 8. Note that combining marks and variation + /// selectors can produce clusters longer than these look-aheads, + /// so this estimate is considered typical language use. Diacritics + /// must be tested explicitly separately. + /// + UINT32 clusterLookahead; + + /// + /// Appropriate character to elongate the given script for justification. + /// + /// Examples: + /// Arabic - U+0640 Tatweel + /// Ogham - U+1680 Ogham Space Mark + /// + UINT32 justificationCharacter; + + /// + /// Restrict the caret to whole clusters, like Thai and Devanagari. Scripts + /// such as Arabic by default allow navigation between clusters. Others + /// like Thai always navigate across whole clusters. + /// + UINT32 restrictCaretToClusters : 1; + + /// + /// The language uses dividers between words, such as spaces between Latin + /// or the Ethiopic wordspace. + /// + /// Examples: Latin, Greek, Devanagari, Ethiopic + /// Excludes: Chinese, Korean, Thai. + /// + UINT32 usesWordDividers : 1; + + /// + /// The characters are discrete units from each other. This includes both + /// block scripts and clustered scripts. + /// + /// Examples: Latin, Greek, Cyrillic, Hebrew, Chinese, Thai + /// + UINT32 isDiscreteWriting : 1; + + /// + /// The language is a block script, expanding between characters. + /// + /// Examples: Chinese, Japanese, Korean, Bopomofo. + /// + UINT32 isBlockWriting : 1; + + /// + /// The language is justified within glyph clusters, not just between glyph + /// clusters. One such as the character sequence is Thai Lu and Sara Am + /// (U+E026, U+E033) which form a single cluster but still expand between + /// them. + /// + /// Examples: Thai, Lao, Khmer + /// + UINT32 isDistributedWithinCluster : 1; + + /// + /// The script's clusters are connected to each other (such as the + /// baseline-linked Devanagari), and no separation should be added + /// between characters. Note that cursively linked scripts like Arabic + /// are also connected (but not all connected scripts are + /// cursive). + /// + /// Examples: Devanagari, Arabic, Syriac, Bengali, Gurmukhi, Ogham + /// Excludes: Latin, Chinese, Thaana + /// + UINT32 isConnectedWriting : 1; + + /// + /// The script is naturally cursive (Arabic/Syriac), meaning it uses other + /// justification methods like kashida extension rather than intercharacter + /// spacing. Note that although other scripts like Latin and Japanese may + /// actually support handwritten cursive forms, they are not considered + /// cursive scripts. + /// + /// Examples: Arabic, Syriac, Mongolian + /// Excludes: Thaana, Devanagari, Latin, Chinese + /// + UINT32 isCursiveWriting : 1; + + UINT32 reserved : 25; +}; + + +/// +/// Justification information per glyph. +/// +struct DWRITE_JUSTIFICATION_OPPORTUNITY +{ + /// + /// Minimum amount of expansion to apply to the side of the glyph. + /// This may vary from 0 to infinity, typically being zero except + /// for kashida. + /// + FLOAT expansionMinimum; + + /// + /// Maximum amount of expansion to apply to the side of the glyph. + /// This may vary from 0 to infinity, being zero for fixed-size characters + /// and connected scripts, and non-zero for discrete scripts, and non-zero + /// for cursive scripts at expansion points. + /// + FLOAT expansionMaximum; + + /// + /// Maximum amount of compression to apply to the side of the glyph. + /// This may vary from 0 up to the glyph cluster size. + /// + FLOAT compressionMaximum; + + /// + /// Priority of this expansion point. Larger priorities are applied later, + /// while priority zero does nothing. + /// + UINT32 expansionPriority : 8; + + /// + /// Priority of this compression point. Larger priorities are applied later, + /// while priority zero does nothing. + /// + UINT32 compressionPriority : 8; + + /// + /// Allow this expansion point to use up any remaining slack space even + /// after all expansion priorities have been used up. + /// + UINT32 allowResidualExpansion : 1; + + /// + /// Allow this compression point to use up any remaining space even after + /// all compression priorities have been used up. + /// + UINT32 allowResidualCompression : 1; + + /// + /// Apply expansion/compression to the leading edge of the glyph. This will + /// be false for connected scripts, fixed-size characters, and diacritics. + /// It is generally false within a multi-glyph cluster, unless the script + /// allows expansion of glyphs within a cluster, like Thai. + /// + UINT32 applyToLeadingEdge : 1; + + /// + /// Apply expansion/compression to the trailing edge of the glyph. This will + /// be false for connected scripts, fixed-size characters, and diacritics. + /// It is generally false within a multi-glyph cluster, unless the script + /// allows expansion of glyphs within a cluster, like Thai. + /// + UINT32 applyToTrailingEdge : 1; + + UINT32 reserved : 12; +}; + + +interface IDWriteTextAnalysisSource1; +interface IDWriteTextAnalysisSink1; +interface IDWriteRenderingParams1; + +/// +/// The root factory interface for all DWrite objects. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFactory1, "30572f99-dac6-41db-a16e-0486307e606a") : IDWriteFactory +{ + /// + /// Gets a font collection representing the set of end-user defined + /// custom fonts. + /// + /// Receives a pointer to the EUDC font + /// collection object, or NULL in case of failure. + /// If this parameter is nonzero, the + /// function performs an immediate check for changes to the set of + /// EUDC fonts. If this parameter is FALSE, the function will still + /// detect changes, but there may be some latency. For example, an + /// application might specify TRUE if it has itself just modified a + /// font and wants to be sure the font collection contains that font. + /// + /// + /// Standard HRESULT error code. Note that if no EUDC is set on the system, + /// the returned collection will be empty, meaning it will return success + /// but GetFontFamilyCount will be zero. + /// + /// + /// Querying via IDWriteFontCollection::FindFamilyName for a specific + /// family (like MS Gothic) will return the matching family-specific EUDC + /// font if one exists. Querying for "" will return the global EUDC font. + /// For example, if you were matching an EUDC character within a run of + /// the base font PMingLiu, you would retrieve the corresponding EUDC font + /// face using GetEudcFontCollection, then FindFamilyName with "PMingLiu", + /// followed by GetFontFamily and CreateFontFace. + /// + /// Be aware that eudcedit.exe can create placeholder empty glyphs that + /// have zero advance width and no glyph outline. Although they are present + /// in the font (HasCharacter returns true), you are best to ignore + /// these and continue on with font fallback in your layout if the metrics + /// for the glyph are zero. + /// + STDMETHOD(GetEudcFontCollection)( + _COM_Outptr_ IDWriteFontCollection** fontCollection, + BOOL checkForUpdates = FALSE + ) PURE; + + /// + /// Creates a rendering parameters object with the specified properties. + /// + /// The gamma value used for gamma correction, which must be greater than zero and cannot exceed 256. + /// The amount of contrast enhancement, zero or greater. + /// The amount of contrast enhancement to use for grayscale antialiasing, zero or greater. + /// The degree of ClearType level, from 0.0f (no ClearType) to 1.0f (full ClearType). + /// The geometry of a device pixel. + /// Method of rendering glyphs. In most cases, this should be DWRITE_RENDERING_MODE_DEFAULT to automatically use an appropriate mode. + /// Holds the newly created rendering parameters object, or NULL in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateCustomRenderingParams)( + FLOAT gamma, + FLOAT enhancedContrast, + FLOAT enhancedContrastGrayscale, + FLOAT clearTypeLevel, + DWRITE_PIXEL_GEOMETRY pixelGeometry, + DWRITE_RENDERING_MODE renderingMode, + _COM_Outptr_ IDWriteRenderingParams1** renderingParams + ) PURE; + + using IDWriteFactory::CreateCustomRenderingParams; +}; + + +/// +/// The interface that represents an absolute reference to a font face. +/// It contains font face type, appropriate file references and face identification data. +/// Various font data such as metrics, names and glyph outlines is obtained from IDWriteFontFace. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontFace1, "a71efdb4-9fdb-4838-ad90-cfc3be8c3daf") : IDWriteFontFace +{ + /// + /// Gets common metrics for the font in design units. + /// These metrics are applicable to all the glyphs within a font, + /// and are used by applications for layout calculations. + /// + /// Metrics structure to fill in. + STDMETHOD_(void, GetMetrics)( + _Out_ DWRITE_FONT_METRICS1* fontMetrics + ) PURE; + + /// + /// Gets common metrics for the font in design units. + /// These metrics are applicable to all the glyphs within a font, + /// and are used by applications for layout calculations. + /// + /// Logical size of the font in DIP units. A DIP + /// ("device-independent pixel") equals 1/96 inch. + /// Number of physical pixels per DIP. For + /// example, if the DPI of the rendering surface is 96 this value is + /// 1.0f. If the DPI is 120, this value is 120.0f/96. + /// Optional transform applied to the glyphs and + /// their positions. This transform is applied after the scaling + /// specified by the font size and pixelsPerDip. + /// Font metrics structure to fill in. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetGdiCompatibleMetrics)( + FLOAT emSize, + FLOAT pixelsPerDip, + _In_opt_ DWRITE_MATRIX const* transform, + _Out_ DWRITE_FONT_METRICS1* fontMetrics + ) PURE; + + /// + /// Gets caret metrics for the font in design units. These are used by + /// text editors for drawing the correct caret placement/slant. + /// + /// Metrics structure to fill in. + STDMETHOD_(void, GetCaretMetrics)( + _Out_ DWRITE_CARET_METRICS* caretMetrics + ) PURE; + + /// + /// Returns the list of character ranges supported by the font, which is + /// useful for scenarios like character picking, glyph display, and + /// efficient font selection lookup. This is similar to GDI's + /// GetFontUnicodeRanges, except that it returns the full Unicode range, + /// not just 16-bit UCS-2. + /// + /// Maximum number of character ranges passed + /// in from the client. + /// Array of character ranges. + /// Actual number of character ranges, + /// regardless of the maximum count. + /// + /// These ranges are from the cmap, not the OS/2::ulCodePageRange1. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetUnicodeRanges)( + UINT32 maxRangeCount, + _Out_writes_to_opt_(maxRangeCount, *actualRangeCount) DWRITE_UNICODE_RANGE* unicodeRanges, + _Out_ UINT32* actualRangeCount + ) PURE; + + /// + /// Returns true if the font is monospaced, meaning its characters are the + /// same fixed-pitch width (non-proportional). + /// + STDMETHOD_(BOOL, IsMonospacedFont)() PURE; + + /// + /// Returns the advances in design units for a sequences of glyphs. + /// + /// Number of glyphs to retrieve advances for. + /// Array of glyph id's to retrieve advances for. + /// Returned advances in font design units for + /// each glyph. + /// Retrieve the glyph's vertical advance height + /// rather than horizontal advance widths. + /// + /// This is equivalent to calling GetGlyphMetrics and using only the + /// advance width/height. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetDesignGlyphAdvances)( + UINT32 glyphCount, + _In_reads_(glyphCount) UINT16 const* glyphIndices, + _Out_writes_(glyphCount) INT32* glyphAdvances, + BOOL isSideways = FALSE + ) PURE; + + /// + /// Returns the pixel-aligned advances for a sequences of glyphs, the same + /// as GetGdiCompatibleGlyphMetrics would return. + /// + /// Logical size of the font in DIP units. A DIP + /// ("device-independent pixel") equals 1/96 inch. + /// Number of physical pixels per DIP. For + /// example, if the DPI of the rendering surface is 96 this value is + /// 1.0f. If the DPI is 120, this value is 120.0f/96. + /// Optional transform applied to the glyphs and + /// their positions. This transform is applied after the scaling + /// specified by the font size and pixelsPerDip. + /// When FALSE, the metrics are the same as + /// GDI aliased text (DWRITE_MEASURING_MODE_GDI_CLASSIC). When TRUE, + /// the metrics are the same as those measured by GDI using a font + /// using CLEARTYPE_NATURAL_QUALITY (DWRITE_MEASURING_MODE_GDI_NATURAL). + /// Retrieve the glyph's vertical advances rather + /// than horizontal advances. + /// Total glyphs to retrieve adjustments for. + /// Array of glyph id's to retrieve advances. + /// Returned advances in font design units for + /// each glyph. + /// + /// This is equivalent to calling GetGdiCompatibleGlyphMetrics and using only + /// the advance width/height. Like GetGdiCompatibleGlyphMetrics, these are in + /// design units, meaning they must be scaled down by + /// DWRITE_FONT_METRICS::designUnitsPerEm. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetGdiCompatibleGlyphAdvances)( + FLOAT emSize, + FLOAT pixelsPerDip, + _In_opt_ DWRITE_MATRIX const* transform, + BOOL useGdiNatural, + BOOL isSideways, + UINT32 glyphCount, + _In_reads_(glyphCount) UINT16 const* glyphIndices, + _Out_writes_(glyphCount) INT32* glyphAdvances + ) PURE; + + /// + /// Retrieves the kerning pair adjustments from the font's kern table. + /// + /// Number of glyphs to retrieve adjustments for. + /// Array of glyph id's to retrieve adjustments + /// for. + /// Returned advances in font design units for + /// each glyph. The last glyph adjustment is zero. + /// + /// This is not a direct replacement for GDI's character based + /// GetKerningPairs, but it serves the same role, without the client + /// needing to cache them locally. It also uses glyph id's directly + /// rather than UCS-2 characters (how the kern table actually stores + /// them) which avoids glyph collapse and ambiguity, such as the dash + /// and hyphen, or space and non-breaking space. + /// + /// + /// Newer fonts may have only GPOS kerning instead of the legacy pair + /// table kerning. Such fonts, like Gabriola, will only return 0's for + /// adjustments. This function does not virtualize and flatten these + /// GPOS entries into kerning pairs. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetKerningPairAdjustments)( + UINT32 glyphCount, + _In_reads_(glyphCount) UINT16 const* glyphIndices, + _Out_writes_(glyphCount) INT32* glyphAdvanceAdjustments + ) PURE; + + /// + /// Returns whether or not the font supports pair-kerning. + /// + /// + /// If the font does not support pair table kerning, there is no need to + /// call GetKerningPairAdjustments (it would be all zeroes). + /// + /// + /// Whether the font supports kerning pairs. + /// + STDMETHOD_(BOOL, HasKerningPairs)() PURE; + + /// + /// Determines the recommended text rendering mode to be used based on the + /// font, size, world transform, and measuring mode. + /// + /// Logical font size in DIPs. + /// Number of pixels per logical inch in the horizontal direction. + /// Number of pixels per logical inch in the vertical direction. + /// Specifies the world transform. + /// Specifies the quality of the graphics system's outline rendering, + /// affects the size threshold above which outline rendering is used. + /// Specifies the method used to measure during text layout. For proper + /// glyph spacing, the function returns a rendering mode that is compatible with the specified + /// measuring mode. + /// Receives the recommended rendering mode. + /// + /// This method should be used to determine the actual rendering mode in cases where the rendering + /// mode of the rendering params object is DWRITE_RENDERING_MODE_DEFAULT. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetRecommendedRenderingMode)( + FLOAT fontEmSize, + FLOAT dpiX, + FLOAT dpiY, + _In_opt_ DWRITE_MATRIX const* transform, + BOOL isSideways, + DWRITE_OUTLINE_THRESHOLD outlineThreshold, + DWRITE_MEASURING_MODE measuringMode, + _Out_ DWRITE_RENDERING_MODE* renderingMode + ) PURE; + + /// + /// Retrieves the vertical forms of the nominal glyphs retrieved from + /// GetGlyphIndices, using the font's 'vert' table. This is used in + /// CJK vertical layout so the correct characters are shown. + /// + /// Number of glyphs to retrieve. + /// Original glyph indices from cmap. + /// The vertical form of glyph indices. + /// + /// Call GetGlyphIndices to get the nominal glyph indices, followed by + /// calling this to remap the to the substituted forms, when the run + /// is sideways, and the font has vertical glyph variants. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetVerticalGlyphVariants)( + UINT32 glyphCount, + _In_reads_(glyphCount) UINT16 const* nominalGlyphIndices, + _Out_writes_(glyphCount) UINT16* verticalGlyphIndices + ) PURE; + + /// + /// Returns whether or not the font has any vertical glyph variants. + /// + /// + /// For OpenType fonts, this will return true if the font contains a 'vert' + /// feature. + /// + /// + /// True if the font contains vertical glyph variants. + /// + STDMETHOD_(BOOL, HasVerticalGlyphVariants)() PURE; + + using IDWriteFontFace::GetMetrics; + using IDWriteFontFace::GetGdiCompatibleMetrics; + using IDWriteFontFace::GetRecommendedRenderingMode; +}; + + +/// +/// The IDWriteFont interface represents a physical font in a font collection. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFont1, "acd16696-8c14-4f5d-877e-fe3fc1d32738") : IDWriteFont +{ + /// + /// Gets common metrics for the font in design units. + /// These metrics are applicable to all the glyphs within a font, + /// and are used by applications for layout calculations. + /// + /// Metrics structure to fill in. + STDMETHOD_(void, GetMetrics)( + _Out_ DWRITE_FONT_METRICS1* fontMetrics + ) PURE; + + using IDWriteFont::GetMetrics; + + /// + /// Gets the PANOSE values from the font, used for font selection and + /// matching. + /// + /// PANOSE structure to fill in. + /// + /// The function does not simulate these, such as substituting a weight or + /// proportion inferred on other values. If the font does not specify them, + /// they are all set to 'any' (0). + /// + STDMETHOD_(void, GetPanose)( + _Out_ DWRITE_PANOSE* panose + ) PURE; + + /// + /// Returns the list of character ranges supported by the font, which is + /// useful for scenarios like character picking, glyph display, and + /// efficient font selection lookup. This is similar to GDI's + /// GetFontUnicodeRanges, except that it returns the full Unicode range, + /// not just 16-bit UCS-2. + /// + /// Maximum number of character ranges passed + /// in from the client. + /// Array of character ranges. + /// Actual number of character ranges, + /// regardless of the maximum count. + /// + /// These ranges are from the cmap, not the OS/2::ulCodePageRange1. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetUnicodeRanges)( + UINT32 maxRangeCount, + _Out_writes_to_opt_(maxRangeCount, *actualRangeCount) DWRITE_UNICODE_RANGE* unicodeRanges, + _Out_ UINT32* actualRangeCount + ) PURE; + + /// + /// Returns true if the font is monospaced, meaning its characters are the + /// same fixed-pitch width (non-proportional). + /// + STDMETHOD_(BOOL, IsMonospacedFont)() PURE; +}; + +/// +/// The interface that represents text rendering settings for glyph rasterization and filtering. +/// +DWRITE_BEGIN_INTERFACE(IDWriteRenderingParams1, "94413cf4-a6fc-4248-8b50-6674348fcad3") : IDWriteRenderingParams +{ + /// + /// Gets the amount of contrast enhancement to use for grayscale antialiasing. + /// Valid values are greater than or equal to zero. + /// + STDMETHOD_(FLOAT, GetGrayscaleEnhancedContrast)() PURE; +}; + +/// +/// Analyzes various text properties for complex script processing. +/// +DWRITE_BEGIN_INTERFACE(IDWriteTextAnalyzer1, "80DAD800-E21F-4E83-96CE-BFCCE500DB7C") : IDWriteTextAnalyzer +{ + /// + /// Applies spacing between characters, properly adjusting glyph clusters + /// and diacritics. + /// + /// The spacing before each character, in reading order. + /// The spacing after each character, in reading order. + /// The minimum advance of each character, + /// to prevent characters from becoming too thin or zero-width. This + /// must be zero or greater. + /// The length of the clustermap and original text. + /// The number of glyphs. + /// Mapping from character ranges to glyph ranges. + /// The advance width of each glyph. + /// The offset of the origin of each glyph. + /// Properties of each glyph, from GetGlyphs. + /// The new advance width of each glyph. + /// The new offset of the origin of each glyph. + /// + /// The input and output advances/offsets are allowed to alias the same array. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(ApplyCharacterSpacing)( + FLOAT leadingSpacing, + FLOAT trailingSpacing, + FLOAT minimumAdvanceWidth, + UINT32 textLength, + UINT32 glyphCount, + _In_reads_(textLength) UINT16 const* clusterMap, + _In_reads_(glyphCount) FLOAT const* glyphAdvances, + _In_reads_(glyphCount) DWRITE_GLYPH_OFFSET const* glyphOffsets, + _In_reads_(glyphCount) DWRITE_SHAPING_GLYPH_PROPERTIES const* glyphProperties, + _Out_writes_(glyphCount) FLOAT* modifiedGlyphAdvances, + _Out_writes_(glyphCount) DWRITE_GLYPH_OFFSET* modifiedGlyphOffsets + ) PURE; + + /// + /// Retrieves the given baseline from the font. + /// + /// The font face to read. + /// The baseline of interest. + /// Whether the baseline is vertical or horizontal. + /// Simulate the baseline if it is missing in the font. + /// Script analysis result from AnalyzeScript. + /// The language of the run. + /// The baseline coordinate value in design units. + /// Whether the returned baseline exists in the font. + /// + /// If the baseline does not exist in the font, it is not considered an + /// error, but the function will return exists = false. You may then use + /// heuristics to calculate the missing base, or, if the flag + /// simulationAllowed is true, the function will compute a reasonable + /// approximation for you. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetBaseline)( + _In_ IDWriteFontFace* fontFace, + DWRITE_BASELINE baseline, + BOOL isVertical, + BOOL isSimulationAllowed, + DWRITE_SCRIPT_ANALYSIS scriptAnalysis, + _In_opt_z_ WCHAR const* localeName, + _Out_ INT32* baselineCoordinate, + _Out_ BOOL* exists + ) PURE; + + /// + /// Analyzes a text range for script orientation, reading text and + /// attributes from the source and reporting results to the sink. + /// + /// Source object to analyze. + /// Starting position within the source object. + /// Length to analyze. + /// Callback object. + /// + /// Standard HRESULT error code. + /// + /// + /// All bidi analysis should be resolved before calling this. + /// + STDMETHOD(AnalyzeVerticalGlyphOrientation)( + _In_ IDWriteTextAnalysisSource1* analysisSource, + UINT32 textPosition, + UINT32 textLength, + _In_ IDWriteTextAnalysisSink1* analysisSink + ) PURE; + + /// + /// Returns 2x3 transform matrix for the respective angle to draw the + /// glyph run. + /// + /// The angle reported into + /// SetGlyphOrientation. + /// Whether the run's glyphs are sideways or not. + /// Returned transform. + /// + /// + /// Standard HRESULT error code. + /// + /// + /// The returned displacement is zero. + /// + STDMETHOD(GetGlyphOrientationTransform)( + DWRITE_GLYPH_ORIENTATION_ANGLE glyphOrientationAngle, + BOOL isSideways, + _Out_ DWRITE_MATRIX* transform + ) PURE; + + /// + /// Returns the properties for a given script. + /// + /// The script for a run of text returned + /// from IDWriteTextAnalyzer::AnalyzeScript. + /// Information for the script. + /// + /// Returns properties for the given script. If the script is invalid, + /// it returns generic properties for the unknown script and E_INVALIDARG. + /// + STDMETHOD(GetScriptProperties)( + DWRITE_SCRIPT_ANALYSIS scriptAnalysis, + _Out_ DWRITE_SCRIPT_PROPERTIES* scriptProperties + ) PURE; + + /// + /// Determines the complexity of text, and whether or not full script + /// shaping needs to be called (GetGlyphs). + /// + /// The font face to read. + /// Length of the text to check. + /// The text to check for complexity. This string + /// may be UTF-16, but any supplementary characters will be considered + /// complex. + /// If true, the text is simple, and the + /// glyphIndices array will already have the nominal glyphs for you. + /// Otherwise you need to call GetGlyphs to properly shape complex + /// scripts and OpenType features. + /// + /// The length read of the text run with the + /// same complexity, simple or complex. You may call again from that + /// point onward. + /// Optional glyph indices for the text. If the + /// function returned that the text was simple, you already have the + /// glyphs you need. Otherwise the glyph indices are not meaningful, + /// and you should call shaping instead. + /// + /// Text is not simple if the characters are part of a script that has + /// complex shaping requirements, require bidi analysis, combine with + /// other characters, reside in the supplementary planes, or have glyphs + /// which participate in standard OpenType features. The length returned + /// will not split combining marks from their base characters. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetTextComplexity)( + _In_reads_(textLength) WCHAR const* textString, + UINT32 textLength, + _In_ IDWriteFontFace* fontFace, + _Out_ BOOL* isTextSimple, + _Out_range_(0, textLength) UINT32* textLengthRead, + _Out_writes_to_opt_(textLength, *textLengthRead) UINT16* glyphIndices + ) PURE; + + /// + /// Retrieves justification opportunity information for each of the glyphs + /// given the text and shaping glyph properties. + /// + /// Font face that was used for shaping. This is + /// mainly important for returning correct results of the kashida + /// width. + /// Font em size used for the glyph run. + /// Script of the text from the itemizer. + /// Length of the text. + /// Number of glyphs. + /// Characters used to produce the glyphs. + /// Clustermap produced from shaping. + /// Glyph properties produced from shaping. + /// Receives information for the + /// allowed justification expansion/compression for each glyph. + /// + /// This function is called per-run, after shaping is done via GetGlyphs(). + /// Note this function only supports natural metrics (DWRITE_MEASURING_MODE_NATURAL). + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetJustificationOpportunities)( + _In_opt_ IDWriteFontFace* fontFace, + FLOAT fontEmSize, + DWRITE_SCRIPT_ANALYSIS scriptAnalysis, + UINT32 textLength, + UINT32 glyphCount, + _In_reads_(textLength) WCHAR const* textString, + _In_reads_(textLength) UINT16 const* clusterMap, + _In_reads_(glyphCount) DWRITE_SHAPING_GLYPH_PROPERTIES const* glyphProperties, + _Out_writes_(glyphCount) DWRITE_JUSTIFICATION_OPPORTUNITY* justificationOpportunities + ) PURE; + + /// + /// Justifies an array of glyph advances to fit the line width. + /// + /// Width of the line. + /// Number of glyphs. + /// Opportunities per glyph. Call + /// GetJustificationOpportunities() to get suitable opportunities + /// according to script. + /// Original glyph advances from shaping. + /// Original glyph offsets from shaping. + /// Justified glyph advances. + /// Justified glyph offsets. + /// + /// This is called after all the opportunities have been collected, and it + /// spans across the entire line. The input and output arrays are allowed + /// to alias each other, permitting in-place update. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(JustifyGlyphAdvances)( + FLOAT lineWidth, + UINT32 glyphCount, + _In_reads_(glyphCount) DWRITE_JUSTIFICATION_OPPORTUNITY const* justificationOpportunities, + _In_reads_(glyphCount) FLOAT const* glyphAdvances, + _In_reads_(glyphCount) DWRITE_GLYPH_OFFSET const* glyphOffsets, + _Out_writes_(glyphCount) FLOAT* justifiedGlyphAdvances, + _Out_writes_(glyphCount) DWRITE_GLYPH_OFFSET* justifiedGlyphOffsets + ) PURE; + + /// + /// Fills in new glyphs for complex scripts where justification increased + /// the advances of glyphs, such as Arabic with kashida. + /// + /// Font face used for shaping. + /// Font em size used for the glyph run. + /// Script of the text from the itemizer. + /// Length of the text. + /// Number of glyphs. + /// Maximum number of output glyphs allocated + /// by caller. + /// Clustermap produced from shaping. + /// Original glyphs produced from shaping. + /// Original glyph advances produced from shaping. + /// Justified glyph advances from + /// JustifyGlyphAdvances(). + /// Justified glyph offsets from + /// JustifyGlyphAdvances(). + /// Properties of each glyph, from GetGlyphs. + /// The new glyph count written to the + /// modified arrays, or the needed glyph count if the size is not + /// large enough. + /// Updated clustermap. + /// Updated glyphs with new glyphs + /// inserted where needed. + /// Updated glyph advances. + /// Updated glyph offsets. + /// + /// This is called after the line has been justified, and it is per-run. + /// It only needs to be called if the script has a specific justification + /// character via GetScriptProperties, and it is mainly for cursive scripts + /// like Arabic. If maxGlyphCount is not large enough, the error + /// E_NOT_SUFFICIENT_BUFFER will be returned, with actualGlyphCount holding + /// the final/needed glyph count. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetJustifiedGlyphs)( + _In_opt_ IDWriteFontFace* fontFace, + FLOAT fontEmSize, + DWRITE_SCRIPT_ANALYSIS scriptAnalysis, + UINT32 textLength, + UINT32 glyphCount, + UINT32 maxGlyphCount, + _In_reads_(textLength) UINT16 const* clusterMap, + _In_reads_(glyphCount) UINT16 const* glyphIndices, + _In_reads_(glyphCount) FLOAT const* glyphAdvances, + _In_reads_(glyphCount) FLOAT const* justifiedGlyphAdvances, + _In_reads_(glyphCount) DWRITE_GLYPH_OFFSET const* justifiedGlyphOffsets, + _In_reads_(glyphCount) DWRITE_SHAPING_GLYPH_PROPERTIES const* glyphProperties, + _Out_range_(glyphCount, maxGlyphCount) UINT32* actualGlyphCount, + _Out_writes_(textLength) UINT16* modifiedClusterMap, + _Out_writes_to_(maxGlyphCount, *actualGlyphCount) UINT16* modifiedGlyphIndices, + _Out_writes_to_(maxGlyphCount, *actualGlyphCount) FLOAT* modifiedGlyphAdvances, + _Out_writes_to_(maxGlyphCount, *actualGlyphCount) DWRITE_GLYPH_OFFSET* modifiedGlyphOffsets + ) PURE; +}; + + +/// +/// The interface implemented by the client to provide needed information to +/// the text analyzer, such as the text and associated text properties. +/// If any of these callbacks returns an error, the analysis functions will +/// stop prematurely and return a callback error. +/// +DWRITE_BEGIN_INTERFACE(IDWriteTextAnalysisSource1, "639CFAD8-0FB4-4B21-A58A-067920120009") : IDWriteTextAnalysisSource +{ + /// + /// The text analyzer calls back to this to get the desired glyph + /// orientation and resolved bidi level, which it uses along with the + /// script properties of the text to determine the actual orientation of + /// each character, which it reports back to the client via the sink + /// SetGlyphOrientation method. + /// + /// First position of the piece to obtain. All + /// positions are in UTF-16 code-units, not whole characters, which + /// matters when supplementary characters are used. + /// Number of UTF-16 units of the retrieved chunk. + /// The returned length is not the length of the block, but the length + /// remaining in the block, from the given position until its end. + /// So querying for a position that is 75 positions into a 100 + /// postition block would return 25. + /// The type of glyph orientation the + /// client wants for this range, up to the returned text length. + /// The bidi level for this range up to + /// the returned text length, which comes from an earlier + /// bidirectional analysis. + /// + /// Standard HRESULT error code. Returning an error will abort the + /// analysis. + /// + STDMETHOD(GetVerticalGlyphOrientation)( + UINT32 textPosition, + _Out_ UINT32* textLength, + _Out_ DWRITE_VERTICAL_GLYPH_ORIENTATION* glyphOrientation, + _Out_ UINT8* bidiLevel + ) PURE; +}; + + +/// +/// The interface implemented by the client to receive the +/// output of the text analyzers. +/// +DWRITE_BEGIN_INTERFACE(IDWriteTextAnalysisSink1, "B0D941A0-85E7-4D8B-9FD3-5CED9934482A") : IDWriteTextAnalysisSink +{ + /// + /// The text analyzer calls back to this to report the actual orientation + /// of each character for shaping and drawing. + /// + /// Starting position to report from. + /// Number of UTF-16 units of the reported range. + /// Angle of the glyphs within the text + /// range (pass to GetGlyphOrientationTransform to get the world + /// relative transform). + /// The adjusted bidi level to be used by + /// the client layout for reordering runs. This will differ from the + /// resolved bidi level retrieved from the source for cases such as + /// Arabic stacked top-to-bottom, where the glyphs are still shaped + /// as RTL, but the runs are TTB along with any CJK or Latin. + /// Whether the glyphs are rotated on their side, + /// which is the default case for CJK and the case stacked Latin + /// Whether the script should be shaped as + /// right-to-left. For Arabic stacked top-to-bottom, even when the + /// adjusted bidi level is coerced to an even level, this will still + /// be true. + /// + /// A successful code or error code to abort analysis. + /// + STDMETHOD(SetGlyphOrientation)( + UINT32 textPosition, + UINT32 textLength, + DWRITE_GLYPH_ORIENTATION_ANGLE glyphOrientationAngle, + UINT8 adjustedBidiLevel, + BOOL isSideways, + BOOL isRightToLeft + ) PURE; +}; + + +/// +/// The IDWriteTextLayout1 interface represents a block of text after it has +/// been fully analyzed and formatted. +/// +/// All coordinates are in device independent pixels (DIPs). +/// +DWRITE_BEGIN_INTERFACE(IDWriteTextLayout1, "9064D822-80A7-465C-A986-DF65F78B8FEB") : IDWriteTextLayout +{ + /// + /// Enables/disables pair-kerning on the given range. + /// + /// The Boolean flag indicates whether text is pair-kerned. + /// Text range to which this change applies. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetPairKerning)( + BOOL isPairKerningEnabled, + DWRITE_TEXT_RANGE textRange + ) PURE; + + /// + /// Get whether or not pair-kerning is enabled at given position. + /// + /// The current text position. + /// The Boolean flag indicates whether text is pair-kerned. + /// The position range of the current format. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetPairKerning)( + UINT32 currentPosition, + _Out_ BOOL* isPairKerningEnabled, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; + + /// + /// Sets the spacing between characters. + /// + /// The spacing before each character, in reading order. + /// The spacing after each character, in reading order. + /// The minimum advance of each character, + /// to prevent characters from becoming too thin or zero-width. This + /// must be zero or greater. + /// Text range to which this change applies. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetCharacterSpacing)( + FLOAT leadingSpacing, + FLOAT trailingSpacing, + FLOAT minimumAdvanceWidth, + DWRITE_TEXT_RANGE textRange + ) PURE; + + /// + /// Gets the spacing between characters. + /// + /// The current text position. + /// The spacing before each character, in reading order. + /// The spacing after each character, in reading order. + /// The minimum advance of each character, + /// to prevent characters from becoming too thin or zero-width. This + /// must be zero or greater. + /// The position range of the current format. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetCharacterSpacing)( + UINT32 currentPosition, + _Out_ FLOAT* leadingSpacing, + _Out_ FLOAT* trailingSpacing, + _Out_ FLOAT* minimumAdvanceWidth, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL + ) PURE; +}; + +/// +/// Represents the type of antialiasing to use for text when the rendering mode calls for +/// antialiasing. +/// +enum DWRITE_TEXT_ANTIALIAS_MODE +{ + /// + /// ClearType antialiasing computes coverage independently for the red, green, and blue + /// color elements of each pixel. This allows for more detail than conventional antialiasing. + /// However, because there is no one alpha value for each pixel, ClearType is not suitable + /// rendering text onto a transparent intermediate bitmap. + /// + DWRITE_TEXT_ANTIALIAS_MODE_CLEARTYPE, + + /// + /// Grayscale antialiasing computes one coverage value for each pixel. Because the alpha + /// value of each pixel is well-defined, text can be rendered onto a transparent bitmap, + /// which can then be composited with other content. Note that grayscale rendering with + /// IDWriteBitmapRenderTarget1 uses premultiplied alpha. + /// + DWRITE_TEXT_ANTIALIAS_MODE_GRAYSCALE +}; + +/// +/// Encapsulates a 32-bit device independent bitmap and device context, which can be used for rendering glyphs. +/// +DWRITE_BEGIN_INTERFACE(IDWriteBitmapRenderTarget1, "791e8298-3ef3-4230-9880-c9bdecc42064") : IDWriteBitmapRenderTarget +{ + /// + /// Gets the current text antialiasing mode of the bitmap render target. + /// + /// + /// Returns the antialiasing mode. + /// + STDMETHOD_(DWRITE_TEXT_ANTIALIAS_MODE, GetTextAntialiasMode)() PURE; + + /// + /// Sets the current text antialiasing mode of the bitmap render target. + /// + /// + /// Returns S_OK if successful, or E_INVALIDARG if the argument is not valid. + /// + /// + /// The antialiasing mode of a newly-created bitmap render target defaults to + /// DWRITE_TEXT_ANTIALIAS_MODE_CLEARTYPE. An application can change the antialiasing + /// mode by calling SetTextAntialiasMode. For example, an application might specify + /// grayscale antialiasing when rendering text onto a transparent bitmap. + /// + STDMETHOD(SetTextAntialiasMode)( + DWRITE_TEXT_ANTIALIAS_MODE antialiasMode + ) PURE; +}; + +#endif /* DWRITE_1_H_INCLUDED */ diff --git a/vendor/include/dwrite_2.h b/vendor/include/dwrite_2.h new file mode 100644 index 0000000..48ca431 --- /dev/null +++ b/vendor/include/dwrite_2.h @@ -0,0 +1,980 @@ +//+-------------------------------------------------------------------------- +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +// Abstract: +// DirectX Typography Services public API definitions. +// +//---------------------------------------------------------------------------- + +#ifndef DWRITE_2_H_INCLUDED +#define DWRITE_2_H_INCLUDED + +#pragma once + +#include "dwrite_1.h" + + +interface IDWriteFontFallback; + + +/// +/// How to align glyphs to the margin. +/// +enum DWRITE_OPTICAL_ALIGNMENT +{ + /// + /// Align to the default metrics of the glyph. + /// + DWRITE_OPTICAL_ALIGNMENT_NONE, + + /// + /// Align glyphs to the margins. Without this, some small whitespace + /// may be present between the text and the margin from the glyph's side + /// bearing values. Note that glyphs may still overhang outside the + /// margin, such as flourishes or italic slants. + /// + DWRITE_OPTICAL_ALIGNMENT_NO_SIDE_BEARINGS, +}; + + +/// +/// Whether to enable grid-fitting of glyph outlines (a.k.a. hinting). +/// +enum DWRITE_GRID_FIT_MODE +{ + /// + /// Choose grid fitting base on the font's gasp table information. + /// + DWRITE_GRID_FIT_MODE_DEFAULT, + + /// + /// Always disable grid fitting, using the ideal glyph outlines. + /// + DWRITE_GRID_FIT_MODE_DISABLED, + + /// + /// Enable grid fitting, adjusting glyph outlines for device pixel display. + /// + DWRITE_GRID_FIT_MODE_ENABLED +}; + + +/// +/// Overall metrics associated with text after layout. +/// All coordinates are in device independent pixels (DIPs). +/// +struct DWRITE_TEXT_METRICS1 : DWRITE_TEXT_METRICS +{ + /// + /// The height of the formatted text taking into account the + /// trailing whitespace at the end of each line, which will + /// matter for vertical reading directions. + /// + FLOAT heightIncludingTrailingWhitespace; +}; + + +/// +/// The text renderer interface represents a set of application-defined +/// callbacks that perform rendering of text, inline objects, and decorations +/// such as underlines. +/// +DWRITE_BEGIN_INTERFACE(IDWriteTextRenderer1, "D3E0E934-22A0-427E-AAE4-7D9574B59DB1") : IDWriteTextRenderer +{ + /// + /// IDWriteTextLayout::Draw calls this function to instruct the client to + /// render a run of glyphs. + /// + /// The context passed to + /// IDWriteTextLayout::Draw. + /// X-coordinate of the baseline. + /// Y-coordinate of the baseline. + /// Orientation of the glyph run. + /// Specifies measuring method for glyphs in + /// the run. Renderer implementations may choose different rendering + /// modes for given measuring methods, but best results are seen when + /// the rendering mode matches the corresponding measuring mode: + /// DWRITE_RENDERING_MODE_CLEARTYPE_NATURAL for DWRITE_MEASURING_MODE_NATURAL + /// DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC for DWRITE_MEASURING_MODE_GDI_CLASSIC + /// DWRITE_RENDERING_MODE_CLEARTYPE_GDI_NATURAL for DWRITE_MEASURING_MODE_GDI_NATURAL + /// + /// The glyph run to draw. + /// Properties of the characters + /// associated with this run. + /// The drawing effect set in + /// IDWriteTextLayout::SetDrawingEffect. + /// + /// Standard HRESULT error code. + /// + /// + /// If a non-identity orientation is passed, the glyph run should be + /// rotated around the given baseline x and y coordinates. The function + /// IDWriteAnalyzer2::GetGlyphOrientationTransform will return the + /// necessary transform for you, which can be combined with any existing + /// world transform on the drawing context. + /// + STDMETHOD(DrawGlyphRun)( + _In_opt_ void* clientDrawingContext, + FLOAT baselineOriginX, + FLOAT baselineOriginY, + DWRITE_GLYPH_ORIENTATION_ANGLE orientationAngle, + DWRITE_MEASURING_MODE measuringMode, + _In_ DWRITE_GLYPH_RUN const* glyphRun, + _In_ DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription, + _In_opt_ IUnknown* clientDrawingEffect + ) PURE; + + /// + /// IDWriteTextLayout::Draw calls this function to instruct the client to draw + /// an underline. + /// + /// The context passed to + /// IDWriteTextLayout::Draw. + /// X-coordinate of the baseline. + /// Y-coordinate of the baseline. + /// Orientation of the underline. + /// Underline logical information. + /// The drawing effect set in + /// IDWriteTextLayout::SetDrawingEffect. + /// + /// Standard HRESULT error code. + /// + /// + /// A single underline can be broken into multiple calls, depending on + /// how the formatting changes attributes. If font sizes/styles change + /// within an underline, the thickness and offset will be averaged + /// weighted according to characters. + /// + /// To get the correct top coordinate of the underline rect, add + /// underline::offset to the baseline's Y. Otherwise the underline will + /// be immediately under the text. The x coordinate will always be passed + /// as the left side, regardless of text directionality. This simplifies + /// drawing and reduces the problem of round-off that could potentially + /// cause gaps or a double stamped alpha blend. To avoid alpha overlap, + /// round the end points to the nearest device pixel. + /// + STDMETHOD(DrawUnderline)( + _In_opt_ void* clientDrawingContext, + FLOAT baselineOriginX, + FLOAT baselineOriginY, + DWRITE_GLYPH_ORIENTATION_ANGLE orientationAngle, + _In_ DWRITE_UNDERLINE const* underline, + _In_opt_ IUnknown* clientDrawingEffect + ) PURE; + + /// + /// IDWriteTextLayout::Draw calls this function to instruct the client to draw + /// a strikethrough. + /// + /// The context passed to + /// IDWriteTextLayout::Draw. + /// X-coordinate of the baseline. + /// Y-coordinate of the baseline. + /// Orientation of the strikethrough. + /// Strikethrough logical information. + /// The drawing effect set in + /// IDWriteTextLayout::SetDrawingEffect. + /// + /// Standard HRESULT error code. + /// + /// + /// A single strikethrough can be broken into multiple calls, depending on + /// how the formatting changes attributes. Strikethrough is not averaged + /// across font sizes/styles changes. + /// To get the correct top coordinate of the strikethrough rect, + /// add strikethrough::offset to the baseline's Y. + /// Like underlines, the x coordinate will always be passed as the left side, + /// regardless of text directionality. + /// + STDMETHOD(DrawStrikethrough)( + _In_opt_ void* clientDrawingContext, + FLOAT baselineOriginX, + FLOAT baselineOriginY, + DWRITE_GLYPH_ORIENTATION_ANGLE orientationAngle, + _In_ DWRITE_STRIKETHROUGH const* strikethrough, + _In_opt_ IUnknown* clientDrawingEffect + ) PURE; + + /// + /// IDWriteTextLayout::Draw calls this application callback when it needs to + /// draw an inline object. + /// + /// The context passed to + /// IDWriteTextLayout::Draw. + /// X-coordinate at the top-left corner of the + /// inline object. + /// Y-coordinate at the top-left corner of the + /// inline object. + /// Orientation of the inline object. + /// The object set using IDWriteTextLayout::SetInlineObject. + /// The object should be drawn on its side. + /// The object is in an right-to-left context + /// and should be drawn flipped. + /// The drawing effect set in + /// IDWriteTextLayout::SetDrawingEffect. + /// + /// Standard HRESULT error code. + /// + /// + /// The right-to-left flag is a hint to draw the appropriate visual for + /// that reading direction. For example, it would look strange to draw an + /// arrow pointing to the right to indicate a submenu. The sideways flag + /// similarly hints that the object is drawn in a different orientation. + /// If a non-identity orientation is passed, the top left of the inline + /// object should be rotated around the given x and y coordinates. + /// IDWriteAnalyzer2::GetGlyphOrientationTransform returns the necessary + /// transform for this. + /// + STDMETHOD(DrawInlineObject)( + _In_opt_ void* clientDrawingContext, + FLOAT originX, + FLOAT originY, + DWRITE_GLYPH_ORIENTATION_ANGLE orientationAngle, + _In_ IDWriteInlineObject* inlineObject, + BOOL isSideways, + BOOL isRightToLeft, + _In_opt_ IUnknown* clientDrawingEffect + ) PURE; + + using IDWriteTextRenderer::DrawGlyphRun; + using IDWriteTextRenderer::DrawUnderline; + using IDWriteTextRenderer::DrawStrikethrough; + using IDWriteTextRenderer::DrawInlineObject; +}; + + +/// +/// The format of text used for text layout. +/// +/// +/// This object may not be thread-safe and it may carry the state of text format change. +/// +DWRITE_BEGIN_INTERFACE(IDWriteTextFormat1, "5F174B49-0D8B-4CFB-8BCA-F1CCE9D06C67") : IDWriteTextFormat +{ + /// + /// Set the preferred orientation of glyphs when using a vertical reading direction. + /// + /// Preferred glyph orientation. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetVerticalGlyphOrientation)( + DWRITE_VERTICAL_GLYPH_ORIENTATION glyphOrientation + ) PURE; + + /// + /// Get the preferred orientation of glyphs when using a vertical reading + /// direction. + /// + STDMETHOD_(DWRITE_VERTICAL_GLYPH_ORIENTATION, GetVerticalGlyphOrientation)() PURE; + + /// + /// Set whether or not the last word on the last line is wrapped. + /// + /// Line wrapping option. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetLastLineWrapping)( + BOOL isLastLineWrappingEnabled + ) PURE; + + /// + /// Get whether or not the last word on the last line is wrapped. + /// + STDMETHOD_(BOOL, GetLastLineWrapping)() PURE; + + /// + /// Set how the glyphs align to the edges the margin. Default behavior is + /// to align glyphs using their default glyphs metrics which include side + /// bearings. + /// + /// Optical alignment option. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetOpticalAlignment)( + DWRITE_OPTICAL_ALIGNMENT opticalAlignment + ) PURE; + + /// + /// Get how the glyphs align to the edges the margin. + /// + STDMETHOD_(DWRITE_OPTICAL_ALIGNMENT, GetOpticalAlignment)() PURE; + + /// + /// Apply a custom font fallback onto layout. If none is specified, + /// layout uses the system fallback list. + /// + /// Custom font fallback created from + /// IDWriteFontFallbackBuilder::CreateFontFallback or from + /// IDWriteFactory2::GetSystemFontFallback. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetFontFallback)( + IDWriteFontFallback* fontFallback + ) PURE; + + /// + /// Get the current font fallback object. + /// + STDMETHOD(GetFontFallback)( + _COM_Outptr_ IDWriteFontFallback** fontFallback + ) PURE; +}; + + +/// +/// The text layout interface represents a block of text after it has +/// been fully analyzed and formatted. +/// +/// All coordinates are in device independent pixels (DIPs). +/// +DWRITE_BEGIN_INTERFACE(IDWriteTextLayout2, "1093C18F-8D5E-43F0-B064-0917311B525E") : IDWriteTextLayout1 +{ + /// + /// GetMetrics retrieves overall metrics for the formatted string. + /// + /// The returned metrics. + /// + /// Standard HRESULT error code. + /// + /// + /// Drawing effects like underline and strikethrough do not contribute + /// to the text size, which is essentially the sum of advance widths and + /// line heights. Additionally, visible swashes and other graphic + /// adornments may extend outside the returned width and height. + /// + STDMETHOD(GetMetrics)( + _Out_ DWRITE_TEXT_METRICS1* textMetrics + ) PURE; + + using IDWriteTextLayout::GetMetrics; + + /// + /// Set the preferred orientation of glyphs when using a vertical reading direction. + /// + /// Preferred glyph orientation. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetVerticalGlyphOrientation)( + DWRITE_VERTICAL_GLYPH_ORIENTATION glyphOrientation + ) PURE; + + /// + /// Get the preferred orientation of glyphs when using a vertical reading + /// direction. + /// + STDMETHOD_(DWRITE_VERTICAL_GLYPH_ORIENTATION, GetVerticalGlyphOrientation)() PURE; + + /// + /// Set whether or not the last word on the last line is wrapped. + /// + /// Line wrapping option. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetLastLineWrapping)( + BOOL isLastLineWrappingEnabled + ) PURE; + + /// + /// Get whether or not the last word on the last line is wrapped. + /// + STDMETHOD_(BOOL, GetLastLineWrapping)() PURE; + + /// + /// Set how the glyphs align to the edges the margin. Default behavior is + /// to align glyphs using their default glyphs metrics which include side + /// bearings. + /// + /// Optical alignment option. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetOpticalAlignment)( + DWRITE_OPTICAL_ALIGNMENT opticalAlignment + ) PURE; + + /// + /// Get how the glyphs align to the edges the margin. + /// + STDMETHOD_(DWRITE_OPTICAL_ALIGNMENT, GetOpticalAlignment)() PURE; + + /// + /// Apply a custom font fallback onto layout. If none is specified, + /// layout uses the system fallback list. + /// + /// Custom font fallback created from + /// IDWriteFontFallbackBuilder::CreateFontFallback or + /// IDWriteFactory2::GetSystemFontFallback. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetFontFallback)( + IDWriteFontFallback* fontFallback + ) PURE; + + /// + /// Get the current font fallback object. + /// + STDMETHOD(GetFontFallback)( + _COM_Outptr_ IDWriteFontFallback** fontFallback + ) PURE; +}; + + +/// +/// The text analyzer interface represents a set of application-defined +/// callbacks that perform rendering of text, inline objects, and decorations +/// such as underlines. +/// +DWRITE_BEGIN_INTERFACE(IDWriteTextAnalyzer2, "553A9FF3-5693-4DF7-B52B-74806F7F2EB9") : IDWriteTextAnalyzer1 +{ + /// + /// Returns 2x3 transform matrix for the respective angle to draw the + /// glyph run or other object. + /// + /// The angle reported to one of the application callbacks, + /// including IDWriteTextAnalysisSink1::SetGlyphOrientation and IDWriteTextRenderer1::Draw*. + /// Whether the run's glyphs are sideways or not. + /// X origin of the element, be it a glyph run or underline or other. + /// Y origin of the element, be it a glyph run or underline or other. + /// Returned transform. + /// + /// Standard HRESULT error code. + /// + /// + /// This rotates around the given origin x and y, returning a translation component + /// such that the glyph run, text decoration, or inline object is drawn with the + /// right orientation at the expected coordinate. + /// + STDMETHOD(GetGlyphOrientationTransform)( + DWRITE_GLYPH_ORIENTATION_ANGLE glyphOrientationAngle, + BOOL isSideways, + FLOAT originX, + FLOAT originY, + _Out_ DWRITE_MATRIX* transform + ) PURE; + + /// + /// Returns a list of typographic feature tags for the given script and language. + /// + /// The font face to get features from. + /// Script analysis result from AnalyzeScript. + /// The locale to use when selecting the feature, + /// such en-us or ja-jp. + /// Maximum tag count. + /// Actual tag count. If greater than + /// maxTagCount, E_NOT_SUFFICIENT_BUFFER is returned, and the call + /// should be retried with a larger buffer. + /// Feature tag list. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetTypographicFeatures)( + IDWriteFontFace* fontFace, + DWRITE_SCRIPT_ANALYSIS scriptAnalysis, + _In_opt_z_ WCHAR const* localeName, + UINT32 maxTagCount, + _Out_ UINT32* actualTagCount, + _Out_writes_(maxTagCount) DWRITE_FONT_FEATURE_TAG* tags + ) PURE; + + /// + /// Returns an array of which glyphs are affected by a given feature. + /// + /// The font face to read glyph information from. + /// Script analysis result from AnalyzeScript. + /// The locale to use when selecting the feature, + /// such en-us or ja-jp. + /// OpenType feature name to use, which may be one + /// of the DWRITE_FONT_FEATURE_TAG values or a custom feature using + /// DWRITE_MAKE_OPENTYPE_TAG. + /// Number of glyph indices to check. + /// Glyph indices to check for feature application. + /// Output of which glyphs are affected by the + /// feature, where for each glyph affected, the respective array index + /// will be 1. The result is returned per-glyph without regard to + /// neighboring context of adjacent glyphs. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CheckTypographicFeature)( + IDWriteFontFace* fontFace, + DWRITE_SCRIPT_ANALYSIS scriptAnalysis, + _In_opt_z_ WCHAR const* localeName, + DWRITE_FONT_FEATURE_TAG featureTag, + UINT32 glyphCount, + _In_reads_(glyphCount) UINT16 const* glyphIndices, + _Out_writes_(glyphCount) UINT8* featureApplies + ) PURE; + + using IDWriteTextAnalyzer1::GetGlyphOrientationTransform; +}; + + +/// +/// A font fallback definition used for mapping characters to fonts capable of +/// supporting them. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontFallback, "EFA008F9-F7A1-48BF-B05C-F224713CC0FF") : IUnknown +{ + /// + /// Determines an appropriate font to use to render the range of text. + /// + /// The text source implementation holds the text and + /// locale. + /// Length of the text to analyze. + /// Default font collection to use. + /// Family name of the base font. If you pass + /// null, no matching will be done against the family. + /// Desired weight. + /// Desired style. + /// Desired stretch. + /// Length of text mapped to the mapped font. + /// This will always be less or equal to the input text length and + /// greater than zero (if the text length is non-zero) so that the + /// caller advances at least one character each call. + /// The font that should be used to render the + /// first mappedLength characters of the text. If it returns NULL, + /// then no known font can render the text, and mappedLength is the + /// number of unsupported characters to skip. + /// Scale factor to multiply the em size of the + /// returned font by. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(MapCharacters)( + IDWriteTextAnalysisSource* analysisSource, + UINT32 textPosition, + UINT32 textLength, + _In_opt_ IDWriteFontCollection* baseFontCollection, + _In_opt_z_ WCHAR const* baseFamilyName, + DWRITE_FONT_WEIGHT baseWeight, + DWRITE_FONT_STYLE baseStyle, + DWRITE_FONT_STRETCH baseStretch, + _Out_range_(0, textLength) UINT32* mappedLength, + _COM_Outptr_result_maybenull_ IDWriteFont** mappedFont, + _Out_ FLOAT* scale + ) PURE; +}; + + +/// +/// Builder used to create a font fallback definition by appending a series of +/// fallback mappings, followed by a creation call. +/// +/// +/// This object may not be thread-safe. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontFallbackBuilder, "FD882D06-8ABA-4FB8-B849-8BE8B73E14DE") : IUnknown +{ + /// + /// Appends a single mapping to the list. Call this once for each additional mapping. + /// + /// Unicode ranges that apply to this mapping. + /// Number of Unicode ranges. + /// Locale of the context (e.g. document locale). + /// Base family name to match against, if applicable. + /// Explicit font collection for this mapping (optional). + /// List of target family name strings. + /// Number of target family names. + /// Scale factor to multiply the result target font by. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(AddMapping)( + _In_reads_(rangesCount) DWRITE_UNICODE_RANGE const* ranges, + UINT32 rangesCount, + _In_reads_(targetFamilyNamesCount) WCHAR const** targetFamilyNames, + UINT32 targetFamilyNamesCount, + _In_opt_ IDWriteFontCollection* fontCollection = NULL, + _In_opt_z_ WCHAR const* localeName = NULL, + _In_opt_z_ WCHAR const* baseFamilyName = NULL, + FLOAT scale = 1.0f + ) PURE; + + /// + /// Appends all the mappings from an existing font fallback object. + /// + /// Font fallback to read mappings from. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(AddMappings)( + IDWriteFontFallback* fontFallback + ) PURE; + + /// + /// Creates the finalized fallback object from the mappings added. + /// + /// Created fallback list. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontFallback)( + _COM_Outptr_ IDWriteFontFallback** fontFallback + ) PURE; +}; + +/// +/// DWRITE_COLOR_F +/// +#ifndef D3DCOLORVALUE_DEFINED + +typedef struct _D3DCOLORVALUE { + union { + FLOAT r; + FLOAT dvR; + }; + union { + FLOAT g; + FLOAT dvG; + }; + union { + FLOAT b; + FLOAT dvB; + }; + union { + FLOAT a; + FLOAT dvA; + }; +} D3DCOLORVALUE; + +#define D3DCOLORVALUE_DEFINED +#endif // D3DCOLORVALUE_DEFINED + +typedef D3DCOLORVALUE DWRITE_COLOR_F; + +/// +/// The IDWriteFont interface represents a physical font in a font collection. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFont2, "29748ed6-8c9c-4a6a-be0b-d912e8538944") : IDWriteFont1 +{ + /// + /// Returns TRUE if the font contains tables that can provide color information + /// (including COLR, CPAL, SVG, CBDT, sbix tables), or FALSE if not. Note that + /// TRUE is returned even in the case when the font tables contain only grayscale + /// images. + /// + STDMETHOD_(BOOL, IsColorFont)() PURE; +}; + +/// +/// The interface that represents an absolute reference to a font face. +/// It contains font face type, appropriate file references and face identification data. +/// Various font data such as metrics, names and glyph outlines is obtained from IDWriteFontFace. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontFace2, "d8b768ff-64bc-4e66-982b-ec8e87f693f7") : IDWriteFontFace1 +{ + /// + /// Returns TRUE if the font contains tables that can provide color information + /// (including COLR, CPAL, SVG, CBDT, sbix tables), or FALSE if not. Note that + /// TRUE is returned even in the case when the font tables contain only grayscale + /// images. + /// + STDMETHOD_(BOOL, IsColorFont)() PURE; + + /// + /// Returns the number of color palettes defined by the font. The return + /// value is zero if the font has no color information. Color fonts must + /// have at least one palette, with palette index zero being the default. + /// + STDMETHOD_(UINT32, GetColorPaletteCount)() PURE; + + /// + /// Returns the number of entries in each color palette. All color palettes + /// in a font have the same number of palette entries. The return value is + /// zero if the font has no color information. + /// + STDMETHOD_(UINT32, GetPaletteEntryCount)() PURE; + + /// + /// Reads color values from the font's color palette. + /// + /// Zero-based index of the color palette. If the + /// font does not have a palette with the specified index, the method returns + /// DWRITE_E_NOCOLOR. + /// Zero-based index of the first palette entry + /// to read. + /// Number of palette entries to read. + /// Array that receives the color values. + /// + /// Standard HRESULT error code. + /// The return value is E_INVALIDARG if firstEntryIndex + entryCount is greater + /// than the actual number of palette entries as returned by GetPaletteEntryCount. + /// The return value is DWRITE_E_NOCOLOR if the font does not have a palette + /// with the specified palette index. + /// + STDMETHOD(GetPaletteEntries)( + UINT32 colorPaletteIndex, + UINT32 firstEntryIndex, + UINT32 entryCount, + _Out_writes_(entryCount) DWRITE_COLOR_F* paletteEntries + ) PURE; + + /// + /// Determines the recommended text rendering and grid-fit mode to be used based on the + /// font, size, world transform, and measuring mode. + /// + /// Logical font size in DIPs. + /// Number of pixels per logical inch in the horizontal direction. + /// Number of pixels per logical inch in the vertical direction. + /// Specifies the world transform. + /// Specifies the quality of the graphics system's outline rendering, + /// affects the size threshold above which outline rendering is used. + /// Specifies the method used to measure during text layout. For proper + /// glyph spacing, the function returns a rendering mode that is compatible with the specified + /// measuring mode. + /// Rendering parameters object. This parameter is necessary in case the rendering parameters + /// object overrides the rendering mode. + /// Receives the recommended rendering mode. + /// Receives the recommended grid-fit mode. + /// + /// This method should be used to determine the actual rendering mode in cases where the rendering + /// mode of the rendering params object is DWRITE_RENDERING_MODE_DEFAULT, and the actual grid-fit + /// mode when the rendering params object is DWRITE_GRID_FIT_MODE_DEFAULT. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetRecommendedRenderingMode)( + FLOAT fontEmSize, + FLOAT dpiX, + FLOAT dpiY, + _In_opt_ DWRITE_MATRIX const* transform, + BOOL isSideways, + DWRITE_OUTLINE_THRESHOLD outlineThreshold, + DWRITE_MEASURING_MODE measuringMode, + _In_opt_ IDWriteRenderingParams* renderingParams, + _Out_ DWRITE_RENDERING_MODE* renderingMode, + _Out_ DWRITE_GRID_FIT_MODE* gridFitMode + ) PURE; + + using IDWriteFontFace1::GetRecommendedRenderingMode; +}; + +/// +/// Reserved palette entry index that does not specify any palette entry. +/// +#define DWRITE_NO_PALETTE_INDEX 0xFFFF + +/// +/// Represents a color glyph run. The IDWriteFactory2::TranslateColorGlyphRun +/// method returns an ordered collection of color glyph runs, which can be +/// layered on top of each other to produce a color representation of the +/// given base glyph run. +/// +struct DWRITE_COLOR_GLYPH_RUN +{ + /// + /// Glyph run to render. + /// + DWRITE_GLYPH_RUN glyphRun; + + /// + /// Optional glyph run description. + /// + _Maybenull_ DWRITE_GLYPH_RUN_DESCRIPTION* glyphRunDescription; + + /// + /// Location at which to draw this glyph run. + /// + FLOAT baselineOriginX; + FLOAT baselineOriginY; + + /// + /// Color to use for this layer, if any. If the paletteIndex member is + /// DWRITE_NO_PALETTE_INDEX (0xFFFF) then no color is specifed by the font, + /// this member is set to { 0, 0, 0, 0 }, and the client should use the + /// current foreground brush. Otherwise, this member is set to a color from + /// the font's color palette, i.e., the same color that would be returned + /// by IDWriteFontFace2::GetPaletteEntries for the current palette index. + /// + DWRITE_COLOR_F runColor; + + /// + /// Zero-based index of this layer's color entry in the current color + /// palette, or DWRITE_NO_PALETTE_INDEX (0xFFFF) if this layer + /// is to be rendered using the current foreground brush. + /// + UINT16 paletteIndex; +}; + +/// +/// Enumerator for an ordered collection of color glyph runs. +/// +DWRITE_BEGIN_INTERFACE(IDWriteColorGlyphRunEnumerator, "d31fbe17-f157-41a2-8d24-cb779e0560e8") : IUnknown +{ + /// + /// Advances to the first or next color run. The runs are enumerated + /// in order from back to front. + /// + /// Receives TRUE if there is a current run or + /// FALSE if the end of the sequence has been reached. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(MoveNext)( + _Out_ BOOL* hasRun + ) PURE; + + /// + /// Gets the current color glyph run. + /// + /// Receives a pointer to the color + /// glyph run. The pointer remains valid until the next call to + /// MoveNext or until the interface is released. + /// + /// Standard HRESULT error code. An error is returned if there is + /// no current glyph run, i.e., if MoveNext has not yet been called + /// or if the end of the sequence has been reached. + /// + STDMETHOD(GetCurrentRun)( + _Outptr_ DWRITE_COLOR_GLYPH_RUN const** colorGlyphRun + ) PURE; +}; + +/// +/// The interface that represents text rendering settings for glyph rasterization and filtering. +/// +DWRITE_BEGIN_INTERFACE(IDWriteRenderingParams2, "F9D711C3-9777-40AE-87E8-3E5AF9BF0948") : IDWriteRenderingParams1 +{ + /// + /// Gets the grid fitting mode. + /// + STDMETHOD_(DWRITE_GRID_FIT_MODE, GetGridFitMode)() PURE; +}; + +/// +/// The root factory interface for all DWrite objects. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFactory2, "0439fc60-ca44-4994-8dee-3a9af7b732ec") : IDWriteFactory1 +{ + /// + /// Get the system-appropriate font fallback mapping list. + /// + /// The system fallback list. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetSystemFontFallback)( + _COM_Outptr_ IDWriteFontFallback** fontFallback + ) PURE; + + /// + /// Create a custom font fallback builder. + /// + /// Empty font fallback builder. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontFallbackBuilder)( + _COM_Outptr_ IDWriteFontFallbackBuilder** fontFallbackBuilder + ) PURE; + + /// + /// Translates a glyph run to a sequence of color glyph runs, which can be + /// rendered to produce a color representation of the original "base" run. + /// + /// Horizontal origin of the base glyph run in + /// pre-transform coordinates. + /// Vertical origin of the base glyph run in + /// pre-transform coordinates. + /// Pointer to the original "base" glyph run. + /// Optional glyph run description. + /// Measuring mode, needed to compute the origins + /// of each glyph. + /// Matrix converting from the client's + /// coordinate space to device coordinates (pixels), i.e., the world transform + /// multiplied by any DPI scaling. + /// Zero-based index of the color palette to use. + /// Valid indices are less than the number of palettes in the font, as returned + /// by IDWriteFontFace2::GetColorPaletteCount. + /// If the function succeeds, receives a pointer + /// to an enumerator object that can be used to obtain the color glyph runs. + /// If the base run has no color glyphs, then the output pointer is NULL + /// and the method returns DWRITE_E_NOCOLOR. + /// + /// Returns DWRITE_E_NOCOLOR if the font has no color information, the base + /// glyph run does not contain any color glyphs, or the specified color palette + /// index is out of range. In this case, the client should render the base glyph + /// run. Otherwise, returns a standard HRESULT error code. + /// + STDMETHOD(TranslateColorGlyphRun)( + FLOAT baselineOriginX, + FLOAT baselineOriginY, + _In_ DWRITE_GLYPH_RUN const* glyphRun, + _In_opt_ DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription, + DWRITE_MEASURING_MODE measuringMode, + _In_opt_ DWRITE_MATRIX const* worldToDeviceTransform, + UINT32 colorPaletteIndex, + _COM_Outptr_ IDWriteColorGlyphRunEnumerator** colorLayers + ) PURE; + + /// + /// Creates a rendering parameters object with the specified properties. + /// + /// The gamma value used for gamma correction, which must be greater than zero and cannot exceed 256. + /// The amount of contrast enhancement, zero or greater. + /// The degree of ClearType level, from 0.0f (no ClearType) to 1.0f (full ClearType). + /// The geometry of a device pixel. + /// Method of rendering glyphs. In most cases, this should be DWRITE_RENDERING_MODE_DEFAULT to automatically use an appropriate mode. + /// How to grid fit glyph outlines. In most cases, this should be DWRITE_GRID_FIT_DEFAULT to automatically choose an appropriate mode. + /// Holds the newly created rendering parameters object, or NULL in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateCustomRenderingParams)( + FLOAT gamma, + FLOAT enhancedContrast, + FLOAT grayscaleEnhancedContrast, + FLOAT clearTypeLevel, + DWRITE_PIXEL_GEOMETRY pixelGeometry, + DWRITE_RENDERING_MODE renderingMode, + DWRITE_GRID_FIT_MODE gridFitMode, + _COM_Outptr_ IDWriteRenderingParams2** renderingParams + ) PURE; + + using IDWriteFactory::CreateCustomRenderingParams; + using IDWriteFactory1::CreateCustomRenderingParams; + + /// + /// Creates a glyph run analysis object, which encapsulates information + /// used to render a glyph run. + /// + /// Structure specifying the properties of the glyph run. + /// Optional transform applied to the glyphs and their positions. This transform is applied after the + /// scaling specified by the emSize and pixelsPerDip. + /// Specifies the rendering mode, which must be one of the raster rendering modes (i.e., not default + /// and not outline). + /// Specifies the method to measure glyphs. + /// How to grid-fit glyph outlines. This must be non-default. + /// Horizontal position of the baseline origin, in DIPs. + /// Vertical position of the baseline origin, in DIPs. + /// Receives a pointer to the newly created object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateGlyphRunAnalysis)( + _In_ DWRITE_GLYPH_RUN const* glyphRun, + _In_opt_ DWRITE_MATRIX const* transform, + DWRITE_RENDERING_MODE renderingMode, + DWRITE_MEASURING_MODE measuringMode, + DWRITE_GRID_FIT_MODE gridFitMode, + DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, + FLOAT baselineOriginX, + FLOAT baselineOriginY, + _COM_Outptr_ IDWriteGlyphRunAnalysis** glyphRunAnalysis + ) PURE; + + using IDWriteFactory::CreateGlyphRunAnalysis; +}; + + +#endif /* DWRITE_2_H_INCLUDED */ diff --git a/vendor/include/dwrite_3.h b/vendor/include/dwrite_3.h new file mode 100644 index 0000000..c42cd70 --- /dev/null +++ b/vendor/include/dwrite_3.h @@ -0,0 +1,4677 @@ +//+-------------------------------------------------------------------------- +// +// Copyright (c) Microsoft Corporation. All rights reserved. +// +// Abstract: +// DirectX Typography Services public API definitions. +// +//---------------------------------------------------------------------------- + +#ifndef DWRITE_3_H_INCLUDED +#define DWRITE_3_H_INCLUDED + +#pragma once + +#include "dwrite_2.h" + +interface IDWriteFontFaceReference; +interface IDWriteFont3; +interface IDWriteFontFace3; +interface IDWriteFontSet; +interface IDWriteFontSetBuilder; +interface IDWriteFontCollection1; +interface IDWriteFontFamily1; +interface IDWriteStringList; +interface IDWriteFontDownloadQueue; + + +/// +/// A font resource could not be accessed because it was remote. This can happen +/// when calling CreateFontFace on a non-local font or trying to measure/draw +/// glyphs that are not downloaded yet. +/// +#ifndef DWRITE_E_REMOTEFONT +#define DWRITE_E_REMOTEFONT _HRESULT_TYPEDEF_(0x8898500DL) +#endif + +/// +/// The download was canceled, which happens if the application calls +/// IDWriteFontDownloadQueue::CancelDownload before they finish. +/// +#ifndef DWRITE_E_DOWNLOADCANCELLED +#define DWRITE_E_DOWNLOADCANCELLED _HRESULT_TYPEDEF_(0x8898500EL) +#endif + +/// +/// The download failed to complete because the remote resource is missing +/// or the network is down. +/// +#ifndef DWRITE_E_DOWNLOADFAILED +#define DWRITE_E_DOWNLOADFAILED _HRESULT_TYPEDEF_(0x8898500FL) +#endif + +/// +/// A download request was not added or a download failed because there +/// are too many active downloads. +/// +#ifndef DWRITE_E_TOOMANYDOWNLOADS +#define DWRITE_E_TOOMANYDOWNLOADS _HRESULT_TYPEDEF_(0x88985010L) +#endif + +/// +/// The font property enumeration identifies a string in a font. +/// +enum DWRITE_FONT_PROPERTY_ID +{ + /// + /// Unspecified font property identifier. + /// + DWRITE_FONT_PROPERTY_ID_NONE, + + /// + /// Family name for the weight-stretch-style model. + /// + DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME, + + /// + /// Family name preferred by the designer. This enables font designers to group more than four fonts in a single family without losing compatibility with + /// GDI. This name is typically only present if it differs from the GDI-compatible family name. + /// + DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME, + + /// + /// Face name of the for the weight-stretch-style (e.g., Regular or Bold). + /// + DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME, + + /// + /// The full name of the font, e.g. "Arial Bold", from name id 4 in the name table. + /// + DWRITE_FONT_PROPERTY_ID_FULL_NAME, + + /// + /// GDI-compatible family name. Because GDI allows a maximum of four fonts per family, fonts in the same family may have different GDI-compatible family names + /// (e.g., "Arial", "Arial Narrow", "Arial Black"). + /// + DWRITE_FONT_PROPERTY_ID_WIN32_FAMILY_NAME, + + /// + /// The postscript name of the font, e.g. "GillSans-Bold" from name id 6 in the name table. + /// + DWRITE_FONT_PROPERTY_ID_POSTSCRIPT_NAME, + + /// + /// Script/language tag to identify the scripts or languages that the font was + /// primarily designed to support. + /// + /// + /// The design script/language tag is meant to be understood from the perspective of + /// users. For example, a font is considered designed for English if it is considered + /// useful for English users. Note that this is different from what a font might be + /// capable of supporting. For example, the Meiryo font was primarily designed for + /// Japanese users. While it is capable of displaying English well, it was not + /// meant to be offered for the benefit of non-Japanese-speaking English users. + /// + /// As another example, a font designed for Chinese may be capable of displaying + /// Japanese text, but would likely look incorrect to Japanese users. + /// + /// The valid values for this property are "ScriptLangTag" values. These are adapted + /// from the IETF BCP 47 specification, "Tags for Identifying Languages" (see + /// http://tools.ietf.org/html/bcp47). In a BCP 47 language tag, a language subtag + /// element is mandatory and other subtags are optional. In a ScriptLangTag, a + /// script subtag is mandatory and other subtags are option. The following + /// augmented BNF syntax, adapted from BCP 47, is used: + /// + /// ScriptLangTag = [language "-"] + /// script + /// ["-" region] + /// *("-" variant) + /// *("-" extension) + /// ["-" privateuse] + /// + /// The expansion of the elements and the intended semantics associated with each + /// are as defined in BCP 47. Script subtags are taken from ISO 15924. At present, + /// no extensions are defined, and any extension should be ignored. Private use + /// subtags are defined by private agreement between the source and recipient and + /// may be ignored. + /// + /// Subtags must be valid for use in BCP 47 and contained in the Language Subtag + /// Registry maintained by IANA. (See + /// http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry + /// and section 3 of BCP 47 for details. + /// + /// Any ScriptLangTag value not conforming to these specifications is ignored. + /// + /// Examples: + /// "Latn" denotes Latin script (and any language or writing system using Latin) + /// "Cyrl" denotes Cyrillic script + /// "sr-Cyrl" denotes Cyrillic script as used for writing the Serbian language; + /// a font that has this property value may not be suitable for displaying + /// text in Russian or other languages written using Cyrillic script + /// "Jpan" denotes Japanese writing (Han + Hiragana + Katakana) + /// + /// When passing this property to GetPropertyValues, use the overload which does + /// not take a language parameter, since this property has no specific language. + /// + DWRITE_FONT_PROPERTY_ID_DESIGN_SCRIPT_LANGUAGE_TAG, + + /// + /// Script/language tag to identify the scripts or languages that the font declares + /// it is able to support. + /// + DWRITE_FONT_PROPERTY_ID_SUPPORTED_SCRIPT_LANGUAGE_TAG, + + /// + /// Semantic tag to describe the font (e.g. Fancy, Decorative, Handmade, Sans-serif, Swiss, Pixel, Futuristic). + /// + DWRITE_FONT_PROPERTY_ID_SEMANTIC_TAG, + + /// + /// Weight of the font represented as a decimal string in the range 1-999. + /// + /// + /// This enum is discouraged for use with IDWriteFontSetBuilder2 in favor of the more generic font axis + /// DWRITE_FONT_AXIS_TAG_WEIGHT which supports higher precision and range. + /// + DWRITE_FONT_PROPERTY_ID_WEIGHT, + + /// + /// Stretch of the font represented as a decimal string in the range 1-9. + /// + /// + /// This enum is discouraged for use with IDWriteFontSetBuilder2 in favor of the more generic font axis + /// DWRITE_FONT_AXIS_TAG_WIDTH which supports higher precision and range. + /// + DWRITE_FONT_PROPERTY_ID_STRETCH, + + /// + /// Style of the font represented as a decimal string in the range 0-2. + /// + /// + /// This enum is discouraged for use with IDWriteFontSetBuilder2 in favor of the more generic font axes + /// DWRITE_FONT_AXIS_TAG_SLANT and DWRITE_FONT_AXIS_TAG_ITAL. + /// + DWRITE_FONT_PROPERTY_ID_STYLE, + + /// + /// Face name preferred by the designer. This enables font designers to group more than four fonts in a single + /// family without losing compatibility with GDI. + /// + DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME, + + /// + /// Font source name. The meaning of this value depends on the value of the DWRITE_FONT_SOURCE_TYPE of the font. + /// This property is not derived from the font itself, but describes how the font was added to the font set. + /// + DWRITE_FONT_PROPERTY_ID_FONT_SOURCE_NAME, + + /// + /// Total number of properties for NTDDI_WIN10 (IDWriteFontSet). + /// + /// + /// DWRITE_FONT_PROPERTY_ID_TOTAL cannot be used as a property ID. + /// + DWRITE_FONT_PROPERTY_ID_TOTAL = DWRITE_FONT_PROPERTY_ID_STYLE + 1, + + /// + /// Total number of properties for NTDDI_WIN10_RS3 (IDWriteFontSet1). + /// + DWRITE_FONT_PROPERTY_ID_TOTAL_RS3 = DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FACE_NAME + 1, + + /// + /// Total number of properties for NTDDI_WIN10_RS5 (IDWriteFontSet3). + /// + DWRITE_FONT_PROPERTY_ID_TOTAL_RS5 = DWRITE_FONT_PROPERTY_ID_FONT_SOURCE_NAME + 1, + + // Obsolete aliases kept to avoid breaking existing code. + DWRITE_FONT_PROPERTY_ID_PREFERRED_FAMILY_NAME = DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME, + DWRITE_FONT_PROPERTY_ID_FAMILY_NAME = DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME, + DWRITE_FONT_PROPERTY_ID_FACE_NAME = DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FACE_NAME, +}; + + +/// +/// Font property used for filtering font sets and +/// building a font set with explicit properties. +/// +struct DWRITE_FONT_PROPERTY +{ + /// + /// Specifies the requested font property, such as DWRITE_FONT_PROPERTY_ID_FAMILY_NAME. + /// + DWRITE_FONT_PROPERTY_ID propertyId; + + /// + /// Specifies the property value, such as "Segoe UI". + /// + _Field_z_ WCHAR const* propertyValue; + + /// + /// Specifies the language / locale to use, such as "en-US". + /// + /// + /// When passing property information to AddFontFaceReference, localeName indicates + /// the language of the property value. BCP 47 language tags should be used. If a + /// property value is inherently non-linguistic, this can be left empty. + /// + /// When used for font set filtering, leave this empty: a match will be found + /// regardless of language associated with property values. + /// + _Field_z_ _Maybenull_ WCHAR const* localeName; +}; + + +/// +/// Specifies the locality of a resource. +/// +enum DWRITE_LOCALITY +{ + /// + /// The resource is remote, and information is unknown yet, including the file size and date. + /// Attempting to create a font or file stream will fail until locality becomes at least partial. + /// + DWRITE_LOCALITY_REMOTE, + + /// + /// The resource is partially local, meaning you can query the size and date of the file + /// stream, and you may be able to create a font face and retrieve the particular glyphs + /// for metrics and drawing, but not all the glyphs will be present. + /// + DWRITE_LOCALITY_PARTIAL, + + /// + /// The resource is completely local, and all font functions can be called + /// without concern of missing data or errors related to network connectivity. + /// + DWRITE_LOCALITY_LOCAL, +}; + + +/// +/// Represents a method of rendering glyphs. +/// +enum DWRITE_RENDERING_MODE1 +{ + /// + /// Specifies that the rendering mode is determined automatically based on the font and size. + /// + DWRITE_RENDERING_MODE1_DEFAULT = DWRITE_RENDERING_MODE_DEFAULT, + + /// + /// Specifies that no antialiasing is performed. Each pixel is either set to the foreground + /// color of the text or retains the color of the background. + /// + DWRITE_RENDERING_MODE1_ALIASED = DWRITE_RENDERING_MODE_ALIASED, + + /// + /// Specifies that antialiasing is performed in the horizontal direction and the appearance + /// of glyphs is layout-compatible with GDI using CLEARTYPE_QUALITY. Use DWRITE_MEASURING_MODE_GDI_CLASSIC + /// to get glyph advances. The antialiasing may be either ClearType or grayscale depending on + /// the text antialiasing mode. + /// + DWRITE_RENDERING_MODE1_GDI_CLASSIC = DWRITE_RENDERING_MODE_GDI_CLASSIC, + + /// + /// Specifies that antialiasing is performed in the horizontal direction and the appearance + /// of glyphs is layout-compatible with GDI using CLEARTYPE_NATURAL_QUALITY. Glyph advances + /// are close to the font design advances, but are still rounded to whole pixels. Use + /// DWRITE_MEASURING_MODE_GDI_NATURAL to get glyph advances. The antialiasing may be either + /// ClearType or grayscale depending on the text antialiasing mode. + /// + DWRITE_RENDERING_MODE1_GDI_NATURAL = DWRITE_RENDERING_MODE_GDI_NATURAL, + + /// + /// Specifies that antialiasing is performed in the horizontal direction. This rendering + /// mode allows glyphs to be positioned with subpixel precision and is therefore suitable + /// for natural (i.e., resolution-independent) layout. The antialiasing may be either + /// ClearType or grayscale depending on the text antialiasing mode. + /// + DWRITE_RENDERING_MODE1_NATURAL = DWRITE_RENDERING_MODE_NATURAL, + + /// + /// Similar to natural mode except that antialiasing is performed in both the horizontal + /// and vertical directions. This is typically used at larger sizes to make curves and + /// diagonal lines look smoother. The antialiasing may be either ClearType or grayscale + /// depending on the text antialiasing mode. + /// + DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC = DWRITE_RENDERING_MODE_NATURAL_SYMMETRIC, + + /// + /// Specifies that rendering should bypass the rasterizer and use the outlines directly. + /// This is typically used at very large sizes. + /// + DWRITE_RENDERING_MODE1_OUTLINE = DWRITE_RENDERING_MODE_OUTLINE, + + /// + /// Similar to natural symmetric mode except that when possible, text should be rasterized + /// in a downsampled form. + /// + DWRITE_RENDERING_MODE1_NATURAL_SYMMETRIC_DOWNSAMPLED, +}; + + +/// +/// The interface that represents text rendering settings for glyph rasterization and filtering. +/// +DWRITE_BEGIN_INTERFACE(IDWriteRenderingParams3, "B7924BAA-391B-412A-8C5C-E44CC2D867DC") : IDWriteRenderingParams2 +{ + /// + /// Gets the rendering mode. + /// + STDMETHOD_(DWRITE_RENDERING_MODE1, GetRenderingMode1)() PURE; +}; + + +/// +/// The root factory interface for all DWrite objects. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFactory3, "9A1B41C3-D3BB-466A-87FC-FE67556A3B65") : IDWriteFactory2 +{ + /// + /// Creates a glyph run analysis object, which encapsulates information + /// used to render a glyph run. + /// + /// Structure specifying the properties of the glyph run. + /// Optional transform applied to the glyphs and their positions. This transform is applied after the + /// scaling specified by the emSize. + /// Specifies the rendering mode, which must be one of the raster rendering modes (i.e., not default + /// and not outline). + /// Specifies the method to measure glyphs. + /// How to grid-fit glyph outlines. This must be non-default. + /// Horizontal position of the baseline origin, in DIPs. + /// Vertical position of the baseline origin, in DIPs. + /// Receives a pointer to the newly created object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateGlyphRunAnalysis)( + _In_ DWRITE_GLYPH_RUN const* glyphRun, + _In_opt_ DWRITE_MATRIX const* transform, + DWRITE_RENDERING_MODE1 renderingMode, + DWRITE_MEASURING_MODE measuringMode, + DWRITE_GRID_FIT_MODE gridFitMode, + DWRITE_TEXT_ANTIALIAS_MODE antialiasMode, + FLOAT baselineOriginX, + FLOAT baselineOriginY, + _COM_Outptr_ IDWriteGlyphRunAnalysis** glyphRunAnalysis + ) PURE; + + using IDWriteFactory::CreateGlyphRunAnalysis; + using IDWriteFactory2::CreateGlyphRunAnalysis; + + /// + /// Creates a rendering parameters object with the specified properties. + /// + /// The gamma value used for gamma correction, which must be greater than zero and cannot exceed 256. + /// The amount of contrast enhancement, zero or greater. + /// The amount of contrast enhancement to use for grayscale antialiasing, zero or greater. + /// The degree of ClearType level, from 0.0f (no ClearType) to 1.0f (full ClearType). + /// The geometry of a device pixel. + /// Method of rendering glyphs. In most cases, this should be DWRITE_RENDERING_MODE_DEFAULT to automatically use an appropriate mode. + /// How to grid fit glyph outlines. In most cases, this should be DWRITE_GRID_FIT_DEFAULT to automatically choose an appropriate mode. + /// Receives a pointer to the newly created rendering parameters object, or NULL in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateCustomRenderingParams)( + FLOAT gamma, + FLOAT enhancedContrast, + FLOAT grayscaleEnhancedContrast, + FLOAT clearTypeLevel, + DWRITE_PIXEL_GEOMETRY pixelGeometry, + DWRITE_RENDERING_MODE1 renderingMode, + DWRITE_GRID_FIT_MODE gridFitMode, + _COM_Outptr_ IDWriteRenderingParams3** renderingParams + ) PURE; + + using IDWriteFactory::CreateCustomRenderingParams; + using IDWriteFactory1::CreateCustomRenderingParams; + using IDWriteFactory2::CreateCustomRenderingParams; + + /// + /// Creates a reference to a font given a full path. + /// + /// Absolute file path. Subsequent operations on the constructed object may fail + /// if the user provided filePath doesn't correspond to a valid file on the disk. + /// Last modified time of the input file path. If the parameter is omitted, + /// the function will access the font file to obtain its last write time, so the clients are encouraged to specify this value + /// to avoid extra disk access. Subsequent operations on the constructed object may fail + /// if the user provided lastWriteTime doesn't match the file on the disk. + /// The zero based index of a font face in cases when the font files contain a collection of font faces. + /// If the font files contain a single face, this value should be zero. + /// Font face simulation flags for algorithmic emboldening and italicization. + /// Receives a pointer to the newly created font face reference object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontFaceReference)( + _In_z_ WCHAR const* filePath, + _In_opt_ FILETIME const* lastWriteTime, + UINT32 faceIndex, + DWRITE_FONT_SIMULATIONS fontSimulations, + _COM_Outptr_ IDWriteFontFaceReference** fontFaceReference + ) PURE; + + /// + /// Creates a reference to a font given a file. + /// + /// User provided font file representing the font face. + /// The zero based index of a font face in cases when the font files contain a collection of font faces. + /// If the font files contain a single face, this value should be zero. + /// Font face simulation flags for algorithmic emboldening and italicization. + /// Receives a pointer to the newly created font face reference object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontFaceReference)( + _In_ IDWriteFontFile* fontFile, + UINT32 faceIndex, + DWRITE_FONT_SIMULATIONS fontSimulations, + _COM_Outptr_ IDWriteFontFaceReference** fontFaceReference + ) PURE; + + /// + /// Retrieves the list of system fonts. + /// + /// Receives a pointer to the font set object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetSystemFontSet)( + _COM_Outptr_ IDWriteFontSet** fontSet + ) PURE; + + /// + /// Creates an empty font set builder to add font face references + /// and create a custom font set. + /// + /// Receives a pointer to the newly created font set builder object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontSetBuilder)( + _COM_Outptr_ IDWriteFontSetBuilder** fontSetBuilder + ) PURE; + + /// + /// Create a weight-stretch-style based collection of families (DWRITE_FONT_FAMILY_MODEL_WEIGHT_STRETCH_STYLE) + /// from a set of fonts. + /// + /// A set of fonts to use to build the collection. + /// Receives a pointer to the newly created font collection object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontCollectionFromFontSet)( + IDWriteFontSet* fontSet, + _COM_Outptr_ IDWriteFontCollection1** fontCollection + ) PURE; + + /// + /// Retrieves a weight-stretch-style based collection of font families. + /// + /// Include downloadable fonts or only locally installed ones. + /// Receives a pointer to the newly created font collection object, or nullptr in + /// case of failure. + /// If this parameter is nonzero, the function performs an immediate check for changes + /// to the set of system fonts. If this parameter is FALSE, the function will still detect changes if the font + /// cache service is running, but there may be some latency. For example, an application might specify TRUE if + /// it has itself just installed a font and wants to be sure the font collection contains that font. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetSystemFontCollection)( + BOOL includeDownloadableFonts, + _COM_Outptr_ IDWriteFontCollection1** fontCollection, + BOOL checkForUpdates = FALSE + ) PURE; + + using IDWriteFactory::GetSystemFontCollection; + + /// + /// Gets the font download queue associated with this factory object. + /// + /// Receives a pointer to the font download queue interface. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontDownloadQueue)( + _COM_Outptr_ IDWriteFontDownloadQueue** fontDownloadQueue + ) PURE; +}; + + +/// +/// Set of fonts used for creating font faces, selecting nearest matching fonts, and filtering. +/// Unlike IDWriteFontFamily and IDWriteFontList, which are part of the IDWriteFontCollection heirarchy, font sets +/// are unordered flat lists. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontSet, "53585141-D9F8-4095-8321-D73CF6BD116B") : IUnknown +{ + /// + /// Get the number of total fonts in the set. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD_(UINT32, GetFontCount)() PURE; + + /// + /// Get a reference to the font at this index, which may be local or remote. + /// + /// Zero-based index of the font. + /// Receives a pointer the font face reference object, or nullptr on failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontFaceReference)( + UINT32 listIndex, + _COM_Outptr_ IDWriteFontFaceReference** fontFaceReference + ) PURE; + + /// + /// Gets the index of the matching font face reference in the font set, with the same file, face index, and simulations. + /// + /// Font face reference object that specifies the physical font. + /// Receives the zero-based index of the matching font if the font was found, or UINT32_MAX otherwise. + /// Receives TRUE if the font exists or FALSE otherwise. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(FindFontFaceReference)( + IDWriteFontFaceReference* fontFaceReference, + _Out_ UINT32* listIndex, + _Out_ BOOL* exists + ) PURE; + + /// + /// Gets the index of the matching font face reference in the font set, with the same file, face index, and simulations. + /// + /// Font face object that specifies the physical font. + /// Receives the zero-based index of the matching font if the font was found, or UINT32_MAX otherwise. + /// Receives TRUE if the font exists or FALSE otherwise. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(FindFontFace)( + IDWriteFontFace* fontFace, + _Out_ UINT32* listIndex, + _Out_ BOOL* exists + ) PURE; + + /// + /// Returns the property values of a specific font item index. + /// + /// Zero-based index of the font. + /// Font property of interest. + /// Receives the value TRUE if the font contains the specified property identifier or FALSE if not. + /// Receives a pointer to the newly created localized strings object, or nullptr on failure or non-existent property. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetPropertyValues)( + UINT32 listIndex, + DWRITE_FONT_PROPERTY_ID propertyId, + _Out_ BOOL* exists, + _COM_Outptr_result_maybenull_ IDWriteLocalizedStrings** values + ) PURE; + + /// + /// Returns all unique property values in the set, which can be used + /// for purposes such as displaying a family list or tag cloud. Values are + /// returned in priority order according to the language list, such that if + /// a font contains more than one localized name, the preferred one will be + /// returned. + /// + /// Font property of interest. + /// List of semicolon delimited language names in preferred + /// order. When a particular string like font family has more than one localized name, + /// the first match is returned. + /// Receives a pointer to the newly created strings list. + /// + /// Standard HRESULT error code. + /// + /// + /// For example, suppose the font set includes the Meiryo family, which has both Japanese and English family names. + /// The returned list of distinct family names would include either the Japanese name (if "ja-jp" was specified as + /// a preferred locale) or the English name (in all other cases). + /// + STDMETHOD(GetPropertyValues)( + DWRITE_FONT_PROPERTY_ID propertyID, + _In_z_ WCHAR const* preferredLocaleNames, + _COM_Outptr_ IDWriteStringList** values + ) PURE; + + /// + /// Returns all unique property values in the set, which can be used + /// for purposes such as displaying a family list or tag cloud. All values + /// are returned regardless of language, including all localized names. + /// + /// Font property of interest. + /// Receives a pointer to the newly created strings list. + /// + /// Standard HRESULT error code. + /// + /// + /// For example, suppose the font set includes the Meiryo family, which has both Japanese and English family names. + /// The returned list of distinct family names would include both the Japanese and English names. + /// + STDMETHOD(GetPropertyValues)( + DWRITE_FONT_PROPERTY_ID propertyID, + _COM_Outptr_ IDWriteStringList** values + ) PURE; + + /// + /// Returns how many times a given property value occurs in the set. + /// + /// Font property of interest. + /// How many times that property occurs. + /// + /// Standard HRESULT error code. + /// + /// + /// For example, the family name "Segoe UI" may return a count of 12, + /// whereas Harrington only has 1. + /// + STDMETHOD(GetPropertyOccurrenceCount)( + _In_ DWRITE_FONT_PROPERTY const* property, + _Out_ UINT32* propertyOccurrenceCount + ) PURE; + + /// + /// Returns a subset of fonts filtered by the given properties. + /// + /// List of properties to filter using. + /// How many properties to filter. + /// Subset of fonts that match the properties, + /// or nullptr on failure. + /// + /// Standard HRESULT error code. + /// + /// + /// If no fonts matched the filter, the subset will be empty (GetFontCount + /// returns 0), but the function does not return an error. The subset will + /// always be equal to or less than the original set. + /// + STDMETHOD(GetMatchingFonts)( + _In_reads_(propertyCount) DWRITE_FONT_PROPERTY const* properties, + UINT32 propertyCount, + _COM_Outptr_ IDWriteFontSet** filteredSet + ) PURE; + + /// + /// Returns a list of fonts within the given WWS family prioritized by + /// WWS distance. + /// + /// Neutral or localized family name of font. + /// Weight of font. + /// Stretch of font. + /// Slope of font. + /// Subset of fonts that match the properties, + /// or nullptr on failure. + /// + /// Standard HRESULT error code. + /// + /// + /// The returned list can include simulated bold and oblique variants, + /// which would be useful for font fallback selection. + /// + STDMETHOD(GetMatchingFonts)( + _In_z_ WCHAR const* familyName, + DWRITE_FONT_WEIGHT fontWeight, + DWRITE_FONT_STRETCH fontStretch, + DWRITE_FONT_STYLE fontStyle, + _COM_Outptr_ IDWriteFontSet** filteredSet + ) PURE; +}; + + +/// +/// Builder interface to add font face references and create a font set. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontSetBuilder, "2F642AFE-9C68-4F40-B8BE-457401AFCB3D") : IUnknown +{ + /// + /// Adds a reference to a font to the set being built. The necessary + /// metadata will automatically be extracted from the font upon calling + /// CreateFontSet. + /// + /// Font face reference object to add to the set. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(AddFontFaceReference)( + _In_ IDWriteFontFaceReference* fontFaceReference + ) PURE; + + /// + /// Adds a reference to a font to the set being built. The caller + /// supplies enough information to search on, avoiding the need to open + /// the potentially non-local font. Any properties not supplied by the + /// caller will be missing, and those properties will not be available as + /// filters in GetMatchingFonts. GetPropertyValues for missing properties + /// will return an empty string list. The properties passed should generally + /// be consistent with the actual font contents, but they need not be. You + /// could, for example, alias a font using a different name or unique + /// identifier, or you could set custom tags not present in the actual + /// font. + /// + /// Reference to the font. + /// List of properties to associate with the reference. + /// How many properties are defined. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(AddFontFaceReference)( + _In_ IDWriteFontFaceReference* fontFaceReference, + _In_reads_(propertyCount) DWRITE_FONT_PROPERTY const* properties, + UINT32 propertyCount + ) PURE; + + /// + /// Appends an existing font set to the one being built, allowing + /// one to aggregate two sets or to essentially extend an existing one. + /// + /// Font set to append font face references from. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(AddFontSet)( + _In_ IDWriteFontSet* fontSet + ) PURE; + + /// + /// Creates a font set from all the font face references added so + /// far via AddFontFaceReference. + /// + /// Receives a pointer to the newly created font set object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + /// + /// Creating a font set takes less time if the references were added + /// with metadata rather than needing to extract the metadata from the + /// font file. + /// + STDMETHOD(CreateFontSet)( + _COM_Outptr_ IDWriteFontSet** fontSet + ) PURE; +}; + + +DWRITE_BEGIN_INTERFACE(IDWriteFontCollection1, "53585141-D9F8-4095-8321-D73CF6BD116C") : IDWriteFontCollection +{ + /// + /// Get the underlying font set used by this collection. + /// + /// Contains font set used by the collection. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontSet)( + _COM_Outptr_ IDWriteFontSet** fontSet + ) PURE; + + /// + /// Creates a font family object given a zero-based font family index. + /// + /// Zero-based index of the font family. + /// Receives a pointer the newly created font family object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontFamily)( + UINT32 index, + _COM_Outptr_ IDWriteFontFamily1** fontFamily + ) PURE; + + using IDWriteFontCollection::GetFontFamily; +}; + + +/// +/// The IDWriteFontFamily interface represents a set of fonts that share the same design but are differentiated +/// by weight, stretch, and style. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontFamily1, "DA20D8EF-812A-4C43-9802-62EC4ABD7ADF") : IDWriteFontFamily +{ + /// + /// Gets the current locality of a font given its zero-based index. + /// + /// Zero-based index of the font in the font list. + /// + /// The locality enumeration. For fully local files, the result will always + /// be DWRITE_LOCALITY_LOCAL. For downloadable files, the result depends on how + /// much of the file has been downloaded, and GetFont() fails if the locality + /// is REMOTE and potentially fails if PARTIAL. The application can explicitly + /// ask for the font to be enqueued for download via EnqueueFontDownloadRequest + /// followed by BeginDownload(). + /// + /// + /// The locality enumeration. + /// + STDMETHOD_(DWRITE_LOCALITY, GetFontLocality)(UINT32 listIndex) PURE; + + /// + /// Gets a font given its zero-based index. + /// + /// Zero-based index of the font in the font list. + /// Receives a pointer to the newly created font object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFont)( + UINT32 listIndex, + _COM_Outptr_ IDWriteFont3** font + ) PURE; + + using IDWriteFontFamily::GetFont; + + /// + /// Gets a font face reference given its zero-based index. + /// + /// Zero-based index of the font in the font list. + /// Receives a pointer to the newly created font face reference object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontFaceReference)( + UINT32 listIndex, + _COM_Outptr_ IDWriteFontFaceReference** fontFaceReference + ) PURE; +}; + + +/// +/// The IDWriteFontList interface represents a list of fonts. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontList1, "DA20D8EF-812A-4C43-9802-62EC4ABD7ADE") : IDWriteFontList +{ + /// + /// Gets the current locality of a font given its zero-based index. + /// + /// Zero-based index of the font in the font list. + /// + /// The locality enumeration. For fully local files, the result will always + /// be DWRITE_LOCALITY_LOCAL. For downloadable files, the result depends on how + /// much of the file has been downloaded, and GetFont() fails if the locality + /// is REMOTE and potentially fails if PARTIAL. The application can explicitly + /// ask for the font to be enqueued for download via EnqueueFontDownloadRequest + /// followed by BeginDownload(). + /// + /// + /// The locality enumeration. + /// + STDMETHOD_(DWRITE_LOCALITY, GetFontLocality)(UINT32 listIndex) PURE; + + /// + /// Gets a font given its zero-based index. + /// + /// Zero-based index of the font in the font list. + /// Receives a pointer to the newly created font object. + /// + /// Standard HRESULT error code. The function returns DWRITE_E_REMOTEFONT if it could not construct a remote font. + /// + STDMETHOD(GetFont)( + UINT32 listIndex, + _COM_Outptr_ IDWriteFont3** font + ) PURE; + + using IDWriteFontList::GetFont; + + /// + /// Gets a font face reference given its zero-based index. + /// + /// Zero-based index of the font in the font list. + /// Receives a pointer to the newly created font face reference object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontFaceReference)( + UINT32 listIndex, + _COM_Outptr_ IDWriteFontFaceReference** fontFaceReference + ) PURE; +}; + + +/// +/// A uniquely identifying reference to a font, from which you can create a font +/// face to query font metrics and use for rendering. A font face reference +/// consists of a font file, font face index, and font face simulation. The file +/// data may or may not be physically present on the local machine yet. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontFaceReference, "5E7FA7CA-DDE3-424C-89F0-9FCD6FED58CD") : IUnknown +{ + /// + /// Creates a font face from the reference for use with layout, + /// shaping, or rendering. + /// + /// Newly created font face object, or nullptr in the case of failure. + /// + /// Standard HRESULT error code. + /// + /// + /// This function can fail with DWRITE_E_REMOTEFONT if the font is not local. + /// + STDMETHOD(CreateFontFace)( + _COM_Outptr_ IDWriteFontFace3** fontFace + ) PURE; + + /// + /// Creates a font face with alternate font simulations, for example, to + /// explicitly simulate a bold font face out of a regular variant. + /// + /// Font face simulation flags for algorithmic emboldening and italicization. + /// Newly created font face object, or nullptr in the case of failure. + /// + /// Standard HRESULT error code. + /// + /// + /// This function can fail with DWRITE_E_REMOTEFONT if the font is not local. + /// + STDMETHOD(CreateFontFaceWithSimulations)( + DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags, + _COM_Outptr_ IDWriteFontFace3** fontFace + ) PURE; + + /// + /// Compares two instances of a font face references for equality. + /// + STDMETHOD_(BOOL, Equals)(IDWriteFontFaceReference* fontFaceReference) PURE; + + /// + /// Obtains the zero-based index of the font face in its font file. If the font files contain a single face, + /// the return value is zero. + /// + STDMETHOD_(UINT32, GetFontFaceIndex)() PURE; + + /// + /// Obtains the algorithmic style simulation flags of a font face. + /// + STDMETHOD_(DWRITE_FONT_SIMULATIONS, GetSimulations)() PURE; + + /// + /// Obtains the font file representing a font face. + /// + STDMETHOD(GetFontFile)( + _COM_Outptr_ IDWriteFontFile** fontFile + ) PURE; + + /// + /// Get the local size of the font face in bytes. + /// + /// + /// The value returned by GetLocalFileSize will always be less than or + /// equal to the value returned by GetFullSize. If the locality is remote, + /// the GetLocalFileSize value is zero. If the locality is local, this + /// value will equal the value returned by GetFileSize. If the locality is + /// partial, this value will equal the size of the portions of the font + /// data that have been downloaded, which will be greater than zero and + /// less than or equal to the GetFileSize value. + /// + STDMETHOD_(UINT64, GetLocalFileSize)() PURE; + + /// + /// Get the total size of the font face in bytes. + /// + /// + /// If the locality is remote, this value is unknown and will be zero. + /// If the locality is partial or local, the value is the full size of + /// the font face. + /// + STDMETHOD_(UINT64, GetFileSize)() PURE; + + /// + /// Get the last modified date. + /// + /// + /// The time may be zero if the font file loader does not expose file time. + /// + STDMETHOD(GetFileTime)(_Out_ FILETIME* lastWriteTime) PURE; + + /// + /// Get the locality of this font face reference. You can always successfully + /// create a font face from a fully local font. Attempting to create a font + /// face on a remote or partially local font may fail with DWRITE_E_REMOTEFONT. + /// This function may change between calls depending on background downloads + /// and whether cached data expires. + /// + STDMETHOD_(DWRITE_LOCALITY, GetLocality)() PURE; + + /// + /// Adds a request to the font download queue (IDWriteFontDownloadQueue). + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(EnqueueFontDownloadRequest)() PURE; + + /// + /// Adds a request to the font download queue (IDWriteFontDownloadQueue). + /// + /// Array of characters to download. + /// The number of elements in the character array. + /// + /// Standard HRESULT error code. + /// + /// + /// Downloading a character involves downloading every glyph it depends on + /// directly or indirectly, via font tables (cmap, GSUB, COLR, glyf). + /// + STDMETHOD(EnqueueCharacterDownloadRequest)( + _In_reads_(characterCount) WCHAR const* characters, + UINT32 characterCount + ) PURE; + + /// + /// Adds a request to the font download queue (IDWriteFontDownloadQueue). + /// + /// Array of glyph indices to download. + /// The number of elements in the glyph index array. + /// + /// Standard HRESULT error code. + /// + /// + /// Downloading a glyph involves downloading any other glyphs it depends on + /// from the font tables (GSUB, COLR, glyf). + /// + STDMETHOD(EnqueueGlyphDownloadRequest)( + _In_reads_(glyphCount) UINT16 const* glyphIndices, + UINT32 glyphCount + ) PURE; + + /// + /// Adds a request to the font download queue (IDWriteFontDownloadQueue). + /// + /// Offset of the fragment from the beginning of the font file. + /// Size of the fragment in bytes. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(EnqueueFileFragmentDownloadRequest)( + UINT64 fileOffset, + UINT64 fragmentSize + ) PURE; +}; + + +/// +/// The IDWriteFont interface represents a font in a font collection. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFont3, "29748ED6-8C9C-4A6A-BE0B-D912E8538944") : IDWriteFont2 +{ + /// + /// Creates a font face object for the font. + /// + /// Receives a pointer to the newly created font face object. + /// + /// Standard HRESULT error code. The function returns DWRITE_E_REMOTEFONT if it could not construct a remote font. + /// + STDMETHOD(CreateFontFace)( + _COM_Outptr_ IDWriteFontFace3** fontFace + ) PURE; + + using IDWriteFont::CreateFontFace; + + /// + /// Compares two instances of a font references for equality. + /// + STDMETHOD_(BOOL, Equals)(IDWriteFont* font) PURE; + + /// + /// Return a font face reference identifying this font. + /// + /// A uniquely identifying reference to a font face. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontFaceReference)( + _COM_Outptr_ IDWriteFontFaceReference** fontFaceReference + ) PURE; + + /// + /// Determines whether the font supports the specified character. + /// + /// Unicode (UCS-4) character value. + /// + /// Returns TRUE if the font has the specified character, FALSE if not. + /// + STDMETHOD_(BOOL, HasCharacter)( + UINT32 unicodeValue + ) PURE; + + using IDWriteFont::HasCharacter; + + /// + /// Gets the current locality of the font. + /// + /// + /// The locality enumeration. For fully local files, the result will always + /// be DWRITE_LOCALITY_LOCAL. A downloadable file may be any of the states, + /// and this function may change between calls. + /// + /// + /// The locality enumeration. + /// + STDMETHOD_(DWRITE_LOCALITY, GetLocality)() PURE; +}; + + +/// +/// The interface that represents an absolute reference to a font face. +/// It contains font face type, appropriate file references and face identification data. +/// Various font data such as metrics, names and glyph outlines is obtained from IDWriteFontFace. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontFace3, "D37D7598-09BE-4222-A236-2081341CC1F2") : IDWriteFontFace2 +{ + /// + /// Return a font face reference identifying this font. + /// + /// A uniquely identifying reference to a font face. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontFaceReference)( + _COM_Outptr_ IDWriteFontFaceReference** fontFaceReference + ) PURE; + + /// + /// Gets the PANOSE values from the font, used for font selection and + /// matching. + /// + /// PANOSE structure to fill in. + /// + /// The function does not simulate these, such as substituting a weight or + /// proportion inferred on other values. If the font does not specify them, + /// they are all set to 'any' (0). + /// + STDMETHOD_(void, GetPanose)( + _Out_ DWRITE_PANOSE* panose + ) PURE; + + /// + /// Gets the weight of the specified font. + /// + STDMETHOD_(DWRITE_FONT_WEIGHT, GetWeight)() PURE; + + /// + /// Gets the stretch (aka. width) of the specified font. + /// + STDMETHOD_(DWRITE_FONT_STRETCH, GetStretch)() PURE; + + /// + /// Gets the style (aka. slope) of the specified font. + /// + STDMETHOD_(DWRITE_FONT_STYLE, GetStyle)() PURE; + + /// + /// Creates an localized strings object that contains the weight-stretch-style family names for the font family, indexed by locale name. + /// + /// Receives a pointer to the newly created localized strings object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFamilyNames)( + _COM_Outptr_ IDWriteLocalizedStrings** names + ) PURE; + + /// + /// Gets a localized strings collection containing the weight-stretch-style face names for the font (e.g., Regular or Bold), indexed by locale name. + /// + /// Receives a pointer to the newly created localized strings object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFaceNames)( + _COM_Outptr_ IDWriteLocalizedStrings** names + ) PURE; + + /// + /// Gets a localized strings collection containing the specified informational strings, indexed by locale name. + /// + /// Identifies the string to get. + /// Receives a pointer to the newly created localized strings object. + /// Receives the value TRUE if the font contains the specified string ID or FALSE if not. + /// + /// Standard HRESULT error code. If the font does not contain the specified string, the return value is S_OK but + /// informationalStrings receives a NULL pointer and exists receives the value FALSE. + /// + STDMETHOD(GetInformationalStrings)( + DWRITE_INFORMATIONAL_STRING_ID informationalStringID, + _COM_Outptr_result_maybenull_ IDWriteLocalizedStrings** informationalStrings, + _Out_ BOOL* exists + ) PURE; + + /// + /// Determines whether the font supports the specified character. + /// + /// Unicode (UCS-4) character value. + /// + /// Returns TRUE if the font has the specified character, FALSE if not. + /// + STDMETHOD_(BOOL, HasCharacter)( + UINT32 unicodeValue + ) PURE; + + /// + /// Determines the recommended text rendering and grid-fit mode to be used based on the + /// font, size, world transform, and measuring mode. + /// + /// Logical font size in DIPs. + /// Number of pixels per logical inch in the horizontal direction. + /// Number of pixels per logical inch in the vertical direction. + /// Specifies the world transform. + /// Specifies the quality of the graphics system's outline rendering, + /// affects the size threshold above which outline rendering is used. + /// Specifies the method used to measure during text layout. For proper + /// glyph spacing, the function returns a rendering mode that is compatible with the specified + /// measuring mode. + /// Rendering parameters object. This parameter is necessary in case the rendering parameters + /// object overrides the rendering mode. + /// Receives the recommended rendering mode. + /// Receives the recommended grid-fit mode. + /// + /// This method should be used to determine the actual rendering mode in cases where the rendering + /// mode of the rendering params object is DWRITE_RENDERING_MODE_DEFAULT, and the actual grid-fit + /// mode when the rendering params object is DWRITE_GRID_FIT_MODE_DEFAULT. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetRecommendedRenderingMode)( + FLOAT fontEmSize, + FLOAT dpiX, + FLOAT dpiY, + _In_opt_ DWRITE_MATRIX const* transform, + BOOL isSideways, + DWRITE_OUTLINE_THRESHOLD outlineThreshold, + DWRITE_MEASURING_MODE measuringMode, + _In_opt_ IDWriteRenderingParams* renderingParams, + _Out_ DWRITE_RENDERING_MODE1* renderingMode, + _Out_ DWRITE_GRID_FIT_MODE* gridFitMode + ) PURE; + + using IDWriteFontFace2::GetRecommendedRenderingMode; + + /// + /// Determines whether the character is locally downloaded from the font. + /// + /// Unicode (UCS-4) character value. + /// + /// Returns TRUE if the font has the specified character locally available, + /// FALSE if not or if the font does not support that character. + /// + STDMETHOD_(BOOL, IsCharacterLocal)( + UINT32 unicodeValue + ) PURE; + + /// + /// Determines whether the glyph is locally downloaded from the font. + /// + /// Glyph identifier. + /// + /// Returns TRUE if the font has the specified glyph locally available. + /// + STDMETHOD_(BOOL, IsGlyphLocal)( + UINT16 glyphId + ) PURE; + + /// + /// Determines whether the specified characters are local. + /// + /// Array of characters. + /// The number of elements in the character array. + /// Specifies whether to enqueue a download request + /// if any of the specified characters are not local. + /// Receives TRUE if all of the specified characters are local, + /// FALSE if any of the specified characters are remote. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(AreCharactersLocal)( + _In_reads_(characterCount) WCHAR const* characters, + UINT32 characterCount, + BOOL enqueueIfNotLocal, + _Out_ BOOL* isLocal + ) PURE; + + /// + /// Determines whether the specified glyphs are local. + /// + /// Array of glyph indices. + /// The number of elements in the glyph index array. + /// Specifies whether to enqueue a download request + /// if any of the specified glyphs are not local. + /// Receives TRUE if all of the specified glyphs are local, + /// FALSE if any of the specified glyphs are remote. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(AreGlyphsLocal)( + _In_reads_(glyphCount) UINT16 const* glyphIndices, + UINT32 glyphCount, + BOOL enqueueIfNotLocal, + _Out_ BOOL* isLocal + ) PURE; +}; + + +/// +/// Represents a collection of strings indexed by number. +/// An IDWriteStringList is otherwise identical to IDWriteLocalizedStrings except +/// for the semantics, where localized strings are indexed on language (each +/// language has one string property) whereas a string list may contain multiple +/// strings of the same language, such as a string list of family names from a +/// font set. You can QueryInterface from an IDWriteLocalizedStrings to an +/// IDWriteStringList. +/// +DWRITE_BEGIN_INTERFACE(IDWriteStringList, "CFEE3140-1157-47CA-8B85-31BFCF3F2D0E") : IUnknown +{ + /// + /// Gets the number of strings. + /// + STDMETHOD_(UINT32, GetCount)() PURE; + + /// + /// Gets the length in characters (not including the null terminator) of the locale name with the specified index. + /// + /// Zero-based index of the locale name. + /// Receives the length in characters, not including the null terminator. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetLocaleNameLength)( + UINT32 listIndex, + _Out_ UINT32* length + ) PURE; + + /// + /// Copies the locale name with the specified index to the specified array. + /// + /// Zero-based index of the locale name. + /// Character array that receives the locale name. + /// Size of the array in characters. The size must include space for the terminating + /// null character. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetLocaleName)( + UINT32 listIndex, + _Out_writes_z_(size) WCHAR* localeName, + UINT32 size + ) PURE; + + /// + /// Gets the length in characters (not including the null terminator) of the string with the specified index. + /// + /// Zero-based index of the string. + /// Receives the length in characters, not including the null terminator. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetStringLength)( + UINT32 listIndex, + _Out_ UINT32* length + ) PURE; + + /// + /// Copies the string with the specified index to the specified array. + /// + /// Zero-based index of the string. + /// Character array that receives the string. + /// Size of the array in characters. The size must include space for the terminating + /// null character. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetString)( + UINT32 listIndex, + _Out_writes_z_(stringBufferSize) WCHAR* stringBuffer, + UINT32 stringBufferSize + ) PURE; +}; + + +/// +/// Application-defined callback interface that receives notifications from the font +/// download queue (IDWriteFontDownloadQueue interface). Callbacks will occur on the +/// downloading thread, and objects must be prepared to handle calls on their methods +/// from other threads at any time. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontDownloadListener, "B06FE5B9-43EC-4393-881B-DBE4DC72FDA7") : IUnknown +{ + /// + /// The DownloadCompleted method is called back on an arbitrary thread when a + /// download operation ends. + /// + /// Pointer to the download queue interface on which + /// the BeginDownload method was called. + /// Optional context object that was passed to BeginDownload. + /// AddRef is called on the context object by BeginDownload and Release is called + /// after the DownloadCompleted method returns. + /// Result of the download operation. + STDMETHOD_(void, DownloadCompleted)( + _In_ IDWriteFontDownloadQueue* downloadQueue, + _In_opt_ IUnknown* context, + HRESULT downloadResult + ) PURE; +}; + + +/// +/// Interface that enqueues download requests for remote fonts, characters, glyphs, and font fragments. +/// Provides methods to asynchronously execute a download, cancel pending downloads, and be notified of +/// download completion. Callbacks to listeners will occur on the downloading thread, and objects must +/// be must be able to handle calls on their methods from other threads at any time. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontDownloadQueue, "B71E6052-5AEA-4FA3-832E-F60D431F7E91") : IUnknown +{ + /// + /// Registers a client-defined listener object that receives download notifications. + /// All registered listener's DownloadCompleted will be called after BeginDownload + /// completes. + /// + /// Listener object to add. + /// Receives a token value, which the caller must subsequently + /// pass to RemoveListener. + /// + /// Standard HRESULT error code. + /// + /// + /// An IDWriteFontDownloadListener can also be passed to BeginDownload via the + /// context parameter, rather than globally registered to the queue. + /// + STDMETHOD(AddListener)( + IDWriteFontDownloadListener* listener, + _Out_ UINT32* token + ) PURE; + + /// + /// Unregisters a notification handler that was previously registered using + /// AddListener. + /// + /// Token value previously returned by AddListener. + /// + /// Returns S_OK if successful or E_INVALIDARG if the specified token does not + /// correspond to a registered listener. + /// + STDMETHOD(RemoveListener)( + UINT32 token + ) PURE; + + /// + /// Determines whether the download queue is empty. Note that the queue does not + /// include requests that are already being downloaded. In other words, BeginDownload + /// clears the queue. + /// + /// + /// TRUE if the queue is empty, FALSE if there are requests pending for BeginDownload. + /// + STDMETHOD_(BOOL, IsEmpty)() PURE; + + /// + /// Begins an asynchronous download operation. The download operation executes + /// in the background until it completes or is cancelled by a CancelDownload call. + /// + /// Optional context object that is passed back to the + /// download notification handler's DownloadCompleted method. If the context object + /// implements IDWriteFontDownloadListener, its DownloadCompleted will be called + /// when done. + /// + /// Returns S_OK if a download was successfully begun, S_FALSE if the queue was + /// empty, or a standard HRESULT error code. + /// + /// + /// BeginDownload removes all download requests from the queue, transferring them + /// to a background download operation. If any previous downloads are still ongoing + /// when BeginDownload is called again, the new download does not complete until + /// the previous downloads have finished. If the queue is empty and no active + /// downloads are pending, the DownloadCompleted callback is called immediately with + /// DWRITE_DOWNLOAD_RESULT_NONE. + /// + STDMETHOD(BeginDownload)( + _In_opt_ IUnknown* context = nullptr + ) PURE; + + /// + /// Removes all download requests from the queue and cancels any active download + /// operations. This calls DownloadCompleted with DWRITE_E_DOWNLOADCANCELLED. + /// Applications should call this when shutting down if they started any + /// downloads that have not finished yet with a call to DownloadCompleted. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CancelDownload)() PURE; + + /// + /// Get the current generation number of the download queue, which is incremented + /// every time after a download completes, whether failed or successful. This cookie + /// comparison value may be used to compared against cached data to know when it is + /// stale. + /// + /// + /// The number of download queue generations. + /// + STDMETHOD_(UINT64, GetGenerationCount)() PURE; +}; + + +/// +/// The GDI interop interface provides interoperability with GDI. +/// +DWRITE_BEGIN_INTERFACE(IDWriteGdiInterop1, "4556BE70-3ABD-4F70-90BE-421780A6F515") : IDWriteGdiInterop +{ + /// + /// Creates a font object that matches the properties specified by the LOGFONT structure. + /// + /// Structure containing a GDI-compatible font description. + /// The font collection to search. If NULL, the local system font collection is used. + /// Receives a newly created font object if successful, or NULL in case of error. + /// + /// Standard HRESULT error code. + /// + /// + /// The only fields that matter include: lfFaceName, lfCharSet, lfWeight, lfItalic. + /// Font size and rendering mode are a rendering time property, not a font property, + /// and text decorations like underline are drawn separately from the text. If no + /// font matches the given weight, slope, and character set, the best match within + /// the given GDI family name will be returned. DWRITE_E_NOFONT is returned if there + /// is no matching font name using either the GDI family name (e.g. Arial) or the + /// full font name (e.g. Arial Bold Italic). + /// + STDMETHOD(CreateFontFromLOGFONT)( + _In_ LOGFONTW const* logFont, + _In_opt_ IDWriteFontCollection* fontCollection, + _COM_Outptr_ IDWriteFont** font + ) PURE; + + /// + /// Reads the font signature from the given font. + /// + /// Font to read font signature from. + /// Font signature from the OS/2 table, ulUnicodeRange and ulCodePageRange. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontSignature)( + _In_ IDWriteFont* font, + _Out_ FONTSIGNATURE* fontSignature + ) PURE; + + /// + /// Reads the font signature from the given font. + /// + /// Font to read font signature from. + /// Font signature from the OS/2 table, ulUnicodeRange and ulCodePageRange. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontSignature)( + _In_ IDWriteFontFace* fontFace, + _Out_ FONTSIGNATURE* fontSignature + ) PURE; + + /// + /// Get a list of matching fonts based on the LOGFONT values. Only fonts + /// of that family name will be returned. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetMatchingFontsByLOGFONT)( + _In_ LOGFONTW const* logFont, + _In_ IDWriteFontSet* fontSet, + _COM_Outptr_ IDWriteFontSet** filteredSet + ) PURE; + + using IDWriteGdiInterop::CreateFontFromLOGFONT; +}; + +/// +/// Information about a formatted line of text. +/// +struct DWRITE_LINE_METRICS1 : DWRITE_LINE_METRICS +{ + /// + /// White space before the content of the line. This is included in the line height and baseline distances. + /// If the line is formatted horizontally either with a uniform line spacing or with proportional + /// line spacing, this value represents the extra space above the content. + /// + FLOAT leadingBefore; + + /// + /// White space after the content of the line. This is included in the height of the line. + /// If the line is formatted horizontally either with a uniform line spacing or with proportional + /// line spacing, this value represents the extra space below the content. + /// + FLOAT leadingAfter; +}; + +/// +/// Specify whether DWRITE_FONT_METRICS::lineGap value should be part of the line metrics. +/// +enum DWRITE_FONT_LINE_GAP_USAGE +{ + /// + /// The usage of the font line gap depends on the method used for text layout. + /// + DWRITE_FONT_LINE_GAP_USAGE_DEFAULT, + + /// + /// The font line gap is excluded from line spacing + /// + DWRITE_FONT_LINE_GAP_USAGE_DISABLED, + + /// + /// The font line gap is included in line spacing + /// + DWRITE_FONT_LINE_GAP_USAGE_ENABLED +}; + +/// +/// The DWRITE_LINE_SPACING structure specifies the parameters used to specify how to manage space between lines. +/// +struct DWRITE_LINE_SPACING +{ + /// + /// Method used to determine line spacing. + /// + DWRITE_LINE_SPACING_METHOD method; + + /// + /// Spacing between lines. + /// The interpretation of this parameter depends upon the line spacing method, as follows: + /// - default line spacing: ignored + /// - uniform line spacing: explicit distance in DIPs between lines + /// - proportional line spacing: a scaling factor to be applied to the computed line height; + /// for each line, the height of the line is computed as for default line spacing, and the scaling factor is applied to that value. + /// + FLOAT height; + + /// + /// Distance from top of line to baseline. + /// The interpretation of this parameter depends upon the line spacing method, as follows: + /// - default line spacing: ignored + /// - uniform line spacing: explicit distance in DIPs from the top of the line to the baseline + /// - proportional line spacing: a scaling factor applied to the computed baseline; for each line, + /// the baseline distance is computed as for default line spacing, and the scaling factor is applied to that value. + /// + FLOAT baseline; + + /// + /// Proportion of the entire leading distributed before the line. The allowed value is between 0 and 1.0. The remaining + /// leading is distributed after the line. It is ignored for the default and uniform line spacing methods. + /// The leading that is available to distribute before or after the line depends on the values of the height and + /// baseline parameters. + /// + FLOAT leadingBefore; + + /// + /// Specify whether DWRITE_FONT_METRICS::lineGap value should be part of the line metrics. + /// + DWRITE_FONT_LINE_GAP_USAGE fontLineGapUsage; +}; + +DWRITE_BEGIN_INTERFACE(IDWriteTextFormat2, "F67E0EDD-9E3D-4ECC-8C32-4183253DFE70") : IDWriteTextFormat1 +{ + /// + /// Set line spacing. + /// + /// How to manage space between lines. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetLineSpacing)(_In_ DWRITE_LINE_SPACING const* lineSpacingOptions) PURE; + + /// + /// Get line spacing. + /// + /// How to manage space between lines. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetLineSpacing)(_Out_ DWRITE_LINE_SPACING* lineSpacingOptions) PURE; + + using IDWriteTextFormat1::SetLineSpacing; + using IDWriteTextFormat1::GetLineSpacing; +}; + +DWRITE_BEGIN_INTERFACE(IDWriteTextLayout3, "07DDCD52-020E-4DE8-AC33-6C953D83F92D") : IDWriteTextLayout2 +{ + /// + /// Invalidates the layout, forcing layout to remeasure before calling the + /// metrics or drawing functions. This is useful if the locality of a font + /// changes, and layout should be redrawn, or if the size of a client + /// implemented IDWriteInlineObject changes. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(InvalidateLayout)() PURE; + + /// + /// Set line spacing. + /// + /// How to manage space between lines. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetLineSpacing)(_In_ DWRITE_LINE_SPACING const* lineSpacingOptions) PURE; + + /// + /// Get line spacing. + /// + /// How to manage space between lines. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetLineSpacing)(_Out_ DWRITE_LINE_SPACING* lineSpacingOptions) PURE; + + /// + /// GetLineMetrics returns properties of each line. + /// + /// The array to fill with line information. + /// The maximum size of the lineMetrics array. + /// The actual size of the lineMetrics + /// array that is needed. + /// + /// Standard HRESULT error code. + /// + /// + /// If maxLineCount is not large enough E_NOT_SUFFICIENT_BUFFER, + /// which is equivalent to HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER), + /// is returned and *actualLineCount is set to the number of lines + /// needed. + /// + STDMETHOD(GetLineMetrics)( + _Out_writes_to_opt_(maxLineCount, *actualLineCount) DWRITE_LINE_METRICS1* lineMetrics, + UINT32 maxLineCount, + _Out_ UINT32* actualLineCount + ) PURE; + + using IDWriteTextLayout2::SetLineSpacing; + using IDWriteTextLayout2::GetLineSpacing; + using IDWriteTextLayout2::GetLineMetrics; +}; + + +//////////////////////////////////////////////////////////////////////////////////////////////////// + + +#if DWRITE_CORE || NTDDI_VERSION >= /*NTDDI_WIN10_RS1*/0x0A000002 + +/// +/// Represents a color glyph run. The IDWriteFactory4::TranslateColorGlyphRun +/// method returns an ordered collection of color glyph runs of varying types +/// depending on what the font supports. +/// +/// +/// For runs without any specific color, such as PNG data, the runColor field will be zero. +/// +struct DWRITE_COLOR_GLYPH_RUN1 : DWRITE_COLOR_GLYPH_RUN +{ + /// + /// Type of glyph image format for this color run. Exactly one type will be set since + /// TranslateColorGlyphRun has already broken down the run into separate parts. + /// + DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat; + + /// + /// Measuring mode to use for this glyph run. + /// + DWRITE_MEASURING_MODE measuringMode; +}; + + +/// +/// Data for a single glyph from GetGlyphImageData. +/// +struct DWRITE_GLYPH_IMAGE_DATA +{ + /// + /// Pointer to the glyph data, be it SVG, PNG, JPEG, TIFF. + /// + _Field_size_bytes_(imageDataSize) void const* imageData; + + /// + /// Size of glyph data in bytes. + /// + UINT32 imageDataSize; + + /// + /// Unique identifier for the glyph data. Clients may use this to cache a parsed/decompressed + /// version and tell whether a repeated call to the same font returns the same data. + /// + UINT32 uniqueDataId; + + /// + /// Pixels per em of the returned data. For non-scalable raster data (PNG/TIFF/JPG), this can be larger + /// or smaller than requested from GetGlyphImageData when there isn't an exact match. + /// For scaling intermediate sizes, use: desired pixels per em * font em size / actual pixels per em. + /// + UINT32 pixelsPerEm; + + /// + /// Size of image when the format is pixel data. + /// + D2D1_SIZE_U pixelSize; + + /// + /// Left origin along the horizontal Roman baseline. + /// + D2D1_POINT_2L horizontalLeftOrigin; + + /// + /// Right origin along the horizontal Roman baseline. + /// + D2D1_POINT_2L horizontalRightOrigin; + + /// + /// Top origin along the vertical central baseline. + /// + D2D1_POINT_2L verticalTopOrigin; + + /// + /// Bottom origin along vertical central baseline. + /// + D2D1_POINT_2L verticalBottomOrigin; +}; + + +/// +/// Enumerator for an ordered collection of color glyph runs. +/// +DWRITE_BEGIN_INTERFACE(IDWriteColorGlyphRunEnumerator1, "7C5F86DA-C7A1-4F05-B8E1-55A179FE5A35") : IDWriteColorGlyphRunEnumerator +{ + /// + /// Gets the current color glyph run. + /// + /// Receives a pointer to the color + /// glyph run. The pointer remains valid until the next call to + /// MoveNext or until the interface is released. + /// + /// Standard HRESULT error code. An error is returned if there is + /// no current glyph run, i.e., if MoveNext has not yet been called + /// or if the end of the sequence has been reached. + /// + STDMETHOD(GetCurrentRun)( + _Outptr_ DWRITE_COLOR_GLYPH_RUN1 const** colorGlyphRun + ) PURE; + + using IDWriteColorGlyphRunEnumerator::GetCurrentRun; +}; + + +/// +/// The interface that represents an absolute reference to a font face. +/// It contains font face type, appropriate file references and face identification data. +/// Various font data such as metrics, names and glyph outlines is obtained from IDWriteFontFace. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontFace4, "27F2A904-4EB8-441D-9678-0563F53E3E2F") : IDWriteFontFace3 +{ + /// + /// Gets all the glyph image formats supported by the entire font (SVG, PNG, JPEG, ...). + /// + STDMETHOD_(DWRITE_GLYPH_IMAGE_FORMATS, GetGlyphImageFormats)() PURE; + + /// + /// Gets the available image formats of a specific glyph and ppem. Glyphs often have at least TrueType + /// or CFF outlines, but they may also have SVG outlines, or they may have only bitmaps + /// with no TrueType/CFF outlines. Some image formats, notably the PNG/JPEG ones, are size + /// specific and will return no match when there isn't an entry in that size range. + /// + /// + /// Glyph ids beyond the glyph count return DWRITE_GLYPH_IMAGE_FORMATS_NONE. + /// + STDMETHOD(GetGlyphImageFormats)( + UINT16 glyphId, + UINT32 pixelsPerEmFirst, + UINT32 pixelsPerEmLast, + _Out_ DWRITE_GLYPH_IMAGE_FORMATS* glyphImageFormats + ) PURE; + + /// + /// Gets a pointer to the glyph data based on the desired image format. + /// + /// + /// The glyphDataContext must be released via ReleaseGlyphImageData when done if the data is not empty, + /// similar to IDWriteFontFileStream::ReadFileFragment and IDWriteFontFileStream::ReleaseFileFragment. + /// The data pointer is valid so long as the IDWriteFontFace exists and ReleaseGlyphImageData has not + /// been called. + /// + /// + /// The DWRITE_GLYPH_IMAGE_DATA::uniqueDataId is valuable for caching purposes so that if the same + /// resource is returned more than once, an existing resource can be quickly retrieved rather than + /// needing to reparse or decompress the data. + /// + /// + /// The function only returns SVG or raster data - requesting TrueType/CFF/COLR data returns + /// DWRITE_E_INVALIDARG. Those must be drawn via DrawGlyphRun or queried using GetGlyphOutline instead. + /// Exactly one format may be requested or else the function returns DWRITE_E_INVALIDARG. + /// If the glyph does not have that format, the call is not an error, but the function returns empty data. + /// + STDMETHOD(GetGlyphImageData)( + _In_ UINT16 glyphId, + UINT32 pixelsPerEm, + DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat, + _Out_ DWRITE_GLYPH_IMAGE_DATA* glyphData, + _Outptr_result_maybenull_ void** glyphDataContext + ) PURE; + + /// + /// Releases the table data obtained earlier from ReadGlyphData. + /// + /// Opaque context from ReadGlyphData. + STDMETHOD_(void, ReleaseGlyphImageData)( + void* glyphDataContext + ) PURE; +}; + + +DWRITE_BEGIN_INTERFACE(IDWriteFactory4, "4B0B5BD3-0797-4549-8AC5-FE915CC53856") : IDWriteFactory3 +{ + /// + /// Translates a glyph run to a sequence of color glyph runs, which can be + /// rendered to produce a color representation of the original "base" run. + /// + /// Horizontal and vertical origin of the base glyph run in + /// pre-transform coordinates. + /// Pointer to the original "base" glyph run. + /// Optional glyph run description. + /// Which data formats TranslateColorGlyphRun + /// should split the runs into. + /// Measuring mode, needed to compute the origins + /// of each glyph. + /// Matrix converting from the client's + /// coordinate space to device coordinates (pixels), i.e., the world transform + /// multiplied by any DPI scaling. + /// Zero-based index of the color palette to use. + /// Valid indices are less than the number of palettes in the font, as returned + /// by IDWriteFontFace2::GetColorPaletteCount. + /// If the function succeeds, receives a pointer + /// to an enumerator object that can be used to obtain the color glyph runs. + /// If the base run has no color glyphs, then the output pointer is NULL + /// and the method returns DWRITE_E_NOCOLOR. + /// + /// Returns DWRITE_E_NOCOLOR if the font has no color information, the glyph run + /// does not contain any color glyphs, or the specified color palette index + /// is out of range. In this case, the client should render the original glyph + /// run. Otherwise, returns a standard HRESULT error code. + /// + /// + /// The old IDWriteFactory2::TranslateColorGlyphRun is equivalent to passing + /// DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE|CFF|COLR. + /// + STDMETHOD(TranslateColorGlyphRun)( + D2D1_POINT_2F baselineOrigin, + _In_ DWRITE_GLYPH_RUN const* glyphRun, + _In_opt_ DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription, + DWRITE_GLYPH_IMAGE_FORMATS desiredGlyphImageFormats, + DWRITE_MEASURING_MODE measuringMode, + _In_opt_ DWRITE_MATRIX const* worldAndDpiTransform, + UINT32 colorPaletteIndex, + _COM_Outptr_ IDWriteColorGlyphRunEnumerator1** colorLayers + ) PURE; + + using IDWriteFactory2::TranslateColorGlyphRun; + + /// + /// Converts glyph run placements to glyph origins. + /// + /// + /// Standard HRESULT error code. + /// + /// + /// The transform and DPI have no affect on the origin scaling. + /// They are solely used to compute glyph advances when not supplied + /// and align glyphs in pixel aligned measuring modes. + /// + STDMETHOD(ComputeGlyphOrigins)( + DWRITE_GLYPH_RUN const* glyphRun, + DWRITE_MEASURING_MODE measuringMode, + D2D1_POINT_2F baselineOrigin, + _In_opt_ DWRITE_MATRIX const* worldAndDpiTransform, + _Out_writes_(glyphRun->glyphCount) D2D1_POINT_2F* glyphOrigins + ) PURE; + + /// + /// Converts glyph run placements to glyph origins. This overload is for natural metrics, which + /// includes SVG, TrueType natural modes, and bitmap placement. + /// + STDMETHOD(ComputeGlyphOrigins)( + DWRITE_GLYPH_RUN const* glyphRun, + D2D1_POINT_2F baselineOrigin, + _Out_writes_(glyphRun->glyphCount) D2D1_POINT_2F* glyphOrigins + ) PURE; +}; + +#endif // DWRITE_CORE || NTDDI_VERSION >= NTDDI_WIN10_RS1 + + +//////////////////////////////////////////////////////////////////////////////////////////////////// + + +#if DWRITE_CORE || NTDDI_VERSION >= /*NTDDI_WIN10_RS2*/0x0A000003 + +DWRITE_BEGIN_INTERFACE(IDWriteFontSetBuilder1, "3FF7715F-3CDC-4DC6-9B72-EC5621DCCAFD") : IDWriteFontSetBuilder +{ + /// + /// Adds references to all the fonts in the specified font file. The method + /// parses the font file to determine the fonts and their properties. + /// + /// Font file reference object to add to the set. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(AddFontFile)( + _In_ IDWriteFontFile* fontFile + ) PURE; +}; + +/// +/// The IDWriteAsyncResult interface represents the result of an asynchronous +/// operation. A client can use the interface to wait for the operation to +/// complete and to get the result. +/// +DWRITE_BEGIN_INTERFACE(IDWriteAsyncResult, "CE25F8FD-863B-4D13-9651-C1F88DC73FE2") : IUnknown +{ + /// + /// The GetWaitHandleMethod method returns a handle that can be used to wait + /// for the asynchronous operation to complete. The handle remains valid + /// until the interface is released. + /// + STDMETHOD_(HANDLE, GetWaitHandle)() PURE; + + /// + /// The GetResult method returns the result of the asynchronous operation. + /// The return value is E_PENDING if the operation has not yet completed. + /// + STDMETHOD(GetResult)() PURE; +}; + + +/// +/// DWRITE_FILE_FRAGMENT represents a range of bytes in a font file. +/// +struct DWRITE_FILE_FRAGMENT +{ + /// + /// Starting offset of the fragment from the beginning of the file. + /// + UINT64 fileOffset; + + /// + /// Size of the file fragment, in bytes. + /// + UINT64 fragmentSize; +}; + + +/// +/// IDWriteRemoteFontFileStream represents a font file stream parts of which may be +/// non-local. Non-local data must be downloaded before it can be accessed using +/// ReadFragment. The interface exposes methods to download font data and query the +/// locality of font data. +/// +/// +/// For more information, see the description of IDWriteRemoteFontFileLoader. +/// +DWRITE_BEGIN_INTERFACE(IDWriteRemoteFontFileStream, "4DB3757A-2C72-4ED9-B2B6-1ABABE1AFF9C") : IDWriteFontFileStream +{ + /// + /// GetLocalFileSize returns the number of bytes of the font file that are + /// currently local, which should always be less than or equal to the full + /// file size returned by GetFileSize. If the locality is remote, the return + /// value is zero. If the file is fully local, the return value must be the + /// same as GetFileSize. + /// + /// Receives the local size of the file. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetLocalFileSize)( + _Out_ UINT64* localFileSize + ) PURE; + + /// + /// GetFileFragmentLocality returns information about the locality of a byte range (i.e., + /// font fragment) within the font file stream. + /// + /// Offset of the fragment from the beginning of the font file. + /// Size of the fragment in bytes. + /// Receives TRUE if the first byte of the fragment is local, FALSE if not. + /// Receives the number of contiguous bytes from the start of the + /// fragment that have the same locality as the first byte. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFileFragmentLocality)( + UINT64 fileOffset, + UINT64 fragmentSize, + _Out_ BOOL* isLocal, + _Out_range_(0, fragmentSize) UINT64* partialSize + ) PURE; + + /// + /// Gets the current locality of the file. + /// + /// + /// Returns the locality enumeration (i.e., remote, partial, or local). + /// + STDMETHOD_(DWRITE_LOCALITY, GetLocality)() PURE; + + /// + /// BeginDownload begins downloading all or part of the font file. + /// + /// Unique identifier of a download + /// operation. + /// Array of structures, each specifying a byte + /// range to download. + /// Number of elements in the fileFragments array. + /// This can be zero to just download file information, such as the size. + /// Receives an object that can be used to wait for + /// the asynchronous download to complete and to get the download result upon + /// completion. The result may be NULL if the download completes synchronously. + /// For example, this can happen if method determines that the requested data + /// is already local. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(BeginDownload)( + _In_ UUID const* downloadOperationID, + _In_reads_(fragmentCount) DWRITE_FILE_FRAGMENT const* fileFragments, + UINT32 fragmentCount, + _COM_Outptr_result_maybenull_ IDWriteAsyncResult** asyncResult + ) PURE; +}; + + +/// +/// Specifies the container format of a font resource. A container format is distinct from +/// a font file format (DWRITE_FONT_FILE_TYPE) because the container describes the container +/// in which the underlying font file is packaged. +/// +enum DWRITE_CONTAINER_TYPE +{ + DWRITE_CONTAINER_TYPE_UNKNOWN, + DWRITE_CONTAINER_TYPE_WOFF, + DWRITE_CONTAINER_TYPE_WOFF2 +}; + + +/// +/// The IDWriteRemoteFontFileLoader interface represents a font file loader that can access +/// remote (i.e., downloadable) fonts. The IDWriteFactory5::CreateHttpFontFileLoader method +/// returns an instance of this interface, or a client can create its own implementation. +/// +/// +/// Calls to a remote file loader or stream should never block waiting for network operations. +/// Any call that cannot succeeded immediately using local (e.g., cached) must should return +/// DWRITE_E_REMOTEFONT. This error signifies to DWrite that it should add requests to the +/// font download queue. +/// +DWRITE_BEGIN_INTERFACE(IDWriteRemoteFontFileLoader, "68648C83-6EDE-46C0-AB46-20083A887FDE") : IDWriteFontFileLoader +{ + /// + /// Creates a remote font file stream object that encapsulates an open file resource + /// and can be used to download remote file data. + /// + /// Font file reference key that uniquely identifies the font file resource + /// within the scope of the font loader being used. + /// Size of font file reference key in bytes. + /// Pointer to the newly created font file stream. + /// + /// Standard HRESULT error code. + /// + /// + /// Unlike CreateStreamFromKey, this method can be used to create a stream for a remote file. If the file is + /// remote, the returned stream's BeginDownload method can be used to download all or part of the font file. + /// However, the stream cannot be used to get the file size or access font data unless the file is at least + /// partially local. + /// + STDMETHOD(CreateRemoteStreamFromKey)( + _In_reads_bytes_(fontFileReferenceKeySize) void const* fontFileReferenceKey, + UINT32 fontFileReferenceKeySize, + _COM_Outptr_ IDWriteRemoteFontFileStream** fontFileStream + ) PURE; + + /// + /// Gets the locality of the file resource identified by the unique key. + /// + /// Font file reference key that uniquely identifies the font file resource + /// within the scope of the font loader being used. + /// Size of font file reference key in bytes. + /// Locality of the file. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetLocalityFromKey)( + _In_reads_bytes_(fontFileReferenceKeySize) void const* fontFileReferenceKey, + UINT32 fontFileReferenceKeySize, + _Out_ DWRITE_LOCALITY* locality + ) PURE; + + /// + /// Creates a font file reference from a URL if the loader supports this capability. + /// + /// Factory used to create the font file reference. + /// Optional base URL. The base URL is used to resolve the fontFileUrl + /// if it is relative. For example, the baseUrl might be the URL of the referring document + /// that contained the fontFileUrl. + /// URL of the font resource. + /// Receives a pointer to the newly created font file reference. + /// + /// Standard HRESULT error code, or E_NOTIMPL if the loader does not implement this method. + /// + STDMETHOD(CreateFontFileReferenceFromUrl)( + IDWriteFactory* factory, + _In_opt_z_ WCHAR const* baseUrl, + _In_z_ WCHAR const* fontFileUrl, + _COM_Outptr_ IDWriteFontFile** fontFile + ) PURE; +}; + + +/// +/// The IDWriteInMemoryFontFileLoader interface enables clients to reference +/// in-memory fonts without having to implement a custom loader. The +/// IDWriteFactory5::CreateInMemoryFontFileLoader method returns an instance +/// of this interface, which the client is responsible for registering and +/// unregistering using IDWriteFactory::RegisterFontFileLoader and +/// IDWriteFactory::UnregisterFontFileLoader. +/// +DWRITE_BEGIN_INTERFACE(IDWriteInMemoryFontFileLoader, "DC102F47-A12D-4B1C-822D-9E117E33043F") : IDWriteFontFileLoader +{ + /// + /// The CreateInMemoryFontFileReference method creates a font file reference + /// (IDWriteFontFile object) from an array of bytes. The font file reference + /// is bound to the IDWriteInMemoryFontFileLoader instance with which it was + /// created and remains valid for as long as that loader is registered with + /// the factory. + /// + /// Factory object used to create the font file reference. + /// Pointer to a memory block containing the font data. + /// Size of the font data. + /// Optional object that owns the memory specified by + /// the fontData parameter. If this parameter is not NULL, the method stores a + /// pointer to the font data and adds a reference to the owner object. The + /// fontData pointer must remain valid until the owner object is released. If + /// this parameter is NULL, the method makes a copy of the font data. + /// Receives a pointer to the newly-created font file + /// reference. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateInMemoryFontFileReference)( + IDWriteFactory* factory, + _In_reads_bytes_(fontDataSize) void const* fontData, + UINT32 fontDataSize, + _In_opt_ IUnknown* ownerObject, + _COM_Outptr_ IDWriteFontFile** fontFile + ) PURE; + + /// + /// The GetFileCount method returns the number of font file references that + /// have been created using this loader instance. + /// + STDMETHOD_(UINT32, GetFileCount)() PURE; +}; + + +/// +/// The root factory interface for all DWrite objects. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFactory5, "958DB99A-BE2A-4F09-AF7D-65189803D1D3") : IDWriteFactory4 +{ + /// + /// Creates an empty font set builder to add font face references + /// and create a custom font set. + /// + /// Receives a pointer to the newly created font set builder object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontSetBuilder)( + _COM_Outptr_ IDWriteFontSetBuilder1** fontSetBuilder + ) PURE; + + using IDWriteFactory3::CreateFontSetBuilder; + + /// + /// The CreateInMemoryFontFileLoader method creates a loader object that can + /// be used to create font file references to in-memory fonts. The caller is + /// responsible for registering and unregistering the loader. + /// + /// Receives a pointer to the newly-created loader object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateInMemoryFontFileLoader)( + _COM_Outptr_ IDWriteInMemoryFontFileLoader** newLoader + ) PURE; + + /// + /// The CreateHttpFontFileLoader function creates a remote font file loader + /// that can create font file references from HTTP or HTTPS URLs. The caller + /// is responsible for registering and unregistering the loader. + /// + /// Optional referrer URL for HTTP requests. + /// Optional additional header fields to include + /// in HTTP requests. Each header field consists of a name followed by a colon + /// (":") and the field value, as specified by RFC 2616. Multiple header fields + /// may be separated by newlines. + /// Receives a pointer to the newly-created loader object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateHttpFontFileLoader)( + _In_opt_z_ WCHAR const* referrerUrl, + _In_opt_z_ WCHAR const* extraHeaders, + _COM_Outptr_ IDWriteRemoteFontFileLoader** newLoader + ) PURE; + + /// + /// The AnalyzeContainerType method analyzes the specified file data to determine + /// whether it is a known font container format (e.g., WOFF or WOFF2). + /// + /// + /// Returns the container type if recognized. DWRITE_CONTAINER_TYPE_UNKOWNN is + /// returned for all other files, including uncompressed font files. + /// + STDMETHOD_(DWRITE_CONTAINER_TYPE, AnalyzeContainerType)( + _In_reads_bytes_(fileDataSize) void const* fileData, + UINT32 fileDataSize + ) PURE; + + /// + /// The UnpackFontFile method unpacks font data from a container file (WOFF or + /// WOFF2) and returns the unpacked font data in the form of a font file stream. + /// + /// Container type returned by AnalyzeContainerType. + /// Pointer to the compressed data. + /// Size of the compressed data, in bytes. + /// Receives a pointer to a newly created font + /// file stream containing the uncompressed data. + /// + /// Standard HRESULT error code. The return value is E_INVALIDARG if the container + /// type is DWRITE_CONTAINER_TYPE_UNKNOWN. + /// + STDMETHOD(UnpackFontFile)( + DWRITE_CONTAINER_TYPE containerType, + _In_reads_bytes_(fileDataSize) void const* fileData, + UINT32 fileDataSize, + _COM_Outptr_ IDWriteFontFileStream** unpackedFontStream + ) PURE; +}; + +#endif // DWRITE_CORE || NTDDI_VERSION >= NTDDI_WIN10_RS2 + + +//////////////////////////////////////////////////////////////////////////////////////////////////// + + +#if DWRITE_CORE || NTDDI_VERSION >= /*NTDDI_WIN10_RS3*/0x0A000004 + + +interface IDWriteFontResource; +interface IDWriteFontFace5; +interface IDWriteFontFaceReference1; +interface IDWriteFontSet1; +interface IDWriteFontCollection2; +interface IDWriteTextFormat3; +interface IDWriteFontSetBuilder2; + + +/// +/// Creates an OpenType tag for a font axis. +/// +#define DWRITE_MAKE_FONT_AXIS_TAG(a,b,c,d) (static_cast(DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d))) + + +/// +/// Four character identifier for a font axis. +/// +/// +/// Use DWRITE_MAKE_FONT_AXIS_TAG() to create a custom one. +/// +enum DWRITE_FONT_AXIS_TAG : UINT32 +{ + DWRITE_FONT_AXIS_TAG_WEIGHT = DWRITE_MAKE_FONT_AXIS_TAG('w','g','h','t'), + DWRITE_FONT_AXIS_TAG_WIDTH = DWRITE_MAKE_FONT_AXIS_TAG('w','d','t','h'), + DWRITE_FONT_AXIS_TAG_SLANT = DWRITE_MAKE_FONT_AXIS_TAG('s','l','n','t'), + DWRITE_FONT_AXIS_TAG_OPTICAL_SIZE = DWRITE_MAKE_FONT_AXIS_TAG('o','p','s','z'), + DWRITE_FONT_AXIS_TAG_ITALIC = DWRITE_MAKE_FONT_AXIS_TAG('i','t','a','l'), +}; + +#define DWRITE_STANDARD_FONT_AXIS_COUNT 5 + +/// +/// Value for a font axis, used when querying and creating font instances. +/// +struct DWRITE_FONT_AXIS_VALUE +{ + /// + /// Four character identifier of the font axis (weight, width, slant, italic...). + /// + DWRITE_FONT_AXIS_TAG axisTag; + + /// + /// Value for the given axis, with the meaning and range depending on the axis semantics. + /// Certain well known axes have standard ranges and defaults, such as weight (1..1000, default=400), + /// width (>0, default=100), slant (-90..90, default=-20), and italic (0 or 1). + /// + FLOAT value; +}; + + +/// +/// Minimum and maximum range of a font axis. +/// +struct DWRITE_FONT_AXIS_RANGE +{ + /// + /// Four character identifier of the font axis (weight, width, slant, italic...). + /// + DWRITE_FONT_AXIS_TAG axisTag; + + /// + /// Minimum value supported by this axis. + /// + FLOAT minValue; + + /// + /// Maximum value supported by this axis. The maximum can equal the minimum. + /// + FLOAT maxValue; +}; + + +/// +/// How font families are grouped together, used by IDWriteFontCollection. +/// +enum DWRITE_FONT_FAMILY_MODEL +{ + /// + /// Families are grouped by the typographic family name preferred by the font author. The family can contain as + /// many face as the font author wants. + /// This corresponds to the DWRITE_FONT_PROPERTY_ID_TYPOGRAPHIC_FAMILY_NAME. + /// + DWRITE_FONT_FAMILY_MODEL_TYPOGRAPHIC, + + /// + /// Families are grouped by the weight-stretch-style family name, where all faces that differ only by those three + /// axes are grouped into the same family, but any other axes go into a distinct family. For example, the Sitka + /// family with six different optical sizes yields six separate families (Sitka Caption, Display, Text, Subheading, + /// Heading, Banner...). This corresponds to the DWRITE_FONT_PROPERTY_ID_WEIGHT_STRETCH_STYLE_FAMILY_NAME. + /// + DWRITE_FONT_FAMILY_MODEL_WEIGHT_STRETCH_STYLE, +}; + + +/// +/// Apply certain axes automatically in layout during font selection. +/// +enum DWRITE_AUTOMATIC_FONT_AXES +{ + /// + /// No axes are automatically applied. + /// + DWRITE_AUTOMATIC_FONT_AXES_NONE = 0x0000, + + /// + /// Automatically pick an appropriate optical value based on the font size (via SetFontSize) when no value is + /// specified via DWRITE_FONT_AXIS_TAG_OPTICAL_SIZE. Callers can still explicitly apply the 'opsz' value over + /// text ranges via SetFontAxisValues, which take priority. + /// + DWRITE_AUTOMATIC_FONT_AXES_OPTICAL_SIZE = 0x0001, +}; + +#ifdef DEFINE_ENUM_FLAG_OPERATORS +DEFINE_ENUM_FLAG_OPERATORS(DWRITE_AUTOMATIC_FONT_AXES) +#endif + + +/// +/// Attributes for a font axis. +/// +enum DWRITE_FONT_AXIS_ATTRIBUTES +{ + /// + /// No attributes. + /// + DWRITE_FONT_AXIS_ATTRIBUTES_NONE = 0x0000, + + /// + /// This axis is implemented as a variation axis in a variable font, with a continuous range of + /// values, such as a range of weights from 100..900. Otherwise it is either a static axis that + /// holds a single point, or it has a range but doesn't vary, such as optical size in the Skia + /// Heading font which covers a range of points but doesn't interpolate any new glyph outlines. + /// + DWRITE_FONT_AXIS_ATTRIBUTES_VARIABLE = 0x0001, + + /// + /// This axis is recommended to be remain hidden in user interfaces. The font developer may + /// recommend this if an axis is intended to be accessed only programmatically, or is meant for + /// font-internal or font-developer use only. The axis may be exposed in lower-level font + /// inspection utilities, but should not be exposed in common or even advanced-mode user + /// interfaces in content-authoring apps. + /// + DWRITE_FONT_AXIS_ATTRIBUTES_HIDDEN = 0x0002, +}; + +#ifdef DEFINE_ENUM_FLAG_OPERATORS +DEFINE_ENUM_FLAG_OPERATORS(DWRITE_FONT_AXIS_ATTRIBUTES) +#endif + + +DWRITE_BEGIN_INTERFACE(IDWriteFactory6, "F3744D80-21F7-42EB-B35D-995BC72FC223") : IDWriteFactory5 +{ + /// + /// Creates a reference to a specific font instance within a file. + /// + /// User provided font file representing the font face. + /// The zero based index of a font face in cases when the font files contain a collection of font faces. + /// If the font files contain a single face, this value should be zero. + /// Font face simulation flags for algorithmic emboldening and italicization. + /// List of font axis values. + /// Number of font axis values. + /// Receives a pointer to the newly created font face reference object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontFaceReference)( + _In_ IDWriteFontFile* fontFile, + UINT32 faceIndex, + DWRITE_FONT_SIMULATIONS fontSimulations, + _In_reads_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE const* fontAxisValues, + UINT32 fontAxisValueCount, + _COM_Outptr_ IDWriteFontFaceReference1** fontFaceReference + ) PURE; + + using IDWriteFactory5::CreateFontFaceReference; + + /// + /// Creates a font resource given a font file and face index. + /// + /// User provided font file representing the font face. + /// The zero based index of a font face in cases when the font files contain a collection of font faces. + /// If the font files contain a single face, this value should be zero. + /// Receives a pointer to the newly created font resource object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontResource)( + _In_ IDWriteFontFile* fontFile, + UINT32 faceIndex, + _COM_Outptr_ IDWriteFontResource** fontResource + ) PURE; + + /// + /// Retrieves the set of system fonts. + /// + /// Include downloadable fonts or only locally installed ones. + /// Receives a pointer to the font set object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetSystemFontSet)( + BOOL includeDownloadableFonts, + _COM_Outptr_ IDWriteFontSet1** fontSet + ) PURE; + + using IDWriteFactory3::GetSystemFontSet; + + /// + /// Retrieves a collection of fonts grouped into families. + /// + /// Include downloadable fonts or only locally installed ones. + /// How to group families in the collection. + /// Receives a pointer to the font collection object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetSystemFontCollection)( + BOOL includeDownloadableFonts, + DWRITE_FONT_FAMILY_MODEL fontFamilyModel, + _COM_Outptr_ IDWriteFontCollection2** fontCollection + ) PURE; + + using IDWriteFactory3::GetSystemFontCollection; + + /// + /// Create a collection of fonts grouped into families from a font set. + /// + /// A set of fonts to use to build the collection. + /// How to group families in the collection. + /// Receives a pointer to the newly created font collection object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontCollectionFromFontSet)( + IDWriteFontSet* fontSet, + DWRITE_FONT_FAMILY_MODEL fontFamilyModel, + _COM_Outptr_ IDWriteFontCollection2** fontCollection + ) PURE; + + using IDWriteFactory5::CreateFontCollectionFromFontSet; + + /// + /// Creates an empty font set builder to add font instances and create a custom font set. + /// + /// Receives a pointer to the newly created font set builder object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontSetBuilder)( + _COM_Outptr_ IDWriteFontSetBuilder2** fontSetBuilder + ) PURE; + + using IDWriteFactory3::CreateFontSetBuilder; + using IDWriteFactory5::CreateFontSetBuilder; + + /// + /// Create a text format object used for text layout. + /// + /// Name of the font family from the collection. + /// Font collection, with nullptr indicating the system font collection. + /// List of font axis values. + /// Number of font axis values. + /// Logical size of the font in DIP units. + /// Locale name (e.g. "ja-JP", "en-US", "ar-EG"). + /// Receives a pointer to the newly created text format object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + /// + /// If fontCollection is nullptr, the system font collection is used, grouped by typographic family name + /// (DWRITE_FONT_FAMILY_MODEL_TYPOGRAPHIC) without downloadable fonts. + /// + STDMETHOD(CreateTextFormat)( + _In_z_ WCHAR const* fontFamilyName, + _In_opt_ IDWriteFontCollection* fontCollection, + _In_reads_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE const* fontAxisValues, + UINT32 fontAxisValueCount, + FLOAT fontSize, + _In_z_ WCHAR const* localeName, + _COM_Outptr_ IDWriteTextFormat3** textFormat + ) PURE; + + using IDWriteFactory::CreateTextFormat; +}; + + +DWRITE_BEGIN_INTERFACE(IDWriteFontFace5, "98EFF3A5-B667-479A-B145-E2FA5B9FDC29") : IDWriteFontFace4 +{ + /// + /// Get the number of axes defined by the font. This includes both static and variable axes. + /// + STDMETHOD_(UINT32, GetFontAxisValueCount)() PURE; + + /// + /// Get the list of axis values used by the font. + /// + /// List of font axis values. + /// Maximum number of font axis values to write. + /// + /// Standard HRESULT error code, or E_INVALIDARG if fontAxisValueCount doesn't match GetFontAxisValueCount. + /// + /// + /// The values are returned in the canonical order defined by the font, clamped to the actual range supported, + /// not specifically the same axis value array passed to CreateFontFace. + /// + STDMETHOD(GetFontAxisValues)( + _Out_writes_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE* fontAxisValues, + UINT32 fontAxisValueCount + ) PURE; + + /// + /// Whether this font's resource supports any variable axes. When true, at least one DWRITE_FONT_AXIS_RANGE + /// in the font resource has a non-empty range (maximum > minimum). + /// + STDMETHOD_(BOOL, HasVariations)() PURE; + + /// + /// Get the underlying font resource for this font face. A caller can use that to query information on the resource + /// or recreate a new font face instance with different axis values. + /// + /// Newly created font resource object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontResource)( + _COM_Outptr_ IDWriteFontResource** fontResource + ) PURE; + + /// + /// Compares two instances of a font face for equality. + /// + STDMETHOD_(BOOL, Equals)(IDWriteFontFace* fontFace) PURE; +}; + + +/// +/// Interface to return axis information for a font resource and create specific font face instances. +/// +DWRITE_BEGIN_INTERFACE(IDWriteFontResource, "1F803A76-6871-48E8-987F-B975551C50F2") : IUnknown +{ + /// + /// Get the font file of the resource. + /// + /// Receives a pointer to the font file. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontFile)( + _COM_Outptr_ IDWriteFontFile** fontFile + ) PURE; + + /// + /// Obtains the zero-based index of the font face in its font file. If the font files contain a single face, + /// the return value is zero. + /// + STDMETHOD_(UINT32, GetFontFaceIndex)() PURE; + + /// + /// Get the number of axes supported by the font resource. This includes both static and variable axes. + /// + STDMETHOD_(UINT32, GetFontAxisCount)() PURE; + + /// + /// Get the default values for all axes supported by the font resource. + /// + /// List of font axis values. + /// Maximum number of font axis values to write. + /// + /// Different font resources may have different defaults. + /// For OpenType 1.8 fonts, these values come from the STAT and fvar tables. + /// For older fonts without a STAT table, weight-width-slant-italic are read from the OS/2 table. + /// + /// + /// Standard HRESULT error code, or E_INVALIDARG if fontAxisValueCount doesn't match GetFontAxisCount. + /// + STDMETHOD(GetDefaultFontAxisValues)( + _Out_writes_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE* fontAxisValues, + UINT32 fontAxisValueCount + ) PURE; + + /// + /// Get ranges of each axis. + /// + /// + /// Total number of axis ranges + /// + /// Standard HRESULT error code, or E_INVALIDARG if fontAxisRangeCount doesn't match GetFontAxisCount. + /// + /// + /// Non-varying axes will have empty ranges (minimum==maximum). + /// + STDMETHOD(GetFontAxisRanges)( + _Out_writes_(fontAxisRangeCount) DWRITE_FONT_AXIS_RANGE* fontAxisRanges, + UINT32 fontAxisRangeCount + ) PURE; + + /// + /// Gets attributes about the given axis, such as whether the font author recommends to hide the axis + /// in user interfaces. + /// + /// Font axis, from 0 to GetFontAxisValueCount - 1. + /// Receives the attributes for the given axis. + /// + /// Attributes for a font axis, or NONE if axisIndex is beyond the font count. + /// + STDMETHOD_(DWRITE_FONT_AXIS_ATTRIBUTES, GetFontAxisAttributes)( + UINT32 axisIndex + ) PURE; + + /// + /// Gets the localized names of a font axis. + /// + /// Font axis, from 0 to GetFontAxisCount - 1. + /// Receives a pointer to the newly created localized strings object. + /// + /// The font author may not have supplied names for some font axes. The localized strings + /// will be empty in that case. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetAxisNames)( + UINT32 axisIndex, + _COM_Outptr_ IDWriteLocalizedStrings** names + ) PURE; + + /// + /// Get the number of named values for a specific axis. + /// + /// Font axis, from 0 to GetFontAxisCount - 1. + /// + /// Number of named values. + /// + STDMETHOD_(UINT32, GetAxisValueNameCount)( + UINT32 axisIndex + ) PURE; + + /// + /// Gets the localized names of specific values for a font axis. + /// + /// Font axis, from 0 to GetFontAxisCount - 1. + /// Value index, from 0 to GetAxisValueNameCount - 1. + /// Range of the named value. + /// Receives a pointer to the newly created localized strings object. + /// + /// The font author may not have supplied names for some font axis values. The localized strings + /// will be empty in that case. The range may be a single point, where minimum == maximum. + /// All ranges are in ascending order by axisValueIndex. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetAxisValueNames)( + UINT32 axisIndex, + UINT32 axisValueIndex, + _Out_ DWRITE_FONT_AXIS_RANGE* fontAxisRange, + _COM_Outptr_ IDWriteLocalizedStrings** names + ) PURE; + + /// + /// Whether this font's resource supports any variable axes. When true, at least one DWRITE_FONT_AXIS_RANGE + /// in the font resource has a non-empty range (maximum > minimum). + /// + STDMETHOD_(BOOL, HasVariations)() PURE; + + /// + /// Creates a font face instance with specific axis values. + /// + /// Font face simulation flags for algorithmic emboldening and italicization. + /// List of font axis values. + /// Number of font axis values. + /// Receives a pointer to the newly created font face object, or nullptr on failure. + /// + /// The passed input axis values are permitted to be a subset or superset of all the ones actually supported by + /// the font. Any unspecified axes use their default values, values beyond the ranges are clamped, and any + /// non-varying axes have no effect. + /// + /// + /// Standard HRESULT error code, or DWRITE_E_REMOTEFONT if the face is not local. + /// + STDMETHOD(CreateFontFace)( + DWRITE_FONT_SIMULATIONS fontSimulations, + _In_reads_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE const* fontAxisValues, + UINT32 fontAxisValueCount, + _COM_Outptr_ IDWriteFontFace5** fontFace + ) PURE; + + /// + /// Creates a font face reference with specific axis values. + /// + /// Font face simulation flags for algorithmic emboldening and italicization. + /// List of font axis values. + /// Number of font axis values. + /// Receives a pointer to the newly created font face reference object, or nullptr on failure. + /// + /// The passed input axis values are permitted to be a subset or superset of all the ones actually supported by + /// the font. Any unspecified axes use their default values, values beyond the ranges are clamped, and any + /// non-varying axes have no effect. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(CreateFontFaceReference)( + DWRITE_FONT_SIMULATIONS fontSimulations, + _In_reads_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE const* fontAxisValues, + UINT32 fontAxisValueCount, + _COM_Outptr_ IDWriteFontFaceReference1** fontFaceReference + ) PURE; +}; + + +DWRITE_BEGIN_INTERFACE(IDWriteFontFaceReference1, "C081FE77-2FD1-41AC-A5A3-34983C4BA61A") : IDWriteFontFaceReference +{ + /// + /// Creates a font face from the reference for use with layout, shaping, or rendering. + /// + /// Newly created font face object, or nullptr in the case of failure. + /// + /// Standard HRESULT error code. + /// + /// + /// This function can fail with DWRITE_E_REMOTEFONT if the font is not local. + /// + STDMETHOD(CreateFontFace)( + _COM_Outptr_ IDWriteFontFace5** fontFace + ) PURE; + + using IDWriteFontFaceReference::CreateFontFace; + + /// + /// Get the number of axes specified by the reference. + /// + STDMETHOD_(UINT32, GetFontAxisValueCount)() PURE; + + /// + /// Get the list of font axis values specified by the reference. + /// + /// List of font axis values. + /// Number of font axis values. + /// + /// Standard HRESULT error code, or E_INVALIDARG if fontAxisValueCount doesn't match GetFontAxisValueCount. + /// + STDMETHOD(GetFontAxisValues)( + _Out_writes_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE* fontAxisValues, + UINT32 fontAxisValueCount + ) PURE; +}; + + +DWRITE_BEGIN_INTERFACE(IDWriteFontSetBuilder2, "EE5BA612-B131-463C-8F4F-3189B9401E45") : IDWriteFontSetBuilder1 +{ + /// + /// Adds a font to the set being built, with the caller supplying enough information to search on + /// and determine axis ranges, avoiding the need to open the potentially non-local font. + /// + /// Font file reference object to add to the set. + /// The zero based index of a font face in a collection. + /// Font face simulation flags for algorithmic emboldening and italicization. + /// List of font axis values. + /// Number of font axis values. + /// List of axis ranges. + /// Number of axis ranges. + /// List of properties to associate with the reference. + /// How many properties are defined. + /// + /// Standard HRESULT error code. + /// + /// + /// The font properties should include at least a family (typographic or weight/style/stretch). + /// Otherwise the font would be accessible in the IDWriteFontSet only by index, not name. + /// + STDMETHOD(AddFont)( + _In_ IDWriteFontFile* fontFile, + UINT32 fontFaceIndex, + DWRITE_FONT_SIMULATIONS fontSimulations, + _In_reads_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE const* fontAxisValues, + UINT32 fontAxisValueCount, + _In_reads_(fontAxisRangeCount) DWRITE_FONT_AXIS_RANGE const* fontAxisRanges, + UINT32 fontAxisRangeCount, + _In_reads_(propertyCount) DWRITE_FONT_PROPERTY const* properties, + UINT32 propertyCount + ) PURE; + + /// + /// Adds references to all the fonts in the specified font file. The method + /// parses the font file to determine the fonts and their properties. + /// + /// Absolute file path to add to the font set. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(AddFontFile)( + _In_z_ WCHAR const* filePath + ) PURE; + + using IDWriteFontSetBuilder1::AddFontFile; +}; + + +DWRITE_BEGIN_INTERFACE(IDWriteFontSet1, "7E9FDA85-6C92-4053-BC47-7AE3530DB4D3") : IDWriteFontSet +{ + /// + /// Generates a matching font set based on the requested inputs, ordered so that nearer matches are earlier. + /// + /// Font property of interest, such as typographic family or weight/stretch/style family. + /// List of font axis values. + /// Number of font axis values. + /// Prioritized list of fonts that match the properties, or nullptr on failure. + /// + /// Standard HRESULT error code. + /// + /// + /// This can yield distinct items that were not in the original font set, including items with simulation flags + /// (if they would be a closer match to the request) and instances that were not named by the font author. + /// Items from the same font resources are collapsed into one, the closest possible match. + /// + STDMETHOD(GetMatchingFonts)( + _In_opt_ DWRITE_FONT_PROPERTY const* fontProperty, + _In_reads_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE const* fontAxisValues, + UINT32 fontAxisValueCount, + _COM_Outptr_ IDWriteFontSet1** matchingFonts + ) PURE; + + using IDWriteFontSet::GetMatchingFonts; + + /// + /// Returns a font set that contains only the first occurrence of each font resource in the given set. + /// + /// New font set consisting of single default instances from font resources. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFirstFontResources)( + _COM_Outptr_ IDWriteFontSet1** filteredFontSet + ) PURE; + + /// + /// Returns a subset of fonts filtered by the given properties. + /// + /// List of properties to filter using. + /// How many properties to filter. + /// Select any property rather rather than the intersection of them all. + /// Subset of fonts that match the properties, or nullptr on failure. + /// + /// Standard HRESULT error code. + /// + /// + /// If no fonts matched the filter, the returned subset will be empty (GetFontCount returns 0). + /// The subset will always be equal to or less than the original set. + /// + STDMETHOD(GetFilteredFonts)( + _In_reads_opt_(propertyCount) DWRITE_FONT_PROPERTY const* properties, + UINT32 propertyCount, + BOOL selectAnyProperty, + _COM_Outptr_ IDWriteFontSet1** filteredFontSet + ) PURE; + + /// + /// Returns a subset of fonts filtered by the given ranges, endpoint-inclusive. + /// + /// List of axis ranges. + /// Number of axis ranges. + /// Select any range rather rather than the intersection of them all. + /// Subset of fonts that fall within the ranges, or nullptr on failure. + /// + /// Standard HRESULT error code. + /// + /// + /// If no fonts matched the filter, the subset will be empty (GetFontCount returns 0), but the function does not + /// return an error. The subset will always be equal to or less than the original set. + /// + STDMETHOD(GetFilteredFonts)( + _In_reads_(fontAxisRangeCount) DWRITE_FONT_AXIS_RANGE const* fontAxisRanges, + UINT32 fontAxisRangeCount, + BOOL selectAnyRange, + _COM_Outptr_ IDWriteFontSet1** filteredFontSet + ) PURE; + + /// + /// Returns a subset of fonts filtered by the given indices. + /// + /// Array of indices, each index from [0..GetFontCount() - 1]. + /// Number of indices. + /// Subset of fonts that come from the given indices, or nullptr on failure. + /// + /// Standard HRESULT error code. + /// + /// + /// The indices can come in any order, meaning this function can produce a new set with items removed, duplicated, + /// or reordered from the original. If zero indices were passed, an empty font set is returned. + /// + STDMETHOD(GetFilteredFonts)( + _In_reads_(indexCount) UINT32 const* indices, + UINT32 indexCount, + _COM_Outptr_ IDWriteFontSet1** filteredFontSet + ) PURE; + + /// + /// Get all the item indices filtered by the given properties. + /// + /// List of properties to filter using. + /// How many properties to filter. + /// Select any property rather rather than the intersection of them all. + /// Ascending array of indices [0..GetFontCount() - 1]. + /// Number of indices. + /// Actual number of indices written or needed [0..GetFontCount()-1]. + /// + /// E_NOT_SUFFICIENT_BUFFER if the buffer is too small, with actualIndexCount set to the needed size. + /// The actualIndexCount will always be <= IDwriteFontSet::GetFontCount. + /// + STDMETHOD(GetFilteredFontIndices)( + _In_reads_(propertyCount) DWRITE_FONT_PROPERTY const* properties, + UINT32 propertyCount, + BOOL selectAnyProperty, + _Out_writes_(maxIndexCount) UINT32* indices, + UINT32 maxIndexCount, + _Out_ UINT32* actualIndexCount + ) PURE; + + /// + /// Get all the item indices filtered by the given ranges. + /// + /// List of axis ranges. + /// Number of axis ranges. + /// Select any property rather rather than the intersection of them all. + /// Ascending array of indices [0..GetFontCount() - 1]. + /// Number of indices. + /// Actual number of indices written or needed [0..GetFontCount()-1]. + /// + /// E_NOT_SUFFICIENT_BUFFER if the buffer is too small, with actualIndexCount set to the needed size. + /// + STDMETHOD(GetFilteredFontIndices)( + _In_reads_(fontAxisRangeCount) DWRITE_FONT_AXIS_RANGE const* fontAxisRanges, + UINT32 fontAxisRangeCount, + BOOL selectAnyRange, + _Out_writes_(maxIndexCount) UINT32* indices, + UINT32 maxIndexCount, + _Out_ UINT32* actualIndexCount + ) PURE; + + /// + /// Gets all axis ranges in the font set, the union of all contained items. + /// + /// List of axis ranges. + /// Number of axis ranges. + /// Actual number of axis ranges written or needed. + /// + /// E_NOT_SUFFICIENT_BUFFER if the buffer is too small, with actualFontAxisRangeCount set to the needed size. + /// + STDMETHOD(GetFontAxisRanges)( + _Out_writes_(maxFontAxisRangeCount) DWRITE_FONT_AXIS_RANGE* fontAxisRanges, + UINT32 maxFontAxisRangeCount, + _Out_ UINT32* actualFontAxisRangeCount + ) PURE; + + /// + /// Get the axis ranges of a single item. + /// + /// Zero-based index of the font in the set. + /// List of axis ranges. + /// Number of axis ranges. + /// Actual number of axis ranges written or needed. + /// + /// E_NOT_SUFFICIENT_BUFFER if the buffer is too small, with actualFontAxisRangeCount set to the needed size. + /// + STDMETHOD(GetFontAxisRanges)( + UINT32 listIndex, + _Out_writes_(maxFontAxisRangeCount) DWRITE_FONT_AXIS_RANGE* fontAxisRanges, + UINT32 maxFontAxisRangeCount, + _Out_ UINT32* actualFontAxisRangeCount + ) PURE; + + /// + /// Get the font face reference of a single item. + /// + /// Zero-based index of the font item in the set. + /// Receives a pointer to the font face reference. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontFaceReference)( + UINT32 listIndex, + _COM_Outptr_ IDWriteFontFaceReference1** fontFaceReference + ) PURE; + + using IDWriteFontSet::GetFontFaceReference; + + /// + /// Create the font resource of a single item. + /// + /// Zero-based index of the font item in the set. + /// Receives a pointer to the font resource. + /// + /// Standard HRESULT error code, or DWRITE_E_REMOTEFONT if the file is not local. + /// + STDMETHOD(CreateFontResource)( + UINT32 listIndex, + _COM_Outptr_ IDWriteFontResource** fontResource + ) PURE; + + /// + /// Create a font face for a single item (rather than going through the font face reference). + /// + /// Zero-based index of the font item in the set. + /// Receives a pointer to the font face. + /// + /// Standard HRESULT error code, or DWRITE_E_REMOTEFONT if the file is not local. + /// + STDMETHOD(CreateFontFace)( + UINT32 listIndex, + _COM_Outptr_ IDWriteFontFace5** fontFace + ) PURE; + + /// + /// Return the locality of a single item. + /// + /// Zero-based index of the font item in the set. + /// + /// The locality enumeration. For fully local files, the result will always + /// be DWRITE_LOCALITY_LOCAL. For downloadable files, the result depends on how + /// much of the file has been downloaded. + /// + /// + /// The locality enumeration. + /// + STDMETHOD_(DWRITE_LOCALITY, GetFontLocality)(UINT32 listIndex) PURE; +}; + + +DWRITE_BEGIN_INTERFACE(IDWriteFontList2, "C0763A34-77AF-445A-B735-08C37B0A5BF5") : IDWriteFontList1 +{ + /// + /// Get the underlying font set used by this list. + /// + /// Contains font set used by the list. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontSet)( + _COM_Outptr_ IDWriteFontSet1** fontSet + ) PURE; +}; + + +DWRITE_BEGIN_INTERFACE(IDWriteFontFamily2, "3ED49E77-A398-4261-B9CF-C126C2131EF3") : IDWriteFontFamily1 +{ + /// + /// Gets a list of fonts in the font family ranked in order of how well they match the specified axis values. + /// + /// List of font axis values. + /// Number of font axis values. + /// Receives a pointer to the newly created font list object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetMatchingFonts)( + _In_reads_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE const* fontAxisValues, + UINT32 fontAxisValueCount, + _COM_Outptr_ IDWriteFontList2** matchingFonts + ) PURE; + + using IDWriteFontFamily::GetMatchingFonts; + + /// + /// Get the underlying font set used by this family. + /// + /// Contains font set used by the family. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontSet)( + _COM_Outptr_ IDWriteFontSet1** fontSet + ) PURE; +}; + + +DWRITE_BEGIN_INTERFACE(IDWriteFontCollection2, "514039C6-4617-4064-BF8B-92EA83E506E0") : IDWriteFontCollection1 +{ + /// + /// Creates a font family object given a zero-based font family index. + /// + /// Zero-based index of the font family. + /// Receives a pointer the newly created font family object. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontFamily)( + UINT32 index, + _COM_Outptr_ IDWriteFontFamily2** fontFamily + ) PURE; + + using IDWriteFontCollection::GetFontFamily; + using IDWriteFontCollection1::GetFontFamily; + + /// + /// Gets a list of fonts in the specified font family ranked in order of how well they match the specified axis values. + /// + /// Name of the font family. The name is not case-sensitive but must otherwise exactly match a family name in the collection. + /// List of font axis values. + /// Number of font axis values. + /// Receives a pointer to the newly created font list object. + /// + /// If no fonts matched, the list will be empty (GetFontCount returns 0), + /// but the function does not return an error. + /// + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetMatchingFonts)( + _In_z_ WCHAR const* familyName, + _In_reads_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE const* fontAxisValues, + UINT32 fontAxisValueCount, + _COM_Outptr_ IDWriteFontList2** fontList + ) PURE; + + /// + /// Get the font family model used by the font collection to group families. + /// + /// + /// Family model enumeration. + /// + STDMETHOD_(DWRITE_FONT_FAMILY_MODEL, GetFontFamilyModel)() PURE; + + /// + /// Get the underlying font set used by this collection. + /// + /// Contains font set used by the collection. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontSet)( + _COM_Outptr_ IDWriteFontSet1** fontSet + ) PURE; + + using IDWriteFontCollection1::GetFontSet; +}; + + +DWRITE_BEGIN_INTERFACE(IDWriteTextLayout4, "05A9BF42-223F-4441-B5FB-8263685F55E9") : IDWriteTextLayout3 +{ + /// + /// Set values for font axes over a range of text. + /// + /// List of font axis values. + /// Number of font axis values. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetFontAxisValues)( + _In_reads_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE const* fontAxisValues, + UINT32 fontAxisValueCount, + DWRITE_TEXT_RANGE textRange + ) PURE; + + /// + /// Get the number of axes set on the text position. + /// + STDMETHOD_(UINT32, GetFontAxisValueCount)( + UINT32 currentPosition + ) PURE; + + /// + /// Get the list of font axis values on the text position. + /// + /// List of font axis values. + /// Maximum number of font axis values to write. + /// + /// Standard HRESULT error code, or E_INVALIDARG if fontAxisValueCount doesn't match GetFontAxisValueCount. + /// + STDMETHOD(GetFontAxisValues)( + UINT32 currentPosition, + _Out_writes_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE* fontAxisValues, + UINT32 fontAxisValueCount, + _Out_opt_ DWRITE_TEXT_RANGE* textRange = nullptr + ) PURE; + + /// + /// Get the automatic axis options. + /// + /// + /// Automatic axis options. + /// + STDMETHOD_(DWRITE_AUTOMATIC_FONT_AXES, GetAutomaticFontAxes)() PURE; + + /// + /// Sets the automatic font axis options. + /// + /// Automatic font axis options. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetAutomaticFontAxes)(DWRITE_AUTOMATIC_FONT_AXES automaticFontAxes) PURE; +}; + + +DWRITE_BEGIN_INTERFACE(IDWriteTextFormat3, "6D3B5641-E550-430D-A85B-B7BF48A93427") : IDWriteTextFormat2 +{ + /// + /// Set values for font axes of the format. + /// + /// List of font axis values. + /// Number of font axis values. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetFontAxisValues)( + _In_reads_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE const* fontAxisValues, + UINT32 fontAxisValueCount + ) PURE; + + /// + /// Get the number of axes set on the format. + /// + STDMETHOD_(UINT32, GetFontAxisValueCount)() PURE; + + /// + /// Get the list of font axis values on the format. + /// + /// List of font axis values. + /// Maximum number of font axis values to write. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontAxisValues)( + _Out_writes_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE* fontAxisValues, + UINT32 fontAxisValueCount + ) PURE; + + /// + /// Get the automatic axis options. + /// + /// + /// Automatic axis options. + /// + STDMETHOD_(DWRITE_AUTOMATIC_FONT_AXES, GetAutomaticFontAxes)() PURE; + + /// + /// Sets the automatic font axis options. + /// + /// Automatic font axis options. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetAutomaticFontAxes)(DWRITE_AUTOMATIC_FONT_AXES automaticFontAxes) PURE; +}; + + +DWRITE_BEGIN_INTERFACE(IDWriteFontFallback1, "2397599D-DD0D-4681-BD6A-F4F31EAADE77") : IDWriteFontFallback +{ + /// + /// Determines an appropriate font to use to render the range of text. + /// + /// The text source implementation holds the text and locale. + /// Length of the text to analyze. + /// Default font collection to use. + /// Family name of the base font. If you pass nullptr, no matching will be done against + /// the base family. + /// List of font axis values. + /// Number of font axis values. + /// Length of text mapped to the mapped font. This will always be less or equal to the + /// input text length and greater than zero (if the text length is non-zero) so that the caller advances at + /// least one character each call. + /// The font face that should be used to render the first mappedLength characters of the text. + /// If it returns null, then no known font can render the text, and mappedLength is the number of unsupported + /// characters to skip. + /// Scale factor to multiply the em size of the returned font by. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(MapCharacters)( + IDWriteTextAnalysisSource* analysisSource, + UINT32 textPosition, + UINT32 textLength, + _In_opt_ IDWriteFontCollection* baseFontCollection, + _In_opt_z_ WCHAR const* baseFamilyName, + _In_reads_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE const* fontAxisValues, + UINT32 fontAxisValueCount, + _Deref_out_range_(0, textLength) UINT32* mappedLength, + _Out_ FLOAT* scale, + _COM_Outptr_ IDWriteFontFace5** mappedFontFace + ) PURE; + + using IDWriteFontFallback::MapCharacters; +}; + +#endif // DWRITE_CORE || NTDDI_VERSION >= NTDDI_WIN10_RS3 + +#if DWRITE_CORE || NTDDI_VERSION >= /*NTDDI_WIN10_RS4*/0x0A000005 + +DWRITE_BEGIN_INTERFACE(IDWriteFontSet2, "DC7EAD19-E54C-43AF-B2DA-4E2B79BA3F7F") : IDWriteFontSet1 +{ + /// + /// Gets the expiration event for the font set, if any. The expiration event is set on a system font set object if + /// it is out of date due to fonts being installed, uninstalled, or updated. The client should handle the event by + /// getting a new system font set. + /// + /// + /// Returns an event handle if called on the system font set, or nullptr if called on a custom font set. + /// + /// + /// The client must not call CloseHandle on the returned event handle. The handle is owned by the font set + /// object, and remains valid as long as the client holds a reference to the font set. The client can wait + /// on the returned event or use RegisterWaitForSingleObject to request a callback when the event is set. + /// + STDMETHOD_(HANDLE, GetExpirationEvent)() PURE; +}; + +DWRITE_BEGIN_INTERFACE(IDWriteFontCollection3, "A4D055A6-F9E3-4E25-93B7-9E309F3AF8E9") : IDWriteFontCollection2 +{ + /// + /// Gets the expiration event for the font collection, if any. The expiration event is set on a system font + /// collection object if it is out of date due to fonts being installed, uninstalled, or updated. The client + /// should handle the event by getting a new system font collection. + /// + /// + /// Returns an event handle if called on the system font collection, or nullptr if called on a custom font + /// collection. + /// + /// + /// The client must not call CloseHandle on the returned event handle. The handle is owned by the font collection + /// object, and remains valid as long as the client holds a reference to the font collection. The client can wait + /// on the returned event or use RegisterWaitForSingleObject to request a callback when the event is set. + /// + STDMETHOD_(HANDLE, GetExpirationEvent)() PURE; +}; + +DWRITE_BEGIN_INTERFACE(IDWriteFactory7, "35D0E0B3-9076-4D2E-A016-A91B568A06B4") : IDWriteFactory6 +{ + /// + /// Retrieves the set of system fonts. + /// + /// Include downloadable fonts or only locally installed ones. + /// Receives a pointer to the font set object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetSystemFontSet)( + BOOL includeDownloadableFonts, + _COM_Outptr_ IDWriteFontSet2** fontSet + ) PURE; + + using IDWriteFactory6::GetSystemFontSet; + + /// + /// Retrieves a collection of fonts grouped into families. + /// + /// Include downloadable fonts or only locally installed ones. + /// How to group families in the collection. + /// Receives a pointer to the font collection object, or nullptr in case of failure. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetSystemFontCollection)( + BOOL includeDownloadableFonts, + DWRITE_FONT_FAMILY_MODEL fontFamilyModel, + _COM_Outptr_ IDWriteFontCollection3** fontCollection + ) PURE; + + using IDWriteFactory6::GetSystemFontCollection; +}; + +#endif // DWRITE_CORE || NTDDI_VERSION >= NTDDI_WIN10_RS4 + +#if DWRITE_CORE || NTDDI_VERSION >= /*NTDDI_WIN10_RS5*/0x0A000006 + +/// +/// The font source type identifies the mechanism by which a font came to be included in a font set. +/// +enum DWRITE_FONT_SOURCE_TYPE +{ + /// + /// The font source is unknown or is not any of the other defined font source types. + /// + DWRITE_FONT_SOURCE_TYPE_UNKNOWN, + + /// + /// The font source is a font file, which is installed for all users on the device. + /// + DWRITE_FONT_SOURCE_TYPE_PER_MACHINE, + + /// + /// The font source is a font file, which is installed for the current user. + /// + DWRITE_FONT_SOURCE_TYPE_PER_USER, + + /// + /// The font source is an APPX package, which includes one or more font files. + /// The font source name is the full name of the package. + /// + DWRITE_FONT_SOURCE_TYPE_APPX_PACKAGE, + + /// + /// The font source is a font provider for downloadable fonts. + /// + DWRITE_FONT_SOURCE_TYPE_REMOTE_FONT_PROVIDER +}; + +DWRITE_BEGIN_INTERFACE(IDWriteFontSet3, "7C073EF2-A7F4-4045-8C32-8AB8AE640F90") : IDWriteFontSet2 +{ + /// + /// Gets the font source type of the specified font. + /// + /// Zero-based index of the font. + STDMETHOD_(DWRITE_FONT_SOURCE_TYPE, GetFontSourceType)(UINT32 fontIndex) PURE; + + /// + /// Gets the length of the font source name for the specified font. + /// + /// Zero-based index of the font. + STDMETHOD_(UINT32, GetFontSourceNameLength)(UINT32 listIndex) PURE; + + /// + /// Copies the font source name for the specified font to an output array. + /// + /// Zero-based index of the font. + /// Character array that receives the string. + /// Size of the array in characters. The size must include space for the terminating + /// null character. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFontSourceName)( + UINT32 listIndex, + _Out_writes_z_(stringBufferSize) WCHAR* stringBuffer, + UINT32 stringBufferSize + ) PURE; +}; + +#endif // DWRITE_CORE || NTDDI_VERSION >= NTDDI_WIN10_RS5 + +#if DWRITE_CORE || NTDDI_VERSION >= /*NTDDI_WIN10_MN*/0x0A000009 + +DWRITE_BEGIN_INTERFACE(IDWriteFontFace6, "C4B1FE1B-6E84-47D5-B54C-A597981B06AD") : IDWriteFontFace5 +{ + /// + /// Creates a localized strings object that contains the family names for the font, indexed by locale name. + /// + /// Specifies how fonts are grouped into families, which affects the family name property. + /// Receives a pointer to an object to contains the font family names, indexed by locale. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFamilyNames)( + DWRITE_FONT_FAMILY_MODEL fontFamilyModel, + _COM_Outptr_ IDWriteLocalizedStrings * *names + ) PURE; + + using IDWriteFontFace3::GetFamilyNames; + + /// + /// Creates a localized strings object that contains the face names for the font, indexed by locale name. + /// + /// Specifies how fonts are grouped into families, which affects the face name property. + /// Receives a pointer to an object to contains the font face names, indexed by locale. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(GetFaceNames)( + DWRITE_FONT_FAMILY_MODEL fontFamilyModel, + _COM_Outptr_ IDWriteLocalizedStrings * *names + ) PURE; + + using IDWriteFontFace3::GetFaceNames; +}; + +#endif // DWRITE_CORE || NTDDI_VERSION >= NTDDI_WIN10_MN + +#if DWRITE_CORE || NTDDI_VERSION >= /*NTDDI_WIN10_NI*/0x0A00000C + +DWRITE_BEGIN_INTERFACE(IDWriteFontSet4, "EEC175FC-BEA9-4C86-8B53-CCBDD7DF0C82") : IDWriteFontSet3 +{ + /// + /// Computes derived font axis values from the specified font weight, stretch, style, and size. + /// + /// Pointer to an optional array of input axis values. Axes present + /// in this array are excluded from the output. This is so explicit axis values take precedence over + /// derived axis values. + /// Size of the array of input axis values. + /// Font weight, used to compute "wght" axis value. + /// Font stretch, used to compute "wdth" axis value. + /// Font style, used to compute "slnt" and "ital" axis values. + /// Font size in DIPs, used to compute "opsz" axis value. If this parameter is zero, + /// no "opsz" axis value is added to the output array. + /// Pointer to an output array to which derived axis values are written. + /// The size of this array must be at least DWRITE_STANDARD_FONT_AXIS_COUNT (5). The return value is + /// the actual number of axis values written to this array. + /// Returns the actual number of derived axis values written to the output array. + /// The caller should concatenate the output axis values to the input axis values (if any), + /// and pass the combined axis values to the GetMatchingFonts method. This does not result in duplicates + /// because the output does not include any axes present in the inputAxisValues array. + /// + STDMETHOD_(UINT32, ConvertWeightStretchStyleToFontAxisValues)( + _In_reads_opt_(inputAxisCount) DWRITE_FONT_AXIS_VALUE const* inputAxisValues, + UINT32 inputAxisCount, + DWRITE_FONT_WEIGHT fontWeight, + DWRITE_FONT_STRETCH fontStretch, + DWRITE_FONT_STYLE fontStyle, + float fontSize, + _Out_writes_to_(DWRITE_STANDARD_FONT_AXIS_COUNT, return) DWRITE_FONT_AXIS_VALUE* outputAxisValues + ) PURE; + + /// + /// Generates a matching font set based on the requested inputs, ordered so that nearer matches are earlier. + /// + /// Font family name. This can be a typographic family name, weight/stretch/style + /// family name, GDI (RBIZ) family name, or full name. + /// Array of font axis values. + /// Number of font axis values. + /// Specifies which simulations (i.e., algorithmic emboldening and/or slant) + /// may be applied to matching fonts to better match the specified axis values. No simulations are applied if + /// this parameter is DWRITE_FONT_SIMULATIONS_NONE (0). + /// Receives a pointer to a newly-created font set, which contains a prioritized + /// list of fonts that match the specified inputs. + /// + /// Standard HRESULT error code. + /// + /// + /// This can yield distinct items that were not in the original font set, including items with simulation flags + /// (if they would be a closer match to the request) and instances that were not named by the font author. + /// Items from the same font resources are collapsed into one, the closest possible match. + /// + STDMETHOD(GetMatchingFonts)( + _In_z_ WCHAR const* familyName, + _In_reads_(fontAxisValueCount) DWRITE_FONT_AXIS_VALUE const* fontAxisValues, + UINT32 fontAxisValueCount, + DWRITE_FONT_SIMULATIONS allowedSimulations, + _COM_Outptr_ IDWriteFontSet4** matchingFonts + ) PURE; +}; + +#endif // DWRITE_CORE || NTDDI_VERSION >= NTDDI_WIN10_NI + +#if DWRITE_CORE + +/// +/// Contains information about a bitmap associated with an IDWriteBitmapRenderTarget. +/// The bitmap is top-down with 32-bits per pixel and no padding between scan lines. +/// +struct DWRITE_BITMAP_DATA_BGRA32 +{ + UINT32 width; + UINT32 height; + _Field_size_(width * height) UINT32* pixels; +}; + +/// +/// Encapsulates a bitmap which can be used for rendering glyphs. +/// +DWRITE_BEGIN_INTERFACE(IDWriteBitmapRenderTarget2, "C553A742-FC01-44DA-A66E-B8B9ED6C3995") : IDWriteBitmapRenderTarget1 +{ + /// + /// Gets the demensions and a pointer to the system memory bitmap encapsulated by this + /// bitmap render target object. The pointer is owned by the render target object, and + /// remains valid as long as the object exists. + /// + STDMETHOD(GetBitmapData)(_Out_ DWRITE_BITMAP_DATA_BGRA32* bitmapData) PURE; +}; + +/// +/// DWRITE_GLYPH_IMAGE_FORMATS_COLR_PAINT_TREE image format represents a color glyph that can be +/// rendered by drawing paint elements returned by IDWritePaintReader. +/// +#ifndef DWRITE_GLYPH_IMAGE_FORMATS_COLR_PAINT_TREE_DEFINED +#define DWRITE_GLYPH_IMAGE_FORMATS_COLR_PAINT_TREE_DEFINED +#define DWRITE_GLYPH_IMAGE_FORMATS_COLR_PAINT_TREE static_cast(0x00000100) +#endif + +/// +/// Defines known feature level for use with the IDWritePaintReader interface and +/// related APIs. A feature level represents a level of functionality. For example, it +/// determines what DWRITE_PAINT_TYPE values might be returned. +/// +/// +/// See the DWRITE_PAINT_TYPE enumeration for which paint types are required for each +/// feature level. +/// +enum DWRITE_PAINT_FEATURE_LEVEL +{ + /// + /// No paint API support. + /// + DWRITE_PAINT_FEATURE_LEVEL_NONE = 0, + + /// + /// Specifies a level of functionality corresponding to OpenType COLR version 0. + /// + DWRITE_PAINT_FEATURE_LEVEL_COLR_V0 = 1, + + /// + /// Specifies a level of functionality corresponding to OpenType COLR version 1. + /// + DWRITE_PAINT_FEATURE_LEVEL_COLR_V1 = 2 +}; + +/// +/// Combination of flags specifying attributes of a color glyph or of specific color values in +/// a color glyph. +/// +enum DWRITE_PAINT_ATTRIBUTES +{ + DWRITE_PAINT_ATTRIBUTES_NONE = 0, + + /// + /// Specifies that the color value (or any color value in the glyph) comes from the font's + /// color palette. This means the appearance may depend on the current palette index, which + /// may be important to clients that cache color glyphs. + /// + DWRITE_PAINT_ATTRIBUTES_USES_PALETTE = 0x01, + + /// + /// Specifies that the color value (or any color value in the glyph) comes from the client-specified + /// text color. This means the appearance may depend on the text color, which may be important to + /// clients that cache color glyphs. + /// + DWRITE_PAINT_ATTRIBUTES_USES_TEXT_COLOR = 0x02 +}; +#ifdef DEFINE_ENUM_FLAG_OPERATORS +DEFINE_ENUM_FLAG_OPERATORS(DWRITE_PAINT_ATTRIBUTES) +#endif + +/// +/// Represents a color in a color glyph. +/// +struct DWRITE_PAINT_COLOR +{ + /// + /// Color value (not premultiplied). See the colorAttributes member for information about how + /// the color is determined. + /// + DWRITE_COLOR_F value; + + /// + /// If the colorAttributes member is DWRITE_PAINT_ATTRIBUTES_USES_PALETTE, this member is + /// the index of a palette entry in the selected color palette. Otherwise, this member is + /// DWRITE_NO_PALETTE_INDEX (0xFFFF). + /// + UINT16 paletteEntryIndex; + + /// + /// Specifies an alpha value multiplier in the range 0 to 1 that was used to compute the color + /// value. Color glyph descriptions may include alpha values to be multiplied with the alpha + /// values of palette entries. + /// + float alphaMultiplier; + + /// + /// Specifies how the color value is determined. If this member is + /// DWRITE_PAINT_ATTRIBUTES_USES_PALETTE, the color value is determined by getting the color at + /// paletteEntryIndex in the current color palette. The color's alpha value is then multiplied + /// by alphaMultiplier. If a font has multiple color palettes, a client can set the current color + /// palette using the IDWritePaintReader::SetColorPaletteIndex method. A client that uses a custom + /// palette can use the paletteEntryIndex and alphaMultiplier methods to compute the color. If this + /// member is DWRITE_PAINT_ATTRIBUTES_USES_TEXT_COLOR, the color value is equal to the text + /// foreground color, which can be set using the IDWritePaintReader::SetTextColor method. + /// + DWRITE_PAINT_ATTRIBUTES colorAttributes; +}; + +/// +/// Specifies a composite mode for combining source and destination paint elements in a +/// color glyph. These are taken from the W3C Compositing and Blending Level 1 specification. +/// +enum DWRITE_COLOR_COMPOSITE_MODE +{ + // Porter-Duff modes. + DWRITE_COLOR_COMPOSITE_CLEAR, + DWRITE_COLOR_COMPOSITE_SRC, + DWRITE_COLOR_COMPOSITE_DEST, + DWRITE_COLOR_COMPOSITE_SRC_OVER, + DWRITE_COLOR_COMPOSITE_DEST_OVER, + DWRITE_COLOR_COMPOSITE_SRC_IN, + DWRITE_COLOR_COMPOSITE_DEST_IN, + DWRITE_COLOR_COMPOSITE_SRC_OUT, + DWRITE_COLOR_COMPOSITE_DEST_OUT, + DWRITE_COLOR_COMPOSITE_SRC_ATOP, + DWRITE_COLOR_COMPOSITE_DEST_ATOP, + DWRITE_COLOR_COMPOSITE_XOR, + DWRITE_COLOR_COMPOSITE_PLUS, + + // Separable color blend modes. + DWRITE_COLOR_COMPOSITE_SCREEN, + DWRITE_COLOR_COMPOSITE_OVERLAY, + DWRITE_COLOR_COMPOSITE_DARKEN, + DWRITE_COLOR_COMPOSITE_LIGHTEN, + DWRITE_COLOR_COMPOSITE_COLOR_DODGE, + DWRITE_COLOR_COMPOSITE_COLOR_BURN, + DWRITE_COLOR_COMPOSITE_HARD_LIGHT, + DWRITE_COLOR_COMPOSITE_SOFT_LIGHT, + DWRITE_COLOR_COMPOSITE_DIFFERENCE, + DWRITE_COLOR_COMPOSITE_EXCLUSION, + DWRITE_COLOR_COMPOSITE_MULTIPLY, + + // Non-separable color blend modes. + DWRITE_COLOR_COMPOSITE_HSL_HUE, + DWRITE_COLOR_COMPOSITE_HSL_SATURATION, + DWRITE_COLOR_COMPOSITE_HSL_COLOR, + DWRITE_COLOR_COMPOSITE_HSL_LUMINOSITY +}; + +/// +/// Identifies a type of paint element in a color glyph. A color glyph's visual representation +/// is defined by a tree of paint elements. A paint element's properties are specified by a +/// DWRITE_PAINT_ELEMENT structure, which combines a paint type an a union. +/// +/// +/// For more information about each paint type, see DWRITE_PAINT_ELEMENT. +/// +enum DWRITE_PAINT_TYPE +{ + // The following paint types may be returned for color feature levels greater than + // or equal to DWRITE_PAINT_FEATURE_LEVEL_COLR_V0. + DWRITE_PAINT_TYPE_NONE, + DWRITE_PAINT_TYPE_LAYERS, + DWRITE_PAINT_TYPE_SOLID_GLYPH, + + // The following paint types may be returned for color feature levels greater than + // or equal to DWRITE_PAINT_FEATURE_LEVEL_COLR_V1. + DWRITE_PAINT_TYPE_SOLID, + DWRITE_PAINT_TYPE_LINEAR_GRADIENT, + DWRITE_PAINT_TYPE_RADIAL_GRADIENT, + DWRITE_PAINT_TYPE_SWEEP_GRADIENT, + DWRITE_PAINT_TYPE_GLYPH, + DWRITE_PAINT_TYPE_COLOR_GLYPH, + DWRITE_PAINT_TYPE_TRANSFORM, + DWRITE_PAINT_TYPE_COMPOSITE +}; + +/// +/// Specifies properties of a paint element, which is one node in a visual tree associated +/// with a color glyph. This is passed as an output parameter to various IDWritePaintReader +/// methods. +/// +/// +/// For a detailed description of how paint elements should be rendered, see the OpenType COLR +/// table specification. Comments below reference the COLR paint record formats associated with +/// each paint type. +/// +/// Note that this structure (and its size) may differ for different versions of the API, as +/// newer versions may have additional union members for new paint types. For this reason, +/// IDWritePaintReader methods that take a DWRITE_PAINT_ELEMENT output parameter also take a +/// structSize parameter, for which the caller should specify actual size of the structure +/// allocated by the caller, i.e., sizeof(DWRITE_PAINT_ELEMENT). Clients should use caution +/// when passing DWRITE_PAINT_ELEMENT objects between components that may have been compiled +/// against different versions of this header file. +/// +struct DWRITE_PAINT_ELEMENT +{ + /// + /// Specifies the paint type, and thus which member of the union is valid. + /// + DWRITE_PAINT_TYPE paintType; + + /// + /// Specifies type-specific properties of the paint element. + /// + union PAINT_UNION + { + /// + /// Valid for paint elements of type DWRITE_PAINT_TYPE_LAYERS. + /// Contains one or more child paint elements to be drawn in bottom-up order. + /// + /// + /// This corresponds to a PaintColrLayers record in the OpenType COLR table. + /// Or it may correspond to a BaseGlyph record defined by COLR version 0. + /// + struct PAINT_LAYERS + { + /// + /// Number of child paint elements in bottom-up order. Use the IDWritePaintReader + /// interface's MoveFirstChild and MoveNextSibling methods to retrieve the child paint + /// elements. Use the MoveParent method to return to the parent element. + /// + UINT32 childCount; + } layers; + + /// + /// Valid for paint elements of type DWRITE_PAINT_TYPE_SOLID_GLYPH. + /// Specifies a glyph with a solid color fill. + /// This paint element has no child elements. + /// + /// + /// This corresponds to a combination of two paint records in the OpenType COLR table: + /// a PaintGlyph record, which references either a PaintSolid or PaintVarSolid record. + /// Or it may correspond to a Layer record defined by COLR version 0. + /// + struct PAINT_SOLID_GLYPH + { + /// + /// Glyph index defining the shape to be filled. + /// + UINT32 glyphIndex; + + /// + /// Glyph color used to fill the glyph shape. + /// + DWRITE_PAINT_COLOR color; + } solidGlyph; + + /// + /// Valid for paint elements of type DWRITE_PAINT_TYPE_SOLID. + /// Specifies a solid color used to fill the current shape or clip. + /// This paint element has no child elements. + /// + /// + /// This corresponds to a PaintSolid or PaintVarSolid record in the OpenType COLR table. + /// + DWRITE_PAINT_COLOR solid; + + /// + /// Valid for paint elements of type DWRITE_PAINT_TYPE_LINEAR_GRADIENT. + /// Specifies a linear gradient used to fill the current shape or clip. + /// This paint element has no child elements. + /// + /// + /// This corresponds to a PaintLinearGradient or PaintVarLinearGradient record in the OpenType + /// COLR table. + /// + struct PAINT_LINEAR_GRADIENT + { + /// + /// D2D1_EXTEND_MODE value speciying how colors outside the interval are defined. + /// + UINT32 extendMode; + + /// + /// Number of gradient stops. Use the IDWritePaintReader::GetGradientStops method to + /// get the gradient stops. + /// + UINT32 gradientStopCount; + + /// + /// X coordinate of the start point of the color line. + /// + float x0; + + /// + /// Y coordinate of the start point of the color line. + /// + float y0; + + /// + /// X coordinate of the end point of the color line. + /// + float x1; + + /// + /// Y coordinate of the end point of the color line. + /// + float y1; + + /// + /// X coordinate of the rotation point of the color line. + /// + float x2; + + /// + /// Y coordinate of the rotation point of the color line. + /// + float y2; + } linearGradient; + + /// + /// Valid for paint elements of type DWRITE_PAINT_TYPE_RADIAL_GRADIENT. + /// Specifies a radial gradient used to fill the current shape or clip. + /// This paint element has no child elements. + /// + /// + /// This corresponds to a PaintRadialGradient or PaintVarRadialGradient record in the OpenType + /// COLR table. + /// + struct PAINT_RADIAL_GRADIENT + { + /// + /// D2D1_EXTEND_MODE value speciying how colors outside the interval are defined. + /// + UINT32 extendMode; + + /// + /// Number of gradient stops. Use the IDWritePaintReader::GetGradientStops method to + /// get the gradient stops. + /// + UINT32 gradientStopCount; + + /// + /// Center X coordinate of the start circle. + /// + float x0; + + /// + /// Center Y coordinate of the start circle. + /// + float y0; + + /// + /// Radius of the start circle. + /// + float radius0; + + /// + /// Center X coordinate of the end circle. + /// + float x1; + + /// + /// Center Y coordinate of the end circle. + /// + float y1; + + /// + /// Radius of the end circle. + /// + float radius1; + } radialGradient; + + /// + /// Valid for paint elements of type DWRITE_PAINT_TYPE_SWEEP_GRADIENT. + /// Specifies a sweep gradient used to fill the current shape or clip. + /// This paint element has no child elements. + /// + /// + /// This corresponds to a PaintSweepGradient or PaintVarSweepGradient record in the OpenType + /// COLR table. + /// + struct PAINT_SWEEP_GRADIENT + { + /// + /// D2D1_EXTEND_MODE value speciying how colors outside the interval are defined. + /// + UINT32 extendMode; + + /// + /// Number of gradient stops. Use the IDWritePaintReader::GetGradientStops method to + /// get the gradient stops. + /// + UINT32 gradientStopCount; + + /// + /// Center X coordinate. + /// + float centerX; + + /// + /// Center Y coordinate. + /// + float centerY; + + /// + /// Start of the angular range of the gradient, measured in counter-clockwise degrees + /// from the direction of the positive x axis. + /// + float startAngle; + + /// + /// End of the angular range of the gradient, measured in counter-clockwise degrees + /// from the direction of the positive x axis. + /// + float endAngle; + } sweepGradient; + + /// + /// Valid for paint elements of type DWRITE_PAINT_TYPE_GLYPH. + /// Specifies a glyph shape to be filled or, equivalently, a clip region. + /// This paint element has one child element. + /// + /// + /// The child paint element defines how the glyph shape is filled. The child element can be a single paint + /// element, such as a linear gradient. Or the child element can be the root of a visual tree to be rendered + /// with the glyph shape as a clip region. + /// This corresponds to a PaintGlyph record in the OpenType COLR table. + /// + struct PAINT_GLYPH + { + /// + /// Glyph index of the glyph that defines the shape to be filled. + /// + UINT32 glyphIndex; + } glyph; + + /// + /// Valid for paint elements of type DWRITE_PAINT_TYPE_COLOR_GLYPH. + /// Specifies another color glyph, used as a reusable component. + /// This paint element has one child element, which is the root paint element of the specified color glyph. + /// + /// + /// This corresponds to a PaintColorGlyph record in the OpenType COLR table. + /// + struct PAINT_COLOR_GLYPH + { + /// + /// Glyph index of the referenced color glyph. + /// + UINT32 glyphIndex; + + /// + /// Clip box of the referenced color glyph, in ems. This is an empty rectangle of the color glyph does + /// not specify a clip box. If it is not an empty rect, the client is required to clip the child content + /// to this box. + /// + D2D_RECT_F clipBox; + } colorGlyph; + + /// + /// Valid for paint elements of type DWRITE_PAINT_TYPE_TRANSFORM. + /// Specifies an affine transform to be applied to child content. + /// This paint element has one child element, which is the transformed content. + /// + /// + /// This corresponds to paint formats 12 through 31 in the OpenType COLR table. + /// + DWRITE_MATRIX transform; + + /// + /// Valid for paint elements of type DWRITE_PAINT_TYPE_COMPOSITE. + /// Combines the two child paint elements using the specified compositing or blending mode. + /// This paint element has two child elements. The first child is the paint source. The + /// second child is the paint destination (or backdrop). + /// + /// + /// This corresponds to a PaintComposite record in the OpenType COLR table. + /// + struct PAINT_COMPOSITE + { + /// + /// Specifies the compositing or blending mode. + /// + DWRITE_COLOR_COMPOSITE_MODE mode; + } composite; + } paint; +}; + +struct D2D1_GRADIENT_STOP; + +/// +/// Interface used to read color glyph data for a specific font. A color glyph is +/// represented as a visual tree of paint elements. +/// +DWRITE_BEGIN_INTERFACE(IDWritePaintReader, "8128E912-3B97-42A5-AB6C-24AAD3A86E54") : IUnknown +{ + /// + /// Sets the current glyph and positions the reader on the root paint element of the + /// selected glyph's visual tree. + /// + /// Glyph index to get the color glyph representation for. + /// Receives information about the root paint element of the + /// glyph's visual tree. + /// Size of the DWRITE_PAINT_ELEMENT structure, in bytes. + /// Receives a precomputed glyph box (in ems) for the specified glyph, + /// if one is specified by the font. Otherwise, the glyph box is set to an empty rectangle + /// (all zeros). If a non-empty clip box is specified, the client must clip the color + /// glyph's representation to the specified box. + /// Receives optional paint attributes for the glyph. + /// + /// Standard HRESULT error code. + /// + /// + /// If the specified glyph index is not a color glyph, the method succeeds, but the paintType + /// member of the DWRITE_PAINT_ELEMENT structure is set to DWRITE_PAINT_TYPE_NONE. In this + /// case, the application should draw the input glyph as a non-color glyph. + /// + STDMETHOD(SetCurrentGlyph)( + UINT32 glyphIndex, + _Out_writes_bytes_(structSize) DWRITE_PAINT_ELEMENT* paintElement, + UINT32 structSize, + _Out_ D2D_RECT_F* clipBox, + _Out_opt_ DWRITE_PAINT_ATTRIBUTES* glyphAttributes = nullptr + ) PURE; + + // Inline overload of SetCurrentGlyph, in which structSize is implied. + HRESULT SetCurrentGlyph( + UINT32 glyphIndex, + _Out_ DWRITE_PAINT_ELEMENT* paintElement, + _Out_ D2D_RECT_F* clipBox, + _Out_opt_ DWRITE_PAINT_ATTRIBUTES* glyphAttributes = nullptr + ) + { + return SetCurrentGlyph( + glyphIndex, + paintElement, + sizeof(DWRITE_PAINT_ELEMENT), + clipBox, + glyphAttributes + ); + } + + /// + /// Sets the client-defined text color. The default value is transparent black. Changing the text color + /// can affect the appearance of a glyph if its definition uses the current text color. If this is the + /// case, the SetCurrentGlyph method returns the DWRITE_PAINT_ATTRIBUTES_USES_TEXT_COLOR flag via the + /// glyphAttributes output parameter. + /// + /// Specifies the text color. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetTextColor)( + DWRITE_COLOR_F const& textColor + ) PURE; + + /// + /// Sets the current color palette index. The default value is zero. Changing the palette index can affect + /// the appearance of a glyph if its definition references colors in the color palette. If this is the case, + /// the SetCurrentGlyph method returns the DWRITE_PAINT_ATTRIBUTES_USES_PALETTE flag via the glyphAttributes + /// output parameter. + /// + /// Specifies the color palette index. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetColorPaletteIndex)( + UINT32 colorPaletteIndex + ) PURE; + + /// + /// Sets a custom color palette with client-defined palette entries instead of using a font-defined color + /// palette. Changing the color palette can affect the appearance of a glyph if its definition references + /// colors in the color palette. If this is the case, the SetCurrentGlyph method returns the + /// DWRITE_PAINT_ATTRIBUTES_USES_PALETTE flag via the glyphAttributes output parameter. + /// + /// Array of palette entries for the client-defined color palette. + /// Size of the paletteEntries array. This must equal the font's palette + /// entry count as returned by IDWriteFontFace2::GetPaletteEntryCount. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(SetCustomColorPalette)( + _In_reads_(paletteEntryCount) DWRITE_COLOR_F const* paletteEntries, + UINT32 paletteEntryCount + ) PURE; + + /// + /// Sets the current position in the visual tree to the first child of the current paint element, and returns + /// the newly-selected element's properties via the paintElement output parameter. + /// + /// Receives the properties of the newly-selected element. + /// Size of the DWRITE_PAINT_ELEMENT structure, in bytes. + /// + /// Standard HRESULT error code. The return value is E_INVALIDARG if the current paint element doesn't have + /// any children. + /// + /// + /// Whether a paint element has children (and how many) can be determined a priori from its paint type and + /// properties. For more information, see DWRITE_PAINT_ELEMENT. + /// + STDMETHOD(MoveToFirstChild)( + _Out_writes_bytes_(structSize) DWRITE_PAINT_ELEMENT* paintElement, + UINT32 structSize = sizeof(DWRITE_PAINT_ELEMENT) + ) PURE; + + /// + /// Sets the current position in the visual tree to the next sibling of the current paint element, and returns + /// the newly-selected element's properties via the paintElement output parameter. + /// + /// Receives the properties of the newly-selected element. + /// Size of the DWRITE_PAINT_ELEMENT structure, in bytes. + /// + /// Standard HRESULT error code. The return value is E_INVALIDARG if the current paint element doesn't have + /// a next sibling. + /// + /// + /// Whether a paint element has children (and how many) can be determined a priori from its paint type and + /// properties. For more information, see DWRITE_PAINT_ELEMENT. + /// + STDMETHOD(MoveToNextSibling)( + _Out_writes_bytes_(structSize) DWRITE_PAINT_ELEMENT* paintElement, + UINT32 structSize = sizeof(DWRITE_PAINT_ELEMENT) + ) PURE; + + /// + /// Sets the current position in the visual tree to the parent of the current paint element. + /// + /// + /// Standard HRESULT error code. The return value is E_INVALIDARG if the current paint element is the root + /// element of the visual tree. + /// + STDMETHOD(MoveToParent)() PURE; + + /// + /// Returns gradient stops of the current paint element. + /// + /// Index of the first gradient stop to get. + /// Number of gradient stops to get. + /// Receives the gradient stops. + /// Standard HRESULT error code. + /// Gradient stops are guaranteed to be in ascending order by position. + STDMETHOD(GetGradientStops)( + UINT32 firstGradientStopIndex, + UINT32 gradientStopCount, + _Out_writes_(gradientStopCount) D2D1_GRADIENT_STOP* gradientStops + ) PURE; + + /// + /// Returns color information about each gradient stop, such as palette indices. + /// + /// Index of the first gradient stop to get. + /// Number of gradient stops to get. + /// Receives the gradient stop colors. + /// Standard HRESULT error code. + STDMETHOD(GetGradientStopColors)( + UINT32 firstGradientStopIndex, + UINT32 gradientStopCount, + _Out_writes_(gradientStopCount) DWRITE_PAINT_COLOR* gradientStopColors + ) PURE; +}; + +DWRITE_BEGIN_INTERFACE(IDWriteFontFace7, "3945B85B-BC95-40F7-B72C-8B73BFC7E13B") : IDWriteFontFace6 +{ + /// + /// Returns the maximum paint feature level supported for the specified glyph image format. + /// Possible values are specified by the DWRITE_PAINT_FEATURE_LEVEL enumeration, + /// but additional feature levels may be added over time. + /// + /// Glyph image format to get the paint feature level for. + /// The return value is zero if the image format is not supported by the IDWritePaintReader API, + /// or if the font doesn't contain image data in that format. + STDMETHOD_(DWRITE_PAINT_FEATURE_LEVEL, GetPaintFeatureLevel)( + DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat + ) PURE; + + /// + /// Creates a paint reader object, which can be used to retrieve vector graphic information + /// for color glyphs in the font. + /// + /// Specifies the type of glyph data the reader will obtain. The only + /// glyph image format currently supported by this method is DWRITE_GLYPH_IMAGE_FORMATS_COLR_PAINT_TREE. + /// Specifies the maximum paint feature level supported by the client. + /// This affects the types of paint elements that may be returned by the paint reader. + /// Receives a pointer to the newly-created object. + /// Standard HRESULT error code. + STDMETHOD(CreatePaintReader)( + DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat, + DWRITE_PAINT_FEATURE_LEVEL paintFeatureLevel, + _COM_Outptr_ IDWritePaintReader** paintReader + ) PURE; +}; + + +DWRITE_BEGIN_INTERFACE(IDWriteFactory8, "EE0A7FB5-DEF4-4C23-A454-C9C7DC878398") : IDWriteFactory7 +{ + /// + /// Translates a glyph run to a sequence of color glyph runs, which can be + /// rendered to produce a color representation of the original "base" run. + /// + /// Horizontal and vertical origin of the base glyph run in + /// pre-transform coordinates. + /// Pointer to the original "base" glyph run. + /// Optional glyph run description. + /// Which data formats TranslateColorGlyphRun + /// should split the runs into. + /// Paint feature level supported by the caller. Used + /// when desiredGlyphImageFormats includes DWRITE_GLYPH_IMAGE_FORMATS_COLR_PAINT_TREE. See + /// DWRITE_PAINT_FEATURE_LEVEL for more information. + /// Measuring mode, needed to compute the origins + /// of each glyph. + /// Matrix converting from the client's + /// coordinate space to device coordinates (pixels), i.e., the world transform + /// multiplied by any DPI scaling. + /// Zero-based index of the color palette to use. + /// Valid indices are less than the number of palettes in the font, as returned + /// by IDWriteFontFace2::GetColorPaletteCount. + /// If the function succeeds, receives a pointer + /// to an enumerator object that can be used to obtain the color glyph runs. + /// If the base run has no color glyphs, then the output pointer is NULL + /// and the method returns DWRITE_E_NOCOLOR. + /// + /// Returns DWRITE_E_NOCOLOR if the font has no color information, the glyph run + /// does not contain any color glyphs, or the specified color palette index + /// is out of range. In this case, the client should render the original glyph + /// run. Otherwise, returns a standard HRESULT error code. + /// + /// + /// The old IDWriteFactory2::TranslateColorGlyphRun is equivalent to passing + /// DWRITE_GLYPH_IMAGE_FORMATS_TRUETYPE|CFF|COLR. + /// + STDMETHOD(TranslateColorGlyphRun)( + D2D1_POINT_2F baselineOrigin, + _In_ DWRITE_GLYPH_RUN const* glyphRun, + _In_opt_ DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription, + DWRITE_GLYPH_IMAGE_FORMATS desiredGlyphImageFormats, + DWRITE_PAINT_FEATURE_LEVEL paintFeatureLevel, + DWRITE_MEASURING_MODE measuringMode, + _In_opt_ DWRITE_MATRIX const* worldAndDpiTransform, + UINT32 colorPaletteIndex, + _COM_Outptr_ IDWriteColorGlyphRunEnumerator1** colorEnumerator + ) PURE; +}; + +/// +/// Encapsulates a bitmap which can be used for rendering glyphs. +/// +DWRITE_BEGIN_INTERFACE(IDWriteBitmapRenderTarget3, "AEEC37DB-C337-40F1-8E2A-9A41B167B238") : IDWriteBitmapRenderTarget2 +{ + /// + /// Returns the paint feature level supported by this render target. + /// A client can pass the return value of this method to IDWriteFactory8::TranslateColorGlyphRun. + /// + STDMETHOD_(DWRITE_PAINT_FEATURE_LEVEL, GetPaintFeatureLevel)() PURE; + + /// + /// Draws a glyph run in a "paint" image format returned by IDWriteColorGlyphRunEnumerator1. + /// + /// X-coordinate of the baseline. + /// Y-coordinate of the baseline. + /// Specifies measuring mode for positioning glyphs in the run. + /// The glyph run to draw. + /// The image format of the color glyph run, as returned by + /// IDWriteColorGlyphRunEnumerator1. This must be one of the "paint" image formats. + /// Foreground color of the text, used in cases where a color glyph + /// uses the text color. + /// Zero-based index of the font-defined color palette to use. + /// Optional rectangle that receives the bounding box (in pixels not DIPs) of all the pixels affected by + /// drawing the glyph run. The black box rectangle may extend beyond the dimensions of the bitmap. + /// + /// Standard HRESULT error code. + /// + STDMETHOD(DrawPaintGlyphRun)( + FLOAT baselineOriginX, + FLOAT baselineOriginY, + DWRITE_MEASURING_MODE measuringMode, + _In_ DWRITE_GLYPH_RUN const* glyphRun, + DWRITE_GLYPH_IMAGE_FORMATS glyphImageFormat, + COLORREF textColor, + UINT32 colorPaletteIndex = 0, + _Out_opt_ RECT* blackBoxRect = NULL + ) PURE; + + /// + /// Draws a glyph run, using color representations of glyphs if available in the font. + /// + /// X-coordinate of the baseline. + /// Y-coordinate of the baseline. + /// Specifies measuring mode for positioning glyphs in the run. + /// The glyph run to draw. + /// Object that controls rendering behavior. + /// Foreground color of the text. + /// Zero-based index of the font-defined color palette to use. + /// Optional rectangle that receives the bounding box (in pixels not DIPs) of all the pixels affected by + /// drawing the glyph run. The black box rectangle may extend beyond the dimensions of the bitmap. + /// + /// Standard HRESULT error code. + /// + /// + /// This method internally calls TranslateColorGlyphRun and then automatically calls the appropriate + /// lower-level methods to render monochrome or color glyph runs. + /// + STDMETHOD(DrawGlyphRunWithColorSupport)( + FLOAT baselineOriginX, + FLOAT baselineOriginY, + DWRITE_MEASURING_MODE measuringMode, + _In_ DWRITE_GLYPH_RUN const* glyphRun, + _In_ IDWriteRenderingParams* renderingParams, + COLORREF textColor, + UINT32 colorPaletteIndex = 0, + _Out_opt_ RECT* blackBoxRect = NULL + ) PURE; +}; + +#endif // DWRITE_CORE + +#if DWRITE_CORE + +/// +/// Specifies the data type of a parameter passed to +/// IDWriteEventSink::LogEvent. +/// +enum DWRITE_EVENT_PARAM_TYPE : UINT32 +{ + /// + /// An event tag, which is a UINT64 value encoding up to eight ASCII characters + /// in little-endian order. + /// + DWRITE_EVENT_PARAM_TYPE_TAG, + + /// + /// 32-bit unsigned value. + /// + DWRITE_EVENT_PARAM_TYPE_UINT32, + + /// + /// Time in system clock ticks as reported by std::chrono::system_clock. + /// + DWRITE_EVENT_PARAM_TYPE_DATETIME, + + /// + /// Null-terminated string of WCHAR. + /// + DWRITE_EVENT_PARAM_TYPE_STRINGW, + + /// + /// Null-terminated UTF-8 string. + /// + DWRITE_EVENT_PARAM_TYPE_STRINGA +}; + +/// +/// Represents a parameter passed to IDWriteEventSink::LogEvent. +/// +struct DWRITE_EVENT_PARAM +{ + DWRITE_EVENT_PARAM_TYPE paramType; + + union DWRITE_EVENT_PARAM_VALUE + { + UINT64 tag; // DWRITE_EVENT_PARAM_TYPE_TAG + UINT32 uint32; // DWRITE_EVENT_PARAM_TYPE_UINT32 + UINT64 dateTime; // DWRITE_EVENT_PARAM_TYPE_DATETIME + _Field_z_ WCHAR const* stringW; // DWRITE_EVENT_PARAM_TYPE_STRINGW + _Field_z_ char const* stringA; // DWRITE_EVENT_PARAM_TYPE_STRINGA + } paramValue; +}; + +/// +/// Callback interface that receives internal events from DWriteCore. +/// +/// +/// Events sent to this interface should be used for diagnostic purposes only, +/// they may change from version to version. +/// +/// Each type of event is idenfied by a "tag" comprising up to 8 ASCII characters +/// encoded as a UINT64. The first character of the tag is in the low-order byte. +/// Following are some well-known event tags and the expected parameters for each. +/// +/// "state" (TAG newState) ... +/// Indicates an object is transitioning to the state specified by newState. +/// Common states are "ctor" for a new object and "dtor" for a destroyed +/// object. +/// +/// "error" (UINT32 errorCode) (TAG taskID) (UINT32 lineNumber) ... +/// +/// "warning" (STRINGA message) (UINT32 lineNumber)? +/// +/// "badfont" (STRINGA message) +/// +/// "assert" (STRINGA fileName) (UINT32 lineNumber) (STRINGA expression) +/// +/// +DWRITE_BEGIN_INTERFACE(IDWriteEventSink, "b2839dc9-5419-4223-a069-c792d2dc6ba0") : IUnknown +{ + /// + /// Notifies the event sink of an internal DWriteCore event. + /// + /// Unique integer ID of the object that logged the + /// event, or zero if the event did not come from a specific object. + /// Event tag identifying the type of object that + /// logged the event, or zero if the event did not come from a specific + /// object. + /// Event tag identifying the type of event. + /// Array of additional event parameters. + /// Number of additional event parameters. + STDMETHOD_(void, LogEvent)( + UINT32 objectId, + UINT64 classTag, + UINT64 eventTag, + _In_reads_(eventParamCount) DWRITE_EVENT_PARAM const* eventParams, + UINT32 eventParamCount + ) PURE; +}; + +#endif // DWRITE_CORE + +#endif // DWRITE_3_H_INCLUDED diff --git a/vendor/include/dwrite_core.h b/vendor/include/dwrite_core.h new file mode 100644 index 0000000..34d2313 --- /dev/null +++ b/vendor/include/dwrite_core.h @@ -0,0 +1,45 @@ +#define DWRITE_CORE 1 +#include "dwrite_3.h" + +/// +/// Creates a factory object that is used for subsequent creation of individual DWriteCore objects. +/// +/// Identifies whether the factory object will be shared or isolated. +/// Identifies the DirectWrite factory interface, such as UUIDOF(IDWriteFactory). +/// Receives the DirectWrite factory object. +/// +/// Standard HRESULT error code. +/// +/// +/// This is functionally the same as the DWriteCreateFactory function exported by the system version +/// of DirectWrite. The DWriteCore function has a different name to avoid ambiguity. +/// +EXTERN_C HRESULT DWRITE_EXPORT DWriteCoreCreateFactory( + _In_ DWRITE_FACTORY_TYPE factoryType, + _In_ REFIID iid, + _COM_Outptr_ IUnknown** factory +); + +/// +/// Registers an object that receives internal DWriteCore events. +/// +/// Event sink object to register. +/// Standard HRESULT error code. +/// This method does NOT add a reference to the event sink object. +/// The caller is expected to hold a reference to the event sink object until +/// it later unregisters it by calling DWriteUnregisterEventSink. +EXTERN_C HRESULT DWRITE_EXPORT DWriteCoreRegisterEventSink( + IDWriteEventSink* eventSink +); + +/// +/// Unregisters an event sink object that was previously registered +/// using DWriteCoreRegisterEventSink. +/// +/// Event sink object to unregister. +/// Since DWriteCore does not hold a reference to the event sink, this +/// call can be made by the event sink object's destructor. +EXTERN_C void DWRITE_EXPORT DWriteCoreUnregisterEventSink( + IDWriteEventSink* eventSink +); + diff --git a/vendor/include/microsoft.ui.xaml.hosting.referencetracker.h b/vendor/include/microsoft.ui.xaml.hosting.referencetracker.h new file mode 100644 index 0000000..475a725 --- /dev/null +++ b/vendor/include/microsoft.ui.xaml.hosting.referencetracker.h @@ -0,0 +1,970 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 8.01.0628 */ +/* @@MIDL_FILE_HEADING( ) */ + + + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 500 +#endif + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCSAL_H_VERSION__ +#define __REQUIRED_RPCSAL_H_VERSION__ 100 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif /* __RPCNDR_H_VERSION__ */ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __microsoft2Eui2Examl2Ehosting2Ereferencetracker_h__ +#define __microsoft2Eui2Examl2Ehosting2Ereferencetracker_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 __IReferenceTrackerTarget_FWD_DEFINED__ +#define __IReferenceTrackerTarget_FWD_DEFINED__ +typedef interface IReferenceTrackerTarget IReferenceTrackerTarget; + +#endif /* __IReferenceTrackerTarget_FWD_DEFINED__ */ + + +#ifndef __IReferenceTracker_FWD_DEFINED__ +#define __IReferenceTracker_FWD_DEFINED__ +typedef interface IReferenceTracker IReferenceTracker; + +#endif /* __IReferenceTracker_FWD_DEFINED__ */ + + +#ifndef __IReferenceTrackerManager_FWD_DEFINED__ +#define __IReferenceTrackerManager_FWD_DEFINED__ +typedef interface IReferenceTrackerManager IReferenceTrackerManager; + +#endif /* __IReferenceTrackerManager_FWD_DEFINED__ */ + + +#ifndef __IFindReferenceTargetsCallback_FWD_DEFINED__ +#define __IFindReferenceTargetsCallback_FWD_DEFINED__ +typedef interface IFindReferenceTargetsCallback IFindReferenceTargetsCallback; + +#endif /* __IFindReferenceTargetsCallback_FWD_DEFINED__ */ + + +#ifndef __IReferenceTrackerHost_FWD_DEFINED__ +#define __IReferenceTrackerHost_FWD_DEFINED__ +typedef interface IReferenceTrackerHost IReferenceTrackerHost; + +#endif /* __IReferenceTrackerHost_FWD_DEFINED__ */ + + +#ifndef __IReferenceTrackerExtension_FWD_DEFINED__ +#define __IReferenceTrackerExtension_FWD_DEFINED__ +typedef interface IReferenceTrackerExtension IReferenceTrackerExtension; + +#endif /* __IReferenceTrackerExtension_FWD_DEFINED__ */ + + +#ifndef __ITrackerOwner_FWD_DEFINED__ +#define __ITrackerOwner_FWD_DEFINED__ +typedef interface ITrackerOwner ITrackerOwner; + +#endif /* __ITrackerOwner_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "oaidl.h" + +#ifdef __cplusplus +extern "C"{ +#endif + + +/* interface __MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0000 */ +/* [local] */ + +#pragma warning(push) +#pragma warning(disable:4668) +#pragma warning(disable:4001) +#pragma once +#pragma warning(pop) +#if (NTDDI_VERSION >= NTDDI_WIN8) + + + + + +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0000_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0000_v0_0_s_ifspec; + +#ifndef __IReferenceTrackerTarget_INTERFACE_DEFINED__ +#define __IReferenceTrackerTarget_INTERFACE_DEFINED__ + +/* interface IReferenceTrackerTarget */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_IReferenceTrackerTarget; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("64bd43f8-bfee-4ec4-b7eb-2935158dae21") + IReferenceTrackerTarget : public IUnknown + { + public: + virtual ULONG STDMETHODCALLTYPE AddRefFromReferenceTracker( void) = 0; + + virtual ULONG STDMETHODCALLTYPE ReleaseFromReferenceTracker( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE Peg( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE Unpeg( void) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IReferenceTrackerTargetVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IReferenceTrackerTarget * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + IReferenceTrackerTarget * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + IReferenceTrackerTarget * This); + + DECLSPEC_XFGVIRT(IReferenceTrackerTarget, AddRefFromReferenceTracker) + ULONG ( STDMETHODCALLTYPE *AddRefFromReferenceTracker )( + IReferenceTrackerTarget * This); + + DECLSPEC_XFGVIRT(IReferenceTrackerTarget, ReleaseFromReferenceTracker) + ULONG ( STDMETHODCALLTYPE *ReleaseFromReferenceTracker )( + IReferenceTrackerTarget * This); + + DECLSPEC_XFGVIRT(IReferenceTrackerTarget, Peg) + HRESULT ( STDMETHODCALLTYPE *Peg )( + IReferenceTrackerTarget * This); + + DECLSPEC_XFGVIRT(IReferenceTrackerTarget, Unpeg) + HRESULT ( STDMETHODCALLTYPE *Unpeg )( + IReferenceTrackerTarget * This); + + END_INTERFACE + } IReferenceTrackerTargetVtbl; + + interface IReferenceTrackerTarget + { + CONST_VTBL struct IReferenceTrackerTargetVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IReferenceTrackerTarget_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IReferenceTrackerTarget_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IReferenceTrackerTarget_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IReferenceTrackerTarget_AddRefFromReferenceTracker(This) \ + ( (This)->lpVtbl -> AddRefFromReferenceTracker(This) ) + +#define IReferenceTrackerTarget_ReleaseFromReferenceTracker(This) \ + ( (This)->lpVtbl -> ReleaseFromReferenceTracker(This) ) + +#define IReferenceTrackerTarget_Peg(This) \ + ( (This)->lpVtbl -> Peg(This) ) + +#define IReferenceTrackerTarget_Unpeg(This) \ + ( (This)->lpVtbl -> Unpeg(This) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IReferenceTrackerTarget_INTERFACE_DEFINED__ */ + + +#ifndef __IReferenceTracker_INTERFACE_DEFINED__ +#define __IReferenceTracker_INTERFACE_DEFINED__ + +/* interface IReferenceTracker */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_IReferenceTracker; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("11d3b13a-180e-4789-a8be-7712882893e6") + IReferenceTracker : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE ConnectFromTrackerSource( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE DisconnectFromTrackerSource( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindTrackerTargets( + /* [annotation][in] */ + _In_ IFindReferenceTargetsCallback *callback) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetReferenceTrackerManager( + /* [annotation][out] */ + _Out_ IReferenceTrackerManager **value) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddRefFromTrackerSource( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReleaseFromTrackerSource( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE PegFromTrackerSource( void) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IReferenceTrackerVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IReferenceTracker * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + IReferenceTracker * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + IReferenceTracker * This); + + DECLSPEC_XFGVIRT(IReferenceTracker, ConnectFromTrackerSource) + HRESULT ( STDMETHODCALLTYPE *ConnectFromTrackerSource )( + IReferenceTracker * This); + + DECLSPEC_XFGVIRT(IReferenceTracker, DisconnectFromTrackerSource) + HRESULT ( STDMETHODCALLTYPE *DisconnectFromTrackerSource )( + IReferenceTracker * This); + + DECLSPEC_XFGVIRT(IReferenceTracker, FindTrackerTargets) + HRESULT ( STDMETHODCALLTYPE *FindTrackerTargets )( + IReferenceTracker * This, + /* [annotation][in] */ + _In_ IFindReferenceTargetsCallback *callback); + + DECLSPEC_XFGVIRT(IReferenceTracker, GetReferenceTrackerManager) + HRESULT ( STDMETHODCALLTYPE *GetReferenceTrackerManager )( + IReferenceTracker * This, + /* [annotation][out] */ + _Out_ IReferenceTrackerManager **value); + + DECLSPEC_XFGVIRT(IReferenceTracker, AddRefFromTrackerSource) + HRESULT ( STDMETHODCALLTYPE *AddRefFromTrackerSource )( + IReferenceTracker * This); + + DECLSPEC_XFGVIRT(IReferenceTracker, ReleaseFromTrackerSource) + HRESULT ( STDMETHODCALLTYPE *ReleaseFromTrackerSource )( + IReferenceTracker * This); + + DECLSPEC_XFGVIRT(IReferenceTracker, PegFromTrackerSource) + HRESULT ( STDMETHODCALLTYPE *PegFromTrackerSource )( + IReferenceTracker * This); + + END_INTERFACE + } IReferenceTrackerVtbl; + + interface IReferenceTracker + { + CONST_VTBL struct IReferenceTrackerVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IReferenceTracker_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IReferenceTracker_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IReferenceTracker_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IReferenceTracker_ConnectFromTrackerSource(This) \ + ( (This)->lpVtbl -> ConnectFromTrackerSource(This) ) + +#define IReferenceTracker_DisconnectFromTrackerSource(This) \ + ( (This)->lpVtbl -> DisconnectFromTrackerSource(This) ) + +#define IReferenceTracker_FindTrackerTargets(This,callback) \ + ( (This)->lpVtbl -> FindTrackerTargets(This,callback) ) + +#define IReferenceTracker_GetReferenceTrackerManager(This,value) \ + ( (This)->lpVtbl -> GetReferenceTrackerManager(This,value) ) + +#define IReferenceTracker_AddRefFromTrackerSource(This) \ + ( (This)->lpVtbl -> AddRefFromTrackerSource(This) ) + +#define IReferenceTracker_ReleaseFromTrackerSource(This) \ + ( (This)->lpVtbl -> ReleaseFromTrackerSource(This) ) + +#define IReferenceTracker_PegFromTrackerSource(This) \ + ( (This)->lpVtbl -> PegFromTrackerSource(This) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IReferenceTracker_INTERFACE_DEFINED__ */ + + +#ifndef __IReferenceTrackerManager_INTERFACE_DEFINED__ +#define __IReferenceTrackerManager_INTERFACE_DEFINED__ + +/* interface IReferenceTrackerManager */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_IReferenceTrackerManager; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("3cf184b4-7ccb-4dda-8455-7e6ce99a3298") + IReferenceTrackerManager : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE ReferenceTrackingStarted( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindTrackerTargetsCompleted( + /* [annotation][in] */ + _In_ boolean findFailed) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReferenceTrackingCompleted( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetReferenceTrackerHost( + /* [annotation][in] */ + _In_ IReferenceTrackerHost *value) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IReferenceTrackerManagerVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IReferenceTrackerManager * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + IReferenceTrackerManager * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + IReferenceTrackerManager * This); + + DECLSPEC_XFGVIRT(IReferenceTrackerManager, ReferenceTrackingStarted) + HRESULT ( STDMETHODCALLTYPE *ReferenceTrackingStarted )( + IReferenceTrackerManager * This); + + DECLSPEC_XFGVIRT(IReferenceTrackerManager, FindTrackerTargetsCompleted) + HRESULT ( STDMETHODCALLTYPE *FindTrackerTargetsCompleted )( + IReferenceTrackerManager * This, + /* [annotation][in] */ + _In_ boolean findFailed); + + DECLSPEC_XFGVIRT(IReferenceTrackerManager, ReferenceTrackingCompleted) + HRESULT ( STDMETHODCALLTYPE *ReferenceTrackingCompleted )( + IReferenceTrackerManager * This); + + DECLSPEC_XFGVIRT(IReferenceTrackerManager, SetReferenceTrackerHost) + HRESULT ( STDMETHODCALLTYPE *SetReferenceTrackerHost )( + IReferenceTrackerManager * This, + /* [annotation][in] */ + _In_ IReferenceTrackerHost *value); + + END_INTERFACE + } IReferenceTrackerManagerVtbl; + + interface IReferenceTrackerManager + { + CONST_VTBL struct IReferenceTrackerManagerVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IReferenceTrackerManager_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IReferenceTrackerManager_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IReferenceTrackerManager_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IReferenceTrackerManager_ReferenceTrackingStarted(This) \ + ( (This)->lpVtbl -> ReferenceTrackingStarted(This) ) + +#define IReferenceTrackerManager_FindTrackerTargetsCompleted(This,findFailed) \ + ( (This)->lpVtbl -> FindTrackerTargetsCompleted(This,findFailed) ) + +#define IReferenceTrackerManager_ReferenceTrackingCompleted(This) \ + ( (This)->lpVtbl -> ReferenceTrackingCompleted(This) ) + +#define IReferenceTrackerManager_SetReferenceTrackerHost(This,value) \ + ( (This)->lpVtbl -> SetReferenceTrackerHost(This,value) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IReferenceTrackerManager_INTERFACE_DEFINED__ */ + + +#ifndef __IFindReferenceTargetsCallback_INTERFACE_DEFINED__ +#define __IFindReferenceTargetsCallback_INTERFACE_DEFINED__ + +/* interface IFindReferenceTargetsCallback */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_IFindReferenceTargetsCallback; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("04b3486c-4687-4229-8d14-505ab584dd88") + IFindReferenceTargetsCallback : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE FoundTrackerTarget( + /* [annotation][in] */ + _In_ IReferenceTrackerTarget *target) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IFindReferenceTargetsCallbackVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IFindReferenceTargetsCallback * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + IFindReferenceTargetsCallback * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + IFindReferenceTargetsCallback * This); + + DECLSPEC_XFGVIRT(IFindReferenceTargetsCallback, FoundTrackerTarget) + HRESULT ( STDMETHODCALLTYPE *FoundTrackerTarget )( + IFindReferenceTargetsCallback * This, + /* [annotation][in] */ + _In_ IReferenceTrackerTarget *target); + + END_INTERFACE + } IFindReferenceTargetsCallbackVtbl; + + interface IFindReferenceTargetsCallback + { + CONST_VTBL struct IFindReferenceTargetsCallbackVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IFindReferenceTargetsCallback_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IFindReferenceTargetsCallback_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IFindReferenceTargetsCallback_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IFindReferenceTargetsCallback_FoundTrackerTarget(This,target) \ + ( (This)->lpVtbl -> FoundTrackerTarget(This,target) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IFindReferenceTargetsCallback_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0004 */ +/* [local] */ + +typedef /* [public][public][v1_enum] */ +enum __MIDL___MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0004_0001 + { + XAML_REFERENCETRACKER_DISCONNECT_DEFAULT = 0, + XAML_REFERENCETRACKER_DISCONNECT_SUSPEND = 1 + } XAML_REFERENCETRACKER_DISCONNECT; + + + +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0004_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0004_v0_0_s_ifspec; + +#ifndef __IReferenceTrackerHost_INTERFACE_DEFINED__ +#define __IReferenceTrackerHost_INTERFACE_DEFINED__ + +/* interface IReferenceTrackerHost */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_IReferenceTrackerHost; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("29a71c6a-3c42-4416-a39d-e2825a07a773") + IReferenceTrackerHost : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE DisconnectUnusedReferenceSources( + /* [in] */ XAML_REFERENCETRACKER_DISCONNECT options) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReleaseDisconnectedReferenceSources( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE NotifyEndOfReferenceTrackingOnThread( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTrackerTarget( + IUnknown *unknown, + IReferenceTrackerTarget **newReference) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddMemoryPressure( + UINT64 bytesAllocated) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveMemoryPressure( + UINT64 bytesAllocated) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IReferenceTrackerHostVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IReferenceTrackerHost * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + IReferenceTrackerHost * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + IReferenceTrackerHost * This); + + DECLSPEC_XFGVIRT(IReferenceTrackerHost, DisconnectUnusedReferenceSources) + HRESULT ( STDMETHODCALLTYPE *DisconnectUnusedReferenceSources )( + IReferenceTrackerHost * This, + /* [in] */ XAML_REFERENCETRACKER_DISCONNECT options); + + DECLSPEC_XFGVIRT(IReferenceTrackerHost, ReleaseDisconnectedReferenceSources) + HRESULT ( STDMETHODCALLTYPE *ReleaseDisconnectedReferenceSources )( + IReferenceTrackerHost * This); + + DECLSPEC_XFGVIRT(IReferenceTrackerHost, NotifyEndOfReferenceTrackingOnThread) + HRESULT ( STDMETHODCALLTYPE *NotifyEndOfReferenceTrackingOnThread )( + IReferenceTrackerHost * This); + + DECLSPEC_XFGVIRT(IReferenceTrackerHost, GetTrackerTarget) + HRESULT ( STDMETHODCALLTYPE *GetTrackerTarget )( + IReferenceTrackerHost * This, + IUnknown *unknown, + IReferenceTrackerTarget **newReference); + + DECLSPEC_XFGVIRT(IReferenceTrackerHost, AddMemoryPressure) + HRESULT ( STDMETHODCALLTYPE *AddMemoryPressure )( + IReferenceTrackerHost * This, + UINT64 bytesAllocated); + + DECLSPEC_XFGVIRT(IReferenceTrackerHost, RemoveMemoryPressure) + HRESULT ( STDMETHODCALLTYPE *RemoveMemoryPressure )( + IReferenceTrackerHost * This, + UINT64 bytesAllocated); + + END_INTERFACE + } IReferenceTrackerHostVtbl; + + interface IReferenceTrackerHost + { + CONST_VTBL struct IReferenceTrackerHostVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IReferenceTrackerHost_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IReferenceTrackerHost_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IReferenceTrackerHost_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IReferenceTrackerHost_DisconnectUnusedReferenceSources(This,options) \ + ( (This)->lpVtbl -> DisconnectUnusedReferenceSources(This,options) ) + +#define IReferenceTrackerHost_ReleaseDisconnectedReferenceSources(This) \ + ( (This)->lpVtbl -> ReleaseDisconnectedReferenceSources(This) ) + +#define IReferenceTrackerHost_NotifyEndOfReferenceTrackingOnThread(This) \ + ( (This)->lpVtbl -> NotifyEndOfReferenceTrackingOnThread(This) ) + +#define IReferenceTrackerHost_GetTrackerTarget(This,unknown,newReference) \ + ( (This)->lpVtbl -> GetTrackerTarget(This,unknown,newReference) ) + +#define IReferenceTrackerHost_AddMemoryPressure(This,bytesAllocated) \ + ( (This)->lpVtbl -> AddMemoryPressure(This,bytesAllocated) ) + +#define IReferenceTrackerHost_RemoveMemoryPressure(This,bytesAllocated) \ + ( (This)->lpVtbl -> RemoveMemoryPressure(This,bytesAllocated) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IReferenceTrackerHost_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0005 */ +/* [local] */ + +#if (NTDDI_VERSION >= NTDDI_WIN10_RS2) + + +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0005_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0005_v0_0_s_ifspec; + +#ifndef __IReferenceTrackerExtension_INTERFACE_DEFINED__ +#define __IReferenceTrackerExtension_INTERFACE_DEFINED__ + +/* interface IReferenceTrackerExtension */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_IReferenceTrackerExtension; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("4e897caa-59d5-4613-8f8c-f7ebd1f399b0") + IReferenceTrackerExtension : public IUnknown + { + public: + }; + + +#else /* C style interface */ + + typedef struct IReferenceTrackerExtensionVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IReferenceTrackerExtension * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + IReferenceTrackerExtension * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + IReferenceTrackerExtension * This); + + END_INTERFACE + } IReferenceTrackerExtensionVtbl; + + interface IReferenceTrackerExtension + { + CONST_VTBL struct IReferenceTrackerExtensionVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IReferenceTrackerExtension_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IReferenceTrackerExtension_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IReferenceTrackerExtension_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IReferenceTrackerExtension_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0006 */ +/* [local] */ + +typedef struct TrackerHandle__ + { + int unused; + } TrackerHandle__; + +typedef /* [unique] */ __RPC_unique_pointer TrackerHandle__ *TrackerHandle; + + + +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0006_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0006_v0_0_s_ifspec; + +#ifndef __ITrackerOwner_INTERFACE_DEFINED__ +#define __ITrackerOwner_INTERFACE_DEFINED__ + +/* interface ITrackerOwner */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_ITrackerOwner; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("eb24c20b-9816-4ac7-8cff-36f67a118f4e") + ITrackerOwner : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE CreateTrackerHandle( + /* [retval][out] */ TrackerHandle *returnValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteTrackerHandle( + /* [in] */ TrackerHandle handle) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTrackerValue( + /* [in] */ TrackerHandle handle, + /* [in] */ IUnknown *value) = 0; + + virtual boolean STDMETHODCALLTYPE TryGetSafeTrackerValue( + /* [in] */ TrackerHandle handle, + /* [retval][out] */ IUnknown **returnValue) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ITrackerOwnerVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ITrackerOwner * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + ITrackerOwner * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + ITrackerOwner * This); + + DECLSPEC_XFGVIRT(ITrackerOwner, CreateTrackerHandle) + HRESULT ( STDMETHODCALLTYPE *CreateTrackerHandle )( + ITrackerOwner * This, + /* [retval][out] */ TrackerHandle *returnValue); + + DECLSPEC_XFGVIRT(ITrackerOwner, DeleteTrackerHandle) + HRESULT ( STDMETHODCALLTYPE *DeleteTrackerHandle )( + ITrackerOwner * This, + /* [in] */ TrackerHandle handle); + + DECLSPEC_XFGVIRT(ITrackerOwner, SetTrackerValue) + HRESULT ( STDMETHODCALLTYPE *SetTrackerValue )( + ITrackerOwner * This, + /* [in] */ TrackerHandle handle, + /* [in] */ IUnknown *value); + + DECLSPEC_XFGVIRT(ITrackerOwner, TryGetSafeTrackerValue) + boolean ( STDMETHODCALLTYPE *TryGetSafeTrackerValue )( + ITrackerOwner * This, + /* [in] */ TrackerHandle handle, + /* [retval][out] */ IUnknown **returnValue); + + END_INTERFACE + } ITrackerOwnerVtbl; + + interface ITrackerOwner + { + CONST_VTBL struct ITrackerOwnerVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ITrackerOwner_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ITrackerOwner_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ITrackerOwner_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ITrackerOwner_CreateTrackerHandle(This,returnValue) \ + ( (This)->lpVtbl -> CreateTrackerHandle(This,returnValue) ) + +#define ITrackerOwner_DeleteTrackerHandle(This,handle) \ + ( (This)->lpVtbl -> DeleteTrackerHandle(This,handle) ) + +#define ITrackerOwner_SetTrackerValue(This,handle,value) \ + ( (This)->lpVtbl -> SetTrackerValue(This,handle,value) ) + +#define ITrackerOwner_TryGetSafeTrackerValue(This,handle,returnValue) \ + ( (This)->lpVtbl -> TryGetSafeTrackerValue(This,handle,returnValue) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ITrackerOwner_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0007 */ +/* [local] */ + +#endif // NTDDI_VERSION >= NTDDI_WIN10_RS2 +#endif // NTDDI_VERSION >= NTDDI_WIN8 + + +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0007_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Ehosting2Ereferencetracker_0000_0007_v0_0_s_ifspec; + +/* Additional Prototypes for ALL interfaces */ + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/vendor/include/microsoft.ui.xaml.media.dxinterop.h b/vendor/include/microsoft.ui.xaml.media.dxinterop.h new file mode 100644 index 0000000..da46956 --- /dev/null +++ b/vendor/include/microsoft.ui.xaml.media.dxinterop.h @@ -0,0 +1,1054 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 8.01.0628 */ +/* @@MIDL_FILE_HEADING( ) */ + + + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 500 +#endif + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCSAL_H_VERSION__ +#define __REQUIRED_RPCSAL_H_VERSION__ 100 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif /* __RPCNDR_H_VERSION__ */ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __microsoft2Eui2Examl2Emedia2Edxinterop_h__ +#define __microsoft2Eui2Examl2Emedia2Edxinterop_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 __ISurfaceImageSourceNative_FWD_DEFINED__ +#define __ISurfaceImageSourceNative_FWD_DEFINED__ +typedef interface ISurfaceImageSourceNative ISurfaceImageSourceNative; + +#endif /* __ISurfaceImageSourceNative_FWD_DEFINED__ */ + + +#ifndef __IVirtualSurfaceUpdatesCallbackNative_FWD_DEFINED__ +#define __IVirtualSurfaceUpdatesCallbackNative_FWD_DEFINED__ +typedef interface IVirtualSurfaceUpdatesCallbackNative IVirtualSurfaceUpdatesCallbackNative; + +#endif /* __IVirtualSurfaceUpdatesCallbackNative_FWD_DEFINED__ */ + + +#ifndef __IVirtualSurfaceImageSourceNative_FWD_DEFINED__ +#define __IVirtualSurfaceImageSourceNative_FWD_DEFINED__ +typedef interface IVirtualSurfaceImageSourceNative IVirtualSurfaceImageSourceNative; + +#endif /* __IVirtualSurfaceImageSourceNative_FWD_DEFINED__ */ + + +#ifndef __ISwapChainBackgroundPanelNative_FWD_DEFINED__ +#define __ISwapChainBackgroundPanelNative_FWD_DEFINED__ +typedef interface ISwapChainBackgroundPanelNative ISwapChainBackgroundPanelNative; + +#endif /* __ISwapChainBackgroundPanelNative_FWD_DEFINED__ */ + + +#ifndef __ISurfaceImageSourceManagerNative_FWD_DEFINED__ +#define __ISurfaceImageSourceManagerNative_FWD_DEFINED__ +typedef interface ISurfaceImageSourceManagerNative ISurfaceImageSourceManagerNative; + +#endif /* __ISurfaceImageSourceManagerNative_FWD_DEFINED__ */ + + +#ifndef __ISurfaceImageSourceNativeWithD2D_FWD_DEFINED__ +#define __ISurfaceImageSourceNativeWithD2D_FWD_DEFINED__ +typedef interface ISurfaceImageSourceNativeWithD2D ISurfaceImageSourceNativeWithD2D; + +#endif /* __ISurfaceImageSourceNativeWithD2D_FWD_DEFINED__ */ + + +#ifndef __ISwapChainPanelNative_FWD_DEFINED__ +#define __ISwapChainPanelNative_FWD_DEFINED__ +typedef interface ISwapChainPanelNative ISwapChainPanelNative; + +#endif /* __ISwapChainPanelNative_FWD_DEFINED__ */ + + +#ifndef __ISwapChainPanelNative2_FWD_DEFINED__ +#define __ISwapChainPanelNative2_FWD_DEFINED__ +typedef interface ISwapChainPanelNative2 ISwapChainPanelNative2; + +#endif /* __ISwapChainPanelNative2_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "oaidl.h" +#include "dxgi.h" + +#ifdef __cplusplus +extern "C"{ +#endif + + +/* interface __MIDL_itf_microsoft2Eui2Examl2Emedia2Edxinterop_0000_0000 */ +/* [local] */ + +#if (NTDDI_VERSION >= NTDDI_WIN8) +#if 0 +typedef RECT *REFRECT; + +#endif // 0 +#ifndef REFRECT +#ifdef __cplusplus +#define REFRECT const RECT & +#else // !__cplusplus +#define REFRECT const RECT * __MIDL_CONST +#endif // __cplusplus +#endif //REFRECT + + +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Emedia2Edxinterop_0000_0000_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Emedia2Edxinterop_0000_0000_v0_0_s_ifspec; + +#ifndef __ISurfaceImageSourceNative_INTERFACE_DEFINED__ +#define __ISurfaceImageSourceNative_INTERFACE_DEFINED__ + +/* interface ISurfaceImageSourceNative */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_ISurfaceImageSourceNative; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("e4cecd6c-f14b-4f46-83c3-8bbda27c6504") + ISurfaceImageSourceNative : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SetDevice( + /* [annotation][in] */ + _In_ IDXGIDevice *device) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginDraw( + /* [annotation][in] */ + _In_ RECT updateRect, + /* [annotation][out] */ + _Out_ IDXGISurface **surface, + /* [annotation][out] */ + _Out_ POINT *offset) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndDraw( void) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ISurfaceImageSourceNativeVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ISurfaceImageSourceNative * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + ISurfaceImageSourceNative * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + ISurfaceImageSourceNative * This); + + DECLSPEC_XFGVIRT(ISurfaceImageSourceNative, SetDevice) + HRESULT ( STDMETHODCALLTYPE *SetDevice )( + ISurfaceImageSourceNative * This, + /* [annotation][in] */ + _In_ IDXGIDevice *device); + + DECLSPEC_XFGVIRT(ISurfaceImageSourceNative, BeginDraw) + HRESULT ( STDMETHODCALLTYPE *BeginDraw )( + ISurfaceImageSourceNative * This, + /* [annotation][in] */ + _In_ RECT updateRect, + /* [annotation][out] */ + _Out_ IDXGISurface **surface, + /* [annotation][out] */ + _Out_ POINT *offset); + + DECLSPEC_XFGVIRT(ISurfaceImageSourceNative, EndDraw) + HRESULT ( STDMETHODCALLTYPE *EndDraw )( + ISurfaceImageSourceNative * This); + + END_INTERFACE + } ISurfaceImageSourceNativeVtbl; + + interface ISurfaceImageSourceNative + { + CONST_VTBL struct ISurfaceImageSourceNativeVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ISurfaceImageSourceNative_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ISurfaceImageSourceNative_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ISurfaceImageSourceNative_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ISurfaceImageSourceNative_SetDevice(This,device) \ + ( (This)->lpVtbl -> SetDevice(This,device) ) + +#define ISurfaceImageSourceNative_BeginDraw(This,updateRect,surface,offset) \ + ( (This)->lpVtbl -> BeginDraw(This,updateRect,surface,offset) ) + +#define ISurfaceImageSourceNative_EndDraw(This) \ + ( (This)->lpVtbl -> EndDraw(This) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ISurfaceImageSourceNative_INTERFACE_DEFINED__ */ + + +#ifndef __IVirtualSurfaceUpdatesCallbackNative_INTERFACE_DEFINED__ +#define __IVirtualSurfaceUpdatesCallbackNative_INTERFACE_DEFINED__ + +/* interface IVirtualSurfaceUpdatesCallbackNative */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_IVirtualSurfaceUpdatesCallbackNative; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("e8e84ac7-b7b8-40f4-b033-f877a756c52b") + IVirtualSurfaceUpdatesCallbackNative : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE UpdatesNeeded( void) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IVirtualSurfaceUpdatesCallbackNativeVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVirtualSurfaceUpdatesCallbackNative * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVirtualSurfaceUpdatesCallbackNative * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + IVirtualSurfaceUpdatesCallbackNative * This); + + DECLSPEC_XFGVIRT(IVirtualSurfaceUpdatesCallbackNative, UpdatesNeeded) + HRESULT ( STDMETHODCALLTYPE *UpdatesNeeded )( + IVirtualSurfaceUpdatesCallbackNative * This); + + END_INTERFACE + } IVirtualSurfaceUpdatesCallbackNativeVtbl; + + interface IVirtualSurfaceUpdatesCallbackNative + { + CONST_VTBL struct IVirtualSurfaceUpdatesCallbackNativeVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVirtualSurfaceUpdatesCallbackNative_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IVirtualSurfaceUpdatesCallbackNative_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IVirtualSurfaceUpdatesCallbackNative_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IVirtualSurfaceUpdatesCallbackNative_UpdatesNeeded(This) \ + ( (This)->lpVtbl -> UpdatesNeeded(This) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IVirtualSurfaceUpdatesCallbackNative_INTERFACE_DEFINED__ */ + + +#ifndef __IVirtualSurfaceImageSourceNative_INTERFACE_DEFINED__ +#define __IVirtualSurfaceImageSourceNative_INTERFACE_DEFINED__ + +/* interface IVirtualSurfaceImageSourceNative */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_IVirtualSurfaceImageSourceNative; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("9e43c18e-7816-474c-840f-5c9c8b0e2207") + IVirtualSurfaceImageSourceNative : public ISurfaceImageSourceNative + { + public: + virtual HRESULT STDMETHODCALLTYPE Invalidate( + /* [annotation][in] */ + _In_ RECT updateRect) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetUpdateRectCount( + /* [annotation][out] */ + _Out_ DWORD *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetUpdateRects( + /* [annotation][size_is][out] */ + _Out_writes_(count) RECT *updates, + /* [annotation][in] */ + _In_ DWORD count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVisibleBounds( + /* [annotation][out] */ + _Out_ RECT *bounds) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterForUpdatesNeeded( + /* [annotation][in] */ + _In_opt_ IVirtualSurfaceUpdatesCallbackNative *callback) = 0; + + virtual HRESULT STDMETHODCALLTYPE Resize( + /* [annotation][in] */ + _In_ INT newWidth, + /* [annotation][in] */ + _In_ INT newHeight) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IVirtualSurfaceImageSourceNativeVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IVirtualSurfaceImageSourceNative * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + IVirtualSurfaceImageSourceNative * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + IVirtualSurfaceImageSourceNative * This); + + DECLSPEC_XFGVIRT(ISurfaceImageSourceNative, SetDevice) + HRESULT ( STDMETHODCALLTYPE *SetDevice )( + IVirtualSurfaceImageSourceNative * This, + /* [annotation][in] */ + _In_ IDXGIDevice *device); + + DECLSPEC_XFGVIRT(ISurfaceImageSourceNative, BeginDraw) + HRESULT ( STDMETHODCALLTYPE *BeginDraw )( + IVirtualSurfaceImageSourceNative * This, + /* [annotation][in] */ + _In_ RECT updateRect, + /* [annotation][out] */ + _Out_ IDXGISurface **surface, + /* [annotation][out] */ + _Out_ POINT *offset); + + DECLSPEC_XFGVIRT(ISurfaceImageSourceNative, EndDraw) + HRESULT ( STDMETHODCALLTYPE *EndDraw )( + IVirtualSurfaceImageSourceNative * This); + + DECLSPEC_XFGVIRT(IVirtualSurfaceImageSourceNative, Invalidate) + HRESULT ( STDMETHODCALLTYPE *Invalidate )( + IVirtualSurfaceImageSourceNative * This, + /* [annotation][in] */ + _In_ RECT updateRect); + + DECLSPEC_XFGVIRT(IVirtualSurfaceImageSourceNative, GetUpdateRectCount) + HRESULT ( STDMETHODCALLTYPE *GetUpdateRectCount )( + IVirtualSurfaceImageSourceNative * This, + /* [annotation][out] */ + _Out_ DWORD *count); + + DECLSPEC_XFGVIRT(IVirtualSurfaceImageSourceNative, GetUpdateRects) + HRESULT ( STDMETHODCALLTYPE *GetUpdateRects )( + IVirtualSurfaceImageSourceNative * This, + /* [annotation][size_is][out] */ + _Out_writes_(count) RECT *updates, + /* [annotation][in] */ + _In_ DWORD count); + + DECLSPEC_XFGVIRT(IVirtualSurfaceImageSourceNative, GetVisibleBounds) + HRESULT ( STDMETHODCALLTYPE *GetVisibleBounds )( + IVirtualSurfaceImageSourceNative * This, + /* [annotation][out] */ + _Out_ RECT *bounds); + + DECLSPEC_XFGVIRT(IVirtualSurfaceImageSourceNative, RegisterForUpdatesNeeded) + HRESULT ( STDMETHODCALLTYPE *RegisterForUpdatesNeeded )( + IVirtualSurfaceImageSourceNative * This, + /* [annotation][in] */ + _In_opt_ IVirtualSurfaceUpdatesCallbackNative *callback); + + DECLSPEC_XFGVIRT(IVirtualSurfaceImageSourceNative, Resize) + HRESULT ( STDMETHODCALLTYPE *Resize )( + IVirtualSurfaceImageSourceNative * This, + /* [annotation][in] */ + _In_ INT newWidth, + /* [annotation][in] */ + _In_ INT newHeight); + + END_INTERFACE + } IVirtualSurfaceImageSourceNativeVtbl; + + interface IVirtualSurfaceImageSourceNative + { + CONST_VTBL struct IVirtualSurfaceImageSourceNativeVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVirtualSurfaceImageSourceNative_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IVirtualSurfaceImageSourceNative_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IVirtualSurfaceImageSourceNative_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IVirtualSurfaceImageSourceNative_SetDevice(This,device) \ + ( (This)->lpVtbl -> SetDevice(This,device) ) + +#define IVirtualSurfaceImageSourceNative_BeginDraw(This,updateRect,surface,offset) \ + ( (This)->lpVtbl -> BeginDraw(This,updateRect,surface,offset) ) + +#define IVirtualSurfaceImageSourceNative_EndDraw(This) \ + ( (This)->lpVtbl -> EndDraw(This) ) + + +#define IVirtualSurfaceImageSourceNative_Invalidate(This,updateRect) \ + ( (This)->lpVtbl -> Invalidate(This,updateRect) ) + +#define IVirtualSurfaceImageSourceNative_GetUpdateRectCount(This,count) \ + ( (This)->lpVtbl -> GetUpdateRectCount(This,count) ) + +#define IVirtualSurfaceImageSourceNative_GetUpdateRects(This,updates,count) \ + ( (This)->lpVtbl -> GetUpdateRects(This,updates,count) ) + +#define IVirtualSurfaceImageSourceNative_GetVisibleBounds(This,bounds) \ + ( (This)->lpVtbl -> GetVisibleBounds(This,bounds) ) + +#define IVirtualSurfaceImageSourceNative_RegisterForUpdatesNeeded(This,callback) \ + ( (This)->lpVtbl -> RegisterForUpdatesNeeded(This,callback) ) + +#define IVirtualSurfaceImageSourceNative_Resize(This,newWidth,newHeight) \ + ( (This)->lpVtbl -> Resize(This,newWidth,newHeight) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IVirtualSurfaceImageSourceNative_INTERFACE_DEFINED__ */ + + +#ifndef __ISwapChainBackgroundPanelNative_INTERFACE_DEFINED__ +#define __ISwapChainBackgroundPanelNative_INTERFACE_DEFINED__ + +/* interface ISwapChainBackgroundPanelNative */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_ISwapChainBackgroundPanelNative; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("24d43d84-4246-4aa7-9774-8604cb73d90d") + ISwapChainBackgroundPanelNative : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SetSwapChain( + /* [annotation][in] */ + _In_ IDXGISwapChain *swapChain) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ISwapChainBackgroundPanelNativeVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ISwapChainBackgroundPanelNative * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + ISwapChainBackgroundPanelNative * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + ISwapChainBackgroundPanelNative * This); + + DECLSPEC_XFGVIRT(ISwapChainBackgroundPanelNative, SetSwapChain) + HRESULT ( STDMETHODCALLTYPE *SetSwapChain )( + ISwapChainBackgroundPanelNative * This, + /* [annotation][in] */ + _In_ IDXGISwapChain *swapChain); + + END_INTERFACE + } ISwapChainBackgroundPanelNativeVtbl; + + interface ISwapChainBackgroundPanelNative + { + CONST_VTBL struct ISwapChainBackgroundPanelNativeVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ISwapChainBackgroundPanelNative_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ISwapChainBackgroundPanelNative_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ISwapChainBackgroundPanelNative_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ISwapChainBackgroundPanelNative_SetSwapChain(This,swapChain) \ + ( (This)->lpVtbl -> SetSwapChain(This,swapChain) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ISwapChainBackgroundPanelNative_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_microsoft2Eui2Examl2Emedia2Edxinterop_0000_0004 */ +/* [local] */ + +#endif // NTDDI_VERSION >= NTDDI_WIN8 +#if (NTDDI_VERSION >= NTDDI_WINBLUE) +#define E_SURFACE_CONTENTS_LOST 0x802b0020 + + +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Emedia2Edxinterop_0000_0004_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Emedia2Edxinterop_0000_0004_v0_0_s_ifspec; + +#ifndef __ISurfaceImageSourceManagerNative_INTERFACE_DEFINED__ +#define __ISurfaceImageSourceManagerNative_INTERFACE_DEFINED__ + +/* interface ISurfaceImageSourceManagerNative */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_ISurfaceImageSourceManagerNative; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("81521d7e-ff74-4a6b-8289-44bfd11cf0cc") + ISurfaceImageSourceManagerNative : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE FlushAllSurfacesWithDevice( + /* [annotation][in] */ + _In_ IUnknown *device) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ISurfaceImageSourceManagerNativeVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ISurfaceImageSourceManagerNative * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + ISurfaceImageSourceManagerNative * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + ISurfaceImageSourceManagerNative * This); + + DECLSPEC_XFGVIRT(ISurfaceImageSourceManagerNative, FlushAllSurfacesWithDevice) + HRESULT ( STDMETHODCALLTYPE *FlushAllSurfacesWithDevice )( + ISurfaceImageSourceManagerNative * This, + /* [annotation][in] */ + _In_ IUnknown *device); + + END_INTERFACE + } ISurfaceImageSourceManagerNativeVtbl; + + interface ISurfaceImageSourceManagerNative + { + CONST_VTBL struct ISurfaceImageSourceManagerNativeVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ISurfaceImageSourceManagerNative_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ISurfaceImageSourceManagerNative_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ISurfaceImageSourceManagerNative_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ISurfaceImageSourceManagerNative_FlushAllSurfacesWithDevice(This,device) \ + ( (This)->lpVtbl -> FlushAllSurfacesWithDevice(This,device) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ISurfaceImageSourceManagerNative_INTERFACE_DEFINED__ */ + + +#ifndef __ISurfaceImageSourceNativeWithD2D_INTERFACE_DEFINED__ +#define __ISurfaceImageSourceNativeWithD2D_INTERFACE_DEFINED__ + +/* interface ISurfaceImageSourceNativeWithD2D */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_ISurfaceImageSourceNativeWithD2D; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("cb833102-d5d1-448b-a31a-52a9509f24e6") + ISurfaceImageSourceNativeWithD2D : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SetDevice( + /* [annotation][in] */ + _In_ IUnknown *device) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginDraw( + /* [annotation][in] */ + _In_ REFRECT updateRect, + /* [annotation][in] */ + _In_ REFIID iid, + /* [annotation][out] */ + _COM_Outptr_ void **updateObject, + /* [annotation][out] */ + _Out_ POINT *offset) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndDraw( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE SuspendDraw( void) = 0; + + virtual HRESULT STDMETHODCALLTYPE ResumeDraw( void) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ISurfaceImageSourceNativeWithD2DVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ISurfaceImageSourceNativeWithD2D * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + ISurfaceImageSourceNativeWithD2D * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + ISurfaceImageSourceNativeWithD2D * This); + + DECLSPEC_XFGVIRT(ISurfaceImageSourceNativeWithD2D, SetDevice) + HRESULT ( STDMETHODCALLTYPE *SetDevice )( + ISurfaceImageSourceNativeWithD2D * This, + /* [annotation][in] */ + _In_ IUnknown *device); + + DECLSPEC_XFGVIRT(ISurfaceImageSourceNativeWithD2D, BeginDraw) + HRESULT ( STDMETHODCALLTYPE *BeginDraw )( + ISurfaceImageSourceNativeWithD2D * This, + /* [annotation][in] */ + _In_ REFRECT updateRect, + /* [annotation][in] */ + _In_ REFIID iid, + /* [annotation][out] */ + _COM_Outptr_ void **updateObject, + /* [annotation][out] */ + _Out_ POINT *offset); + + DECLSPEC_XFGVIRT(ISurfaceImageSourceNativeWithD2D, EndDraw) + HRESULT ( STDMETHODCALLTYPE *EndDraw )( + ISurfaceImageSourceNativeWithD2D * This); + + DECLSPEC_XFGVIRT(ISurfaceImageSourceNativeWithD2D, SuspendDraw) + HRESULT ( STDMETHODCALLTYPE *SuspendDraw )( + ISurfaceImageSourceNativeWithD2D * This); + + DECLSPEC_XFGVIRT(ISurfaceImageSourceNativeWithD2D, ResumeDraw) + HRESULT ( STDMETHODCALLTYPE *ResumeDraw )( + ISurfaceImageSourceNativeWithD2D * This); + + END_INTERFACE + } ISurfaceImageSourceNativeWithD2DVtbl; + + interface ISurfaceImageSourceNativeWithD2D + { + CONST_VTBL struct ISurfaceImageSourceNativeWithD2DVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ISurfaceImageSourceNativeWithD2D_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ISurfaceImageSourceNativeWithD2D_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ISurfaceImageSourceNativeWithD2D_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ISurfaceImageSourceNativeWithD2D_SetDevice(This,device) \ + ( (This)->lpVtbl -> SetDevice(This,device) ) + +#define ISurfaceImageSourceNativeWithD2D_BeginDraw(This,updateRect,iid,updateObject,offset) \ + ( (This)->lpVtbl -> BeginDraw(This,updateRect,iid,updateObject,offset) ) + +#define ISurfaceImageSourceNativeWithD2D_EndDraw(This) \ + ( (This)->lpVtbl -> EndDraw(This) ) + +#define ISurfaceImageSourceNativeWithD2D_SuspendDraw(This) \ + ( (This)->lpVtbl -> SuspendDraw(This) ) + +#define ISurfaceImageSourceNativeWithD2D_ResumeDraw(This) \ + ( (This)->lpVtbl -> ResumeDraw(This) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ISurfaceImageSourceNativeWithD2D_INTERFACE_DEFINED__ */ + + +#ifndef __ISwapChainPanelNative_INTERFACE_DEFINED__ +#define __ISwapChainPanelNative_INTERFACE_DEFINED__ + +/* interface ISwapChainPanelNative */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_ISwapChainPanelNative; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("63aad0b8-7c24-40ff-85a8-640d944cc325") + ISwapChainPanelNative : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE SetSwapChain( + /* [annotation][in] */ + _In_ IDXGISwapChain *swapChain) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ISwapChainPanelNativeVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ISwapChainPanelNative * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + ISwapChainPanelNative * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + ISwapChainPanelNative * This); + + DECLSPEC_XFGVIRT(ISwapChainPanelNative, SetSwapChain) + HRESULT ( STDMETHODCALLTYPE *SetSwapChain )( + ISwapChainPanelNative * This, + /* [annotation][in] */ + _In_ IDXGISwapChain *swapChain); + + END_INTERFACE + } ISwapChainPanelNativeVtbl; + + interface ISwapChainPanelNative + { + CONST_VTBL struct ISwapChainPanelNativeVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ISwapChainPanelNative_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ISwapChainPanelNative_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ISwapChainPanelNative_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ISwapChainPanelNative_SetSwapChain(This,swapChain) \ + ( (This)->lpVtbl -> SetSwapChain(This,swapChain) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ISwapChainPanelNative_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_microsoft2Eui2Examl2Emedia2Edxinterop_0000_0007 */ +/* [local] */ + +#endif // NTDDI_VERSION >= NTDDI_WINBLUE +#if (NTDDI_VERSION >= NTDDI_WINTHRESHOLD) + + +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Emedia2Edxinterop_0000_0007_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Emedia2Edxinterop_0000_0007_v0_0_s_ifspec; + +#ifndef __ISwapChainPanelNative2_INTERFACE_DEFINED__ +#define __ISwapChainPanelNative2_INTERFACE_DEFINED__ + +/* interface ISwapChainPanelNative2 */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_ISwapChainPanelNative2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("88fd8248-10da-4810-bb4c-010dd27faea9") + ISwapChainPanelNative2 : public ISwapChainPanelNative + { + public: + virtual HRESULT STDMETHODCALLTYPE SetSwapChainHandle( + /* [annotation][in] */ + _In_ HANDLE swapChainHandle) = 0; + + }; + + +#else /* C style interface */ + + typedef struct ISwapChainPanelNative2Vtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + ISwapChainPanelNative2 * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + ISwapChainPanelNative2 * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + ISwapChainPanelNative2 * This); + + DECLSPEC_XFGVIRT(ISwapChainPanelNative, SetSwapChain) + HRESULT ( STDMETHODCALLTYPE *SetSwapChain )( + ISwapChainPanelNative2 * This, + /* [annotation][in] */ + _In_ IDXGISwapChain *swapChain); + + DECLSPEC_XFGVIRT(ISwapChainPanelNative2, SetSwapChainHandle) + HRESULT ( STDMETHODCALLTYPE *SetSwapChainHandle )( + ISwapChainPanelNative2 * This, + /* [annotation][in] */ + _In_ HANDLE swapChainHandle); + + END_INTERFACE + } ISwapChainPanelNative2Vtbl; + + interface ISwapChainPanelNative2 + { + CONST_VTBL struct ISwapChainPanelNative2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define ISwapChainPanelNative2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define ISwapChainPanelNative2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define ISwapChainPanelNative2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define ISwapChainPanelNative2_SetSwapChain(This,swapChain) \ + ( (This)->lpVtbl -> SetSwapChain(This,swapChain) ) + + +#define ISwapChainPanelNative2_SetSwapChainHandle(This,swapChainHandle) \ + ( (This)->lpVtbl -> SetSwapChainHandle(This,swapChainHandle) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __ISwapChainPanelNative2_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_microsoft2Eui2Examl2Emedia2Edxinterop_0000_0008 */ +/* [local] */ + +#endif // NTDDI_VERSION >= NTDDI_WINTHRESHOLD + + +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Emedia2Edxinterop_0000_0008_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Emedia2Edxinterop_0000_0008_v0_0_s_ifspec; + +/* Additional Prototypes for ALL interfaces */ + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/vendor/include/microsoft.ui.xaml.window.h b/vendor/include/microsoft.ui.xaml.window.h new file mode 100644 index 0000000..cef97d3 --- /dev/null +++ b/vendor/include/microsoft.ui.xaml.window.h @@ -0,0 +1,177 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 8.01.0628 */ +/* @@MIDL_FILE_HEADING( ) */ + + + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 500 +#endif + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCSAL_H_VERSION__ +#define __REQUIRED_RPCSAL_H_VERSION__ 100 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif /* __RPCNDR_H_VERSION__ */ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __microsoft2Eui2Examl2Ewindow_h__ +#define __microsoft2Eui2Examl2Ewindow_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 __IWindowNative_FWD_DEFINED__ +#define __IWindowNative_FWD_DEFINED__ +typedef interface IWindowNative IWindowNative; + +#endif /* __IWindowNative_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "oaidl.h" + +#ifdef __cplusplus +extern "C"{ +#endif + + +/* interface __MIDL_itf_microsoft2Eui2Examl2Ewindow_0000_0000 */ +/* [local] */ + +#if (NTDDI_VERSION >= NTDDI_WIN10_RS4) + + +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Ewindow_0000_0000_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Ewindow_0000_0000_v0_0_s_ifspec; + +#ifndef __IWindowNative_INTERFACE_DEFINED__ +#define __IWindowNative_INTERFACE_DEFINED__ + +/* interface IWindowNative */ +/* [unique][local][uuid][object] */ + + +EXTERN_C const IID IID_IWindowNative; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("EECDBF0E-BAE9-4CB6-A68E-9598E1CB57BB") + IWindowNative : public IUnknown + { + public: + virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_WindowHandle( + /* [retval][out] */ HWND *hWnd) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IWindowNativeVtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + IWindowNative * This, + /* [in] */ REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + IWindowNative * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + IWindowNative * This); + + DECLSPEC_XFGVIRT(IWindowNative, get_WindowHandle) + /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_WindowHandle )( + IWindowNative * This, + /* [retval][out] */ HWND *hWnd); + + END_INTERFACE + } IWindowNativeVtbl; + + interface IWindowNative + { + CONST_VTBL struct IWindowNativeVtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IWindowNative_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IWindowNative_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IWindowNative_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IWindowNative_get_WindowHandle(This,hWnd) \ + ( (This)->lpVtbl -> get_WindowHandle(This,hWnd) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IWindowNative_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_microsoft2Eui2Examl2Ewindow_0000_0001 */ +/* [local] */ + +#endif // NTDDI_VERSION >= NTDDI_WIN10_RS4 + + +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Ewindow_0000_0001_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_microsoft2Eui2Examl2Ewindow_0000_0001_v0_0_s_ifspec; + +/* Additional Prototypes for ALL interfaces */ + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/vendor/include/wil_msixdynamicdependency.h b/vendor/include/wil_msixdynamicdependency.h new file mode 100644 index 0000000..29882ee --- /dev/null +++ b/vendor/include/wil_msixdynamicdependency.h @@ -0,0 +1,25 @@ +// Copyright (c) Microsoft Corporation and Contributors. +// Licensed under the MIT License. + +namespace wil +{ +#if defined(_APISETLIBLOADER_) && !defined(__WIL_APISETLIBLOADER_) +#define __WIL_APISETLIBLOADER_ +typedef unique_any unique_dll_directory_cookie; +#endif // __WIL_APISETLIBLOADER_ + +#if defined(MSIXDYNAMICDEPENDENCY_H) && !defined(__WIL_MSIXDYNAMICDEPENDENCY_H) +#define __WIL_MSIXDYNAMICDEPENDENCY_H +typedef unique_any unique_mdd_package_dependency_context; +#endif // __WIL_MSIXDYNAMICDEPENDENCY_H + +#if defined(_APPMODEL_H_) && !defined(__WIL_APPMODEL_H_) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#define __WIL_APPMODEL_H_ +typedef unique_any unique_package_info_reference; +#endif // __WIL_APPMODEL_H_ +#if defined(__WIL_APPMODEL_H_) && !defined(__WIL_APPMODEL_H_STL) && defined(WIL_RESOURCE_STL) +#define __WIL_APPMODEL_H_STL +typedef shared_any shared_package_info_reference; +typedef weak_any weak_package_info_reference; +#endif // __WIL_APPMODEL_H_STL +} diff --git a/vendor/include/winrtdirect3d11.h b/vendor/include/winrtdirect3d11.h new file mode 100644 index 0000000..afe228a --- /dev/null +++ b/vendor/include/winrtdirect3d11.h @@ -0,0 +1,702 @@ +/* Header file automatically generated from winrtdirect3d11.idl */ +/* + * File built with Microsoft(R) MIDLRT Compiler Engine Version 10.00.0231 + */ + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 500 +#endif + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCSAL_H_VERSION__ +#define __REQUIRED_RPCSAL_H_VERSION__ 100 +#endif + +#include +#include + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif /* __RPCNDR_H_VERSION__ */ + +#ifndef COM_NO_WINDOWS_H +#include +#include +#endif /*COM_NO_WINDOWS_H*/ +#ifndef __winrtdirect3d11_h__ +#define __winrtdirect3d11_h__ +#ifndef __winrtdirect3d11_p_h__ +#define __winrtdirect3d11_p_h__ + + +#pragma once + +// Ensure that the setting of the /ns_prefix command line switch is consistent for all headers. +// If you get an error from the compiler indicating "warning C4005: 'CHECK_NS_PREFIX_STATE': macro redefinition", this +// indicates that you have included two different headers with different settings for the /ns_prefix MIDL command line switch +#if !defined(DISABLE_NS_PREFIX_CHECKS) +#if defined(MIDL_NS_PREFIX) +#define CHECK_NS_PREFIX_STATE "always" +#else +#define CHECK_NS_PREFIX_STATE "never" +#endif // MIDL_NS_PREFIX +#endif // !defined(DISABLE_NS_PREFIX_CHECKS) + + +#pragma push_macro("ABI_CONCAT") +#pragma push_macro("ABI_PARAMETER") +#pragma push_macro("ABI_NAMESPACE_BEGIN") +#pragma push_macro("ABI_NAMESPACE_END") +#pragma push_macro("C_IID") +#undef ABI_CONCAT +#undef ABI_PARAMETER +#undef ABI_NAMESPACE_BEGIN +#undef ABI_NAMESPACE_END +#undef C_IID +#define ABI_CONCAT(x,y) x##y + +// /ns_prefix optional state +#if defined(MIDL_NS_PREFIX) +#if defined(__cplusplus) && !defined(CINTERFACE) +#define ABI_PARAMETER(x) ABI::x +#define ABI_NAMESPACE_BEGIN namespace ABI { +#define ABI_NAMESPACE_END } +#else // !defined(__cplusplus) || defined(CINTERFACE) +#define C_ABI_PARAMETER(x) ABI_CONCAT(__x_ABI_C, x) +#endif // !defined(__cplusplus) +#define C_IID(x) ABI_CONCAT(IID___x_ABI_C, x) +#else +#if defined(__cplusplus) && !defined(CINTERFACE) +#define ABI_PARAMETER(x) x +#define ABI_NAMESPACE_BEGIN +#define ABI_NAMESPACE_END +#else // !defined(__cplusplus) || defined(CINTERFACE) +#define C_ABI_PARAMETER(x) ABI_CONCAT(__x_, x) +#endif // !defined(__cplusplus) +#define C_IID(x) ABI_CONCAT(IID___x_, x) +#endif // defined(MIDL_NS_PREFIX) + +#pragma push_macro("MIDL_CONST_ID") +#undef MIDL_CONST_ID +#define MIDL_CONST_ID const __declspec(selectany) + + +// API Contract Inclusion Definitions +#if !defined(SPECIFIC_API_CONTRACT_DEFINITIONS) +#if !defined(WINDOWS_APPLICATIONMODEL_CALLS_CALLSPHONECONTRACT_VERSION) +#define WINDOWS_APPLICATIONMODEL_CALLS_CALLSPHONECONTRACT_VERSION 0x70000 +#endif // defined(WINDOWS_APPLICATIONMODEL_CALLS_CALLSPHONECONTRACT_VERSION) + +#if !defined(WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION) +#define WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION 0x40000 +#endif // defined(WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION) + +#if !defined(WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION) +#define WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION 0x130000 +#endif // defined(WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION) + +#if !defined(WINDOWS_NETWORKING_SOCKETS_CONTROLCHANNELTRIGGERCONTRACT_VERSION) +#define WINDOWS_NETWORKING_SOCKETS_CONTROLCHANNELTRIGGERCONTRACT_VERSION 0x30000 +#endif // defined(WINDOWS_NETWORKING_SOCKETS_CONTROLCHANNELTRIGGERCONTRACT_VERSION) + +#if !defined(WINDOWS_PHONE_PHONECONTRACT_VERSION) +#define WINDOWS_PHONE_PHONECONTRACT_VERSION 0x10000 +#endif // defined(WINDOWS_PHONE_PHONECONTRACT_VERSION) + +#if !defined(WINDOWS_PHONE_PHONEINTERNALCONTRACT_VERSION) +#define WINDOWS_PHONE_PHONEINTERNALCONTRACT_VERSION 0x10000 +#endif // defined(WINDOWS_PHONE_PHONEINTERNALCONTRACT_VERSION) + +#if !defined(WINDOWS_UI_WEBUI_CORE_WEBUICOMMANDBARCONTRACT_VERSION) +#define WINDOWS_UI_WEBUI_CORE_WEBUICOMMANDBARCONTRACT_VERSION 0x10000 +#endif // defined(WINDOWS_UI_WEBUI_CORE_WEBUICOMMANDBARCONTRACT_VERSION) + +#endif // defined(SPECIFIC_API_CONTRACT_DEFINITIONS) + + +// Header files for imported files +#include "inspectable.h" +#include "Windows.Foundation.h" +#include "WinRTDirectXCommon.h" + +#if defined(__cplusplus) && !defined(CINTERFACE) +/* Forward Declarations */ +#ifndef ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_FWD_DEFINED__ +#define ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_FWD_DEFINED__ +ABI_NAMESPACE_BEGIN +namespace Windows { + namespace Graphics { + namespace DirectX { + namespace Direct3D11 { + interface IDirect3DDevice; + } /* Direct3D11 */ + } /* DirectX */ + } /* Graphics */ +} /* Windows */ +ABI_NAMESPACE_END +#define __x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice ABI_PARAMETER(Windows::Graphics::DirectX::Direct3D11::IDirect3DDevice) + +#endif // ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_FWD_DEFINED__ + +#ifndef ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_FWD_DEFINED__ +#define ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_FWD_DEFINED__ +ABI_NAMESPACE_BEGIN +namespace Windows { + namespace Graphics { + namespace DirectX { + namespace Direct3D11 { + interface IDirect3DSurface; + } /* Direct3D11 */ + } /* DirectX */ + } /* Graphics */ +} /* Windows */ +ABI_NAMESPACE_END +#define __x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface ABI_PARAMETER(Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface) + +#endif // ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_FWD_DEFINED__ + + + +#pragma warning (push) +#pragma warning (disable:4668) +#pragma warning (disable:4001) +#pragma once +#pragma warning (pop) + + + +/* + * + * Typedef of Windows.Graphics.DirectX.Direct3D11.Direct3DMultisampleDescription + * + * Introduced to Windows.Foundation.UniversalApiContract in version 1.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 +ABI_NAMESPACE_BEGIN +namespace Windows { + namespace Graphics { + namespace DirectX { + namespace Direct3D11 { + /* [contract, version, version] */ + typedef + struct Direct3DMultisampleDescription + { + INT32 Count; + INT32 Quality; + } Direct3DMultisampleDescription; + + } /* Direct3D11 */ + } /* DirectX */ + } /* Graphics */ +} /* Windows */ +ABI_NAMESPACE_END +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 + + +/* + * + * Typedef of Windows.Graphics.DirectX.Direct3D11.Direct3DSurfaceDescription + * + * Introduced to Windows.Foundation.UniversalApiContract in version 1.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 +ABI_NAMESPACE_BEGIN +namespace Windows { + namespace Graphics { + namespace DirectX { + namespace Direct3D11 { + /* [contract, version, version] */ + typedef + struct Direct3DSurfaceDescription + { + INT32 Width; + INT32 Height; + ABI_PARAMETER(Windows::Graphics::DirectX::DirectXPixelFormat) Format; + ABI_PARAMETER(Windows::Graphics::DirectX::Direct3D11::Direct3DMultisampleDescription) MultisampleDescription; + } Direct3DSurfaceDescription; + + } /* Direct3D11 */ + } /* DirectX */ + } /* Graphics */ +} /* Windows */ +ABI_NAMESPACE_END +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 + + +/* + * + * Typedef of Windows.Graphics.DirectX.Direct3D11.Direct3DUsage + * + * Introduced to Windows.Foundation.UniversalApiContract in version 1.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 +ABI_NAMESPACE_BEGIN +namespace Windows { + namespace Graphics { + namespace DirectX { + namespace Direct3D11 { + /* [contract, version, version] */ + typedef /* [v1_enum] */ + enum Direct3DUsage : int + { + Direct3DUsage_Default = 0, + Direct3DUsage_Immutable = 1, + Direct3DUsage_Dynamic = 2, + Direct3DUsage_Staging = 3, + } Direct3DUsage; + + } /* Direct3D11 */ + } /* DirectX */ + } /* Graphics */ +} /* Windows */ +ABI_NAMESPACE_END +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 + + +/* + * + * Typedef of Windows.Graphics.DirectX.Direct3D11.Direct3DBindings + * + * Introduced to Windows.Foundation.UniversalApiContract in version 1.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 +ABI_NAMESPACE_BEGIN +namespace Windows { + namespace Graphics { + namespace DirectX { + namespace Direct3D11 { + /* [contract, flags, version, version] */ + typedef /* [v1_enum] */ + enum Direct3DBindings : unsigned int + { + Direct3DBindings_VertexBuffer = 0x1, + Direct3DBindings_IndexBuffer = 0x2, + Direct3DBindings_ConstantBuffer = 0x4, + Direct3DBindings_ShaderResource = 0x8, + Direct3DBindings_StreamOutput = 0x10, + Direct3DBindings_RenderTarget = 0x20, + Direct3DBindings_DepthStencil = 0x40, + Direct3DBindings_UnorderedAccess = 0x80, + Direct3DBindings_Decoder = 0x200, + Direct3DBindings_VideoEncoder = 0x400, + } Direct3DBindings; + + DEFINE_ENUM_FLAG_OPERATORS(Direct3DBindings) + + } /* Direct3D11 */ + } /* DirectX */ + } /* Graphics */ +} /* Windows */ +ABI_NAMESPACE_END +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 + + +/* + * + * Interface Windows.Graphics.DirectX.Direct3D11.IDirect3DDevice + * + * Introduced to Windows.Foundation.UniversalApiContract in version 1.0 + * + * + * Any object which implements this interface must also implement the following interfaces: + * Windows.Foundation.IClosable + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 +#if !defined(____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_INTERFACE_DEFINED__) +#define ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_INTERFACE_DEFINED__ +extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Graphics_DirectX_Direct3D11_IDirect3DDevice[] = L"Windows.Graphics.DirectX.Direct3D11.IDirect3DDevice"; +ABI_NAMESPACE_BEGIN +namespace Windows { + namespace Graphics { + namespace DirectX { + namespace Direct3D11 { + /* [object, contract, uuid("A37624AB-8D5F-4650-9D3E-9EAE3D9BC670"), version, version] */ + MIDL_INTERFACE("A37624AB-8D5F-4650-9D3E-9EAE3D9BC670") + IDirect3DDevice : public IInspectable + { + public: + virtual HRESULT STDMETHODCALLTYPE Trim(void) = 0; + + }; + + MIDL_CONST_ID IID & IID_IDirect3DDevice=__uuidof(IDirect3DDevice); + + } /* Direct3D11 */ + } /* DirectX */ + } /* Graphics */ +} /* Windows */ +ABI_NAMESPACE_END + +EXTERN_C const IID C_IID(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice); +#endif /* !defined(____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_INTERFACE_DEFINED__) */ +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 + + +/* + * + * Interface Windows.Graphics.DirectX.Direct3D11.IDirect3DSurface + * + * Introduced to Windows.Foundation.UniversalApiContract in version 1.0 + * + * + * Any object which implements this interface must also implement the following interfaces: + * Windows.Foundation.IClosable + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 +#if !defined(____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_INTERFACE_DEFINED__) +#define ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_INTERFACE_DEFINED__ +extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Graphics_DirectX_Direct3D11_IDirect3DSurface[] = L"Windows.Graphics.DirectX.Direct3D11.IDirect3DSurface"; +ABI_NAMESPACE_BEGIN +namespace Windows { + namespace Graphics { + namespace DirectX { + namespace Direct3D11 { + /* [object, contract, uuid("0BF4A146-13C1-4694-BEE3-7ABF15EAF586"), version, version] */ + MIDL_INTERFACE("0BF4A146-13C1-4694-BEE3-7ABF15EAF586") + IDirect3DSurface : public IInspectable + { + public: + /* [propget] */virtual HRESULT STDMETHODCALLTYPE get_Description( + /* [retval, out] */__RPC__out ABI_PARAMETER(Windows::Graphics::DirectX::Direct3D11::Direct3DSurfaceDescription) * value + ) = 0; + + }; + + MIDL_CONST_ID IID & IID_IDirect3DSurface=__uuidof(IDirect3DSurface); + + } /* Direct3D11 */ + } /* DirectX */ + } /* Graphics */ +} /* Windows */ +ABI_NAMESPACE_END + +EXTERN_C const IID C_IID(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface); +#endif /* !defined(____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_INTERFACE_DEFINED__) */ +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 + + +#else // !defined(__cplusplus) +/* Forward Declarations */ +#ifndef ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_FWD_DEFINED__ +#define ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_FWD_DEFINED__ +typedef interface C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice) C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice); + +#endif // ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_FWD_DEFINED__ + +#ifndef ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_FWD_DEFINED__ +#define ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_FWD_DEFINED__ +typedef interface C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface) C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface); + +#endif // ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_FWD_DEFINED__ + + +#pragma warning (push) +#pragma warning (disable:4668) +#pragma warning (disable:4001) +#pragma once +#pragma warning (pop) + + + +/* + * + * Typedef of Windows.Graphics.DirectX.Direct3D11.Direct3DMultisampleDescription + * + * Introduced to Windows.Foundation.UniversalApiContract in version 1.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 +/* [contract, version, version] */ +typedef +struct C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CDirect3DMultisampleDescription) +{ + INT32 Count; + INT32 Quality; +} C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CDirect3DMultisampleDescription); +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 + + +/* + * + * Typedef of Windows.Graphics.DirectX.Direct3D11.Direct3DSurfaceDescription + * + * Introduced to Windows.Foundation.UniversalApiContract in version 1.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 +/* [contract, version, version] */ +typedef +struct C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CDirect3DSurfaceDescription) +{ + INT32 Width; + INT32 Height; + C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirectXPixelFormat) Format; + C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CDirect3DMultisampleDescription) MultisampleDescription; +} C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CDirect3DSurfaceDescription); +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 + + +/* + * + * Typedef of Windows.Graphics.DirectX.Direct3D11.Direct3DUsage + * + * Introduced to Windows.Foundation.UniversalApiContract in version 1.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 +/* [contract, version, version] */ +typedef /* [v1_enum] */ +enum C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CDirect3DUsage) +{ + Direct3DUsage_Default = 0, + Direct3DUsage_Immutable = 1, + Direct3DUsage_Dynamic = 2, + Direct3DUsage_Staging = 3, +} C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CDirect3DUsage); +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 + + +/* + * + * Typedef of Windows.Graphics.DirectX.Direct3D11.Direct3DBindings + * + * Introduced to Windows.Foundation.UniversalApiContract in version 1.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 +/* [contract, flags, version, version] */ +typedef /* [v1_enum] */ +enum C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CDirect3DBindings) +{ + Direct3DBindings_VertexBuffer = 0x1, + Direct3DBindings_IndexBuffer = 0x2, + Direct3DBindings_ConstantBuffer = 0x4, + Direct3DBindings_ShaderResource = 0x8, + Direct3DBindings_StreamOutput = 0x10, + Direct3DBindings_RenderTarget = 0x20, + Direct3DBindings_DepthStencil = 0x40, + Direct3DBindings_UnorderedAccess = 0x80, + Direct3DBindings_Decoder = 0x200, + Direct3DBindings_VideoEncoder = 0x400, +} C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CDirect3DBindings); +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 + + +/* + * + * Interface Windows.Graphics.DirectX.Direct3D11.IDirect3DDevice + * + * Introduced to Windows.Foundation.UniversalApiContract in version 1.0 + * + * + * Any object which implements this interface must also implement the following interfaces: + * Windows.Foundation.IClosable + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 +#if !defined(____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_INTERFACE_DEFINED__) +#define ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_INTERFACE_DEFINED__ +extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Graphics_DirectX_Direct3D11_IDirect3DDevice[] = L"Windows.Graphics.DirectX.Direct3D11.IDirect3DDevice"; +/* [object, contract, uuid("A37624AB-8D5F-4650-9D3E-9EAE3D9BC670"), version, version] */ +typedef struct C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDeviceVtbl) +{ + BEGIN_INTERFACE + HRESULT ( STDMETHODCALLTYPE *QueryInterface)( + __RPC__in C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice) * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject + ); + +ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice) * This + ); + +ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice) * This + ); + +HRESULT ( STDMETHODCALLTYPE *GetIids )( + __RPC__in C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice) * This, + /* [out] */ __RPC__out ULONG *iidCount, + /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids + ); + +HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( + __RPC__in C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice) * This, + /* [out] */ __RPC__deref_out_opt HSTRING *className + ); + +HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( + __RPC__in C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice) * This, + /* [OUT ] */ __RPC__out TrustLevel *trustLevel + ); +HRESULT ( STDMETHODCALLTYPE *Trim )( + C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice) * This + ); + END_INTERFACE + +} C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDeviceVtbl); + +interface C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice) +{ + CONST_VTBL struct C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDeviceVtbl) *lpVtbl; +}; + +#ifdef COBJMACROS +#define C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice)_QueryInterface(This,riid,ppvObject) \ +( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ) + +#define C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice)_AddRef(This) \ + ( (This)->lpVtbl->AddRef(This) ) + +#define C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice)_Release(This) \ + ( (This)->lpVtbl->Release(This) ) + +#define C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice)_GetIids(This,iidCount,iids) \ + ( (This)->lpVtbl->GetIids(This,iidCount,iids) ) + +#define C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice)_GetRuntimeClassName(This,className) \ + ( (This)->lpVtbl->GetRuntimeClassName(This,className) ) + +#define C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice)_GetTrustLevel(This,trustLevel) \ + ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) ) + +#define __x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_Trim(This) \ + ( (This)->lpVtbl->Trim(This) ) + + +#endif /* COBJMACROS */ + + +EXTERN_C const IID C_IID(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice); +#endif /* !defined(____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DDevice_INTERFACE_DEFINED__) */ +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 + + +/* + * + * Interface Windows.Graphics.DirectX.Direct3D11.IDirect3DSurface + * + * Introduced to Windows.Foundation.UniversalApiContract in version 1.0 + * + * + * Any object which implements this interface must also implement the following interfaces: + * Windows.Foundation.IClosable + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 +#if !defined(____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_INTERFACE_DEFINED__) +#define ____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_INTERFACE_DEFINED__ +extern const __declspec(selectany) _Null_terminated_ WCHAR InterfaceName_Windows_Graphics_DirectX_Direct3D11_IDirect3DSurface[] = L"Windows.Graphics.DirectX.Direct3D11.IDirect3DSurface"; +/* [object, contract, uuid("0BF4A146-13C1-4694-BEE3-7ABF15EAF586"), version, version] */ +typedef struct C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurfaceVtbl) +{ + BEGIN_INTERFACE + HRESULT ( STDMETHODCALLTYPE *QueryInterface)( + __RPC__in C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface) * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject + ); + +ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface) * This + ); + +ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface) * This + ); + +HRESULT ( STDMETHODCALLTYPE *GetIids )( + __RPC__in C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface) * This, + /* [out] */ __RPC__out ULONG *iidCount, + /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID **iids + ); + +HRESULT ( STDMETHODCALLTYPE *GetRuntimeClassName )( + __RPC__in C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface) * This, + /* [out] */ __RPC__deref_out_opt HSTRING *className + ); + +HRESULT ( STDMETHODCALLTYPE *GetTrustLevel )( + __RPC__in C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface) * This, + /* [OUT ] */ __RPC__out TrustLevel *trustLevel + ); +/* [propget] */HRESULT ( STDMETHODCALLTYPE *get_Description )( + C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface) * This, + /* [retval, out] */__RPC__out C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CDirect3DSurfaceDescription) * value + ); + END_INTERFACE + +} C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurfaceVtbl); + +interface C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface) +{ + CONST_VTBL struct C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurfaceVtbl) *lpVtbl; +}; + +#ifdef COBJMACROS +#define C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface)_QueryInterface(This,riid,ppvObject) \ +( (This)->lpVtbl->QueryInterface(This,riid,ppvObject) ) + +#define C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface)_AddRef(This) \ + ( (This)->lpVtbl->AddRef(This) ) + +#define C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface)_Release(This) \ + ( (This)->lpVtbl->Release(This) ) + +#define C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface)_GetIids(This,iidCount,iids) \ + ( (This)->lpVtbl->GetIids(This,iidCount,iids) ) + +#define C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface)_GetRuntimeClassName(This,className) \ + ( (This)->lpVtbl->GetRuntimeClassName(This,className) ) + +#define C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface)_GetTrustLevel(This,trustLevel) \ + ( (This)->lpVtbl->GetTrustLevel(This,trustLevel) ) + +#define __x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_get_Description(This,value) \ + ( (This)->lpVtbl->get_Description(This,value) ) + + +#endif /* COBJMACROS */ + + +EXTERN_C const IID C_IID(Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface); +#endif /* !defined(____x_Windows_CGraphics_CDirectX_CDirect3D11_CIDirect3DSurface_INTERFACE_DEFINED__) */ +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 + + +#endif // defined(__cplusplus) +#pragma pop_macro("MIDL_CONST_ID") +#pragma pop_macro("C_IID") +#pragma pop_macro("ABI_CONCAT") +#pragma pop_macro("ABI_PARAMETER") +#pragma pop_macro("ABI_NAMESPACE_BEGIN") +#pragma pop_macro("ABI_NAMESPACE_END") + + +#endif // __winrtdirect3d11_p_h__ + +#endif // __winrtdirect3d11_h__ diff --git a/vendor/include/winrtdirectxcommon.h b/vendor/include/winrtdirectxcommon.h new file mode 100644 index 0000000..30cbb61 --- /dev/null +++ b/vendor/include/winrtdirectxcommon.h @@ -0,0 +1,684 @@ +/* Header file automatically generated from winrtdirectxcommon.idl */ +/* + * File built with Microsoft(R) MIDLRT Compiler Engine Version 10.00.0231 + */ + +#pragma warning( disable: 4049 ) /* more than 64k source lines */ + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 500 +#endif + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCSAL_H_VERSION__ +#define __REQUIRED_RPCSAL_H_VERSION__ 100 +#endif + +#include +#include + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif /* __RPCNDR_H_VERSION__ */ + +#ifndef COM_NO_WINDOWS_H +#include +#include +#endif /*COM_NO_WINDOWS_H*/ +#ifndef __winrtdirectxcommon_h__ +#define __winrtdirectxcommon_h__ +#ifndef __winrtdirectxcommon_p_h__ +#define __winrtdirectxcommon_p_h__ + + +#pragma once + +// Ensure that the setting of the /ns_prefix command line switch is consistent for all headers. +// If you get an error from the compiler indicating "warning C4005: 'CHECK_NS_PREFIX_STATE': macro redefinition", this +// indicates that you have included two different headers with different settings for the /ns_prefix MIDL command line switch +#if !defined(DISABLE_NS_PREFIX_CHECKS) +#if defined(MIDL_NS_PREFIX) +#define CHECK_NS_PREFIX_STATE "always" +#else +#define CHECK_NS_PREFIX_STATE "never" +#endif // MIDL_NS_PREFIX +#endif // !defined(DISABLE_NS_PREFIX_CHECKS) + + +#pragma push_macro("ABI_CONCAT") +#pragma push_macro("ABI_PARAMETER") +#pragma push_macro("ABI_NAMESPACE_BEGIN") +#pragma push_macro("ABI_NAMESPACE_END") +#pragma push_macro("C_IID") +#undef ABI_CONCAT +#undef ABI_PARAMETER +#undef ABI_NAMESPACE_BEGIN +#undef ABI_NAMESPACE_END +#undef C_IID +#define ABI_CONCAT(x,y) x##y + +// /ns_prefix optional state +#if defined(MIDL_NS_PREFIX) +#if defined(__cplusplus) && !defined(CINTERFACE) +#define ABI_PARAMETER(x) ABI::x +#define ABI_NAMESPACE_BEGIN namespace ABI { +#define ABI_NAMESPACE_END } +#else // !defined(__cplusplus) || defined(CINTERFACE) +#define C_ABI_PARAMETER(x) ABI_CONCAT(__x_ABI_C, x) +#endif // !defined(__cplusplus) +#define C_IID(x) ABI_CONCAT(IID___x_ABI_C, x) +#else +#if defined(__cplusplus) && !defined(CINTERFACE) +#define ABI_PARAMETER(x) x +#define ABI_NAMESPACE_BEGIN +#define ABI_NAMESPACE_END +#else // !defined(__cplusplus) || defined(CINTERFACE) +#define C_ABI_PARAMETER(x) ABI_CONCAT(__x_, x) +#endif // !defined(__cplusplus) +#define C_IID(x) ABI_CONCAT(IID___x_, x) +#endif // defined(MIDL_NS_PREFIX) + +#pragma push_macro("MIDL_CONST_ID") +#undef MIDL_CONST_ID +#define MIDL_CONST_ID const __declspec(selectany) + + +// API Contract Inclusion Definitions +#if !defined(SPECIFIC_API_CONTRACT_DEFINITIONS) +#if !defined(WINDOWS_APPLICATIONMODEL_CALLS_CALLSPHONECONTRACT_VERSION) +#define WINDOWS_APPLICATIONMODEL_CALLS_CALLSPHONECONTRACT_VERSION 0x70000 +#endif // defined(WINDOWS_APPLICATIONMODEL_CALLS_CALLSPHONECONTRACT_VERSION) + +#if !defined(WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION) +#define WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION 0x40000 +#endif // defined(WINDOWS_FOUNDATION_FOUNDATIONCONTRACT_VERSION) + +#if !defined(WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION) +#define WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION 0x130000 +#endif // defined(WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION) + +#if !defined(WINDOWS_NETWORKING_SOCKETS_CONTROLCHANNELTRIGGERCONTRACT_VERSION) +#define WINDOWS_NETWORKING_SOCKETS_CONTROLCHANNELTRIGGERCONTRACT_VERSION 0x30000 +#endif // defined(WINDOWS_NETWORKING_SOCKETS_CONTROLCHANNELTRIGGERCONTRACT_VERSION) + +#if !defined(WINDOWS_PHONE_PHONECONTRACT_VERSION) +#define WINDOWS_PHONE_PHONECONTRACT_VERSION 0x10000 +#endif // defined(WINDOWS_PHONE_PHONECONTRACT_VERSION) + +#if !defined(WINDOWS_PHONE_PHONEINTERNALCONTRACT_VERSION) +#define WINDOWS_PHONE_PHONEINTERNALCONTRACT_VERSION 0x10000 +#endif // defined(WINDOWS_PHONE_PHONEINTERNALCONTRACT_VERSION) + +#if !defined(WINDOWS_UI_WEBUI_CORE_WEBUICOMMANDBARCONTRACT_VERSION) +#define WINDOWS_UI_WEBUI_CORE_WEBUICOMMANDBARCONTRACT_VERSION 0x10000 +#endif // defined(WINDOWS_UI_WEBUI_CORE_WEBUICOMMANDBARCONTRACT_VERSION) + +#endif // defined(SPECIFIC_API_CONTRACT_DEFINITIONS) + + +// Header files for imported files +#include "inspectable.h" +#include "Windows.Foundation.h" + +#if defined(__cplusplus) && !defined(CINTERFACE) +/* Forward Declarations */ + + +#pragma once +#pragma warning (push) +#pragma warning (disable:4668) +#pragma warning (disable:4001) +#pragma once +#pragma warning (pop) + + + + + + + + + + +/* + * + * Typedef of Windows.Graphics.DirectX.DirectXAlphaMode + * + * Introduced to Windows.Foundation.UniversalApiContract in version 2.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 +ABI_NAMESPACE_BEGIN +namespace Windows { + namespace Graphics { + namespace DirectX { + /* [contract, version, version] */ + typedef /* [v1_enum] */ + enum DirectXAlphaMode : int + { + DirectXAlphaMode_Unspecified = 0, + DirectXAlphaMode_Premultiplied = 1, + DirectXAlphaMode_Straight = 2, + DirectXAlphaMode_Ignore = 3, + } DirectXAlphaMode; + + } /* DirectX */ + } /* Graphics */ +} /* Windows */ +ABI_NAMESPACE_END +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 + + +/* + * + * Typedef of Windows.Graphics.DirectX.DirectXPixelFormat + * + * Introduced to Windows.Foundation.UniversalApiContract in version 1.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 +ABI_NAMESPACE_BEGIN +namespace Windows { + namespace Graphics { + namespace DirectX { + /* [contract, version, version] */ + typedef /* [v1_enum] */ + enum DirectXPixelFormat : int + { + DirectXPixelFormat_Unknown = 0, + DirectXPixelFormat_R32G32B32A32Typeless = 1, + DirectXPixelFormat_R32G32B32A32Float = 2, + DirectXPixelFormat_R32G32B32A32UInt = 3, + DirectXPixelFormat_R32G32B32A32Int = 4, + DirectXPixelFormat_R32G32B32Typeless = 5, + DirectXPixelFormat_R32G32B32Float = 6, + DirectXPixelFormat_R32G32B32UInt = 7, + DirectXPixelFormat_R32G32B32Int = 8, + DirectXPixelFormat_R16G16B16A16Typeless = 9, + DirectXPixelFormat_R16G16B16A16Float = 10, + DirectXPixelFormat_R16G16B16A16UIntNormalized = 11, + DirectXPixelFormat_R16G16B16A16UInt = 12, + DirectXPixelFormat_R16G16B16A16IntNormalized = 13, + DirectXPixelFormat_R16G16B16A16Int = 14, + DirectXPixelFormat_R32G32Typeless = 15, + DirectXPixelFormat_R32G32Float = 16, + DirectXPixelFormat_R32G32UInt = 17, + DirectXPixelFormat_R32G32Int = 18, + DirectXPixelFormat_R32G8X24Typeless = 19, + DirectXPixelFormat_D32FloatS8X24UInt = 20, + DirectXPixelFormat_R32FloatX8X24Typeless = 21, + DirectXPixelFormat_X32TypelessG8X24UInt = 22, + DirectXPixelFormat_R10G10B10A2Typeless = 23, + DirectXPixelFormat_R10G10B10A2UIntNormalized = 24, + DirectXPixelFormat_R10G10B10A2UInt = 25, + DirectXPixelFormat_R11G11B10Float = 26, + DirectXPixelFormat_R8G8B8A8Typeless = 27, + DirectXPixelFormat_R8G8B8A8UIntNormalized = 28, + DirectXPixelFormat_R8G8B8A8UIntNormalizedSrgb = 29, + DirectXPixelFormat_R8G8B8A8UInt = 30, + DirectXPixelFormat_R8G8B8A8IntNormalized = 31, + DirectXPixelFormat_R8G8B8A8Int = 32, + DirectXPixelFormat_R16G16Typeless = 33, + DirectXPixelFormat_R16G16Float = 34, + DirectXPixelFormat_R16G16UIntNormalized = 35, + DirectXPixelFormat_R16G16UInt = 36, + DirectXPixelFormat_R16G16IntNormalized = 37, + DirectXPixelFormat_R16G16Int = 38, + DirectXPixelFormat_R32Typeless = 39, + DirectXPixelFormat_D32Float = 40, + DirectXPixelFormat_R32Float = 41, + DirectXPixelFormat_R32UInt = 42, + DirectXPixelFormat_R32Int = 43, + DirectXPixelFormat_R24G8Typeless = 44, + DirectXPixelFormat_D24UIntNormalizedS8UInt = 45, + DirectXPixelFormat_R24UIntNormalizedX8Typeless = 46, + DirectXPixelFormat_X24TypelessG8UInt = 47, + DirectXPixelFormat_R8G8Typeless = 48, + DirectXPixelFormat_R8G8UIntNormalized = 49, + DirectXPixelFormat_R8G8UInt = 50, + DirectXPixelFormat_R8G8IntNormalized = 51, + DirectXPixelFormat_R8G8Int = 52, + DirectXPixelFormat_R16Typeless = 53, + DirectXPixelFormat_R16Float = 54, + DirectXPixelFormat_D16UIntNormalized = 55, + DirectXPixelFormat_R16UIntNormalized = 56, + DirectXPixelFormat_R16UInt = 57, + DirectXPixelFormat_R16IntNormalized = 58, + DirectXPixelFormat_R16Int = 59, + DirectXPixelFormat_R8Typeless = 60, + DirectXPixelFormat_R8UIntNormalized = 61, + DirectXPixelFormat_R8UInt = 62, + DirectXPixelFormat_R8IntNormalized = 63, + DirectXPixelFormat_R8Int = 64, + DirectXPixelFormat_A8UIntNormalized = 65, + DirectXPixelFormat_R1UIntNormalized = 66, + DirectXPixelFormat_R9G9B9E5SharedExponent = 67, + DirectXPixelFormat_R8G8B8G8UIntNormalized = 68, + DirectXPixelFormat_G8R8G8B8UIntNormalized = 69, + DirectXPixelFormat_BC1Typeless = 70, + DirectXPixelFormat_BC1UIntNormalized = 71, + DirectXPixelFormat_BC1UIntNormalizedSrgb = 72, + DirectXPixelFormat_BC2Typeless = 73, + DirectXPixelFormat_BC2UIntNormalized = 74, + DirectXPixelFormat_BC2UIntNormalizedSrgb = 75, + DirectXPixelFormat_BC3Typeless = 76, + DirectXPixelFormat_BC3UIntNormalized = 77, + DirectXPixelFormat_BC3UIntNormalizedSrgb = 78, + DirectXPixelFormat_BC4Typeless = 79, + DirectXPixelFormat_BC4UIntNormalized = 80, + DirectXPixelFormat_BC4IntNormalized = 81, + DirectXPixelFormat_BC5Typeless = 82, + DirectXPixelFormat_BC5UIntNormalized = 83, + DirectXPixelFormat_BC5IntNormalized = 84, + DirectXPixelFormat_B5G6R5UIntNormalized = 85, + DirectXPixelFormat_B5G5R5A1UIntNormalized = 86, + DirectXPixelFormat_B8G8R8A8UIntNormalized = 87, + DirectXPixelFormat_B8G8R8X8UIntNormalized = 88, + DirectXPixelFormat_R10G10B10XRBiasA2UIntNormalized = 89, + DirectXPixelFormat_B8G8R8A8Typeless = 90, + DirectXPixelFormat_B8G8R8A8UIntNormalizedSrgb = 91, + DirectXPixelFormat_B8G8R8X8Typeless = 92, + DirectXPixelFormat_B8G8R8X8UIntNormalizedSrgb = 93, + DirectXPixelFormat_BC6HTypeless = 94, + DirectXPixelFormat_BC6H16UnsignedFloat = 95, + DirectXPixelFormat_BC6H16Float = 96, + DirectXPixelFormat_BC7Typeless = 97, + DirectXPixelFormat_BC7UIntNormalized = 98, + DirectXPixelFormat_BC7UIntNormalizedSrgb = 99, + DirectXPixelFormat_Ayuv = 100, + DirectXPixelFormat_Y410 = 101, + DirectXPixelFormat_Y416 = 102, + DirectXPixelFormat_NV12 = 103, + DirectXPixelFormat_P010 = 104, + DirectXPixelFormat_P016 = 105, + DirectXPixelFormat_Opaque420 = 106, + DirectXPixelFormat_Yuy2 = 107, + DirectXPixelFormat_Y210 = 108, + DirectXPixelFormat_Y216 = 109, + DirectXPixelFormat_NV11 = 110, + DirectXPixelFormat_AI44 = 111, + DirectXPixelFormat_IA44 = 112, + DirectXPixelFormat_P8 = 113, + DirectXPixelFormat_A8P8 = 114, + DirectXPixelFormat_B4G4R4A4UIntNormalized = 115, + DirectXPixelFormat_P208 = 130, + DirectXPixelFormat_V208 = 131, + DirectXPixelFormat_V408 = 132, +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xa0000 + + DirectXPixelFormat_SamplerFeedbackMinMipOpaque = 189, +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xa0000 + +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xa0000 + + DirectXPixelFormat_SamplerFeedbackMipRegionUsedOpaque = 190, +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xa0000 + +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x100000 + + DirectXPixelFormat_A4B4G4R4 = 191, +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x100000 + + } DirectXPixelFormat; + + } /* DirectX */ + } /* Graphics */ +} /* Windows */ +ABI_NAMESPACE_END +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 + + +/* + * + * Typedef of Windows.Graphics.DirectX.DirectXColorSpace + * + * Introduced to Windows.Foundation.UniversalApiContract in version 6.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000 +ABI_NAMESPACE_BEGIN +namespace Windows { + namespace Graphics { + namespace DirectX { + /* [contract] */ + typedef /* [v1_enum] */ + enum DirectXColorSpace : int + { + DirectXColorSpace_RgbFullG22NoneP709 = 0, + DirectXColorSpace_RgbFullG10NoneP709 = 1, + DirectXColorSpace_RgbStudioG22NoneP709 = 2, + DirectXColorSpace_RgbStudioG22NoneP2020 = 3, + DirectXColorSpace_Reserved = 4, + DirectXColorSpace_YccFullG22NoneP709X601 = 5, + DirectXColorSpace_YccStudioG22LeftP601 = 6, + DirectXColorSpace_YccFullG22LeftP601 = 7, + DirectXColorSpace_YccStudioG22LeftP709 = 8, + DirectXColorSpace_YccFullG22LeftP709 = 9, + DirectXColorSpace_YccStudioG22LeftP2020 = 10, + DirectXColorSpace_YccFullG22LeftP2020 = 11, + DirectXColorSpace_RgbFullG2084NoneP2020 = 12, + DirectXColorSpace_YccStudioG2084LeftP2020 = 13, + DirectXColorSpace_RgbStudioG2084NoneP2020 = 14, + DirectXColorSpace_YccStudioG22TopLeftP2020 = 15, + DirectXColorSpace_YccStudioG2084TopLeftP2020 = 16, + DirectXColorSpace_RgbFullG22NoneP2020 = 17, + DirectXColorSpace_YccStudioGHlgTopLeftP2020 = 18, + DirectXColorSpace_YccFullGHlgTopLeftP2020 = 19, + DirectXColorSpace_RgbStudioG24NoneP709 = 20, + DirectXColorSpace_RgbStudioG24NoneP2020 = 21, + DirectXColorSpace_YccStudioG24LeftP709 = 22, + DirectXColorSpace_YccStudioG24LeftP2020 = 23, + DirectXColorSpace_YccStudioG24TopLeftP2020 = 24, + } DirectXColorSpace; + + } /* DirectX */ + } /* Graphics */ +} /* Windows */ +ABI_NAMESPACE_END +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000 + + +/* + * + * Typedef of Windows.Graphics.DirectX.DirectXPrimitiveTopology + * + * Introduced to Windows.Foundation.UniversalApiContract in version 8.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000 +ABI_NAMESPACE_BEGIN +namespace Windows { + namespace Graphics { + namespace DirectX { + /* [contract] */ + typedef /* [v1_enum] */ + enum DirectXPrimitiveTopology : int + { + DirectXPrimitiveTopology_Undefined = 0, + DirectXPrimitiveTopology_PointList = 1, + DirectXPrimitiveTopology_LineList = 2, + DirectXPrimitiveTopology_LineStrip = 3, + DirectXPrimitiveTopology_TriangleList = 4, + DirectXPrimitiveTopology_TriangleStrip = 5, + } DirectXPrimitiveTopology; + + } /* DirectX */ + } /* Graphics */ +} /* Windows */ +ABI_NAMESPACE_END +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000 + + +#else // !defined(__cplusplus) +/* Forward Declarations */ + +#pragma once +#pragma warning (push) +#pragma warning (disable:4668) +#pragma warning (disable:4001) +#pragma once +#pragma warning (pop) + + + + + + + + + + +/* + * + * Typedef of Windows.Graphics.DirectX.DirectXAlphaMode + * + * Introduced to Windows.Foundation.UniversalApiContract in version 2.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 +/* [contract, version, version] */ +typedef /* [v1_enum] */ +enum C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirectXAlphaMode) +{ + DirectXAlphaMode_Unspecified = 0, + DirectXAlphaMode_Premultiplied = 1, + DirectXAlphaMode_Straight = 2, + DirectXAlphaMode_Ignore = 3, +} C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirectXAlphaMode); +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x20000 + + +/* + * + * Typedef of Windows.Graphics.DirectX.DirectXPixelFormat + * + * Introduced to Windows.Foundation.UniversalApiContract in version 1.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 +/* [contract, version, version] */ +typedef /* [v1_enum] */ +enum C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirectXPixelFormat) +{ + DirectXPixelFormat_Unknown = 0, + DirectXPixelFormat_R32G32B32A32Typeless = 1, + DirectXPixelFormat_R32G32B32A32Float = 2, + DirectXPixelFormat_R32G32B32A32UInt = 3, + DirectXPixelFormat_R32G32B32A32Int = 4, + DirectXPixelFormat_R32G32B32Typeless = 5, + DirectXPixelFormat_R32G32B32Float = 6, + DirectXPixelFormat_R32G32B32UInt = 7, + DirectXPixelFormat_R32G32B32Int = 8, + DirectXPixelFormat_R16G16B16A16Typeless = 9, + DirectXPixelFormat_R16G16B16A16Float = 10, + DirectXPixelFormat_R16G16B16A16UIntNormalized = 11, + DirectXPixelFormat_R16G16B16A16UInt = 12, + DirectXPixelFormat_R16G16B16A16IntNormalized = 13, + DirectXPixelFormat_R16G16B16A16Int = 14, + DirectXPixelFormat_R32G32Typeless = 15, + DirectXPixelFormat_R32G32Float = 16, + DirectXPixelFormat_R32G32UInt = 17, + DirectXPixelFormat_R32G32Int = 18, + DirectXPixelFormat_R32G8X24Typeless = 19, + DirectXPixelFormat_D32FloatS8X24UInt = 20, + DirectXPixelFormat_R32FloatX8X24Typeless = 21, + DirectXPixelFormat_X32TypelessG8X24UInt = 22, + DirectXPixelFormat_R10G10B10A2Typeless = 23, + DirectXPixelFormat_R10G10B10A2UIntNormalized = 24, + DirectXPixelFormat_R10G10B10A2UInt = 25, + DirectXPixelFormat_R11G11B10Float = 26, + DirectXPixelFormat_R8G8B8A8Typeless = 27, + DirectXPixelFormat_R8G8B8A8UIntNormalized = 28, + DirectXPixelFormat_R8G8B8A8UIntNormalizedSrgb = 29, + DirectXPixelFormat_R8G8B8A8UInt = 30, + DirectXPixelFormat_R8G8B8A8IntNormalized = 31, + DirectXPixelFormat_R8G8B8A8Int = 32, + DirectXPixelFormat_R16G16Typeless = 33, + DirectXPixelFormat_R16G16Float = 34, + DirectXPixelFormat_R16G16UIntNormalized = 35, + DirectXPixelFormat_R16G16UInt = 36, + DirectXPixelFormat_R16G16IntNormalized = 37, + DirectXPixelFormat_R16G16Int = 38, + DirectXPixelFormat_R32Typeless = 39, + DirectXPixelFormat_D32Float = 40, + DirectXPixelFormat_R32Float = 41, + DirectXPixelFormat_R32UInt = 42, + DirectXPixelFormat_R32Int = 43, + DirectXPixelFormat_R24G8Typeless = 44, + DirectXPixelFormat_D24UIntNormalizedS8UInt = 45, + DirectXPixelFormat_R24UIntNormalizedX8Typeless = 46, + DirectXPixelFormat_X24TypelessG8UInt = 47, + DirectXPixelFormat_R8G8Typeless = 48, + DirectXPixelFormat_R8G8UIntNormalized = 49, + DirectXPixelFormat_R8G8UInt = 50, + DirectXPixelFormat_R8G8IntNormalized = 51, + DirectXPixelFormat_R8G8Int = 52, + DirectXPixelFormat_R16Typeless = 53, + DirectXPixelFormat_R16Float = 54, + DirectXPixelFormat_D16UIntNormalized = 55, + DirectXPixelFormat_R16UIntNormalized = 56, + DirectXPixelFormat_R16UInt = 57, + DirectXPixelFormat_R16IntNormalized = 58, + DirectXPixelFormat_R16Int = 59, + DirectXPixelFormat_R8Typeless = 60, + DirectXPixelFormat_R8UIntNormalized = 61, + DirectXPixelFormat_R8UInt = 62, + DirectXPixelFormat_R8IntNormalized = 63, + DirectXPixelFormat_R8Int = 64, + DirectXPixelFormat_A8UIntNormalized = 65, + DirectXPixelFormat_R1UIntNormalized = 66, + DirectXPixelFormat_R9G9B9E5SharedExponent = 67, + DirectXPixelFormat_R8G8B8G8UIntNormalized = 68, + DirectXPixelFormat_G8R8G8B8UIntNormalized = 69, + DirectXPixelFormat_BC1Typeless = 70, + DirectXPixelFormat_BC1UIntNormalized = 71, + DirectXPixelFormat_BC1UIntNormalizedSrgb = 72, + DirectXPixelFormat_BC2Typeless = 73, + DirectXPixelFormat_BC2UIntNormalized = 74, + DirectXPixelFormat_BC2UIntNormalizedSrgb = 75, + DirectXPixelFormat_BC3Typeless = 76, + DirectXPixelFormat_BC3UIntNormalized = 77, + DirectXPixelFormat_BC3UIntNormalizedSrgb = 78, + DirectXPixelFormat_BC4Typeless = 79, + DirectXPixelFormat_BC4UIntNormalized = 80, + DirectXPixelFormat_BC4IntNormalized = 81, + DirectXPixelFormat_BC5Typeless = 82, + DirectXPixelFormat_BC5UIntNormalized = 83, + DirectXPixelFormat_BC5IntNormalized = 84, + DirectXPixelFormat_B5G6R5UIntNormalized = 85, + DirectXPixelFormat_B5G5R5A1UIntNormalized = 86, + DirectXPixelFormat_B8G8R8A8UIntNormalized = 87, + DirectXPixelFormat_B8G8R8X8UIntNormalized = 88, + DirectXPixelFormat_R10G10B10XRBiasA2UIntNormalized = 89, + DirectXPixelFormat_B8G8R8A8Typeless = 90, + DirectXPixelFormat_B8G8R8A8UIntNormalizedSrgb = 91, + DirectXPixelFormat_B8G8R8X8Typeless = 92, + DirectXPixelFormat_B8G8R8X8UIntNormalizedSrgb = 93, + DirectXPixelFormat_BC6HTypeless = 94, + DirectXPixelFormat_BC6H16UnsignedFloat = 95, + DirectXPixelFormat_BC6H16Float = 96, + DirectXPixelFormat_BC7Typeless = 97, + DirectXPixelFormat_BC7UIntNormalized = 98, + DirectXPixelFormat_BC7UIntNormalizedSrgb = 99, + DirectXPixelFormat_Ayuv = 100, + DirectXPixelFormat_Y410 = 101, + DirectXPixelFormat_Y416 = 102, + DirectXPixelFormat_NV12 = 103, + DirectXPixelFormat_P010 = 104, + DirectXPixelFormat_P016 = 105, + DirectXPixelFormat_Opaque420 = 106, + DirectXPixelFormat_Yuy2 = 107, + DirectXPixelFormat_Y210 = 108, + DirectXPixelFormat_Y216 = 109, + DirectXPixelFormat_NV11 = 110, + DirectXPixelFormat_AI44 = 111, + DirectXPixelFormat_IA44 = 112, + DirectXPixelFormat_P8 = 113, + DirectXPixelFormat_A8P8 = 114, + DirectXPixelFormat_B4G4R4A4UIntNormalized = 115, + DirectXPixelFormat_P208 = 130, + DirectXPixelFormat_V208 = 131, + DirectXPixelFormat_V408 = 132, +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xa0000 + + DirectXPixelFormat_SamplerFeedbackMinMipOpaque = 189, +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xa0000 + +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xa0000 + + DirectXPixelFormat_SamplerFeedbackMipRegionUsedOpaque = 190, +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0xa0000 + +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x100000 + + DirectXPixelFormat_A4B4G4R4 = 191, +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x100000 + +} C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirectXPixelFormat); +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x10000 + + +/* + * + * Typedef of Windows.Graphics.DirectX.DirectXColorSpace + * + * Introduced to Windows.Foundation.UniversalApiContract in version 6.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000 +/* [contract] */ +typedef /* [v1_enum] */ +enum C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirectXColorSpace) +{ + DirectXColorSpace_RgbFullG22NoneP709 = 0, + DirectXColorSpace_RgbFullG10NoneP709 = 1, + DirectXColorSpace_RgbStudioG22NoneP709 = 2, + DirectXColorSpace_RgbStudioG22NoneP2020 = 3, + DirectXColorSpace_Reserved = 4, + DirectXColorSpace_YccFullG22NoneP709X601 = 5, + DirectXColorSpace_YccStudioG22LeftP601 = 6, + DirectXColorSpace_YccFullG22LeftP601 = 7, + DirectXColorSpace_YccStudioG22LeftP709 = 8, + DirectXColorSpace_YccFullG22LeftP709 = 9, + DirectXColorSpace_YccStudioG22LeftP2020 = 10, + DirectXColorSpace_YccFullG22LeftP2020 = 11, + DirectXColorSpace_RgbFullG2084NoneP2020 = 12, + DirectXColorSpace_YccStudioG2084LeftP2020 = 13, + DirectXColorSpace_RgbStudioG2084NoneP2020 = 14, + DirectXColorSpace_YccStudioG22TopLeftP2020 = 15, + DirectXColorSpace_YccStudioG2084TopLeftP2020 = 16, + DirectXColorSpace_RgbFullG22NoneP2020 = 17, + DirectXColorSpace_YccStudioGHlgTopLeftP2020 = 18, + DirectXColorSpace_YccFullGHlgTopLeftP2020 = 19, + DirectXColorSpace_RgbStudioG24NoneP709 = 20, + DirectXColorSpace_RgbStudioG24NoneP2020 = 21, + DirectXColorSpace_YccStudioG24LeftP709 = 22, + DirectXColorSpace_YccStudioG24LeftP2020 = 23, + DirectXColorSpace_YccStudioG24TopLeftP2020 = 24, +} C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirectXColorSpace); +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x60000 + + +/* + * + * Typedef of Windows.Graphics.DirectX.DirectXPrimitiveTopology + * + * Introduced to Windows.Foundation.UniversalApiContract in version 8.0 + * + * + */ +#if WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000 +/* [contract] */ +typedef /* [v1_enum] */ +enum C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirectXPrimitiveTopology) +{ + DirectXPrimitiveTopology_Undefined = 0, + DirectXPrimitiveTopology_PointList = 1, + DirectXPrimitiveTopology_LineList = 2, + DirectXPrimitiveTopology_LineStrip = 3, + DirectXPrimitiveTopology_TriangleList = 4, + DirectXPrimitiveTopology_TriangleStrip = 5, +} C_ABI_PARAMETER(Windows_CGraphics_CDirectX_CDirectXPrimitiveTopology); +#endif // WINDOWS_FOUNDATION_UNIVERSALAPICONTRACT_VERSION >= 0x80000 + + +#endif // defined(__cplusplus) +#pragma pop_macro("MIDL_CONST_ID") +#pragma pop_macro("C_IID") +#pragma pop_macro("ABI_CONCAT") +#pragma pop_macro("ABI_PARAMETER") +#pragma pop_macro("ABI_NAMESPACE_BEGIN") +#pragma pop_macro("ABI_NAMESPACE_END") + + +#endif // __winrtdirectxcommon_p_h__ + +#endif // __winrtdirectxcommon_h__ diff --git a/vendor/include/xamlom.winui.h b/vendor/include/xamlom.winui.h new file mode 100644 index 0000000..784c7fc --- /dev/null +++ b/vendor/include/xamlom.winui.h @@ -0,0 +1,299 @@ + + +/* this ALWAYS GENERATED file contains the definitions for the interfaces */ + + + /* File created by MIDL compiler version 8.01.0628 */ +/* @@MIDL_FILE_HEADING( ) */ + + + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 500 +#endif + +/* verify that the version is high enough to compile this file*/ +#ifndef __REQUIRED_RPCSAL_H_VERSION__ +#define __REQUIRED_RPCSAL_H_VERSION__ 100 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error this stub requires an updated version of +#endif /* __RPCNDR_H_VERSION__ */ + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif /*COM_NO_WINDOWS_H*/ + +#ifndef __xamlom2Ewinui_h__ +#define __xamlom2Ewinui_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 __IVisualTreeServiceCallback3_FWD_DEFINED__ +#define __IVisualTreeServiceCallback3_FWD_DEFINED__ +typedef interface IVisualTreeServiceCallback3 IVisualTreeServiceCallback3; + +#endif /* __IVisualTreeServiceCallback3_FWD_DEFINED__ */ + + +#ifndef __IXamlDiagnostics2_FWD_DEFINED__ +#define __IXamlDiagnostics2_FWD_DEFINED__ +typedef interface IXamlDiagnostics2 IXamlDiagnostics2; + +#endif /* __IXamlDiagnostics2_FWD_DEFINED__ */ + + +/* header files for imported files */ +#include "XamlOM.h" + +#ifdef __cplusplus +extern "C"{ +#endif + + +/* interface __MIDL_itf_XamlOM2EWinUI_0000_0000 */ +/* [local] */ + +#pragma region Application Family +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#pragma warning(push) +#pragma warning(disable:4668) +#pragma warning(disable:4001) +#pragma once +#pragma warning(pop) +// Win32 API definitions +#define E_NOTFOUND HRESULT_FROM_WIN32(ERROR_NOT_FOUND) +#define E_UNKNOWNTYPE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_XAML, 40L) + + +extern RPC_IF_HANDLE __MIDL_itf_XamlOM2EWinUI_0000_0000_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_XamlOM2EWinUI_0000_0000_v0_0_s_ifspec; + +#ifndef __IVisualTreeServiceCallback3_INTERFACE_DEFINED__ +#define __IVisualTreeServiceCallback3_INTERFACE_DEFINED__ + +/* interface IVisualTreeServiceCallback3 */ +/* [unique][uuid][object] */ + + +EXTERN_C const IID IID_IVisualTreeServiceCallback3; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("765DF10A-08C8-46B0-82C9-297CFC4CEAD7") + IVisualTreeServiceCallback3 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE OnXamlRootChange( + /* [in] */ InstanceHandle root, + /* [in] */ VisualMutationType mutationType) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IVisualTreeServiceCallback3Vtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IVisualTreeServiceCallback3 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IVisualTreeServiceCallback3 * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IVisualTreeServiceCallback3 * This); + + DECLSPEC_XFGVIRT(IVisualTreeServiceCallback3, OnXamlRootChange) + HRESULT ( STDMETHODCALLTYPE *OnXamlRootChange )( + __RPC__in IVisualTreeServiceCallback3 * This, + /* [in] */ InstanceHandle root, + /* [in] */ VisualMutationType mutationType); + + END_INTERFACE + } IVisualTreeServiceCallback3Vtbl; + + interface IVisualTreeServiceCallback3 + { + CONST_VTBL struct IVisualTreeServiceCallback3Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IVisualTreeServiceCallback3_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IVisualTreeServiceCallback3_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IVisualTreeServiceCallback3_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IVisualTreeServiceCallback3_OnXamlRootChange(This,root,mutationType) \ + ( (This)->lpVtbl -> OnXamlRootChange(This,root,mutationType) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IVisualTreeServiceCallback3_INTERFACE_DEFINED__ */ + + +#ifndef __IXamlDiagnostics2_INTERFACE_DEFINED__ +#define __IXamlDiagnostics2_INTERFACE_DEFINED__ + +/* interface IXamlDiagnostics2 */ +/* [unique][uuid][object] */ + + +EXTERN_C const IID IID_IXamlDiagnostics2; + +#if defined(__cplusplus) && !defined(CINTERFACE) + + MIDL_INTERFACE("523A35EE-EB38-4AE6-A3E1-5B7D0D547BD0") + IXamlDiagnostics2 : public IUnknown + { + public: + virtual HRESULT STDMETHODCALLTYPE GetUiLayerForXamlRoot( + /* [in] */ InstanceHandle instanceHandle, + /* [retval][out] */ __RPC__deref_out_opt IInspectable **ppLayer) = 0; + + virtual HRESULT STDMETHODCALLTYPE HitTestForXamlRoot( + /* [in] */ InstanceHandle instanceHandle, + /* [in] */ RECT rect, + /* [out] */ __RPC__out unsigned int *pCount, + /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pCount) InstanceHandle **ppInstanceHandles) = 0; + + }; + + +#else /* C style interface */ + + typedef struct IXamlDiagnostics2Vtbl + { + BEGIN_INTERFACE + + DECLSPEC_XFGVIRT(IUnknown, QueryInterface) + HRESULT ( STDMETHODCALLTYPE *QueryInterface )( + __RPC__in IXamlDiagnostics2 * This, + /* [in] */ __RPC__in REFIID riid, + /* [annotation][iid_is][out] */ + _COM_Outptr_ void **ppvObject); + + DECLSPEC_XFGVIRT(IUnknown, AddRef) + ULONG ( STDMETHODCALLTYPE *AddRef )( + __RPC__in IXamlDiagnostics2 * This); + + DECLSPEC_XFGVIRT(IUnknown, Release) + ULONG ( STDMETHODCALLTYPE *Release )( + __RPC__in IXamlDiagnostics2 * This); + + DECLSPEC_XFGVIRT(IXamlDiagnostics2, GetUiLayerForXamlRoot) + HRESULT ( STDMETHODCALLTYPE *GetUiLayerForXamlRoot )( + __RPC__in IXamlDiagnostics2 * This, + /* [in] */ InstanceHandle instanceHandle, + /* [retval][out] */ __RPC__deref_out_opt IInspectable **ppLayer); + + DECLSPEC_XFGVIRT(IXamlDiagnostics2, HitTestForXamlRoot) + HRESULT ( STDMETHODCALLTYPE *HitTestForXamlRoot )( + __RPC__in IXamlDiagnostics2 * This, + /* [in] */ InstanceHandle instanceHandle, + /* [in] */ RECT rect, + /* [out] */ __RPC__out unsigned int *pCount, + /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pCount) InstanceHandle **ppInstanceHandles); + + END_INTERFACE + } IXamlDiagnostics2Vtbl; + + interface IXamlDiagnostics2 + { + CONST_VTBL struct IXamlDiagnostics2Vtbl *lpVtbl; + }; + + + +#ifdef COBJMACROS + + +#define IXamlDiagnostics2_QueryInterface(This,riid,ppvObject) \ + ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) + +#define IXamlDiagnostics2_AddRef(This) \ + ( (This)->lpVtbl -> AddRef(This) ) + +#define IXamlDiagnostics2_Release(This) \ + ( (This)->lpVtbl -> Release(This) ) + + +#define IXamlDiagnostics2_GetUiLayerForXamlRoot(This,instanceHandle,ppLayer) \ + ( (This)->lpVtbl -> GetUiLayerForXamlRoot(This,instanceHandle,ppLayer) ) + +#define IXamlDiagnostics2_HitTestForXamlRoot(This,instanceHandle,rect,pCount,ppInstanceHandles) \ + ( (This)->lpVtbl -> HitTestForXamlRoot(This,instanceHandle,rect,pCount,ppInstanceHandles) ) + +#endif /* COBJMACROS */ + + +#endif /* C style interface */ + + + + +#endif /* __IXamlDiagnostics2_INTERFACE_DEFINED__ */ + + +/* interface __MIDL_itf_XamlOM2EWinUI_0000_0002 */ +/* [local] */ + +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ +#pragma endregion + + +extern RPC_IF_HANDLE __MIDL_itf_XamlOM2EWinUI_0000_0002_v0_0_c_ifspec; +extern RPC_IF_HANDLE __MIDL_itf_XamlOM2EWinUI_0000_0002_v0_0_s_ifspec; + +/* Additional Prototypes for ALL interfaces */ + +/* end of Additional Prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif + + diff --git a/vendor/lib/DWriteCore.lib b/vendor/lib/DWriteCore.lib new file mode 100644 index 0000000000000000000000000000000000000000..2b091ce6927f4bb92dad165f522f47099f45c2dc GIT binary patch literal 2352 zcmcIl%}*0S6#sS0myIE$>d|BkP0$#=3T;9{%wmhNfdVNddSb2J6&j%>%VJ_8F)^_x zo?TAmGE4cz zoSuGSm25Lru}tXt!pi)7PzP_NlB<$`ys|K-r)TmrkfM}j7HsoTp=ejE*K}BEbIW&n zqg3w7nQNtO+q7n1nPq#qRDK!Q8Pt%wSIX9f`9PM!#?H&sEi2}sBfmI^*dx2yh zut%NJfG%{S2O%h86>b?Ld5_NTc)3iTpOv%HpjT%#n#Hy~w2T-V8>8w)C{OrMZdAi~ z|1N$M4H1?p&fG=}^ZCwNY}uuNG%Y@OgqSr9JRB(*1-lT7d!n1Ps8Rnd7-5<$(Pmj48)B{RCZaLWo`ehpVQbV{gK!|XTXZ3yz;&3;bEfuZGcIAbw-p$=p z=Q9g)EIiw;6N7!>&Pd`F`#?~mRih#Dq*&S9B9{+$L!r}C|1MGo`>4RXxdu31uX`Nl zj;<}CGs!x%33Z)>7b2hsR+U|LW-DR@fb)xI(9p(dV~sK1RyRl$yxJ^to+$bL3Q zjp2&wqYpI`9+Oe?)g#2rsJSXMw3FZ46h5#;T3X6>`6(2wThr8<(EnYasp1wWim*TzT7593TlNB*?6Tytn6^eu z6GLLc1BoX3X6oOIeXOKU4Npx#O|VAOrq=jSA8d#*YWh&C^~}yabMKuyciFpelf&GZ zb7sDC&YYQZ?y~FoxIQx8R&gL`fA$@+_o;W#csbM@KFnXwRsg^OfJz;pY8JqM9U!p6 zsd^cJQQ#t{nsxw2wLwmGlK_kw=Q&lML3yOwIZk!AkdL%uiBn@M${}smC^Dj}1p-Q5^3( z)!XZ2!aK<2yrGv*_4N#Q9v?amQ9a$EYw@fW)21@h`iK^dPsGPG9hXU_Cx>0x$mrCj zvU=u%>qHm6W66%pL{>YWbweaJ&g;@O?c{Vkl^jiKdS5)PP4(-i23L4V z%N|dq>}!~Fm0UhcOtDFuqbN0~WzD{DpKTPSB(IQlLf(bXwdfd6rV^&ZCvD0&n0yY2 zcVwm~EKWvS?HrWu&BPOfSv@&1Ml2IR!BfuY(lcqAeM(Q}TR;{y);p0trzH}au+zST zgX=O&UR*es86qzt3)?K~*JW|LM%-fxsZ~~aHJKe30V9X8>2Bx3s);UGvSBta$coFt zE^E^6wqNL;NNDE^a|Q_)wx-I$ysAq&spcax9{tP+-gWKMqodX^@$5MB9lMcCVHMMRzG@cvssV3(y%J!y3g9|sgp~lmay7t3Y};!9g0%pX zm>T9A0nXs~9QJQve`yCmD~@$;2e`_p9-s}!LfAIpqF0doxW+YHgQXTsim)A?fDN!2 z%Ag$TVIypT2G|6Z;D>Ec0|BT-!D`qFRZsyXQ0htE$8wI-*CLAA8I+!o;eJy} z9Lt>i*+H?t&TPT=-Q}`%gaelr$DG;jcJn%J8I)baW##cSGtKf{I%_|`s{pv1SyLx* z9&HQJsKQ)Z>h)YMiTg&1RWWW4Oo~_+HpQS|OEK!0F7X}n^F*@1u*I_&#rShZwUz6L zZ7b6e;Z~*@=hji$BB=sV#kP5Us<`qV3lK9%%xvjNm{hdm%L$UC=q%*LmxNW}UC{gj zClZ{>0^+&4#CB5D-wCnk{zNJz64+{ATA`K}m*e>peG_<$YN=hC-wo0QICQwFXY6Kvs<~WVyjN%xEOo++gBoH!T zbA*jQ$^IA*TOA;5^jK30ui#(LH=;5yDhv|~j*P>hW=mw0LVV%1pT5c|#Z&`OMMi?N z#9vEf9HBuL8JDSJv@9~#ea8#g%coEQ*AH>e9&2f}c+3ayhJRkZjR1UO)gH@pmP915 zv&hbp^@%`)&QgfRncR2OFc82BBAviVzI4-+|bHOw9cF;?dh!7UQ!) zRiW~$f(~@S(H=fxY@G$^jbn2+b|Fp)M^e`jbaQwr}{lLv2Vr}7As+yf{Olk|Zt(gi)OH4LislCH~pQv=l zlWSZu*K^FM@E?2uiwu9Oi7$U6tRFu8)52nZ&sf>Ry@+4sj!&CS{-$Z^%VGTMSY(sI<9-y(M&{(THJ3aqYCK2Pxl7ZIgyVvB~RZAeoJy=>QRGz*4|??2Lw#>|X0w|n>29Dp?ChI)^WMz+p1F2k+1{$o3DJnN z-I;aH`7Fi;$rvAP3IH$(5DWu^4gtnP022ph7eoM~cMxKqEK--{{8DkHRF>x#Rv(t~ z#qvr?UedO4v{TZv z2}ZdosCxm}|M2eUkq@f?#tAi1tvuOzHoa=j0Aw7z<`V`b2;5YVT zh6o^(Al6}YX@-VdIGDooI33|7h;;l2V}QYnZN|0wH{f!ZGT^hp2XFzdLw)y>#UHs@ znu!$h%ZqH?0nX!$#H3D1LL;n+m@G81_83;+3>QdS&3X&K{ST4nCSs;g#DUkRSDPl1X-C$7+$j7w z!UN3k>2K2^S)bx&q^dz#Z*LMvJnNGjPjr9ygh8VF$F_H4_j@Sbh@tM)E16Wc;$ua` z(xL8MeSW)>H7pbyctg8+dKs0;bM9q$m_+E6XiAh*{9ke?kq=9x{l0fR4qS`m*+%@j tvPqPG`{w5Zl!#t4c8RPj-F@x$ZlSv;edfOy{MwMk=QIES literal 0 HcmV?d00001 diff --git a/vendor/lib/Microsoft.WindowsAppRuntime.lib b/vendor/lib/Microsoft.WindowsAppRuntime.lib new file mode 100644 index 0000000000000000000000000000000000000000..9a40c5056588c05f2aaeb6b06a3ae40fa9f3f83b GIT binary patch literal 7260 zcmc&(U2GIp6h1A`!b0gU^oJN%#HtUr-Ili7fMnY)tt;KqY+Eo9osK)VFkyFQGczp| zBT7sN55D?>Z$9#3NO+Mnga=~`2?>EGBa-No8hsEoh6kwkrTsy6>3Ma|(dUz7|Vv z;T@$rNktGc*}3Dn1tEQOelnMtTR5H*vT|Nib#>Y3J1HxYdQKlNm2xYJAr}b@gudzAz41Ng9`=IWd1$JWbN1L==fA`8BjI7fXU)FSe&iffyuU zpq~PcohC*`no>2_=t)&E$a$kYd#I*qEk|^Osy0Ovtp5WO;Kf=XB^IyBSm#J z=$ri%aO{G%HmMOY&}9KSXkkWPCUoVqqJnExB#JRTS^gT&Ue8erL^m>uY{+6kzCd|o zt+d;MLldpxdRU7#t%;>GIkGD2vZ`dHvKfCBbNn<>h$b5DQB@sTT|S>tbVDo@X5>6k zbfU8d6HkzWMeH&^t>jQ3{}I`$L&HXCCWG@B?Pk(UEj6ugp58<3d_ta`|xl* zx5f#gZ8}d`R)y?*<_%#=LyYHC?W|xqc}gtGg*A#?K**K@YG5dWi7YzpzrqNx5sbh= zJd>haL)^+o6@5h`8GS|-CE~wq4mJKvGiGO+4oo!@O#ti701d4G``ZDoq1?odhkF37 zb^`Qv0bJaR{rEhKZ6nxs1KX~&0o>^ZIMoBtvJc=EN)q2ObwM+1g>BFT4X_IuAqG2P zJM4hn&;c#b3T@C1bxPUidRaq~a2p@3Zw#fHP% zTs3*WBk6>lZicLk6OS*&0&4$0sZfA^b|kV+Mq##xM~5uUrI>Vi3&8!2Uxw-cGmd%n zN#vcC(+B3QS6IY{kJyWKPeIE>pDc-ncwmrq(cJhQ${$t(T80!1+_v=a6lGp zmd-({gM+}<87{Zb_Jj0~by4d8S?i77>fr+Z{eKRcF<#~kjxwrJ=3zba(+BtNZhi#) z6aX*gNoJS*w}N>?tdTPBbM|80Df6BhqoQ!)83g8gz~}Yk(BMeb9`4vU@$IiTfk_Z= zPX_GaVdgv<1Lz*Eyi$;2d)Ve8)%&qh37@InQ}K8dZzm8CUxa4Vj2K174qA#Bp#f+h zkS+^tA8)*l6K}zw61}zw3pl*o7-iI`Kz8WC-tX}zDa5ta_xGWi;}~;$X#I5O7l#nX zHWP(idYcWDS|FtIpG!8Zk857=o+NFi^Z) zNqYF@`g+5oR}s^88?yBO{m!?3&LNr|HX5GNIt(JOzr6NV*YB&p z(Y+Nj5qcK!wZ`GaC8M!)hjMAB9}Y(WTWd_C9{c_4sdxXR`+b**$?sqi28EkR?0*Ba zerD16o0D_*k06#N6HCAuC=3oaYZ$F7(0rDE{%@L2cT+STr>$CJNDjNB&-@RM?~fw} z`s-8Zxh@P4{~CGZsim*pdoqEDT09XskC0)Ic-JYBU=%L1X5vfnNgffkdLrUJtcF46 w_F^Kz3XwAABcG%nzm1sNqG1j=7l*;+_3+rJn}y?VK6pfrH0_~iIRjYiA2!w*-v9sr literal 0 HcmV?d00001