File: Windows.Win32.IHTMLDocument3.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 Web.MsHtml
	{
		[Guid("3050F485-98B5-11CF-BB82-00AA00BDCE0B")]
		[global::System.CodeDom.Compiler.GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")]
		internal unsafe partial struct IHTMLDocument3
			:IVTable<IHTMLDocument3,IHTMLDocument3.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]<IHTMLDocument3*,global::System.Guid* ,void** ,winmdroot.Foundation.HRESULT>)lpVtbl[0])((IHTMLDocument3*)Unsafe.AsPointer(ref this), riid, ppvObject);
			}

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

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

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

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

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

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

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

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT createTextNode(IHTMLDocument3* pThis, winmdroot.Foundation.BSTR text, winmdroot.Web.MsHtml.IHTMLDOMNode** newTextNode)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.createTextNode(text, newTextNode);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public unsafe winmdroot.Web.MsHtml.IHTMLDOMNode* createTextNode(winmdroot.Foundation.BSTR text)
			{
				winmdroot.Web.MsHtml.IHTMLDOMNode* __retVal = default(winmdroot.Web.MsHtml.IHTMLDOMNode*);
				((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Foundation.BSTR ,winmdroot.Web.MsHtml.IHTMLDOMNode** ,winmdroot.Foundation.HRESULT>)lpVtbl[9])((IHTMLDocument3*)Unsafe.AsPointer(ref this), text, &__retVal).ThrowOnFailure();
				return __retVal;
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_documentElement(IHTMLDocument3* pThis, winmdroot.Web.MsHtml.IHTMLElement** p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.documentElement;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal unsafe winmdroot.Web.MsHtml.IHTMLElement* documentElement
			{
				get
				{
					winmdroot.Web.MsHtml.IHTMLElement* __result;
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Web.MsHtml.IHTMLElement** ,winmdroot.Foundation.HRESULT>)lpVtbl[10])((IHTMLDocument3*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

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

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

			/// <inheritdoc cref="attachEvent(winmdroot.Foundation.BSTR, winmdroot.System.Com.IDispatch*, winmdroot.Foundation.VARIANT_BOOL*)"/>
			internal unsafe winmdroot.Foundation.HRESULT attachEvent(winmdroot.Foundation.BSTR @event, winmdroot.System.Com.IDispatch* pDisp, out winmdroot.Foundation.VARIANT_BOOL pfResult)
			{
				fixed (winmdroot.Foundation.VARIANT_BOOL* pfResultLocal = &pfResult)
				{
					winmdroot.Foundation.HRESULT __result = this.attachEvent(@event, pDisp, pfResultLocal);
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT attachEvent(IHTMLDocument3* pThis, winmdroot.Foundation.BSTR @event, winmdroot.System.Com.IDispatch* pDisp, winmdroot.Foundation.VARIANT_BOOL* pfResult)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.attachEvent(@event, pDisp, pfResult);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public unsafe winmdroot.Foundation.HRESULT attachEvent(winmdroot.Foundation.BSTR @event, winmdroot.System.Com.IDispatch* pDisp, winmdroot.Foundation.VARIANT_BOOL* pfResult)
			{
				return ((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Foundation.BSTR ,winmdroot.System.Com.IDispatch* ,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT>)lpVtbl[12])((IHTMLDocument3*)Unsafe.AsPointer(ref this), @event, pDisp, pfResult);
			}

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

			public unsafe winmdroot.Foundation.HRESULT detachEvent(winmdroot.Foundation.BSTR @event, winmdroot.System.Com.IDispatch* pDisp)
			{
				return ((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Foundation.BSTR ,winmdroot.System.Com.IDispatch* ,winmdroot.Foundation.HRESULT>)lpVtbl[13])((IHTMLDocument3*)Unsafe.AsPointer(ref this), @event, pDisp);
			}

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

			internal winmdroot.System.Variant.VARIANT onrowsdelete
			{
				set
				{
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT ,winmdroot.Foundation.HRESULT>)lpVtbl[14])((IHTMLDocument3*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
				get
				{
					winmdroot.System.Variant.VARIANT __result;
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT>)lpVtbl[15])((IHTMLDocument3*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_onrowsdelete(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT* p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.onrowsdelete;
					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 put_onrowsinserted(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT v)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.onrowsinserted = v;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.System.Variant.VARIANT onrowsinserted
			{
				set
				{
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT ,winmdroot.Foundation.HRESULT>)lpVtbl[16])((IHTMLDocument3*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
				get
				{
					winmdroot.System.Variant.VARIANT __result;
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT>)lpVtbl[17])((IHTMLDocument3*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_onrowsinserted(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT* p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.onrowsinserted;
					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 put_oncellchange(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT v)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.oncellchange = v;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.System.Variant.VARIANT oncellchange
			{
				set
				{
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT ,winmdroot.Foundation.HRESULT>)lpVtbl[18])((IHTMLDocument3*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
				get
				{
					winmdroot.System.Variant.VARIANT __result;
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT>)lpVtbl[19])((IHTMLDocument3*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_oncellchange(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT* p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.oncellchange;
					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 put_ondatasetchanged(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT v)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.ondatasetchanged = v;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.System.Variant.VARIANT ondatasetchanged
			{
				set
				{
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT ,winmdroot.Foundation.HRESULT>)lpVtbl[20])((IHTMLDocument3*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
				get
				{
					winmdroot.System.Variant.VARIANT __result;
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT>)lpVtbl[21])((IHTMLDocument3*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_ondatasetchanged(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT* p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.ondatasetchanged;
					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 put_ondataavailable(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT v)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.ondataavailable = v;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.System.Variant.VARIANT ondataavailable
			{
				set
				{
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT ,winmdroot.Foundation.HRESULT>)lpVtbl[22])((IHTMLDocument3*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
				get
				{
					winmdroot.System.Variant.VARIANT __result;
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT>)lpVtbl[23])((IHTMLDocument3*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_ondataavailable(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT* p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.ondataavailable;
					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 put_ondatasetcomplete(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT v)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.ondatasetcomplete = v;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.System.Variant.VARIANT ondatasetcomplete
			{
				set
				{
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT ,winmdroot.Foundation.HRESULT>)lpVtbl[24])((IHTMLDocument3*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
				get
				{
					winmdroot.System.Variant.VARIANT __result;
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT>)lpVtbl[25])((IHTMLDocument3*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_ondatasetcomplete(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT* p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.ondatasetcomplete;
					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 put_onpropertychange(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT v)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.onpropertychange = v;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.System.Variant.VARIANT onpropertychange
			{
				set
				{
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT ,winmdroot.Foundation.HRESULT>)lpVtbl[26])((IHTMLDocument3*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
				get
				{
					winmdroot.System.Variant.VARIANT __result;
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT>)lpVtbl[27])((IHTMLDocument3*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_onpropertychange(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT* p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.onpropertychange;
					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 put_dir(IHTMLDocument3* pThis, winmdroot.Foundation.BSTR v)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.put_dir(v);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public winmdroot.Foundation.HRESULT put_dir(winmdroot.Foundation.BSTR v)
			{
				return ((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Foundation.BSTR ,winmdroot.Foundation.HRESULT>)lpVtbl[28])((IHTMLDocument3*)Unsafe.AsPointer(ref this), v);
			}

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

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

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

			internal winmdroot.System.Variant.VARIANT oncontextmenu
			{
				set
				{
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT ,winmdroot.Foundation.HRESULT>)lpVtbl[30])((IHTMLDocument3*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
				get
				{
					winmdroot.System.Variant.VARIANT __result;
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT>)lpVtbl[31])((IHTMLDocument3*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_oncontextmenu(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT* p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.oncontextmenu;
					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 put_onstop(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT v)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.onstop = v;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.System.Variant.VARIANT onstop
			{
				set
				{
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT ,winmdroot.Foundation.HRESULT>)lpVtbl[32])((IHTMLDocument3*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
				get
				{
					winmdroot.System.Variant.VARIANT __result;
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT>)lpVtbl[33])((IHTMLDocument3*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_onstop(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT* p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.onstop;
					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 createDocumentFragment(IHTMLDocument3* pThis, winmdroot.Web.MsHtml.IHTMLDocument2** pNewDoc)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.createDocumentFragment(pNewDoc);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public unsafe winmdroot.Web.MsHtml.IHTMLDocument2* createDocumentFragment()
			{
				winmdroot.Web.MsHtml.IHTMLDocument2* __retVal = default(winmdroot.Web.MsHtml.IHTMLDocument2*);
				((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Web.MsHtml.IHTMLDocument2** ,winmdroot.Foundation.HRESULT>)lpVtbl[34])((IHTMLDocument3*)Unsafe.AsPointer(ref this), &__retVal).ThrowOnFailure();
				return __retVal;
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_parentDocument(IHTMLDocument3* pThis, winmdroot.Web.MsHtml.IHTMLDocument2** p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.parentDocument;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal unsafe winmdroot.Web.MsHtml.IHTMLDocument2* parentDocument
			{
				get
				{
					winmdroot.Web.MsHtml.IHTMLDocument2* __result;
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Web.MsHtml.IHTMLDocument2** ,winmdroot.Foundation.HRESULT>)lpVtbl[35])((IHTMLDocument3*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

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

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

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_enableDownload(IHTMLDocument3* pThis, winmdroot.Foundation.VARIANT_BOOL* p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.enableDownload;
					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 put_baseUrl(IHTMLDocument3* pThis, winmdroot.Foundation.BSTR v)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.baseUrl = v;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

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

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_baseUrl(IHTMLDocument3* pThis, winmdroot.Foundation.BSTR* p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.baseUrl;
					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_childNodes(IHTMLDocument3* pThis, winmdroot.System.Com.IDispatch** p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.childNodes;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

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

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

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

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_inheritStyleSheets(IHTMLDocument3* pThis, winmdroot.Foundation.VARIANT_BOOL* p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.inheritStyleSheets;
					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 put_onbeforeeditfocus(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT v)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					__object.onbeforeeditfocus = v;
					return winmdroot.Foundation.HRESULT.S_OK;
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			internal winmdroot.System.Variant.VARIANT onbeforeeditfocus
			{
				set
				{
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT ,winmdroot.Foundation.HRESULT>)lpVtbl[43])((IHTMLDocument3*)Unsafe.AsPointer(ref this), value).ThrowOnFailure();
				}
				get
				{
					winmdroot.System.Variant.VARIANT __result;
					((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.System.Variant.VARIANT* ,winmdroot.Foundation.HRESULT>)lpVtbl[44])((IHTMLDocument3*)Unsafe.AsPointer(ref this), &__result).ThrowOnFailure();
					return __result;
				}
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT get_onbeforeeditfocus(IHTMLDocument3* pThis, winmdroot.System.Variant.VARIANT* p)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					*p = __object.onbeforeeditfocus;
					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 getElementsByName(IHTMLDocument3* pThis, winmdroot.Foundation.BSTR v, winmdroot.Web.MsHtml.IHTMLElementCollection** pelColl)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.getElementsByName(v, pelColl);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public unsafe winmdroot.Web.MsHtml.IHTMLElementCollection* getElementsByName(winmdroot.Foundation.BSTR v)
			{
				winmdroot.Web.MsHtml.IHTMLElementCollection* __retVal = default(winmdroot.Web.MsHtml.IHTMLElementCollection*);
				((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Foundation.BSTR ,winmdroot.Web.MsHtml.IHTMLElementCollection** ,winmdroot.Foundation.HRESULT>)lpVtbl[45])((IHTMLDocument3*)Unsafe.AsPointer(ref this), v, &__retVal).ThrowOnFailure();
				return __retVal;
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT getElementById(IHTMLDocument3* pThis, winmdroot.Foundation.BSTR v, winmdroot.Web.MsHtml.IHTMLElement** pel)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.getElementById(v, pel);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public unsafe winmdroot.Foundation.HRESULT getElementById(winmdroot.Foundation.BSTR v, winmdroot.Web.MsHtml.IHTMLElement** pel)
			{
				return ((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Foundation.BSTR ,winmdroot.Web.MsHtml.IHTMLElement** ,winmdroot.Foundation.HRESULT>)lpVtbl[46])((IHTMLDocument3*)Unsafe.AsPointer(ref this), v, pel);
			}

			[UnmanagedCallersOnly(CallConvs = new []{
typeof(CallConvStdcall)}
)]
			private static winmdroot.Foundation.HRESULT getElementsByTagName(IHTMLDocument3* pThis, winmdroot.Foundation.BSTR v, winmdroot.Web.MsHtml.IHTMLElementCollection** pelColl)
			{
				try
				{
					winmdroot.Foundation.HRESULT __hr = ComHelpers.UnwrapCCW(pThis, out Interface __object);
					if (__hr.Failed)
					{
						return __hr;
					}
					return __object.getElementsByTagName(v, pelColl);
				}
				catch (Exception ex)
				{
					return (winmdroot.Foundation.HRESULT)ex.HResult;
				}
			}

			public unsafe winmdroot.Foundation.HRESULT getElementsByTagName(winmdroot.Foundation.BSTR v, winmdroot.Web.MsHtml.IHTMLElementCollection** pelColl)
			{
				return ((delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Foundation.BSTR ,winmdroot.Web.MsHtml.IHTMLElementCollection** ,winmdroot.Foundation.HRESULT>)lpVtbl[47])((IHTMLDocument3*)Unsafe.AsPointer(ref this), v, pelColl);
			}

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

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

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

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

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

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

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

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

				internal delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Foundation.BSTR ,winmdroot.Web.MsHtml.IHTMLDOMNode** ,winmdroot.Foundation.HRESULT> createTextNode_10;

				internal delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Web.MsHtml.IHTMLElement** ,winmdroot.Foundation.HRESULT> get_documentElement_11;

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

				internal delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Foundation.BSTR ,winmdroot.System.Com.IDispatch* ,winmdroot.Foundation.VARIANT_BOOL* ,winmdroot.Foundation.HRESULT> attachEvent_13;

				internal delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Foundation.BSTR ,winmdroot.System.Com.IDispatch* ,winmdroot.Foundation.HRESULT> detachEvent_14;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

				internal delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Web.MsHtml.IHTMLDocument2** ,winmdroot.Foundation.HRESULT> createDocumentFragment_35;

				internal delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Web.MsHtml.IHTMLDocument2** ,winmdroot.Foundation.HRESULT> get_parentDocument_36;

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

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

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

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

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

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

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

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

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

				internal delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Foundation.BSTR ,winmdroot.Web.MsHtml.IHTMLElementCollection** ,winmdroot.Foundation.HRESULT> getElementsByName_46;

				internal delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Foundation.BSTR ,winmdroot.Web.MsHtml.IHTMLElement** ,winmdroot.Foundation.HRESULT> getElementById_47;

				internal delegate *unmanaged [Stdcall]<IHTMLDocument3*,winmdroot.Foundation.BSTR ,winmdroot.Web.MsHtml.IHTMLElementCollection** ,winmdroot.Foundation.HRESULT> getElementsByTagName_48;
			} 
			public static void PopulateVTable(Vtbl* vtable)
			{
				vtable->releaseCapture_8 = &releaseCapture;
				vtable->recalc_9 = &recalc;
				vtable->createTextNode_10 = &createTextNode;
				vtable->get_documentElement_11 = &get_documentElement;
				vtable->get_uniqueID_12 = &get_uniqueID;
				vtable->attachEvent_13 = &attachEvent;
				vtable->detachEvent_14 = &detachEvent;
				vtable->put_onrowsdelete_15 = &put_onrowsdelete;
				vtable->get_onrowsdelete_16 = &get_onrowsdelete;
				vtable->put_onrowsinserted_17 = &put_onrowsinserted;
				vtable->get_onrowsinserted_18 = &get_onrowsinserted;
				vtable->put_oncellchange_19 = &put_oncellchange;
				vtable->get_oncellchange_20 = &get_oncellchange;
				vtable->put_ondatasetchanged_21 = &put_ondatasetchanged;
				vtable->get_ondatasetchanged_22 = &get_ondatasetchanged;
				vtable->put_ondataavailable_23 = &put_ondataavailable;
				vtable->get_ondataavailable_24 = &get_ondataavailable;
				vtable->put_ondatasetcomplete_25 = &put_ondatasetcomplete;
				vtable->get_ondatasetcomplete_26 = &get_ondatasetcomplete;
				vtable->put_onpropertychange_27 = &put_onpropertychange;
				vtable->get_onpropertychange_28 = &get_onpropertychange;
				vtable->put_dir_29 = &put_dir;
				vtable->get_dir_30 = &get_dir;
				vtable->put_oncontextmenu_31 = &put_oncontextmenu;
				vtable->get_oncontextmenu_32 = &get_oncontextmenu;
				vtable->put_onstop_33 = &put_onstop;
				vtable->get_onstop_34 = &get_onstop;
				vtable->createDocumentFragment_35 = &createDocumentFragment;
				vtable->get_parentDocument_36 = &get_parentDocument;
				vtable->put_enableDownload_37 = &put_enableDownload;
				vtable->get_enableDownload_38 = &get_enableDownload;
				vtable->put_baseUrl_39 = &put_baseUrl;
				vtable->get_baseUrl_40 = &get_baseUrl;
				vtable->get_childNodes_41 = &get_childNodes;
				vtable->put_inheritStyleSheets_42 = &put_inheritStyleSheets;
				vtable->get_inheritStyleSheets_43 = &get_inheritStyleSheets;
				vtable->put_onbeforeeditfocus_44 = &put_onbeforeeditfocus;
				vtable->get_onbeforeeditfocus_45 = &get_onbeforeeditfocus;
				vtable->getElementsByName_46 = &getElementsByName;
				vtable->getElementById_47 = &getElementById;
				vtable->getElementsByTagName_48 = &getElementsByTagName;
			}

			private void** lpVtbl;

			/// <summary>The IID guid for this interface.</summary>
			/// <value>{3050f485-98b5-11cf-bb82-00aa00bdce0b}</value>
			internal static readonly Guid IID_Guid = new Guid(0x3050F485, 0x98B5, 0x11CF, 0xBB, 0x82, 0x00, 0xAA, 0x00, 0xBD, 0xCE, 0x0B);

			static ref readonly Guid IComIID.Guid			{
								[MethodImpl(MethodImplOptions.AggressiveInlining)]
get
				{
					ReadOnlySpan<byte> data = new byte[]					{
0x85,0xF4,0x50,0x30,0xB5,0x98,0xCF,0x11,0xBB,0x82,0x00,0xAA,0x00,0xBD,0xCE,0x0B					};
					return ref Unsafe.As<byte,Guid>(ref MemoryMarshal.GetReference(data));
				}
			}
			[Guid("3050F485-98B5-11CF-BB82-00AA00BDCE0B"),InterfaceType(ComInterfaceType.InterfaceIsDual),ComImport()]
			internal interface Interface
			{
								[PreserveSig()]
winmdroot.Foundation.HRESULT releaseCapture();

								[PreserveSig()]
winmdroot.Foundation.HRESULT recalc(winmdroot.Foundation.VARIANT_BOOL fForce);

				[PreserveSig()]
				unsafe winmdroot.Foundation.HRESULT createTextNode(winmdroot.Foundation.BSTR text, winmdroot.Web.MsHtml.IHTMLDOMNode** newTextNode);

				unsafe winmdroot.Web.MsHtml.IHTMLElement* documentElement
				{
					get;
				}

				winmdroot.Foundation.BSTR uniqueID
				{
					get;
				}

				[PreserveSig()]
				unsafe winmdroot.Foundation.HRESULT attachEvent(winmdroot.Foundation.BSTR @event, winmdroot.System.Com.IDispatch* pDisp, winmdroot.Foundation.VARIANT_BOOL* pfResult);

				[PreserveSig()]
				unsafe winmdroot.Foundation.HRESULT detachEvent(winmdroot.Foundation.BSTR @event, winmdroot.System.Com.IDispatch* pDisp);

				winmdroot.System.Variant.VARIANT onrowsdelete
				{
					set;
					get;
				}

				winmdroot.System.Variant.VARIANT onrowsinserted
				{
					set;
					get;
				}

				winmdroot.System.Variant.VARIANT oncellchange
				{
					set;
					get;
				}

				winmdroot.System.Variant.VARIANT ondatasetchanged
				{
					set;
					get;
				}

				winmdroot.System.Variant.VARIANT ondataavailable
				{
					set;
					get;
				}

				winmdroot.System.Variant.VARIANT ondatasetcomplete
				{
					set;
					get;
				}

				winmdroot.System.Variant.VARIANT onpropertychange
				{
					set;
					get;
				}

								[PreserveSig()]
winmdroot.Foundation.HRESULT put_dir(winmdroot.Foundation.BSTR v);

				[PreserveSig()]
				unsafe winmdroot.Foundation.HRESULT get_dir(winmdroot.Foundation.BSTR* p);

				winmdroot.System.Variant.VARIANT oncontextmenu
				{
					set;
					get;
				}

				winmdroot.System.Variant.VARIANT onstop
				{
					set;
					get;
				}

				[PreserveSig()]
				unsafe winmdroot.Foundation.HRESULT createDocumentFragment(winmdroot.Web.MsHtml.IHTMLDocument2** pNewDoc);

				unsafe winmdroot.Web.MsHtml.IHTMLDocument2* parentDocument
				{
					get;
				}

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

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

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

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

				winmdroot.System.Variant.VARIANT onbeforeeditfocus
				{
					set;
					get;
				}

				[PreserveSig()]
				unsafe winmdroot.Foundation.HRESULT getElementsByName(winmdroot.Foundation.BSTR v, winmdroot.Web.MsHtml.IHTMLElementCollection** pelColl);

				[PreserveSig()]
				unsafe winmdroot.Foundation.HRESULT getElementById(winmdroot.Foundation.BSTR v, winmdroot.Web.MsHtml.IHTMLElement** pel);

				[PreserveSig()]
				unsafe winmdroot.Foundation.HRESULT getElementsByTagName(winmdroot.Foundation.BSTR v, winmdroot.Web.MsHtml.IHTMLElementCollection** pelColl);
			}
		}
	}
}