File: Windows.Win32.TASKDIALOGCONFIG.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.Controls
	{
		/// <summary>The TASKDIALOGCONFIG structure contains information used to display a task dialog. The TaskDialogIndirect function uses this structure.</summary>
		/// <remarks>
		/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig">Learn more about this API from docs.microsoft.com</see>.</para>
		/// </remarks>
		[StructLayout(LayoutKind.Sequential, Pack = 1)]
		[global::System.CodeDom.Compiler.GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")]
		internal partial struct TASKDIALOGCONFIG
		{
			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">UINT</a></b> Specifies the structure size, in bytes.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal uint cbSize;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">HWND</a></b> Handle to the parent window. This member can be <b>NULL</b>.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.HWND hwndParent;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">HINSTANCE</a></b> Handle to the module that contains the icon resource identified by the <b>pszMainIcon</b> or <b>pszFooterIcon</b> members, and the string resources identified by the <b>pszWindowTitle</b>, <b>pszMainInstruction</b>, <b>pszContent</b>, <b>pszVerificationText</b>, <b>pszExpandedInformation</b>, <b>pszExpandedControlText</b>, <b>pszCollapsedControlText</b> or <b>pszFooter</b> members.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.HINSTANCE hInstance;

			/// <summary>
			/// <para>Type: <b>TASKDIALOG_FLAGS</b> Specifies the behavior of the task dialog. This parameter can be a combination of flags from the following group: </para>
			/// <para>This doc was truncated.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.UI.Controls.TASKDIALOG_FLAGS dwFlags;

			/// <summary>
			/// <para>Type: <b>TASKDIALOG_COMMON_BUTTON_FLAGS</b> Specifies the push buttons displayed in the task dialog. If no common buttons are specified and no custom buttons are specified using the <b>cButtons</b> and <b>pButtons</b> members, the task dialog will contain the <b>OK</b> button by default. This parameter may be a combination of flags from the following group: </para>
			/// <para>This doc was truncated.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.UI.Controls.TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">PCWSTR</a></b> Pointer that references the string to be used for the task dialog title.  This parameter can be either a null-terminated string or an integer resource identifier passed to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-makeintresourcea">MAKEINTRESOURCE</a> macro. If this parameter is <b>NULL</b>, the filename of the executable program is used.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.PCWSTR pszWindowTitle;

			internal _Anonymous1_e__Union Anonymous1;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">PCWSTR</a></b> Pointer that references the string to be used for the main instruction. This parameter can be either a null-terminated string or an integer resource identifier passed to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-makeintresourcea">MAKEINTRESOURCE</a> macro.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.PCWSTR pszMainInstruction;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">PCWSTR</a></b> Pointer that references the string to be used for the dialog's primary content. This parameter can be either a null-terminated string or an integer resource identifier passed to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-makeintresourcea">MAKEINTRESOURCE</a> macro. If the ENABLE_HYPERLINKS flag is specified for the <b>dwFlags</b> member, then this string may contain hyperlinks in the form: &lt;A HREF="executablestring"&gt;Hyperlink Text&lt;/A&gt;.  <b>WARNING: Enabling hyperlinks when using content from an unsafe source may cause security vulnerabilities.</b></para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.PCWSTR pszContent;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">UINT</a></b> The number of entries in the <b>pButtons</b> array that is used to create buttons or command links in the task dialog. If this member is zero and no common buttons have been specified using the <b>dwCommonButtons</b> member, then the task dialog will have a single <b>OK</b> button displayed.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal uint cButtons;

			/// <summary>
			/// <para>Type: <b>const <a href="https://docs.microsoft.com/windows/desktop/api/commctrl/ns-commctrl-taskdialog_button">TASKDIALOG_BUTTON</a>*</b> Pointer to an array of <a href="https://docs.microsoft.com/windows/desktop/api/commctrl/ns-commctrl-taskdialog_button">TASKDIALOG_BUTTON</a> structures containing the definition of the custom buttons that are to be displayed in the task dialog.  This array must contain at least the number of entries that are specified by the <b>cButtons</b> member.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal unsafe winmdroot.UI.Controls.TASKDIALOG_BUTTON* pButtons;

			/// <summary>
			/// <para>Type: <b>int</b> The default button for the task dialog.  This may be any of the values specified in <b>nButtonID</b> members of one of the <a href="https://docs.microsoft.com/windows/desktop/api/commctrl/ns-commctrl-taskdialog_button">TASKDIALOG_BUTTON</a> structures in the <b>pButtons</b> array, or one of the IDs corresponding to the buttons specified in the <b>dwCommonButtons</b> member: </para>
			/// <para>This doc was truncated.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal int nDefaultButton;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">UINT</a></b> The number of entries in the <b>pRadioButtons</b> array that is used to create radio buttons in the task dialog.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal uint cRadioButtons;

			/// <summary>
			/// <para>Type: <b>const <a href="https://docs.microsoft.com/windows/desktop/api/commctrl/ns-commctrl-taskdialog_button">TASKDIALOG_BUTTON</a>*</b> Pointer to an array of <a href="https://docs.microsoft.com/windows/desktop/api/commctrl/ns-commctrl-taskdialog_button">TASKDIALOG_BUTTON</a> structures containing the definition of the radio buttons that are to be displayed in the task dialog.  This array must contain at least the number of entries that are specified by the <b>cRadioButtons</b> member. This parameter can be <b>NULL</b>.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal unsafe winmdroot.UI.Controls.TASKDIALOG_BUTTON* pRadioButtons;

			/// <summary>
			/// <para>Type: <b>int</b> The button ID of the radio button that is selected by default. If this value does not correspond to a button ID, the first button in the array is selected by default.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal int nDefaultRadioButton;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">PCWSTR</a></b> Pointer that references the string to be used to label the verification checkbox. This parameter can be either a null-terminated string or an integer resource identifier passed to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-makeintresourcea">MAKEINTRESOURCE</a> macro. If this parameter is <b>NULL</b>, the verification checkbox is not displayed in the task dialog. If the <i>pfVerificationFlagChecked</i> parameter of <a href="https://docs.microsoft.com/windows/desktop/api/commctrl/nf-commctrl-taskdialogindirect">TaskDialogIndirect</a> is <b>NULL</b>, the checkbox is not enabled.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.PCWSTR pszVerificationText;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">PCWSTR</a></b> Pointer that references the string to be used for displaying additional information. This parameter can be either a null-terminated string or an integer resource identifier passed to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-makeintresourcea">MAKEINTRESOURCE</a> macro.   The additional information is displayed either immediately below the content or below the footer text depending on whether the TDF_EXPAND_FOOTER_AREA flag is specified.  If the TDF_ENABLE_HYPERLINKS flag is specified for the <b>dwFlags</b> member, then this string may contain hyperlinks in the form: &lt;A HREF="executablestring"&gt;Hyperlink Text&lt;/A&gt;. <b>WARNING: Enabling hyperlinks when using content from an unsafe source may cause security vulnerabilities.</b></para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.PCWSTR pszExpandedInformation;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">PCWSTR</a></b> Pointer that references the string to be used to label the button for collapsing the expandable information. This parameter can be either a null-terminated string or an integer resource identifier passed to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-makeintresourcea">MAKEINTRESOURCE</a> macro. This member is ignored when the <b>pszExpandedInformation</b> member is <b>NULL</b>.  If this member is <b>NULL</b> and the <b>pszCollapsedControlText</b> is specified, then the <b>pszCollapsedControlText</b> value will be used for this member as well.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.PCWSTR pszExpandedControlText;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">PCWSTR</a></b> Pointer that references the string to be used to label the button for expanding the expandable information. This parameter can be either a null-terminated string or an integer resource identifier passed to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-makeintresourcea">MAKEINTRESOURCE</a> macro. This member is ignored when the <b>pszExpandedInformation</b> member is <b>NULL</b>.  If this member is <b>NULL</b> and the <b>pszCollapsedControlText</b> is specified, then the <b>pszCollapsedControlText</b> value will be used for this member as well.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.PCWSTR pszCollapsedControlText;

			internal _Anonymous2_e__Union Anonymous2;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">PCWSTR</a></b> Pointer to the string to be used in the footer area of the task dialog. This parameter can be either a null-terminated string or an integer resource identifier passed to the <a href="https://docs.microsoft.com/windows/desktop/api/winuser/nf-winuser-makeintresourcea">MAKEINTRESOURCE</a> macro. If the TDF_ENABLE_HYPERLINKS flag is specified for the <b>dwFlags</b> member, then this string may contain hyperlinks in this form.</para>
			/// <para></para>
			/// <para>This doc was truncated.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.PCWSTR pszFooter;

			/// <summary>
			/// <para>Type: <b>PFTASKDIALOGCALLBACK</b> Pointer to an application-defined callback function. For more information see <a href="https://docs.microsoft.com/windows/desktop/api/commctrl/nc-commctrl-pftaskdialogcallback">TaskDialogCallbackProc</a>.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal unsafe delegate *unmanaged[Stdcall]<global::Windows.Win32.Foundation.HWND,uint,global::Windows.Win32.Foundation.WPARAM,global::Windows.Win32.Foundation.LPARAM,nint,global::Windows.Win32.Foundation.HRESULT> pfCallback;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">LONG_PTR</a></b> A pointer to application-defined reference data. This value is defined by the caller.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal nint lpCallbackData;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">UINT</a></b> The width of the task dialog's client area, in dialog units. If 0, the task dialog manager will calculate the ideal width.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-taskdialogconfig#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal uint cxWidth;

			[StructLayout(LayoutKind.Explicit, Pack = 1)]
			[global::System.CodeDom.Compiler.GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")]
			internal partial struct _Anonymous1_e__Union
			{
				[FieldOffset(0)]
				internal winmdroot.UI.WindowsAndMessaging.HICON hMainIcon;

				[FieldOffset(0)]
				internal winmdroot.Foundation.PCWSTR pszMainIcon;
			}

			[StructLayout(LayoutKind.Explicit, Pack = 1)]
			[global::System.CodeDom.Compiler.GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")]
			internal partial struct _Anonymous2_e__Union
			{
				[FieldOffset(0)]
				internal winmdroot.UI.WindowsAndMessaging.HICON hFooterIcon;

				[FieldOffset(0)]
				internal winmdroot.Foundation.PCWSTR pszFooterIcon;
			}
		}
	}
}