File: Windows.Win32.IWebBrowser.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("EAB22AC1-30C1-11CF-A7EB-0000C05BAE0B")]
		[global::System.CodeDom.Compiler.GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")]
		internal unsafe partial struct IWebBrowser
			:IVTable<IWebBrowser,IWebBrowser.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]<IWebBrowser*,global::System.Guid* ,void** ,winmdroot.Foundation.HRESULT>)lpVtbl[0])((IWebBrowser*)Unsafe.AsPointer(ref this), riid, ppvObject);
			}

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

			public uint Release()
			{
				return ((delegate *unmanaged [Stdcall]<IWebBrowser*,uint>)lpVtbl[2])((IWebBrowser*)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]<IWebBrowser*,uint* ,winmdroot.Foundation.HRESULT>)lpVtbl[3])((IWebBrowser*)Unsafe.AsPointer(ref this), pctinfo).ThrowOnFailure();
			}

			public unsafe void GetTypeInfo(uint iTInfo, uint lcid, winmdroot.System.Com.ITypeInfo** ppTInfo)
			{
				((delegate *unmanaged [Stdcall]<IWebBrowser*,uint ,uint ,winmdroot.System.Com.ITypeInfo** ,winmdroot.Foundation.HRESULT>)lpVtbl[4])((IWebBrowser*)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]<IWebBrowser*,global::System.Guid* ,winmdroot.Foundation.PWSTR* ,uint ,uint ,int* ,winmdroot.Foundation.HRESULT>)lpVtbl[5])((IWebBrowser*)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]<IWebBrowser*,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])((IWebBrowser*)Unsafe.AsPointer(ref this), dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT GoBack(IWebBrowser* 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]<IWebBrowser*,winmdroot.Foundation.HRESULT>)lpVtbl[7])((IWebBrowser*)Unsafe.AsPointer(ref this)).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT GoForward(IWebBrowser* 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]<IWebBrowser*,winmdroot.Foundation.HRESULT>)lpVtbl[8])((IWebBrowser*)Unsafe.AsPointer(ref this)).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT GoHome(IWebBrowser* 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]<IWebBrowser*,winmdroot.Foundation.HRESULT>)lpVtbl[9])((IWebBrowser*)Unsafe.AsPointer(ref this)).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT GoSearch(IWebBrowser* 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]<IWebBrowser*,winmdroot.Foundation.HRESULT>)lpVtbl[10])((IWebBrowser*)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(IWebBrowser* 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]<IWebBrowser*,winmdroot.Foundation.BSTR ,winmdroot.System.Variant.VARIANT* ,winmdroot.System.Variant.VARIANT* ,winmdroot.System.Variant.VARIANT* ,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT>)lpVtbl[11])((IWebBrowser*)Unsafe.AsPointer(ref this), URL, Flags, TargetFrameName, PostData, Headers).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT Refresh(IWebBrowser* 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]<IWebBrowser*,winmdroot.Foundation.HRESULT>)lpVtbl[12])((IWebBrowser*)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(IWebBrowser* 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]<IWebBrowser*,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT>)lpVtbl[13])((IWebBrowser*)Unsafe.AsPointer(ref this), Level).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT Stop(IWebBrowser* 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]<IWebBrowser*,winmdroot.Foundation.HRESULT>)lpVtbl[14])((IWebBrowser*)Unsafe.AsPointer(ref this)).ThrowOnFailure();
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Application(IWebBrowser* 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]<IWebBrowser*,winmdroot.System.Com.IDispatch** ,winmdroot.Foundation.HRESULT>)lpVtbl[15])((IWebBrowser*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Parent(IWebBrowser* 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]<IWebBrowser*,winmdroot.System.Com.IDispatch** ,winmdroot.Foundation.HRESULT>)lpVtbl[16])((IWebBrowser*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Container(IWebBrowser* 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]<IWebBrowser*,winmdroot.System.Com.IDispatch** ,winmdroot.Foundation.HRESULT>)lpVtbl[17])((IWebBrowser*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Document(IWebBrowser* 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]<IWebBrowser*,winmdroot.System.Com.IDispatch** ,winmdroot.Foundation.HRESULT>)lpVtbl[18])((IWebBrowser*)Unsafe.AsPointer(ref this), ppDisp);
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_TopLevelContainer(IWebBrowser* 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]<IWebBrowser*,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT>)lpVtbl[19])((IWebBrowser*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Type(IWebBrowser* 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]<IWebBrowser*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT>)lpVtbl[20])((IWebBrowser*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_Left(IWebBrowser* 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]<IWebBrowser*,int* ,winmdroot.Foundation.HRESULT>)lpVtbl[21])((IWebBrowser*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
				set
				{
					((delegate *unmanaged [Stdcall]<IWebBrowser*,int ,winmdroot.Foundation.HRESULT>)lpVtbl[22])((IWebBrowser*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT put_Left(IWebBrowser* 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(IWebBrowser* 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]<IWebBrowser*,int* ,winmdroot.Foundation.HRESULT>)lpVtbl[23])((IWebBrowser*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
				set
				{
					((delegate *unmanaged [Stdcall]<IWebBrowser*,int ,winmdroot.Foundation.HRESULT>)lpVtbl[24])((IWebBrowser*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT put_Top(IWebBrowser* 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(IWebBrowser* 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]<IWebBrowser*,int* ,winmdroot.Foundation.HRESULT>)lpVtbl[25])((IWebBrowser*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
				set
				{
					((delegate *unmanaged [Stdcall]<IWebBrowser*,int ,winmdroot.Foundation.HRESULT>)lpVtbl[26])((IWebBrowser*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT put_Width(IWebBrowser* 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(IWebBrowser* 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]<IWebBrowser*,int* ,winmdroot.Foundation.HRESULT>)lpVtbl[27])((IWebBrowser*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
				set
				{
					((delegate *unmanaged [Stdcall]<IWebBrowser*,int ,winmdroot.Foundation.HRESULT>)lpVtbl[28])((IWebBrowser*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT put_Height(IWebBrowser* 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(IWebBrowser* 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]<IWebBrowser*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT>)lpVtbl[29])((IWebBrowser*)Unsafe.AsPointer(ref this), LocationName);
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_LocationURL(IWebBrowser* 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]<IWebBrowser*,winmdroot.Foundation.BSTR* ,winmdroot.Foundation.HRESULT>)lpVtbl[30])((IWebBrowser*)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(IWebBrowser* 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]<IWebBrowser*,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT>)lpVtbl[31])((IWebBrowser*)Unsafe.AsPointer(ref this), pBool);
			}

			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]<IWebBrowser*,global::System.Guid* ,void** ,winmdroot.Foundation.HRESULT> QueryInterface_1;

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

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

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

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

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

				internal delegate *unmanaged [Stdcall]<IWebBrowser*,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]<IWebBrowser*,winmdroot.Foundation.HRESULT> GoBack_8;

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

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

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

				internal delegate *unmanaged [Stdcall]<IWebBrowser*,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]<IWebBrowser*,winmdroot.Foundation.HRESULT> Refresh_13;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

				internal delegate *unmanaged [Stdcall]<IWebBrowser*,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT> get_Busy_32;
			} 
			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;
			}

			private void** lpVtbl;

			/// <summary>The IID guid for this interface.</summary>
			/// <value>{eab22ac1-30c1-11cf-a7eb-0000c05bae0b}</value>
			internal static readonly Guid IID_Guid = new Guid(0xEAB22AC1, 0x30C1, 0x11CF, 0xA7, 0xEB, 0x00, 0x00, 0xC0, 0x5B, 0xAE, 0x0B);

			static ref readonly Guid IComIID.Guid			{
								[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
				{
					ReadOnlySpan<byte> data = new byte[]					{
0xC1,0x2A,0xB2,0xEA,0xC1,0x30,0xCF,0x11,0xA7,0xEB,0x00,0x00,0xC0,0x5B,0xAE,0x0B					};
					return ref Unsafe.As<byte,Guid>(ref MemoryMarshal.GetReference(data));
				}
			}
			[Guid("EAB22AC1-30C1-11CF-A7EB-0000C05BAE0B"),InterfaceType(ComInterfaceType.InterfaceIsDual),ComImport()]
			internal interface Interface
			{
								[PreserveSig()]
winmdroot.Foundation.HRESULT GoBack();

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

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

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

				[PreserveSig()]
				unsafe 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()]
winmdroot.Foundation.HRESULT Refresh();

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

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

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

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

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

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

				winmdroot.Foundation.VARIANT_BOOL TopLevelContainer
				{
					get;
				}

				winmdroot.Foundation.BSTR Type
				{
					get;
				}

				int Left
				{
					get;
					set;
				}

				int Top
				{
					get;
					set;
				}

				int Width
				{
					get;
					set;
				}

				int Height
				{
					get;
					set;
				}

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

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

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