File: Windows.Win32.FUNCDESC.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
{
	namespace System.Com
	{
		/// <summary>Describes a function. (FUNCDESC)</summary>
		/// <remarks>
		/// <para>The <b>cParams</b> field specifies the total number of required and optional parameters.</para>
		/// <para>The <b>cParamsOpt</b> field specifies the form of optional parameters accepted by the function, as follows: </para>
		/// <para>This doc was truncated.</para>
		/// <para><see href="https://learn.microsoft.com/windows/win32/api/oaidl/ns-oaidl-funcdesc#">Read more on docs.microsoft.com</see>.</para>
		/// </remarks>
		[global::System.CodeDom.Compiler.GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")]
		internal partial struct FUNCDESC
		{
			/// <summary>The function member ID.</summary>
			internal int memid;

			/// <summary>The status code.</summary>
			internal unsafe int* lprgscode;

			/// <summary>Description of the element.</summary>
			internal unsafe winmdroot.System.Com.ELEMDESC* lprgelemdescParam;

			/// <summary>Indicates the type of function (virtual, static, or dispatch-only).</summary>
			internal winmdroot.System.Com.FUNCKIND funckind;

			/// <summary>The invocation type. Indicates whether this is a property function, and if so, which type.</summary>
			internal winmdroot.System.Com.INVOKEKIND invkind;

			/// <summary>The calling convention.</summary>
			internal winmdroot.System.Com.CALLCONV callconv;

			/// <summary>The total number of parameters.</summary>
			internal short cParams;

			/// <summary>The number of optional parameters.</summary>
			internal short cParamsOpt;

			/// <summary>For FUNC_VIRTUAL, specifies the offset in the VTBL.</summary>
			internal short oVft;

			/// <summary>The number of possible return values.</summary>
			internal short cScodes;

			/// <summary>The function return type.</summary>
			internal winmdroot.System.Com.ELEMDESC elemdescFunc;

			/// <summary>The function flags. See <a href="https://docs.microsoft.com/windows/desktop/api/oaidl/ne-oaidl-funcflags">FUNCFLAGS</a>.</summary>
			internal winmdroot.System.Com.FUNCFLAGS wFuncFlags;
		}
	}
}