Пример #1
0
        private static IShellItem2 GetShellItem(ItemIdListSafeHandle itemIdList)
        {
            object objShellItem;

            SHCreateItemFromIDList(itemIdList, typeof(IShellItem2).GUID, out objShellItem).ThrowIfError();
            return((IShellItem2)objShellItem);
        }
Пример #2
0
        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);