diff --git a/examples/DemoRunner/Builds/Android/app/CMakeLists.txt b/examples/DemoRunner/Builds/Android/app/CMakeLists.txt
index f4a393d9d7..1e07b81032 100644
--- a/examples/DemoRunner/Builds/Android/app/CMakeLists.txt
+++ b/examples/DemoRunner/Builds/Android/app/CMakeLists.txt
@@ -1038,6 +1038,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_core/containers/juce_Variant.cpp"
"../../../../../modules/juce_core/containers/juce_Variant.h"
"../../../../../modules/juce_core/detail/juce_CallbackListenerList.h"
+ "../../../../../modules/juce_core/detail/juce_NativeFileHandle.h"
"../../../../../modules/juce_core/files/juce_AndroidDocument.h"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.cpp"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.h"
@@ -3636,6 +3637,7 @@ set_source_files_properties(
"../../../../../modules/juce_core/containers/juce_Variant.cpp"
"../../../../../modules/juce_core/containers/juce_Variant.h"
"../../../../../modules/juce_core/detail/juce_CallbackListenerList.h"
+ "../../../../../modules/juce_core/detail/juce_NativeFileHandle.h"
"../../../../../modules/juce_core/files/juce_AndroidDocument.h"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.cpp"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.h"
diff --git a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj
index fefef374fd..d853e9725b 100644
--- a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj
+++ b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj
@@ -3803,6 +3803,7 @@
+
diff --git a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters
index ffc08de103..70683e3c0d 100644
--- a/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters
+++ b/examples/DemoRunner/Builds/VisualStudio2019/DemoRunner_App.vcxproj.filters
@@ -5811,6 +5811,9 @@
JUCE Modules\juce_core\detail
+
+ JUCE Modules\juce_core\detail
+
JUCE Modules\juce_core\files
diff --git a/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj b/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj
index d908cabcbb..f1508c013a 100644
--- a/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj
+++ b/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj
@@ -3803,6 +3803,7 @@
+
diff --git a/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj.filters b/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj.filters
index fffee08a62..1e60f5b975 100644
--- a/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj.filters
+++ b/examples/DemoRunner/Builds/VisualStudio2022/DemoRunner_App.vcxproj.filters
@@ -5811,6 +5811,9 @@
JUCE Modules\juce_core\detail
+
+ JUCE Modules\juce_core\detail
+
JUCE Modules\juce_core\files
diff --git a/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt b/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt
index 6120235666..3cb8852939 100644
--- a/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt
+++ b/extras/AudioPerformanceTest/Builds/Android/app/CMakeLists.txt
@@ -897,6 +897,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_core/containers/juce_Variant.cpp"
"../../../../../modules/juce_core/containers/juce_Variant.h"
"../../../../../modules/juce_core/detail/juce_CallbackListenerList.h"
+ "../../../../../modules/juce_core/detail/juce_NativeFileHandle.h"
"../../../../../modules/juce_core/files/juce_AndroidDocument.h"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.cpp"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.h"
@@ -3155,6 +3156,7 @@ set_source_files_properties(
"../../../../../modules/juce_core/containers/juce_Variant.cpp"
"../../../../../modules/juce_core/containers/juce_Variant.h"
"../../../../../modules/juce_core/detail/juce_CallbackListenerList.h"
+ "../../../../../modules/juce_core/detail/juce_NativeFileHandle.h"
"../../../../../modules/juce_core/files/juce_AndroidDocument.h"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.cpp"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.h"
diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj b/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj
index 082fdfd5f3..1ac224245f 100644
--- a/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj
+++ b/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj
@@ -3311,6 +3311,7 @@
+
diff --git a/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj.filters b/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj.filters
index dfa71ed215..70e1917560 100644
--- a/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj.filters
+++ b/extras/AudioPerformanceTest/Builds/VisualStudio2022/AudioPerformanceTest_App.vcxproj.filters
@@ -4980,6 +4980,9 @@
JUCE Modules\juce_core\detail
+
+ JUCE Modules\juce_core\detail
+
JUCE Modules\juce_core\files
diff --git a/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt b/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt
index 4fa59f56df..7836dbf096 100644
--- a/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt
+++ b/extras/AudioPluginHost/Builds/Android/app/CMakeLists.txt
@@ -930,6 +930,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_core/containers/juce_Variant.cpp"
"../../../../../modules/juce_core/containers/juce_Variant.h"
"../../../../../modules/juce_core/detail/juce_CallbackListenerList.h"
+ "../../../../../modules/juce_core/detail/juce_NativeFileHandle.h"
"../../../../../modules/juce_core/files/juce_AndroidDocument.h"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.cpp"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.h"
@@ -3341,6 +3342,7 @@ set_source_files_properties(
"../../../../../modules/juce_core/containers/juce_Variant.cpp"
"../../../../../modules/juce_core/containers/juce_Variant.h"
"../../../../../modules/juce_core/detail/juce_CallbackListenerList.h"
+ "../../../../../modules/juce_core/detail/juce_NativeFileHandle.h"
"../../../../../modules/juce_core/files/juce_AndroidDocument.h"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.cpp"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.h"
diff --git a/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj
index a5689f1b24..7335c9dfa3 100644
--- a/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj
+++ b/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj
@@ -3491,6 +3491,7 @@
+
diff --git a/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj.filters b/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj.filters
index a45229306f..08d0cc3f54 100644
--- a/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj.filters
+++ b/extras/AudioPluginHost/Builds/VisualStudio2019/AudioPluginHost_App.vcxproj.filters
@@ -5256,6 +5256,9 @@
JUCE Modules\juce_core\detail
+
+ JUCE Modules\juce_core\detail
+
JUCE Modules\juce_core\files
diff --git a/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj b/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj
index 872cf5da77..5b72177094 100644
--- a/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj
+++ b/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj
@@ -3491,6 +3491,7 @@
+
diff --git a/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj.filters b/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj.filters
index 46ffe5ae7b..25ece677e7 100644
--- a/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj.filters
+++ b/extras/AudioPluginHost/Builds/VisualStudio2022/AudioPluginHost_App.vcxproj.filters
@@ -5256,6 +5256,9 @@
JUCE Modules\juce_core\detail
+
+ JUCE Modules\juce_core\detail
+
JUCE Modules\juce_core\files
diff --git a/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj b/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj
index dd886b1d23..5b6ef77b81 100644
--- a/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj
+++ b/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj
@@ -538,6 +538,7 @@
+
diff --git a/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj.filters b/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj.filters
index fabfba05a3..efb9a97f37 100644
--- a/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj.filters
+++ b/extras/BinaryBuilder/Builds/VisualStudio2022/BinaryBuilder_ConsoleApp.vcxproj.filters
@@ -549,6 +549,9 @@
JUCE Modules\juce_core\detail
+
+ JUCE Modules\juce_core\detail
+
JUCE Modules\juce_core\files
diff --git a/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt b/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt
index 2004545996..c08467be35 100644
--- a/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt
+++ b/extras/NetworkGraphicsDemo/Builds/Android/app/CMakeLists.txt
@@ -901,6 +901,7 @@ add_library( ${BINARY_NAME}
"../../../../../modules/juce_core/containers/juce_Variant.cpp"
"../../../../../modules/juce_core/containers/juce_Variant.h"
"../../../../../modules/juce_core/detail/juce_CallbackListenerList.h"
+ "../../../../../modules/juce_core/detail/juce_NativeFileHandle.h"
"../../../../../modules/juce_core/files/juce_AndroidDocument.h"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.cpp"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.h"
@@ -3239,6 +3240,7 @@ set_source_files_properties(
"../../../../../modules/juce_core/containers/juce_Variant.cpp"
"../../../../../modules/juce_core/containers/juce_Variant.h"
"../../../../../modules/juce_core/detail/juce_CallbackListenerList.h"
+ "../../../../../modules/juce_core/detail/juce_NativeFileHandle.h"
"../../../../../modules/juce_core/files/juce_AndroidDocument.h"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.cpp"
"../../../../../modules/juce_core/files/juce_common_MimeTypes.h"
diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj
index 5270971306..2d30b4b5ea 100644
--- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj
+++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj
@@ -3402,6 +3402,7 @@
+
diff --git a/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj.filters b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj.filters
index 1e7e862481..8d26472464 100644
--- a/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj.filters
+++ b/extras/NetworkGraphicsDemo/Builds/VisualStudio2022/NetworkGraphicsDemo_App.vcxproj.filters
@@ -5121,6 +5121,9 @@
JUCE Modules\juce_core\detail
+
+ JUCE Modules\juce_core\detail
+
JUCE Modules\juce_core\files
diff --git a/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj
index e3ea262b97..57d0358ed6 100644
--- a/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj
+++ b/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj
@@ -2102,6 +2102,7 @@
+
diff --git a/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj.filters
index dcf0ea544d..9e9f16a9b0 100644
--- a/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj.filters
+++ b/extras/Projucer/Builds/VisualStudio2019/Projucer_App.vcxproj.filters
@@ -2763,6 +2763,9 @@
JUCE Modules\juce_core\detail
+
+ JUCE Modules\juce_core\detail
+
JUCE Modules\juce_core\files
diff --git a/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj b/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj
index fa0855ebef..5211e3b0e2 100644
--- a/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj
+++ b/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj
@@ -2102,6 +2102,7 @@
+
diff --git a/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj.filters b/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj.filters
index e4f7b301fa..86aa7da456 100644
--- a/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj.filters
+++ b/extras/Projucer/Builds/VisualStudio2022/Projucer_App.vcxproj.filters
@@ -2763,6 +2763,9 @@
JUCE Modules\juce_core\detail
+
+ JUCE Modules\juce_core\detail
+
JUCE Modules\juce_core\files
diff --git a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj
index 138f5cc555..ceb22f83fb 100644
--- a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj
+++ b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj
@@ -3603,6 +3603,7 @@
+
diff --git a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters
index ab481d529d..21725f84a0 100644
--- a/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters
+++ b/extras/UnitTestRunner/Builds/VisualStudio2019/UnitTestRunner_ConsoleApp.vcxproj.filters
@@ -5415,6 +5415,9 @@
JUCE Modules\juce_core\detail
+
+ JUCE Modules\juce_core\detail
+
JUCE Modules\juce_core\files
diff --git a/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj b/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj
index bb4b4b654d..508d567e55 100644
--- a/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj
+++ b/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj
@@ -3603,6 +3603,7 @@
+
diff --git a/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj.filters b/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj.filters
index f3a20709f7..cbdf91d5e8 100644
--- a/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj.filters
+++ b/extras/UnitTestRunner/Builds/VisualStudio2022/UnitTestRunner_ConsoleApp.vcxproj.filters
@@ -5415,6 +5415,9 @@
JUCE Modules\juce_core\detail
+
+ JUCE Modules\juce_core\detail
+
JUCE Modules\juce_core\files
diff --git a/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_DynamicLibrary.vcxproj b/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_DynamicLibrary.vcxproj
index 67cd7df9e0..929f733e40 100644
--- a/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_DynamicLibrary.vcxproj
+++ b/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_DynamicLibrary.vcxproj
@@ -3378,6 +3378,7 @@
+
diff --git a/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_DynamicLibrary.vcxproj.filters b/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_DynamicLibrary.vcxproj.filters
index 0930f6a0c7..76e1766e65 100644
--- a/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_DynamicLibrary.vcxproj.filters
+++ b/extras/WindowsDLL/Builds/VisualStudio2022/WindowsDLL_DynamicLibrary.vcxproj.filters
@@ -5088,6 +5088,9 @@
JUCE Modules\juce_core\detail
+
+ JUCE Modules\juce_core\detail
+
JUCE Modules\juce_core\files