File: Windows.Win32.BROWSEINFOW.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.Shell
	{
		/// <summary>Contains parameters for the SHBrowseForFolder function and receives information about the folder selected by the user. (Unicode)</summary>
		/// <remarks>
		/// <para>> [!NOTE] > The shlobj_core.h header defines BROWSEINFO 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/shlobj_core/ns-shlobj_core-browseinfow#">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 BROWSEINFOW
		{
			/// <summary>
			/// <para>Type: <b>HWND</b> A handle to the owner window for the dialog box.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/shlobj_core/ns-shlobj_core-browseinfow#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.HWND hwndOwner;

			/// <summary>
			/// <para>Type: <b>PCIDLIST_ABSOLUTE</b> A PIDL that specifies the location of the root folder from which to start browsing. Only the specified folder and its subfolders in the namespace hierarchy appear in the dialog box. This member can be <b>NULL</b>; in that case, a default location is used.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/shlobj_core/ns-shlobj_core-browseinfow#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal unsafe winmdroot.UI.Shell.Common.ITEMIDLIST* pidlRoot;

			/// <summary>
			/// <para>Type: <b>LPTSTR</b> Pointer to a buffer to receive the display name of the folder selected by the user. The size of this buffer is assumed to be MAX_PATH characters.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/shlobj_core/ns-shlobj_core-browseinfow#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.PWSTR pszDisplayName;

			/// <summary>
			/// <para>Type: <b>LPCTSTR</b> Pointer to a null-terminated string that is displayed above the tree view control in the dialog box. This string can be used to specify instructions to the user.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/shlobj_core/ns-shlobj_core-browseinfow#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.PCWSTR lpszTitle;

			/// <summary>Type: <b>UINT</b></summary>
			internal uint ulFlags;

			/// <summary>
			/// <para>Type: <b>BFFCALLBACK</b> Pointer to an application-defined function that the dialog box calls when an event occurs. For more information, see the <a href="https://docs.microsoft.com/previous-versions/windows/desktop/legacy/bb762598(v=vs.85)">BrowseCallbackProc</a> function. This member can be <b>NULL</b>.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/shlobj_core/ns-shlobj_core-browseinfow#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.LPARAM,global::Windows.Win32.Foundation.LPARAM,int> lpfn;

			/// <summary>
			/// <para>Type: <b>LPARAM</b> An application-defined value that the dialog box passes to the callback function, if one is specified in <b>lpfn</b>.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/shlobj_core/ns-shlobj_core-browseinfow#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.LPARAM lParam;

			/// <summary>
			/// <para>Type: <b>int</b> An integer value that receives the index of the image associated with the selected folder, stored in the system image list.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/shlobj_core/ns-shlobj_core-browseinfow#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal int iImage;
		}
	}
}