using System; using System.Runtime.InteropServices; using Vanara.InteropServices; namespace Vanara.PInvoke { public static partial class Shell32 { /// /// Exposes methods that allow clients to reset or query the display state of the autocomplete drop-down list, which contains /// possible completions to a string entered by the user in an edit control. /// // https://docs.microsoft.com/en-us/windows/win32/api/shobjidl/nn-shobjidl-iautocompletedropdown [PInvokeData("shobjidl.h", MSDNShortId = "NN:shobjidl.IAutoCompleteDropDown")] [ComImport, Guid("3CD141F4-3C6A-11d2-BCAA-00C04FD929DB"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IAutoCompleteDropDown { /// Gets the current display status of the autocomplete drop-down list. /// /// Type: DWORD* /// /// A pointer to a value indicating whether the autocomplete drop-down list is currently displayed. This parameter can be /// NULL on entry if this information is not needed. The following values are recognized as the target of this pointer. /// /// (0x0000) /// The list is not visible. /// ACDD_VISIBLE (0x0001) /// The list is visible. /// /// /// Type: LPWSTR* /// /// A pointer to a buffer containing the first select item in the drop-down list, if the value pointed to by pdwFlags is /// ACDD_VISIBLE. This value can be NULL on entry if this information is not needed. /// /// If pdwFlags is zero on exit, then this value will be NULL. /// /// If this value is not NULL on exit, the buffer it points to must be freed using CoTaskMemFree when it is no longer needed. /// /// // https://docs.microsoft.com/en-us/windows/win32/api/shobjidl/nf-shobjidl-iautocompletedropdown-getdropdownstatus HRESULT // GetDropDownStatus( DWORD *pdwFlags, LPWSTR *ppwszString ); void GetDropDownStatus(ref uint pdwFlags, out string ppwszString); /// Forces the autocomplete object to refresh its list of suggestions when the list is visible. /// /// The drop-down list is always rebuilt before it is displayed, so there is no reason to use this method unless the drop-down /// list is currently visible. /// // https://docs.microsoft.com/en-us/windows/win32/api/shobjidl/nf-shobjidl-iautocompletedropdown-resetenumerator HRESULT ResetEnumerator(); void ResetEnumerator(); } } }