using System; using System.Runtime.InteropServices; using System.Runtime.InteropServices.ComTypes; namespace Vanara.PInvoke { public static partial class Shell32 { /// Provides a method to update the ITEMIDLIST of the child of an folder object. /// /// When to Implement /// Implement this interface for an IShellFolder implementation to update the provided child ITEMIDLIST. /// // https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nn-shobjidl_core-iupdateidlist [PInvokeData("shobjidl_core.h", MSDNShortId = "NN:shobjidl_core.IUpdateIDList")] [ComImport, Guid("6589b6d2-5f8d-4b9e-b7e0-23cdd9717d8c"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] public interface IUpdateIDList { /// Updates the provided child ITEMIDLIST based on the parameters specified by the provided IBindCtx. /// /// Type: IBindCtx* /// /// An IBindCtx interface on a bind context object. Used to specify parameters for updating the child ITEMIDLIST. This value can /// be NULL. /// /// /// /// Type: PCUITEMID_CHILD /// The child ITEMIDLIST. /// /// /// Type: PITEMID_CHILD* /// A pointer to the child ITEMIDLIST relative to the parent folder. /// /// /// Type: HRESULT /// If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code. /// /// /// If pbc is NULL or does not contain any parameters that apply to the current Shell folder, ppidlOut points to the same /// ITEMIDLIST as pidlIn. /// // https://docs.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-iupdateidlist-update HRESULT Update( // IBindCtx *pbc, PCUITEMID_CHILD pidlIn, PITEMID_CHILD *ppidlOut ); [PreserveSig] HRESULT Update([In, Optional] IBindCtx pbc, [In] PIDL pidlIn, out PIDL ppidlOut); } } }