Skip to content

Commit 19241c7

Browse files
authored
Update StorageTrashBinService.cs
1 parent 2754111 commit 19241c7

File tree

1 file changed

+3
-18
lines changed

1 file changed

+3
-18
lines changed

src/Files.App/Services/Storage/StorageTrashBinService.cs

Lines changed: 3 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -85,22 +85,7 @@ public async Task<bool> RestoreAllTrashesAsync()
8585
{
8686
return await Win32Helper.StartSTATask(() =>
8787
{
88-
// Get IShellItem for Recycle Bin
89-
var recycleBinFolderId = PInvoke.FOLDERID_RecycleBinFolder;
90-
var shellItemGuid = typeof(IShellItem).GUID;
91-
PInvoke.SHGetKnownFolderItem(&recycleBinFolderId, KNOWN_FOLDER_FLAG.KF_FLAG_DEFAULT, HANDLE.Null, &shellItemGuid, (void**)&recycleBinFolderShellItem);
92-
93-
// Get IEnumShellItems for Recycle Bin
94-
Guid enumShellItemGuid = typeof(IEnumShellItems).GUID;
95-
var enumItemsBHID = PInvoke.BHID_EnumItems;
96-
recycleBinFolderShellItem->BindToHandler(null, &enumItemsBHID, &enumShellItemGuid, (void**)&enumShellItems);
97-
98-
// Initialize how to perform the operation
99-
PInvoke.CoCreateInstance(typeof(FileOperation).GUID, null, CLSCTX.CLSCTX_LOCAL_SERVER, out pFileOperation);
100-
pFileOperation->SetOperationFlags(FILEOPERATION_FLAGS.FOF_NO_UI);
101-
pFileOperation->SetOwnerWindow(new(MainWindow.Instance.WindowHandle));
102-
103-
while (enumShellItems->Next(1, &pShellItem) == HRESULT.S_OK)
88+
try
10489
{
10590
RestoreAllTrashesInternal();
10691

@@ -117,14 +102,14 @@ private unsafe bool RestoreAllTrashesInternal()
117102
{
118103
// Get IShellItem for Recycle Bin folder
119104
using ComPtr<IShellItem> pRecycleBinFolderShellItem = default;
120-
var recycleBinFolderId = FOLDERID.FOLDERID_RecycleBinFolder;
105+
var recycleBinFolderId = PInvoke.FOLDERID_RecycleBinFolder;
121106
var shellItemGuid = typeof(IShellItem).GUID;
122107
HRESULT hr = PInvoke.SHGetKnownFolderItem(&recycleBinFolderId, KNOWN_FOLDER_FLAG.KF_FLAG_DEFAULT, HANDLE.Null, &shellItemGuid, (void**)pRecycleBinFolderShellItem.GetAddressOf());
123108

124109
// Get IEnumShellItems for Recycle Bin folder
125110
using ComPtr<IEnumShellItems> pEnumShellItems = default;
126111
Guid enumShellItemGuid = typeof(IEnumShellItems).GUID;
127-
var enumItemsBHID = BHID.BHID_EnumItems;
112+
var enumItemsBHID = PInvoke.BHID_EnumItems;
128113
hr = pRecycleBinFolderShellItem.Get()->BindToHandler(null, &enumItemsBHID, &enumShellItemGuid, (void**)pEnumShellItems.GetAddressOf());
129114

130115
// Initialize how to perform the operation

0 commit comments

Comments
 (0)