File: Windows.Win32.NMLVGETINFOTIPW.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>Contains and receives list-view item information needed to display a tooltip for an item. This structure is used with the LVN_GETINFOTIP notification code. (Unicode)</summary>
		/// <remarks>
		/// <para>An item is said to be folded when the currently displayed text is truncated. If LVGIT_UNFOLDED is returned in <b>dwFlags</b>, the full text of the item is already displayed, so there is no need to display it in the tooltip.</para>
		/// <para>> [!NOTE] > The commctrl.h header defines NMLVGETINFOTIP 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/commctrl/ns-commctrl-nmlvgetinfotipw#">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 NMLVGETINFOTIPW
		{
			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/api/richedit/ns-richedit-nmhdr">NMHDR</a></b></para>
			/// <para><a href="https://docs.microsoft.com/windows/desktop/api/richedit/ns-richedit-nmhdr">NMHDR</a> structure that contains information on this notification code.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-nmlvgetinfotipw#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.UI.Controls.NMHDR hdr;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">DWORD</a></b> Either zero or LVGIT_UNFOLDED. See Remarks.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-nmlvgetinfotipw#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.UI.Controls.NMLVGETINFOTIP_FLAGS dwFlags;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">LPTSTR</a></b> Address of a string buffer that receives any additional text information. If <b>dwFlags</b> is zero, this member will contain the existing item text. In this case, you should append any additional text onto the end of this string. The size of this buffer is specified by the <b>cchTextMax</b> structure.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-nmlvgetinfotipw#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.PWSTR pszText;

			/// <summary>
			/// <para>Type: <b>int</b> Size, in characters, of the buffer pointed to by <b>pszText</b>. Although you should never assume that this buffer will be of any particular size, the INFOTIPSIZE value can be used for design purposes.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-nmlvgetinfotipw#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal int cchTextMax;

			/// <summary>
			/// <para>Type: <b>int</b> Zero-based index of the item to which this structure refers.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-nmlvgetinfotipw#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal int iItem;

			/// <summary>
			/// <para>Type: <b>int</b> One-based index of the subitem to which this structure refers. If this member is zero, the structure is referring to the item and not a subitem. This member is not currently used and will always be zero.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-nmlvgetinfotipw#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal int iSubItem;

			/// <summary>
			/// <para>Type: <b><a href="https://docs.microsoft.com/windows/desktop/WinProg/windows-data-types">LPARAM</a></b> Application-defined value associated with the item. This member is not currently used and will always be zero.</para>
			/// <para><see href="https://learn.microsoft.com/windows/win32/api/commctrl/ns-commctrl-nmlvgetinfotipw#members">Read more on docs.microsoft.com</see>.</para>
			/// </summary>
			internal winmdroot.Foundation.LPARAM lParam;
		}
	}
}