File: Windows.Win32.IWebBrowserApp.g.cs
Project: src\src\System.Windows.Forms.Primitives\src\System.Windows.Forms.Primitives.csproj (System.Windows.Forms.Primitives)
// ------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------

#pragma warning disable CS1591,CS1573,CS0465,CS0649,CS8019,CS1570,CS1584,CS1658,CS0436,CS8981
using global::System;
using global::System.Diagnostics;
using global::System.Diagnostics.CodeAnalysis;
using global::System.Runtime.CompilerServices;
using global::System.Runtime.InteropServices;
using global::System.Runtime.Versioning;
using winmdroot = global::Windows.Win32;
namespace Windows.Win32
{
	namespace UI.Shell
	{
		[Guid("0002DF05-0000-0000-C000-000000000046")]
		[global::System.CodeDom.Compiler.GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")]
		internal unsafe partial struct IWebBrowserApp
			:IVTable<IWebBrowserApp,IWebBrowserApp.Vtbl>,IComIID		{
			/// <inheritdoc cref="QueryInterface(global::System.Guid*, void**)"/>
			internal unsafe winmdroot.Foundation.HRESULT QueryInterface(in global::System.Guid riid, out void* ppvObject)
			{
				fixed (void** ppvObjectLocal = &ppvObject)
				{
					fixed (global::System.Guid* riidLocal = &riid)
					{
						winmdroot.Foundation.HRESULT __result = this.QueryInterface(riidLocal, ppvObjectLocal);
						return __result;
					}
				}
			}

			public unsafe winmdroot.Foundation.HRESULT QueryInterface(global::System.Guid* riid, void** ppvObject)
			{
				return ((delegate *unmanaged [Stdcall]<IWebBrowserApp*,global::System.Guid* ,void** ,winmdroot.Foundation.HRESULT>)lpVtbl[0])((IWebBrowserApp*)Unsafe.AsPointer(ref this), riid, ppvObject);
			}

			public uint AddRef()
			{
				return ((delegate *unmanaged [Stdcall]<IWebBrowserApp*,uint>)lpVtbl[1])((IWebBrowserApp*)Unsafe.AsPointer(ref this));
			}

			public uint Release()
			{
				return ((delegate *unmanaged [Stdcall]<IWebBrowserApp*,uint>)lpVtbl[2])((IWebBrowserApp*)Unsafe.AsPointer(ref this));
			}

			/// <inheritdoc cref="GetTypeInfoCount(uint*)"/>
			internal unsafe void GetTypeInfoCount(out uint pctinfo)
			{
				fixed (uint* pctinfoLocal = &pctinfo)
				{
					this.GetTypeInfoCount(pctinfoLocal);
				}
			}

			public unsafe void GetTypeInfoCount(uint* pctinfo)
			{
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,uint* ,winmdroot.Foundation.HRESULT>)lpVtbl[3])((IWebBrowserApp*)Unsafe.AsPointer(ref this), pctinfo).ThrowOnFailure();
			}

