File: Windows.Win32.ACTCTXW.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 System.ApplicationInstallationAndServicing
	{
		/// <summary>The ACTCTX structure is used by the CreateActCtx function to create the activation context. (Unicode)</summary>
		/// <remarks>
		/// <para>If the file identified by the value of the <b>lpSource</b> member is a PE image file, <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-createactctxa">CreateActCtx</a> searches for the manifest in the .manifest file located in the same directory and in the first RT_MANIFEST resource located in the PE image file. To find a specific named resource from the image, set the <b>lpResourceName</b> to the name of the resource, and add the ACTCTX_FLAG_RESOURCE_NAME_VALID to the <b>dwFlags</b> member. Refer to <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-findresourcea">FindResource</a> for more information on specifying resource names. In most cases, the caller should not set the ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID and ACTCTX_FLAG_LANGID_VALID flags of the <b>dwFlags</b> member. Also, in most cases, the value of the <b>lpResourceName</b> member should be set to null. The values of <b>lpApplicationName</b> and <b>lpAssemblyDirectory</b> are not set to null when the executable creating the activation context is a host for the application. In this case, the host can set a different name for the application to find configuration files, report errors, and so forth.</para>
		/// <para>> [!NOTE] > The winbase.h header defines ACTCTX as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see [Conventions for Function Prototypes](/windows/win32/intl/conventions-for-function-prototypes).</para>
		/// <para><see href="https://learn.microsoft.com/windows/win32/api/winbase/ns-winbase-actctxw#">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 ACTCTXW
		{
			/// <summary>The size, in bytes, of this structure. This is used to determine the version of this structure.</summary>
			internal uint cbSize;

			/// <summary>
			/// <para>Flags that indicate how the values included in this structure are to be used. Set any undefined bits in <b>dwFlags</b> to 0. If any undefined bits are not set to 0, the call to <a href="https://docs.microsoft.com/windows/desktop/api/winbase/nf-winbase-createactctxa">CreateActCtx</a> that creates the activation context fails and returns an invalid parameter error code.</para>
			/// <para></para>
			/// <para>This doc was truncated.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/winbase/ns-winbase-actctxw#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal uint dwFlags;

			/// <summary>Null-terminated string specifying the path of the manifest file or PE image to be used to create the activation context. If this path refers to an EXE or DLL file, the  <b>lpResourceName</b> member is required.</summary>
			internal winmdroot.Foundation.PCWSTR lpSource;

			/// <summary>Identifies the type of processor used. Specifies the system's processor architecture.</summary>
			internal ushort wProcessorArchitecture;

			/// <summary>
			/// <para>Specifies the language manifest that should be used. The default is the current user's current UI language. If the requested language cannot be found, an approximation is searched for using the following order:</para>
			/// <para></para>
			/// <para>This doc was truncated.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/winbase/ns-winbase-actctxw#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal ushort wLangId;

			/// <summary>The base directory in which to perform private assembly probing if assemblies in the activation context are not present in the system-wide store.</summary>
			internal winmdroot.Foundation.PCWSTR lpAssemblyDirectory;

			/// <summary>Pointer to a null-terminated string that contains the resource name to be loaded from the PE specified in <b>hModule</b> or <b>lpSource</b>. If the resource name is an integer, set this member using MAKEINTRESOURCE. This member is required if   <b>lpSource</b> refers to an EXE or DLL.</summary>
			internal winmdroot.Foundation.PCWSTR lpResourceName;

			/// <summary>The name of the current application. If the value of this member is set to null, the name of the executable that launched the current process is used.</summary>
			internal winmdroot.Foundation.PCWSTR lpApplicationName;

			/// <summary>Use this member rather than <b>lpSource</b> if you have already loaded a DLL and wish to use it to create activation contexts rather than using a path in <b>lpSource</b>. See <b>lpResourceName</b> for the rules of looking up resources in this module.</summary>
			internal winmdroot.Foundation.HMODULE hModule;
		}
	}
}