File: Windows.Win32.System_Com_ITypeLib_Extensions.g.cs
Project: src\src\System.Private.Windows.Core\src\System.Private.Windows.Core.csproj (System.Private.Windows.Core)
// ------------------------------------------------------------------------------
// <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
{
	[global::System.CodeDom.Compiler.GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")]
	internal static partial class System_Com_ITypeLib_Extensions
	{
		/// <inheritdoc cref="winmdroot.System.Com.ITypeLib.Interface.GetTypeInfoType(uint, winmdroot.System.Com.TYPEKIND*)"/>
		internal static unsafe winmdroot.Foundation.HRESULT GetTypeInfoType(this winmdroot.System.Com.ITypeLib.Interface @this, uint index, out winmdroot.System.Com.TYPEKIND pTKind)
		{
			fixed (winmdroot.System.Com.TYPEKIND* pTKindLocal = &pTKind)
			{
				winmdroot.Foundation.HRESULT __result = @this.GetTypeInfoType(index, pTKindLocal);
				return __result;
			}
		}

		/// <inheritdoc cref="winmdroot.System.Com.ITypeLib.Interface.GetTypeInfoOfGuid(global::System.Guid*, winmdroot.System.Com.ITypeInfo**)"/>
		internal static unsafe winmdroot.Foundation.HRESULT GetTypeInfoOfGuid(this winmdroot.System.Com.ITypeLib.Interface @this, in global::System.Guid guid, winmdroot.System.Com.ITypeInfo** ppTinfo)
		{
			fixed (global::System.Guid* guidLocal = &guid)
			{
				winmdroot.Foundation.HRESULT __result = @this.GetTypeInfoOfGuid(guidLocal, ppTinfo);
				return __result;
			}
		}

		/// <inheritdoc cref="winmdroot.System.Com.ITypeLib.Interface.GetLibAttr(winmdroot.System.Com.TLIBATTR**)"/>
		internal static unsafe winmdroot.Foundation.HRESULT GetLibAttr(this winmdroot.System.Com.ITypeLib.Interface @this, out winmdroot.System.Com.TLIBATTR* ppTLibAttr)
		{
			fixed (winmdroot.System.Com.TLIBATTR** ppTLibAttrLocal = &ppTLibAttr)
			{
				winmdroot.Foundation.HRESULT __result = @this.GetLibAttr(ppTLibAttrLocal);
				return __result;
			}
		}

		/// <inheritdoc cref="winmdroot.System.Com.ITypeLib.Interface.GetDocumentation(int, winmdroot.Foundation.BSTR*, winmdroot.Foundation.BSTR*, uint*, winmdroot.Foundation.BSTR*)"/>
		internal static unsafe winmdroot.Foundation.HRESULT GetDocumentation(this winmdroot.System.Com.ITypeLib.Interface @this, int index, winmdroot.Foundation.BSTR* pBstrName, winmdroot.Foundation.BSTR* pBstrDocString, out uint pdwHelpContext, winmdroot.Foundation.BSTR* pBstrHelpFile)
		{
			fixed (uint* pdwHelpContextLocal = &pdwHelpContext)
			{
				winmdroot.Foundation.HRESULT __result = @this.GetDocumentation(index, pBstrName, pBstrDocString, pdwHelpContextLocal, pBstrHelpFile);
				return __result;
			}
		}

		/// <inheritdoc cref="winmdroot.System.Com.ITypeLib.Interface.IsName(winmdroot.Foundation.PWSTR, uint, winmdroot.Foundation.BOOL*)"/>
		internal static unsafe winmdroot.Foundation.HRESULT IsName(this winmdroot.System.Com.ITypeLib.Interface @this, ref Span<char>szNameBuf, uint lHashVal, out winmdroot.Foundation.BOOL pfName)
		{
			if (szNameBuf != null && szNameBuf.LastIndexOf('\0') == -1)				throw new ArgumentException("Required null terminator missing.", "szNameBuf");
			fixed (winmdroot.Foundation.BOOL* pfNameLocal = &pfName)
			{
				fixed (char* pszNameBuf = szNameBuf)
				{
					winmdroot.Foundation.PWSTR wstrszNameBuf = pszNameBuf;
					winmdroot.Foundation.HRESULT __result = @this.IsName(wstrszNameBuf, lHashVal, pfNameLocal);
					szNameBuf = szNameBuf.Slice(0, wstrszNameBuf.Length);
					return __result;
				}
			}
		}

		/// <inheritdoc cref="winmdroot.System.Com.ITypeLib.Interface.FindName(winmdroot.Foundation.PWSTR, uint, winmdroot.System.Com.ITypeInfo**, int*, ushort*)"/>
		internal static unsafe winmdroot.Foundation.HRESULT FindName(this winmdroot.System.Com.ITypeLib.Interface @this, ref Span<char>szNameBuf, uint lHashVal, winmdroot.System.Com.ITypeInfo** ppTInfo, int* rgMemId, ref ushort pcFound)
		{
			if (szNameBuf != null && szNameBuf.LastIndexOf('\0') == -1)				throw new ArgumentException("Required null terminator missing.", "szNameBuf");
			fixed (ushort* pcFoundLocal = &pcFound)
			{
				fixed (char* pszNameBuf = szNameBuf)
				{
					winmdroot.Foundation.PWSTR wstrszNameBuf = pszNameBuf;
					winmdroot.Foundation.HRESULT __result = @this.FindName(wstrszNameBuf, lHashVal, ppTInfo, rgMemId, pcFoundLocal);
					szNameBuf = szNameBuf.Slice(0, wstrszNameBuf.Length);
					return __result;
				}
			}
		}

		/// <inheritdoc cref="winmdroot.System.Com.ITypeLib.Interface.ReleaseTLibAttr(winmdroot.System.Com.TLIBATTR*)"/>
		internal static unsafe void ReleaseTLibAttr(this winmdroot.System.Com.ITypeLib.Interface @this, in winmdroot.System.Com.TLIBATTR pTLibAttr)
		{
			fixed (winmdroot.System.Com.TLIBATTR* pTLibAttrLocal = &pTLibAttr)
			{
				@this.ReleaseTLibAttr(pTLibAttrLocal);
			}
		}
	}
}