|
9 | 9 | using System.Runtime.InteropServices; |
10 | 10 | using System.Runtime.InteropServices.ComTypes; |
11 | 11 | using Vanara.PInvoke; |
| 12 | +using Vanara.Windows.Shell; |
12 | 13 | using Windows.ApplicationModel.DataTransfer; |
13 | 14 | using Windows.Graphics.Imaging; |
14 | 15 | using Windows.Storage; |
15 | 16 | using Windows.Storage.Streams; |
16 | | -using WinRT; |
17 | 17 | using FileAttributes = System.IO.FileAttributes; |
18 | 18 |
|
19 | 19 | namespace Files.App.Utils.Storage |
@@ -758,14 +758,12 @@ public static async Task<IEnumerable<IStorageItemWithPath>> GetDraggedStorageIte |
758 | 758 | { |
759 | 759 | if (hasVirtualItems && packageView.Contains("FileContents")) |
760 | 760 | { |
761 | | - var dataObjectProvider = packageView.As<Shell32.IDataObjectProvider>(); |
762 | | - var iddo = dataObjectProvider.GetDataObject(); |
763 | | - var descriptor = iddo.GetData<Shell32.FILEGROUPDESCRIPTOR>("FileGroupDescriptorW"); |
| 761 | + var descriptor = NativeClipboard.CurrentDataObject.GetData<Shell32.FILEGROUPDESCRIPTOR>("FileGroupDescriptorW"); |
764 | 762 | for (var ii = 0; ii < descriptor.cItems; ii++) |
765 | 763 | { |
766 | 764 | if (descriptor.fgd[ii].dwFileAttributes.HasFlag(FileFlagsAndAttributes.FILE_ATTRIBUTE_DIRECTORY)) |
767 | 765 | itemsList.Add(new VirtualStorageFolder(descriptor.fgd[ii].cFileName).FromStorageItem()); |
768 | | - else if (iddo.GetData("FileContents", DVASPECT.DVASPECT_CONTENT, ii) is IStream stream) |
| 766 | + else if (NativeClipboard.CurrentDataObject.GetData("FileContents", DVASPECT.DVASPECT_CONTENT, ii) is IStream stream) |
769 | 767 | { |
770 | 768 | var streamContent = new ComStreamWrapper(stream); |
771 | 769 | itemsList.Add(new VirtualStorageFile(streamContent, descriptor.fgd[ii].cFileName).FromStorageItem()); |
|
0 commit comments