首次提交:添加src文件夹代码

This commit is contained in:
2026-02-27 14:02:43 +08:00
commit d330cfbca7
4184 changed files with 5546478 additions and 0 deletions

View File

@@ -0,0 +1,546 @@
/* 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/webview2interop.idl:
Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx
protocol : dce , ms_ext, c_ext, robust
error checks: allocation ref bounds_check enum stub_data
VC __declspec() decoration level:
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
DECLSPEC_UUID(), MIDL_INTERFACE()
*/
/* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include "rpc.h"
#include "rpcndr.h"
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif /* __RPCNDR_H_VERSION__ */
#ifndef __webview2interop_h__
#define __webview2interop_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 __ICoreWebView2Interop_FWD_DEFINED__
#define __ICoreWebView2Interop_FWD_DEFINED__
typedef interface ICoreWebView2Interop ICoreWebView2Interop;
#endif /* __ICoreWebView2Interop_FWD_DEFINED__ */
#ifndef __ICoreWebView2CompositionControllerInterop_FWD_DEFINED__
#define __ICoreWebView2CompositionControllerInterop_FWD_DEFINED__
typedef interface ICoreWebView2CompositionControllerInterop ICoreWebView2CompositionControllerInterop;
#endif /* __ICoreWebView2CompositionControllerInterop_FWD_DEFINED__ */
#ifndef __ICoreWebView2CompositionControllerInterop2_FWD_DEFINED__
#define __ICoreWebView2CompositionControllerInterop2_FWD_DEFINED__
typedef interface ICoreWebView2CompositionControllerInterop2 ICoreWebView2CompositionControllerInterop2;
#endif /* __ICoreWebView2CompositionControllerInterop2_FWD_DEFINED__ */
#ifndef __ICoreWebView2EnvironmentInterop_FWD_DEFINED__
#define __ICoreWebView2EnvironmentInterop_FWD_DEFINED__
typedef interface ICoreWebView2EnvironmentInterop ICoreWebView2EnvironmentInterop;
#endif /* __ICoreWebView2EnvironmentInterop_FWD_DEFINED__ */
/* header files for imported files */
#include "oaidl.h"
#ifdef __cplusplus
extern "C"{
#endif
#ifndef __WebView2Interop_LIBRARY_DEFINED__
#define __WebView2Interop_LIBRARY_DEFINED__
/* library WebView2Interop */
/* [version][uuid] */
EXTERN_C const IID LIBID_WebView2Interop;
#ifndef __ICoreWebView2Interop_INTERFACE_DEFINED__
#define __ICoreWebView2Interop_INTERFACE_DEFINED__
/* interface ICoreWebView2Interop */
/* [unique][object][uuid] */
EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2Interop = {0x912b34a7,0xd10b,0x49c4,{0xaf,0x18,0x7c,0xb7,0xe6,0x04,0xe0,0x1a}};
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("912b34a7-d10b-49c4-af18-7cb7e604e01a")
ICoreWebView2Interop : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE AddHostObjectToScript(
/* [in] */ LPCWSTR name,
/* [in] */ VARIANT *object) = 0;
};
#else /* C style interface */
typedef struct ICoreWebView2InteropVtbl
{
BEGIN_INTERFACE
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICoreWebView2Interop * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICoreWebView2Interop * This);
DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICoreWebView2Interop * This);
DECLSPEC_XFGVIRT(ICoreWebView2Interop, AddHostObjectToScript)
HRESULT ( STDMETHODCALLTYPE *AddHostObjectToScript )(
ICoreWebView2Interop * This,
/* [in] */ LPCWSTR name,
/* [in] */ VARIANT *object);
END_INTERFACE
} ICoreWebView2InteropVtbl;
interface ICoreWebView2Interop
{
CONST_VTBL struct ICoreWebView2InteropVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define ICoreWebView2Interop_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define ICoreWebView2Interop_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define ICoreWebView2Interop_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define ICoreWebView2Interop_AddHostObjectToScript(This,name,object) \
( (This)->lpVtbl -> AddHostObjectToScript(This,name,object) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __ICoreWebView2Interop_INTERFACE_DEFINED__ */
#ifndef __ICoreWebView2CompositionControllerInterop_INTERFACE_DEFINED__
#define __ICoreWebView2CompositionControllerInterop_INTERFACE_DEFINED__
/* interface ICoreWebView2CompositionControllerInterop */
/* [unique][object][uuid] */
EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CompositionControllerInterop = {0x8e9922ce,0x9c80,0x42e6,{0xba,0xd7,0xfc,0xeb,0xf2,0x91,0xa4,0x95}};
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8e9922ce-9c80-42e6-bad7-fcebf291a495")
ICoreWebView2CompositionControllerInterop : public IUnknown
{
public:
virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_AutomationProvider(
/* [retval][out] */ IUnknown **provider) = 0;
virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_RootVisualTarget(
/* [retval][out] */ IUnknown **target) = 0;
virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_RootVisualTarget(
/* [in] */ IUnknown *target) = 0;
};
#else /* C style interface */
typedef struct ICoreWebView2CompositionControllerInteropVtbl
{
BEGIN_INTERFACE
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICoreWebView2CompositionControllerInterop * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICoreWebView2CompositionControllerInterop * This);
DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICoreWebView2CompositionControllerInterop * This);
DECLSPEC_XFGVIRT(ICoreWebView2CompositionControllerInterop, get_AutomationProvider)
/* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutomationProvider )(
ICoreWebView2CompositionControllerInterop * This,
/* [retval][out] */ IUnknown **provider);
DECLSPEC_XFGVIRT(ICoreWebView2CompositionControllerInterop, get_RootVisualTarget)
/* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootVisualTarget )(
ICoreWebView2CompositionControllerInterop * This,
/* [retval][out] */ IUnknown **target);
DECLSPEC_XFGVIRT(ICoreWebView2CompositionControllerInterop, put_RootVisualTarget)
/* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootVisualTarget )(
ICoreWebView2CompositionControllerInterop * This,
/* [in] */ IUnknown *target);
END_INTERFACE
} ICoreWebView2CompositionControllerInteropVtbl;
interface ICoreWebView2CompositionControllerInterop
{
CONST_VTBL struct ICoreWebView2CompositionControllerInteropVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define ICoreWebView2CompositionControllerInterop_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define ICoreWebView2CompositionControllerInterop_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define ICoreWebView2CompositionControllerInterop_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define ICoreWebView2CompositionControllerInterop_get_AutomationProvider(This,provider) \
( (This)->lpVtbl -> get_AutomationProvider(This,provider) )
#define ICoreWebView2CompositionControllerInterop_get_RootVisualTarget(This,target) \
( (This)->lpVtbl -> get_RootVisualTarget(This,target) )
#define ICoreWebView2CompositionControllerInterop_put_RootVisualTarget(This,target) \
( (This)->lpVtbl -> put_RootVisualTarget(This,target) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __ICoreWebView2CompositionControllerInterop_INTERFACE_DEFINED__ */
#ifndef __ICoreWebView2CompositionControllerInterop2_INTERFACE_DEFINED__
#define __ICoreWebView2CompositionControllerInterop2_INTERFACE_DEFINED__
/* interface ICoreWebView2CompositionControllerInterop2 */
/* [unique][object][uuid] */
EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2CompositionControllerInterop2 = {0x6b47bbe1,0x2480,0x4ff8,{0xa5,0xba,0x69,0xc2,0xf0,0xb8,0x68,0xb3}};
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6b47bbe1-2480-4ff8-a5ba-69c2f0b868b3")
ICoreWebView2CompositionControllerInterop2 : public ICoreWebView2CompositionControllerInterop
{
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 ICoreWebView2CompositionControllerInterop2Vtbl
{
BEGIN_INTERFACE
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICoreWebView2CompositionControllerInterop2 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICoreWebView2CompositionControllerInterop2 * This);
DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICoreWebView2CompositionControllerInterop2 * This);
DECLSPEC_XFGVIRT(ICoreWebView2CompositionControllerInterop, get_AutomationProvider)
/* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutomationProvider )(
ICoreWebView2CompositionControllerInterop2 * This,
/* [retval][out] */ IUnknown **provider);
DECLSPEC_XFGVIRT(ICoreWebView2CompositionControllerInterop, get_RootVisualTarget)
/* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_RootVisualTarget )(
ICoreWebView2CompositionControllerInterop2 * This,
/* [retval][out] */ IUnknown **target);
DECLSPEC_XFGVIRT(ICoreWebView2CompositionControllerInterop, put_RootVisualTarget)
/* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_RootVisualTarget )(
ICoreWebView2CompositionControllerInterop2 * This,
/* [in] */ IUnknown *target);
DECLSPEC_XFGVIRT(ICoreWebView2CompositionControllerInterop2, DragEnter)
HRESULT ( STDMETHODCALLTYPE *DragEnter )(
ICoreWebView2CompositionControllerInterop2 * This,
/* [in] */ IDataObject *dataObject,
/* [in] */ DWORD keyState,
/* [in] */ POINT point,
/* [retval][out] */ DWORD *effect);
DECLSPEC_XFGVIRT(ICoreWebView2CompositionControllerInterop2, DragLeave)
HRESULT ( STDMETHODCALLTYPE *DragLeave )(
ICoreWebView2CompositionControllerInterop2 * This);
DECLSPEC_XFGVIRT(ICoreWebView2CompositionControllerInterop2, DragOver)
HRESULT ( STDMETHODCALLTYPE *DragOver )(
ICoreWebView2CompositionControllerInterop2 * This,
/* [in] */ DWORD keyState,
/* [in] */ POINT point,
/* [retval][out] */ DWORD *effect);
DECLSPEC_XFGVIRT(ICoreWebView2CompositionControllerInterop2, Drop)
HRESULT ( STDMETHODCALLTYPE *Drop )(
ICoreWebView2CompositionControllerInterop2 * This,
/* [in] */ IDataObject *dataObject,
/* [in] */ DWORD keyState,
/* [in] */ POINT point,
/* [retval][out] */ DWORD *effect);
END_INTERFACE
} ICoreWebView2CompositionControllerInterop2Vtbl;
interface ICoreWebView2CompositionControllerInterop2
{
CONST_VTBL struct ICoreWebView2CompositionControllerInterop2Vtbl *lpVtbl;
};
#ifdef COBJMACROS
#define ICoreWebView2CompositionControllerInterop2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define ICoreWebView2CompositionControllerInterop2_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define ICoreWebView2CompositionControllerInterop2_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define ICoreWebView2CompositionControllerInterop2_get_AutomationProvider(This,provider) \
( (This)->lpVtbl -> get_AutomationProvider(This,provider) )
#define ICoreWebView2CompositionControllerInterop2_get_RootVisualTarget(This,target) \
( (This)->lpVtbl -> get_RootVisualTarget(This,target) )
#define ICoreWebView2CompositionControllerInterop2_put_RootVisualTarget(This,target) \
( (This)->lpVtbl -> put_RootVisualTarget(This,target) )
#define ICoreWebView2CompositionControllerInterop2_DragEnter(This,dataObject,keyState,point,effect) \
( (This)->lpVtbl -> DragEnter(This,dataObject,keyState,point,effect) )
#define ICoreWebView2CompositionControllerInterop2_DragLeave(This) \
( (This)->lpVtbl -> DragLeave(This) )
#define ICoreWebView2CompositionControllerInterop2_DragOver(This,keyState,point,effect) \
( (This)->lpVtbl -> DragOver(This,keyState,point,effect) )
#define ICoreWebView2CompositionControllerInterop2_Drop(This,dataObject,keyState,point,effect) \
( (This)->lpVtbl -> Drop(This,dataObject,keyState,point,effect) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __ICoreWebView2CompositionControllerInterop2_INTERFACE_DEFINED__ */
#ifndef __ICoreWebView2EnvironmentInterop_INTERFACE_DEFINED__
#define __ICoreWebView2EnvironmentInterop_INTERFACE_DEFINED__
/* interface ICoreWebView2EnvironmentInterop */
/* [unique][object][uuid] */
EXTERN_C __declspec(selectany) const IID IID_ICoreWebView2EnvironmentInterop = {0xee503a63,0xc1e2,0x4fbf,{0x8a,0x4d,0x82,0x4e,0x95,0xf8,0xbb,0x13}};
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ee503a63-c1e2-4fbf-8a4d-824e95f8bb13")
ICoreWebView2EnvironmentInterop : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetAutomationProviderForWindow(
/* [in] */ HWND hwnd,
/* [retval][out] */ IUnknown **provider) = 0;
};
#else /* C style interface */
typedef struct ICoreWebView2EnvironmentInteropVtbl
{
BEGIN_INTERFACE
DECLSPEC_XFGVIRT(IUnknown, QueryInterface)
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ICoreWebView2EnvironmentInterop * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
DECLSPEC_XFGVIRT(IUnknown, AddRef)
ULONG ( STDMETHODCALLTYPE *AddRef )(
ICoreWebView2EnvironmentInterop * This);
DECLSPEC_XFGVIRT(IUnknown, Release)
ULONG ( STDMETHODCALLTYPE *Release )(
ICoreWebView2EnvironmentInterop * This);
DECLSPEC_XFGVIRT(ICoreWebView2EnvironmentInterop, GetAutomationProviderForWindow)
HRESULT ( STDMETHODCALLTYPE *GetAutomationProviderForWindow )(
ICoreWebView2EnvironmentInterop * This,
/* [in] */ HWND hwnd,
/* [retval][out] */ IUnknown **provider);
END_INTERFACE
} ICoreWebView2EnvironmentInteropVtbl;
interface ICoreWebView2EnvironmentInterop
{
CONST_VTBL struct ICoreWebView2EnvironmentInteropVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define ICoreWebView2EnvironmentInterop_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define ICoreWebView2EnvironmentInterop_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define ICoreWebView2EnvironmentInterop_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define ICoreWebView2EnvironmentInterop_GetAutomationProviderForWindow(This,hwnd,provider) \
( (This)->lpVtbl -> GetAutomationProviderForWindow(This,hwnd,provider) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __ICoreWebView2EnvironmentInterop_INTERFACE_DEFINED__ */
#endif /* __WebView2Interop_LIBRARY_DEFINED__ */
/* Additional Prototypes for ALL interfaces */
/* end of Additional Prototypes */
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -0,0 +1,142 @@
// Copyright (C) Microsoft Corporation. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import "oaidl.idl";
[uuid(79b85709-2a19-4645-9722-3cc51b86eda7), version(1.0)]
library WebView2Interop {
// Forward declarations
interface ICoreWebView2Interop;
interface ICoreWebView2CompositionControllerInterop;
interface ICoreWebView2CompositionControllerInterop2;
// Enums and structs
// End of enums and structs
/// Interop interface for the CoreWebView2 WinRT object to allow WinRT end
/// developers to be able to use COM interfaces as parameters for some methods.
/// This interface is implemented by the Microsoft.Web.WebView2.Core.CoreWebView2
/// runtime class.
[uuid(912b34a7-d10b-49c4-af18-7cb7e604e01a), object, pointer_default(unique)]
interface ICoreWebView2Interop : IUnknown {
/// Add the provided host object to script running in the WebView with the
/// specified name.
/// See the documentation for ICoreWebView2::AddHostObjectToScript for more
/// information.
HRESULT AddHostObjectToScript([in] LPCWSTR name, [in] VARIANT* object);
}
/// Interop interface for the CoreWebView2CompositionController WinRT object to
/// allow WinRT end developers to be able to use the COM interfaces as parameters
/// for some methods.
/// This interface is implemented by the Microsoft.Web.WebView2.Core.CoreWebView2CompositionController
/// runtime class.
[uuid(8e9922ce-9c80-42e6-bad7-fcebf291a495), object, pointer_default(unique)]
interface ICoreWebView2CompositionControllerInterop : IUnknown {
/// Returns the UI Automation Provider for the WebView. See the documentation for
/// ICoreWebView2CompositionController::AutomationProvider for more information.
[propget] HRESULT AutomationProvider([out, retval] IUnknown** provider);
/// The RootVisualTarget is a visual in the hosting app's visual tree. This
/// visual is where the WebView2 will connect its visual tree.
/// See the documentation for ICoreWebView2CompositionController::RootVisualTarget
/// for more information.
[propget] HRESULT RootVisualTarget([out, retval] IUnknown** target);
/// Set the RootVisualTarget property.
[propput] HRESULT RootVisualTarget([in] IUnknown* target);
}
/// This interface is the continuation of the
/// ICoreWebView2CompositionControllerInterop interface to manage drag and drop.
[uuid(6b47bbe1-2480-4ff8-a5ba-69c2f0b868b3), object, pointer_default(unique)]
interface ICoreWebView2CompositionControllerInterop2 : ICoreWebView2CompositionControllerInterop {
/// This function corresponds to [IDropTarget::DragEnter](/windows/win32/api/oleidl/nf-oleidl-idroptarget-dragenter).
///
/// This function has a dependency on AllowExternalDrop property of
/// CoreWebView2Controller and return E_FAIL to callers to indicate this
/// operation is not allowed if AllowExternalDrop property is set to false.
///
/// The hosting application must register as an IDropTarget and implement
/// and forward DragEnter calls to this function.
///
/// point parameter must be modified to include the WebView's offset and be in
/// the WebView's client coordinates (Similar to how SendMouseInput works).
///
/// \snippet DropTarget.cpp DragEnter
HRESULT DragEnter(
[in] IDataObject* dataObject,
[in] DWORD keyState,
[in] POINT point,
[out, retval] DWORD* effect);
/// This function corresponds to [IDropTarget::DragLeave](/windows/win32/api/oleidl/nf-oleidl-idroptarget-dragleave).
///
/// This function has a dependency on AllowExternalDrop property of
/// CoreWebView2Controller and return E_FAIL to callers to indicate this
/// operation is not allowed if AllowExternalDrop property is set to false.
///
/// The hosting application must register as an IDropTarget and implement
/// and forward DragLeave calls to this function.
///
/// \snippet DropTarget.cpp DragLeave
HRESULT DragLeave();
/// This function corresponds to [IDropTarget::DragOver](/windows/win32/api/oleidl/nf-oleidl-idroptarget-dragover).
///
/// This function has a dependency on AllowExternalDrop property of
/// CoreWebView2Controller and return E_FAIL to callers to indicate this
/// operation is not allowed if AllowExternalDrop property is set to false.
///
/// The hosting application must register as an IDropTarget and implement
/// and forward DragOver calls to this function.
///
/// point parameter must be modified to include the WebView's offset and be in
/// the WebView's client coordinates (Similar to how SendMouseInput works).
///
/// \snippet DropTarget.cpp DragOver
HRESULT DragOver(
[in] DWORD keyState,
[in] POINT point,
[out, retval] DWORD* effect);
/// This function corresponds to [IDropTarget::Drop](/windows/win32/api/oleidl/nf-oleidl-idroptarget-drop).
///
/// This function has a dependency on AllowExternalDrop property of
/// CoreWebView2Controller and return E_FAIL to callers to indicate this
/// operation is not allowed if AllowExternalDrop property is set to false.
///
/// The hosting application must register as an IDropTarget and implement
/// and forward Drop calls to this function.
///
/// point parameter must be modified to include the WebView's offset and be in
/// the WebView's client coordinates (Similar to how SendMouseInput works).
///
/// \snippet DropTarget.cpp Drop
HRESULT Drop(
[in] IDataObject* dataObject,
[in] DWORD keyState,
[in] POINT point,
[out, retval] DWORD* effect);
}
/// Interop interface for the CoreWebView2Environment WinRT object to allow
/// WinRT end developers to be able to use COM interfaces as parameters for some
/// methods.
/// This interface is implemented by the Microsoft.Web.WebView2.Core.CoreWebView2Environment
/// runtime class.
[uuid(ee503a63-c1e2-4fbf-8a4d-824e95f8bb13), object, pointer_default(unique)]
interface ICoreWebView2EnvironmentInterop : IUnknown {
/// Returns the UI Automation Provider for the
/// ICoreWebView2CompositionController that corresponds with the given HWND.
/// See the documentation for ICoreWebView2Environment::GetAutomationProviderForWindow
/// for more information.
HRESULT GetAutomationProviderForWindow([in] HWND hwnd,
[out, retval] IUnknown** provider);
}
// End of interfaces
}