			public unsafe void GetTypeInfo(uint iTInfo, uint lcid, winmdroot.System.Com.ITypeInfo** ppTInfo)
			{
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,uint ,uint ,winmdroot.System.Com.ITypeInfo** ,winmdroot.Foundation.HRESULT>)lpVtbl[4])((IWebBrowserApp*)Unsafe.AsPointer(ref this), iTInfo, lcid, ppTInfo).ThrowOnFailure();
			}

			/// <inheritdoc cref="GetIDsOfNames(global::System.Guid*, winmdroot.Foundation.PWSTR*, uint, uint, int*)"/>
			internal unsafe void GetIDsOfNames(in global::System.Guid riid, ReadOnlySpan<winmdroot.Foundation.PWSTR> rgszNames, uint lcid, Span<int> rgDispId)
			{
				fixed (int* rgDispIdLocal = rgDispId)
				{
					fixed (winmdroot.Foundation.PWSTR* rgszNamesLocal = rgszNames)
					{
						fixed (global::System.Guid* riidLocal = &riid)
						{
							if (rgszNames.Length != rgDispId.Length)								throw new ArgumentException();
							this.GetIDsOfNames(riidLocal, rgszNamesLocal, (uint )rgDispId.Length, lcid, rgDispIdLocal);
						}
					}
				}
			}

			public unsafe void GetIDsOfNames(global::System.Guid* riid, winmdroot.Foundation.PWSTR* rgszNames, uint cNames, uint lcid, int* rgDispId)
			{
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,global::System.Guid* ,winmdroot.Foundation.PWSTR* ,uint ,uint ,int* ,winmdroot.Foundation.HRESULT>)lpVtbl[5])((IWebBrowserApp*)Unsafe.AsPointer(ref this), riid, rgszNames, cNames, lcid, rgDispId).ThrowOnFailure();
			}

			/// <inheritdoc cref="Invoke(int, global::System.Guid*, uint, winmdroot.System.Com.DISPATCH_FLAGS, winmdroot.System.Com.DISPPARAMS*, winmdroot.System.Variant.VARIANT*, winmdroot.System.Com.EXCEPINFO*, uint*)"/>
			internal unsafe void Invoke(int dispIdMember, in global::System.Guid riid, uint lcid, winmdroot.System.Com.DISPATCH_FLAGS wFlags, in winmdroot.System.Com.DISPPARAMS pDispParams, winmdroot.System.Variant.VARIANT* pVarResult, winmdroot.System.Com.EXCEPINFO* pExcepInfo, uint* puArgErr)
			{
				fixed (winmdroot.System.Com.DISPPARAMS* pDispParamsLocal = &pDispParams)
				{
					fixed (global::System.Guid* riidLocal = &riid)
					{
						this.Invoke(dispIdMember, riidLocal, lcid, wFlags, pDispParamsLocal, pVarResult, pExcepInfo, puArgErr);
					}
				}
			}

			public unsafe void Invoke(int dispIdMember, global::System.Guid* riid, uint lcid, winmdroot.System.Com.DISPATCH_FLAGS wFlags, winmdroot.System.Com.DISPPARAMS* pDispParams, [Optional] winmdroot.System.Variant.VARIANT* pVarResult, [Optional] winmdroot.System.Com.EXCEPINFO* pExcepInfo, [Optional] uint* puArgErr)
			{
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,int ,global::System.Guid* ,uint ,winmdroot.System.Com.DISPATCH_FLAGS ,winmdroot.System.Com.DISPPARAMS* ,winmdroot.System.Variant.VARIANT* ,winmdroot.System.Com.EXCEPINFO* ,uint* ,winmdroot.Foundation.HRESULT>)lpVtbl[6])((IWebBrowserApp*)Unsafe.AsPointer(ref this), dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT GoBack(IWebBrowserApp* pThis)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.GoBack();
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public void GoBack()
			{
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.HRESULT>)lpVtbl[7])((IWebBrowserApp*)Unsafe.AsPointer(ref this)).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT GoForward(IWebBrowserApp* pThis)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.GoForward();
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public void GoForward()
			{
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.HRESULT>)lpVtbl[8])((IWebBrowserApp*)Unsafe.AsPointer(ref this)).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT GoHome(IWebBrowserApp* pThis)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.GoHome();
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public void GoHome()
			{
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.HRESULT>)lpVtbl[9])((IWebBrowserApp*)Unsafe.AsPointer(ref this)).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT GoSearch(IWebBrowserApp* pThis)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.GoSearch();
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public void GoSearch()
			{
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.HRESULT>)lpVtbl[10])((IWebBrowserApp*)Unsafe.AsPointer(ref this)).ThrowOnFailure();
			}

			/// <inheritdoc cref="Navigate(winmdroot.Foundation.BSTR, winmdroot.System.Variant.VARIANT*, winmdroot.System.Variant.VARIANT*, winmdroot.System.Variant.VARIANT*, winmdroot.System.Variant.VARIANT*)"/>
			internal unsafe void Navigate(winmdroot.Foundation.BSTR URL, winmdroot.System.Variant.VARIANT? Flags, winmdroot.System.Variant.VARIANT? TargetFrameName, winmdroot.System.Variant.VARIANT? PostData, winmdroot.System.Variant.VARIANT? Headers)
			{
				winmdroot.System.Variant.VARIANT FlagsLocal = Flags ?? default(winmdroot.System.Variant.VARIANT);
				winmdroot.System.Variant.VARIANT TargetFrameNameLocal = TargetFrameName ?? default(winmdroot.System.Variant.VARIANT);
				winmdroot.System.Variant.VARIANT PostDataLocal = PostData ?? default(winmdroot.System.Variant.VARIANT);
				winmdroot.System.Variant.VARIANT HeadersLocal = Headers ?? default(winmdroot.System.Variant.VARIANT);
				this.Navigate(URL, Flags.HasValue ? &FlagsLocal : null, TargetFrameName.HasValue ? &TargetFrameNameLocal : null, PostData.HasValue ? &PostDataLocal : null, Headers.HasValue ? &HeadersLocal : null);
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT Navigate(IWebBrowserApp* pThis, winmdroot.Foundation.BSTR URL, [Optional] winmdroot.System.Variant.VARIANT* Flags, [Optional] winmdroot.System.Variant.VARIANT* TargetFrameName, [Optional] winmdroot.System.Variant.VARIANT* PostData, [Optional] winmdroot.System.Variant.VARIANT* Headers)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.Navigate(URL, Flags, TargetFrameName, PostData, Headers);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public unsafe void Navigate(winmdroot.Foundation.BSTR URL, [Optional] winmdroot.System.Variant.VARIANT* Flags, [Optional] winmdroot.System.Variant.VARIANT* TargetFrameName, [Optional] winmdroot.System.Variant.VARIANT* PostData, [Optional] winmdroot.System.Variant.VARIANT* Headers)
			{
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR ,winmdroot.System.Variant.VARIANT* ,winmdroot.System.Variant.VARIANT* ,winmdroot.System.Variant.VARIANT* ,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT>)lpVtbl[11])((IWebBrowserApp*)Unsafe.AsPointer(ref this), URL, Flags, TargetFrameName, PostData, Headers).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT Refresh(IWebBrowserApp* pThis)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.Refresh();
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public void Refresh()
			{
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.HRESULT>)lpVtbl[12])((IWebBrowserApp*)Unsafe.AsPointer(ref this)).ThrowOnFailure();
			}

			/// <inheritdoc cref="Refresh2(winmdroot.System.Variant.VARIANT*)"/>
			internal unsafe void Refresh2(winmdroot.System.Variant.VARIANT? Level)
			{
				winmdroot.System.Variant.VARIANT LevelLocal = Level ?? default(winmdroot.System.Variant.VARIANT);
				this.Refresh2(Level.HasValue ? &LevelLocal : null);
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT Refresh2(IWebBrowserApp* pThis, [Optional] winmdroot.System.Variant.VARIANT* Level)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.Refresh2(Level);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public unsafe void Refresh2([Optional] winmdroot.System.Variant.VARIANT* Level)
			{
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT>)lpVtbl[13])((IWebBrowserApp*)Unsafe.AsPointer(ref this), Level).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT Stop(IWebBrowserApp* pThis)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.Stop();
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public void Stop()
			{
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.HRESULT>)lpVtbl[14])((IWebBrowserApp*)Unsafe.AsPointer(ref this)).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Application(IWebBrowserApp* pThis, winmdroot.System.Com.IDispatch** ppDisp)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*ppDisp = __object.Application;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal unsafe winmdroot.System.Com.IDispatch* Application
			{
				get
				{
					winmdroot.System.Com.IDispatch* __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.System.Com.IDispatch** ,winmdroot.Foundation.HRESULT>)lpVtbl[15])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Parent(IWebBrowserApp* pThis, winmdroot.System.Com.IDispatch** ppDisp)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*ppDisp = __object.Parent;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal unsafe winmdroot.System.Com.IDispatch* Parent
			{
				get
				{
					winmdroot.System.Com.IDispatch* __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.System.Com.IDispatch** ,winmdroot.Foundation.HRESULT>)lpVtbl[16])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Container(IWebBrowserApp* pThis, winmdroot.System.Com.IDispatch** ppDisp)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*ppDisp = __object.Container;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal unsafe winmdroot.System.Com.IDispatch* Container
			{
				get
				{
					winmdroot.System.Com.IDispatch* __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.System.Com.IDispatch** ,winmdroot.Foundation.HRESULT>)lpVtbl[17])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Document(IWebBrowserApp* pThis, winmdroot.System.Com.IDispatch** ppDisp)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.get_Document(ppDisp);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public unsafe winmdroot.Foundation.HRESULT get_Document(winmdroot.System.Com.IDispatch** ppDisp)
			{
				return ((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.System.Com.IDispatch** ,winmdroot.Foundation.HRESULT>)lpVtbl[18])((IWebBrowserApp*)Unsafe.AsPointer(ref this), ppDisp);
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_TopLevelContainer(IWebBrowserApp* pThis, winmdroot.Foundation.VARIANT_BOOL* pBool)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*pBool = __object.TopLevelContainer;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.Foundation.VARIANT_BOOL TopLevelContainer
			{
				get
				{
					winmdroot.Foundation.VARIANT_BOOL __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT>)lpVtbl[19])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Type(IWebBrowserApp* pThis, winmdroot.Foundation.BSTR* Type)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*Type = __object.Type;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.Foundation.BSTR Type
			{
				get
				{
					winmdroot.Foundation.BSTR __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT>)lpVtbl[20])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Left(IWebBrowserApp* pThis, int* pl)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*pl = __object.Left;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal int Left
			{
				get
				{
					int __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,int* ,winmdroot.Foundation.HRESULT>)lpVtbl[21])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
				set
				{
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,int ,winmdroot.Foundation.HRESULT>)lpVtbl[22])((IWebBrowserApp*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT put_Left(IWebBrowserApp* pThis, int Left)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.Left = Left;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Top(IWebBrowserApp* pThis, int* pl)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*pl = __object.Top;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal int Top
			{
				get
				{
					int __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,int* ,winmdroot.Foundation.HRESULT>)lpVtbl[23])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
				set
				{
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,int ,winmdroot.Foundation.HRESULT>)lpVtbl[24])((IWebBrowserApp*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT put_Top(IWebBrowserApp* pThis, int Top)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.Top = Top;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Width(IWebBrowserApp* pThis, int* pl)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*pl = __object.Width;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal int Width
			{
				get
				{
					int __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,int* ,winmdroot.Foundation.HRESULT>)lpVtbl[25])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
				set
				{
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,int ,winmdroot.Foundation.HRESULT>)lpVtbl[26])((IWebBrowserApp*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT put_Width(IWebBrowserApp* pThis, int Width)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.Width = Width;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Height(IWebBrowserApp* pThis, int* pl)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*pl = __object.Height;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal int Height
			{
				get
				{
					int __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,int* ,winmdroot.Foundation.HRESULT>)lpVtbl[27])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
				set
				{
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,int ,winmdroot.Foundation.HRESULT>)lpVtbl[28])((IWebBrowserApp*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT put_Height(IWebBrowserApp* pThis, int Height)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.Height = Height;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_LocationName(IWebBrowserApp* pThis, winmdroot.Foundation.BSTR* LocationName)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.get_LocationName(LocationName);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public unsafe winmdroot.Foundation.HRESULT get_LocationName(winmdroot.Foundation.BSTR* LocationName)
			{
				return ((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT>)lpVtbl[29])((IWebBrowserApp*)Unsafe.AsPointer(ref this), LocationName);
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_LocationURL(IWebBrowserApp* pThis, winmdroot.Foundation.BSTR* LocationURL)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.get_LocationURL(LocationURL);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public unsafe winmdroot.Foundation.HRESULT get_LocationURL(winmdroot.Foundation.BSTR* LocationURL)
			{
				return ((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT>)lpVtbl[30])((IWebBrowserApp*)Unsafe.AsPointer(ref this), LocationURL);
			}

			/// <inheritdoc cref="get_Busy(winmdroot.Foundation.VARIANT_BOOL*)"/>
			internal unsafe winmdroot.Foundation.HRESULT get_Busy(out winmdroot.Foundation.VARIANT_BOOL pBool)
			{
				fixed (winmdroot.Foundation.VARIANT_BOOL* pBoolLocal = &pBool)
				{
					winmdroot.Foundation.HRESULT __result = this.get_Busy(pBoolLocal);
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Busy(IWebBrowserApp* pThis, winmdroot.Foundation.VARIANT_BOOL* pBool)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.get_Busy(pBool);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public unsafe winmdroot.Foundation.HRESULT get_Busy(winmdroot.Foundation.VARIANT_BOOL* pBool)
			{
				return ((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT>)lpVtbl[31])((IWebBrowserApp*)Unsafe.AsPointer(ref this), pBool);
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT Quit(IWebBrowserApp* pThis)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.Quit();
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public void Quit()
			{
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.HRESULT>)lpVtbl[32])((IWebBrowserApp*)Unsafe.AsPointer(ref this)).ThrowOnFailure();
			}

			/// <inheritdoc cref="ClientToWindow(int*, int*)"/>
			internal unsafe void ClientToWindow(ref int pcx, ref int pcy)
			{
				fixed (int* pcyLocal = &pcy)
				{
					fixed (int* pcxLocal = &pcx)
					{
						this.ClientToWindow(pcxLocal, pcyLocal);
					}
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT ClientToWindow(IWebBrowserApp* pThis, int* pcx, int* pcy)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.ClientToWindow(pcx, pcy);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public unsafe void ClientToWindow(int* pcx, int* pcy)
			{
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,int* ,int* ,winmdroot.Foundation.HRESULT>)lpVtbl[33])((IWebBrowserApp*)Unsafe.AsPointer(ref this), pcx, pcy).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT PutProperty(IWebBrowserApp* pThis, winmdroot.Foundation.BSTR Property, winmdroot.System.Variant.VARIANT vtValue)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.PutProperty(Property, vtValue);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public void PutProperty(winmdroot.Foundation.BSTR Property, winmdroot.System.Variant.VARIANT vtValue)
			{
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR ,winmdroot.System.Variant.VARIANT ,winmdroot.Foundation.HRESULT>)lpVtbl[34])((IWebBrowserApp*)Unsafe.AsPointer(ref this), Property, vtValue).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT GetProperty(IWebBrowserApp* pThis, winmdroot.Foundation.BSTR Property, winmdroot.System.Variant.VARIANT* pvtValue)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.GetProperty(Property, pvtValue);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public winmdroot.System.Variant.VARIANT GetProperty(winmdroot.Foundation.BSTR Property)
			{
				winmdroot.System.Variant.VARIANT __retVal = default(winmdroot.System.Variant.VARIANT);
				((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR ,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT>)lpVtbl[35])((IWebBrowserApp*)Unsafe.AsPointer(ref this), Property, &__retVal).ThrowOnFailure();
				return __retVal;
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Name(IWebBrowserApp* pThis, winmdroot.Foundation.BSTR* Name)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*Name = __object.Name;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.Foundation.BSTR Name
			{
				get
				{
					winmdroot.Foundation.BSTR __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT>)lpVtbl[36])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_HWND(IWebBrowserApp* pThis, winmdroot.Foundation.SHANDLE_PTR* pHWND)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*pHWND = __object.HWND;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			/// <summary>Gets the handle of the Windows Internet Explorer main window.</summary>
			/// <remarks>Internet Explorer 7. With the introduction of tabbed browsing, the return value of this method can be ambiguous. To alleviate confusion and maintain the highest level of compatibility with existing applications, this method returns a handle to the top-level window frame, not the currently selected tab.</remarks>
			internal winmdroot.Foundation.SHANDLE_PTR HWND
			{
				get
				{
					winmdroot.Foundation.SHANDLE_PTR __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.SHANDLE_PTR* ,winmdroot.Foundation.HRESULT>)lpVtbl[37])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_FullName(IWebBrowserApp* pThis, winmdroot.Foundation.BSTR* FullName)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*FullName = __object.FullName;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.Foundation.BSTR FullName
			{
				get
				{
					winmdroot.Foundation.BSTR __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT>)lpVtbl[38])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Path(IWebBrowserApp* pThis, winmdroot.Foundation.BSTR* Path)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*Path = __object.Path;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.Foundation.BSTR Path
			{
				get
				{
					winmdroot.Foundation.BSTR __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT>)lpVtbl[39])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Visible(IWebBrowserApp* pThis, winmdroot.Foundation.VARIANT_BOOL* pBool)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*pBool = __object.Visible;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.Foundation.VARIANT_BOOL Visible
			{
				get
				{
					winmdroot.Foundation.VARIANT_BOOL __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT>)lpVtbl[40])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
				set
				{
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL ,winmdroot.Foundation.HRESULT>)lpVtbl[41])((IWebBrowserApp*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT put_Visible(IWebBrowserApp* pThis, winmdroot.Foundation.VARIANT_BOOL Value)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.Visible = Value;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_StatusBar(IWebBrowserApp* pThis, winmdroot.Foundation.VARIANT_BOOL* pBool)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*pBool = __object.StatusBar;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.Foundation.VARIANT_BOOL StatusBar
			{
				get
				{
					winmdroot.Foundation.VARIANT_BOOL __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT>)lpVtbl[42])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
				set
				{
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL ,winmdroot.Foundation.HRESULT>)lpVtbl[43])((IWebBrowserApp*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT put_StatusBar(IWebBrowserApp* pThis, winmdroot.Foundation.VARIANT_BOOL Value)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.StatusBar = Value;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_StatusText(IWebBrowserApp* pThis, winmdroot.Foundation.BSTR* StatusText)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*StatusText = __object.StatusText;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.Foundation.BSTR StatusText
			{
				get
				{
					winmdroot.Foundation.BSTR __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT>)lpVtbl[44])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
				set
				{
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR ,winmdroot.Foundation.HRESULT>)lpVtbl[45])((IWebBrowserApp*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT put_StatusText(IWebBrowserApp* pThis, winmdroot.Foundation.BSTR StatusText)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.StatusText = StatusText;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_ToolBar(IWebBrowserApp* pThis, int* Value)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*Value = __object.ToolBar;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			/// <summary>Sets or gets whether toolbars for the object are visible.</summary>
			/// <remarks>
			/// <para>When the IWebBrowser2::ToolBar property is set to FALSE, it is not equivalent to the "toolbar=no" feature of window.open. Instead, it turns off all user interface elements that can be considered toolbars, leaving Windows Internet Explorer in a blank state. The WebBrowser object saves the value of this property, but otherwise ignores it.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/exdisp/nf-exdisp-iwebbrowserapp-get_toolbar#">Read more on docs.microsoft.com</see>.</para>
			/// </remarks>
			internal int ToolBar
			{
				get
				{
					int __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,int* ,winmdroot.Foundation.HRESULT>)lpVtbl[46])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
				set
				{
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,int ,winmdroot.Foundation.HRESULT>)lpVtbl[47])((IWebBrowserApp*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT put_ToolBar(IWebBrowserApp* pThis, int Value)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.ToolBar = Value;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_MenuBar(IWebBrowserApp* pThis, winmdroot.Foundation.VARIANT_BOOL* Value)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*Value = __object.MenuBar;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.Foundation.VARIANT_BOOL MenuBar
			{
				get
				{
					winmdroot.Foundation.VARIANT_BOOL __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT>)lpVtbl[48])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
				set
				{
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL ,winmdroot.Foundation.HRESULT>)lpVtbl[49])((IWebBrowserApp*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT put_MenuBar(IWebBrowserApp* pThis, winmdroot.Foundation.VARIANT_BOOL Value)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.MenuBar = Value;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_FullScreen(IWebBrowserApp* pThis, winmdroot.Foundation.VARIANT_BOOL* pbFullScreen)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*pbFullScreen = __object.FullScreen;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.Foundation.VARIANT_BOOL FullScreen
			{
				get
				{
					winmdroot.Foundation.VARIANT_BOOL __result;
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT>)lpVtbl[50])((IWebBrowserApp*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
				set
				{
					((delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL ,winmdroot.Foundation.HRESULT>)lpVtbl[51])((IWebBrowserApp*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT put_FullScreen(IWebBrowserApp* pThis, winmdroot.Foundation.VARIANT_BOOL bFullScreen)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.FullScreen = bFullScreen;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal unsafe global::Windows.Win32.Foundation.HRESULT QueryInterface<T>(out T* ppv)
where T : unmanaged

			{
				var hr = this.QueryInterface(typeof(T).GUID, out void* pv);
				if (hr.Succeeded)

				{
					ppv = (T*)pv;
				}
				else

				{
					ppv = null;
				}

				return hr;
			}

			internal struct Vtbl
			{
				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,global::System.Guid* ,void** ,winmdroot.Foundation.HRESULT> QueryInterface_1;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,uint> AddRef_2;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,uint> Release_3;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,uint* ,winmdroot.Foundation.HRESULT> GetTypeInfoCount_4;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,uint ,uint ,winmdroot.System.Com.ITypeInfo** ,winmdroot.Foundation.HRESULT> GetTypeInfo_5;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,global::System.Guid* ,winmdroot.Foundation.PWSTR* ,uint ,uint ,int* ,winmdroot.Foundation.HRESULT> GetIDsOfNames_6;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,int ,global::System.Guid* ,uint ,winmdroot.System.Com.DISPATCH_FLAGS ,winmdroot.System.Com.DISPPARAMS* ,winmdroot.System.Variant.VARIANT* ,winmdroot.System.Com.EXCEPINFO* ,uint* ,winmdroot.Foundation.HRESULT> Invoke_7;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.HRESULT> GoBack_8;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.HRESULT> GoForward_9;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.HRESULT> GoHome_10;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.HRESULT> GoSearch_11;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR ,winmdroot.System.Variant.VARIANT* ,winmdroot.System.Variant.VARIANT* ,winmdroot.System.Variant.VARIANT* ,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT> Navigate_12;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.HRESULT> Refresh_13;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT> Refresh2_14;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.HRESULT> Stop_15;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.System.Com.IDispatch** ,winmdroot.Foundation.HRESULT> get_Application_16;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.System.Com.IDispatch** ,winmdroot.Foundation.HRESULT> get_Parent_17;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.System.Com.IDispatch** ,winmdroot.Foundation.HRESULT> get_Container_18;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.System.Com.IDispatch** ,winmdroot.Foundation.HRESULT> get_Document_19;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT> get_TopLevelContainer_20;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT> get_Type_21;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,int* ,winmdroot.Foundation.HRESULT> get_Left_22;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,int ,winmdroot.Foundation.HRESULT> put_Left_23;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,int* ,winmdroot.Foundation.HRESULT> get_Top_24;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,int ,winmdroot.Foundation.HRESULT> put_Top_25;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,int* ,winmdroot.Foundation.HRESULT> get_Width_26;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,int ,winmdroot.Foundation.HRESULT> put_Width_27;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,int* ,winmdroot.Foundation.HRESULT> get_Height_28;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,int ,winmdroot.Foundation.HRESULT> put_Height_29;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT> get_LocationName_30;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT> get_LocationURL_31;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT> get_Busy_32;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.HRESULT> Quit_33;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,int* ,int* ,winmdroot.Foundation.HRESULT> ClientToWindow_34;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR ,winmdroot.System.Variant.VARIANT ,winmdroot.Foundation.HRESULT> PutProperty_35;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR ,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT> GetProperty_36;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT> get_Name_37;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.SHANDLE_PTR* ,winmdroot.Foundation.HRESULT> get_HWND_38;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT> get_FullName_39;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT> get_Path_40;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT> get_Visible_41;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL ,winmdroot.Foundation.HRESULT> put_Visible_42;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT> get_StatusBar_43;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL ,winmdroot.Foundation.HRESULT> put_StatusBar_44;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT> get_StatusText_45;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.BSTR ,winmdroot.Foundation.HRESULT> put_StatusText_46;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,int* ,winmdroot.Foundation.HRESULT> get_ToolBar_47;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,int ,winmdroot.Foundation.HRESULT> put_ToolBar_48;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT> get_MenuBar_49;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL ,winmdroot.Foundation.HRESULT> put_MenuBar_50;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT> get_FullScreen_51;

				internal delegate *unmanaged [Stdcall]<IWebBrowserApp*,winmdroot.Foundation.VARIANT_BOOL ,winmdroot.Foundation.HRESULT> put_FullScreen_52;
			} 
			public static void PopulateVTable(Vtbl* vtable)
			{
				vtable->GoBack_8 = &GoBack;
				vtable->GoForward_9 = &GoForward;
				vtable->GoHome_10 = &GoHome;
				vtable->GoSearch_11 = &GoSearch;
				vtable->Navigate_12 = &Navigate;
				vtable->Refresh_13 = &Refresh;
				vtable->Refresh2_14 = &Refresh2;
				vtable->Stop_15 = &Stop;
				vtable->get_Application_16 = &get_Application;
				vtable->get_Parent_17 = &get_Parent;
				vtable->get_Container_18 = &get_Container;
				vtable->get_Document_19 = &get_Document;
				vtable->get_TopLevelContainer_20 = &get_TopLevelContainer;
				vtable->get_Type_21 = &get_Type;
				vtable->get_Left_22 = &get_Left;
				vtable->put_Left_23 = &put_Left;
				vtable->get_Top_24 = &get_Top;
				vtable->put_Top_25 = &put_Top;
				vtable->get_Width_26 = &get_Width;
				vtable->put_Width_27 = &put_Width;
				vtable->get_Height_28 = &get_Height;
				vtable->put_Height_29 = &put_Height;
				vtable->get_LocationName_30 = &get_LocationName;
				vtable->get_LocationURL_31 = &get_LocationURL;
				vtable->get_Busy_32 = &get_Busy;
				vtable->Quit_33 = &Quit;
				vtable->ClientToWindow_34 = &ClientToWindow;
				vtable->PutProperty_35 = &PutProperty;
				vtable->GetProperty_36 = &GetProperty;
				vtable->get_Name_37 = &get_Name;
				vtable->get_HWND_38 = &get_HWND;
				vtable->get_FullName_39 = &get_FullName;
				vtable->get_Path_40 = &get_Path;
				vtable->get_Visible_41 = &get_Visible;
				vtable->put_Visible_42 = &put_Visible;
				vtable->get_StatusBar_43 = &get_StatusBar;
				vtable->put_StatusBar_44 = &put_StatusBar;
				vtable->get_StatusText_45 = &get_StatusText;
				vtable->put_StatusText_46 = &put_StatusText;
				vtable->get_ToolBar_47 = &get_ToolBar;
				vtable->put_ToolBar_48 = &put_ToolBar;
				vtable->get_MenuBar_49 = &get_MenuBar;
				vtable->put_MenuBar_50 = &put_MenuBar;
				vtable->get_FullScreen_51 = &get_FullScreen;
				vtable->put_FullScreen_52 = &put_FullScreen;
			}

			private void** lpVtbl;

			/// <summary>The IID guid for this interface.</summary>
			/// <value>{0002df05-0000-0000-c000-000000000046}</value>
			internal static readonly Guid IID_Guid = new Guid(0x0002DF05, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);

			static ref readonly Guid IComIID.Guid			{
								[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
				{
					ReadOnlySpan<byte> data = new byte[]					{
0x05,0xDF,0x02,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46					};
					return ref Unsafe.As<byte,Guid>(ref MemoryMarshal.GetReference(data));
				}
			}
			[Guid("0002DF05-0000-0000-C000-000000000046"),InterfaceType(ComInterfaceType.InterfaceIsDual),ComImport()]
			internal interface Interface
				:winmdroot.UI.Shell.IWebBrowser.Interface			{
				[PreserveSig()]
				new winmdroot.Foundation.HRESULT GoBack();

				[PreserveSig()]
				new winmdroot.Foundation.HRESULT GoForward();

				[PreserveSig()]
				new winmdroot.Foundation.HRESULT GoHome();

				[PreserveSig()]
				new winmdroot.Foundation.HRESULT GoSearch();

				[PreserveSig()]
				unsafe new winmdroot.Foundation.HRESULT Navigate(winmdroot.Foundation.BSTR URL, [Optional] winmdroot.System.Variant.VARIANT* Flags, [Optional] winmdroot.System.Variant.VARIANT* TargetFrameName, [Optional] winmdroot.System.Variant.VARIANT* PostData, [Optional] winmdroot.System.Variant.VARIANT* Headers);

				[PreserveSig()]
				new winmdroot.Foundation.HRESULT Refresh();

				[PreserveSig()]
				unsafe new winmdroot.Foundation.HRESULT Refresh2([Optional] winmdroot.System.Variant.VARIANT* Level);

				[PreserveSig()]
				new winmdroot.Foundation.HRESULT Stop();

				unsafe new winmdroot.System.Com.IDispatch* Application
				{
					get;
				}

				unsafe new winmdroot.System.Com.IDispatch* Parent
				{
					get;
				}

				unsafe new winmdroot.System.Com.IDispatch* Container
				{
					get;
				}

				[PreserveSig()]
				unsafe new winmdroot.Foundation.HRESULT get_Document(winmdroot.System.Com.IDispatch** ppDisp);

				new winmdroot.Foundation.VARIANT_BOOL TopLevelContainer
				{
					get;
				}

				new winmdroot.Foundation.BSTR Type
				{
					get;
				}

				new int Left
				{
					get;
					set;
				}

				new int Top
				{
					get;
					set;
				}

				new int Width
				{
					get;
					set;
				}

				new int Height
				{
					get;
					set;
				}

				[PreserveSig()]
				unsafe new winmdroot.Foundation.HRESULT get_LocationName(winmdroot.Foundation.BSTR* LocationName);

				[PreserveSig()]
				unsafe new winmdroot.Foundation.HRESULT get_LocationURL(winmdroot.Foundation.BSTR* LocationURL);

				[PreserveSig()]
				unsafe new winmdroot.Foundation.HRESULT get_Busy(winmdroot.Foundation.VARIANT_BOOL* pBool);

								[PreserveSig()]
winmdroot.Foundation.HRESULT Quit();

				[PreserveSig()]
				unsafe winmdroot.Foundation.HRESULT ClientToWindow(int* pcx, int* pcy);

								[PreserveSig()]
winmdroot.Foundation.HRESULT PutProperty(winmdroot.Foundation.BSTR Property, winmdroot.System.Variant.VARIANT vtValue);

				[PreserveSig()]
				unsafe winmdroot.Foundation.HRESULT GetProperty(winmdroot.Foundation.BSTR Property, winmdroot.System.Variant.VARIANT* pvtValue);

				winmdroot.Foundation.BSTR Name
				{
					get;
				}

				winmdroot.Foundation.SHANDLE_PTR HWND
				{
					get;
				}

				winmdroot.Foundation.BSTR FullName
				{
					get;
				}

				winmdroot.Foundation.BSTR Path
				{
					get;
				}

				winmdroot.Foundation.VARIANT_BOOL Visible
				{
					get;
					set;
				}

				winmdroot.Foundation.VARIANT_BOOL StatusBar
				{
					get;
					set;
				}

				winmdroot.Foundation.BSTR StatusText
				{
					get;
					set;
				}

				int ToolBar
				{
					get;
					set;
				}

				winmdroot.Foundation.VARIANT_BOOL MenuBar
				{
					get;
					set;
				}

				winmdroot.Foundation.VARIANT_BOOL FullScreen
				{
					get;
					set;
				}
			}
		}
	}
}