diff --git a/src/Files.App (Package)/Package.appxmanifest b/src/Files.App (Package)/Package.appxmanifest
index e0187cefee23..4cd9eafd851e 100644
--- a/src/Files.App (Package)/Package.appxmanifest
+++ b/src/Files.App (Package)/Package.appxmanifest
@@ -16,7 +16,7 @@
+ Version="3.3.4.0" />
Files - Dev
@@ -33,11 +33,11 @@
-
+
@@ -55,21 +55,18 @@
-
-
-
-
+
+
+
-
-
-
+
@@ -98,7 +95,7 @@
Wide310x150Logo="Assets\AppTiles\Dev\Wide310x150Logo.png"
Square71x71Logo="Assets\AppTiles\Dev\Small71x71Logo.png"
Square310x310Logo="Assets\AppTiles\Dev\Large310x310Logo.png"
- ShortName="Files - Dev">
+ ShortName="Files">
@@ -119,26 +116,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -160,7 +143,6 @@
.tar
.jar
.mrpack
- .gz
assets\archives\ExtensionIcon.png
@@ -171,7 +153,7 @@
-
+
@@ -184,6 +166,13 @@
Files.App.Server\Files.App.Server.exe
singleInstance
+
+
+
+
+
+
+
diff --git a/src/Files.App/Utils/Storage/Enumerators/Win32StorageEnumerator.cs b/src/Files.App/Utils/Storage/Enumerators/Win32StorageEnumerator.cs
index 64bf1c0e2915..562536c91b99 100644
--- a/src/Files.App/Utils/Storage/Enumerators/Win32StorageEnumerator.cs
+++ b/src/Files.App/Utils/Storage/Enumerators/Win32StorageEnumerator.cs
@@ -4,8 +4,9 @@
using Files.App.Services.SizeProvider;
using Files.Shared.Helpers;
using System.IO;
+using Vanara.PInvoke;
using Windows.Storage;
-using static Files.App.Helpers.Win32Helper;
+using static Files.App.Helpers.NativeFindStorageItemHelper;
using FileAttributes = System.IO.FileAttributes;
namespace Files.App.Utils.Storage
@@ -17,10 +18,11 @@ public static class Win32StorageEnumerator
private static readonly string folderTypeTextLocalized = "Folder".GetLocalizedResource();
+
public static async Task> ListEntries(
string path,
IntPtr hFile,
- Win32PInvoke.WIN32_FIND_DATA findData,
+ NativeFindStorageItemHelper.WIN32_FIND_DATA findData,
CancellationToken cancellationToken,
int countLimit,
Func, Task> intermediateAction
@@ -97,16 +99,16 @@ Func, Task> intermediateAction
// clear the temporary list every time we do an intermediate action
tempList.Clear();
}
- } while (Win32PInvoke.FindNextFile(hFile, out findData));
+ } while (FindNextFile(hFile, out findData));
- Win32PInvoke.FindClose(hFile);
+ FindClose(hFile);
return tempList;
}
private static IEnumerable EnumAdsForPath(string itemPath, ListedItem main)
{
- foreach (var ads in Win32Helper.GetAlternateStreams(itemPath))
+ foreach (var ads in NativeFileOperationsHelper.GetAlternateStreams(itemPath))
yield return GetAlternateStream(ads, main);
}
@@ -143,7 +145,7 @@ public static ListedItem GetAlternateStream((string Name, long Size) ads, Listed
}
public static async Task GetFolder(
- Win32PInvoke.WIN32_FIND_DATA findData,
+ NativeFindStorageItemHelper.WIN32_FIND_DATA findData,
string pathRoot,
bool isGitRepo,
CancellationToken cancellationToken
@@ -157,10 +159,10 @@ CancellationToken cancellationToken
try
{
- Win32PInvoke.FileTimeToSystemTime(ref findData.ftLastWriteTime, out Win32PInvoke.SYSTEMTIME systemModifiedTimeOutput);
+ FileTimeToSystemTime(ref findData.ftLastWriteTime, out NativeFindStorageItemHelper.SYSTEMTIME systemModifiedTimeOutput);
itemModifiedDate = systemModifiedTimeOutput.ToDateTime();
- Win32PInvoke.FileTimeToSystemTime(ref findData.ftCreationTime, out Win32PInvoke.SYSTEMTIME systemCreatedTimeOutput);
+ FileTimeToSystemTime(ref findData.ftCreationTime, out NativeFindStorageItemHelper.SYSTEMTIME systemCreatedTimeOutput);
itemCreatedDate = systemCreatedTimeOutput.ToDateTime();
}
catch (ArgumentException)
@@ -220,7 +222,7 @@ CancellationToken cancellationToken
}
public static async Task GetFile(
- Win32PInvoke.WIN32_FIND_DATA findData,
+ NativeFindStorageItemHelper.WIN32_FIND_DATA findData,
string pathRoot,
bool isGitRepo,
CancellationToken cancellationToken
@@ -233,13 +235,13 @@ CancellationToken cancellationToken
try
{
- Win32PInvoke.FileTimeToSystemTime(ref findData.ftLastWriteTime, out Win32PInvoke.SYSTEMTIME systemModifiedDateOutput);
+ FileTimeToSystemTime(ref findData.ftLastWriteTime, out NativeFindStorageItemHelper.SYSTEMTIME systemModifiedDateOutput);
itemModifiedDate = systemModifiedDateOutput.ToDateTime();
- Win32PInvoke.FileTimeToSystemTime(ref findData.ftCreationTime, out Win32PInvoke.SYSTEMTIME systemCreatedDateOutput);
+ FileTimeToSystemTime(ref findData.ftCreationTime, out NativeFindStorageItemHelper.SYSTEMTIME systemCreatedDateOutput);
itemCreatedDate = systemCreatedDateOutput.ToDateTime();
- Win32PInvoke.FileTimeToSystemTime(ref findData.ftLastAccessTime, out Win32PInvoke.SYSTEMTIME systemLastAccessOutput);
+ FileTimeToSystemTime(ref findData.ftLastAccessTime, out NativeFindStorageItemHelper.SYSTEMTIME systemLastAccessOutput);
itemLastAccessDate = systemLastAccessOutput.ToDateTime();
}
catch (ArgumentException)
@@ -270,7 +272,7 @@ CancellationToken cancellationToken
// https://learn.microsoft.com/openspecs/windows_protocols/ms-fscc/c8e77b37-3909-4fe6-a4ea-2b9d423b1ee4
bool isReparsePoint = ((FileAttributes)findData.dwFileAttributes & FileAttributes.ReparsePoint) == FileAttributes.ReparsePoint;
- bool isSymlink = isReparsePoint && findData.dwReserved0 == Win32PInvoke.IO_REPARSE_TAG_SYMLINK;
+ bool isSymlink = isReparsePoint && findData.dwReserved0 == NativeFileOperationsHelper.IO_REPARSE_TAG_SYMLINK;
if (isSymlink)
{