private static IShellItem2 GetShellItem(ItemIdListSafeHandle itemIdList) { object objShellItem; SHCreateItemFromIDList(itemIdList, typeof(IShellItem2).GUID, out objShellItem).ThrowIfError(); return((IShellItem2)objShellItem); }
private static IShellFolder GetShellFolder(ItemIdListSafeHandle itemIdList) { object objShellFolder; SHBindToObject(IntPtr.Zero, itemIdList, null, typeof(IShellFolder).GUID, out objShellFolder).ThrowIfError(); return((IShellFolder)objShellFolder); }
public static extern HResult SHCreateItemFromIDList(ItemIdListSafeHandle pidl, [MarshalAs(UnmanagedType.LPStruct)] Guid riid, [MarshalAs(UnmanagedType.IUnknown, IidParameterIndex = 1)] out object ppv);
public static extern ItemIdListSafeHandle ILCombine(ItemIdListSafeHandle pIDLParent, ItemIdListSafeHandle pIDLChild);
public static extern HResult SHBindToObject(IntPtr psf, ItemIdListSafeHandle pidl, IBindCtx pbc, [MarshalAs(UnmanagedType.LPStruct)] Guid riid, [MarshalAs(UnmanagedType.IUnknown, IidParameterIndex = 3)] out object ppv);
public static extern HResult SHGetKnownFolderIDList([In, MarshalAs(UnmanagedType.LPStruct)] Guid rfid, KF_FLAG dwFlags, IntPtr hToken, out ItemIdListSafeHandle ppidl);