using System;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
using static Vanara.PInvoke.Ole32;
namespace Vanara.PInvoke
{
public static partial class Shell32
{
///
///
/// [ IInsertItem is available for use in the operating systems specified in the Requirements section. It may be altered or
/// unavailable in subsequent versions.]
///
/// Exposes a method that inserts an ITEMIDLIST structure into a list of such structures.
///
// https://docs.microsoft.com/en-us/windows/win32/api/shobjidl/nn-shobjidl-iinsertitem
[PInvokeData("shobjidl.h", MSDNShortId = "NN:shobjidl.IInsertItem")]
[ComImport, Guid("D2B57227-3D23-4b95-93C0-492BD454C356"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IInsertItem
{
/// Adds an ITEMIDLIST structure to a list of such structures.
///
/// Type: LPCITEMIDLIST
/// A pointer to an ITEMIDLIST structure that corresponds to an item in a Shell folder.
///
///
/// Type: HRESULT
/// If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.
///
// https://docs.microsoft.com/en-us/windows/win32/api/shobjidl/nf-shobjidl-iinsertitem-insertitem
// HRESULT InsertItem( PCUIDLIST_RELATIVE pidl );
[PreserveSig]
HRESULT InsertItem([In] PIDL pidl);
}
}
}