https://git.reactos.org/?p=reactos.git;a=commitdiff;h=618076dc4760f7e131785…
commit 618076dc4760f7e13178570827844c3b88d7d318
Author: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
AuthorDate: Thu Sep 23 21:21:53 2021 +0200
Commit: Hermès Bélusca-Maïto <hermes.belusca-maito(a)reactos.org>
CommitDate: Sun Sep 26 03:02:56 2021 +0200
[FS_REC] Register a recognizer for FAT filesystem on CD-ROMs.
This handles the \FatCdrom device, supported by MS fastfat.
---
drivers/filesystems/fs_rec/fs_rec.c | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/drivers/filesystems/fs_rec/fs_rec.c b/drivers/filesystems/fs_rec/fs_rec.c
index 185d37cd4d0..2bd4da6da64 100644
--- a/drivers/filesystems/fs_rec/fs_rec.c
+++ b/drivers/filesystems/fs_rec/fs_rec.c
@@ -318,10 +318,12 @@ NTAPI
DriverEntry(IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath)
{
- ULONG DeviceCount = 0;
NTSTATUS Status;
+ ULONG DeviceCount = 0;
PDEVICE_OBJECT CdfsObject;
PDEVICE_OBJECT UdfsObject;
+ PDEVICE_OBJECT FatObject;
+
PAGED_CODE();
UNREFERENCED_PARAMETER(RegistryPath);
@@ -392,7 +394,7 @@ DriverEntry(IN PDRIVER_OBJECT DriverObject,
/* Register FAT */
Status = FsRecRegisterFs(DriverObject,
NULL,
- NULL,
+ &FatObject,
L"\\Fat",
L"\\FileSystem\\FatRecognizer",
FS_TYPE_VFAT,
@@ -400,6 +402,17 @@ DriverEntry(IN PDRIVER_OBJECT DriverObject,
0);
if (NT_SUCCESS(Status)) DeviceCount++;
+ /* Register FAT for CDs */
+ Status = FsRecRegisterFs(DriverObject,
+ FatObject,
+ NULL,
+ L"\\FatCdrom",
+ L"\\FileSystem\\FatCdRomRecognizer",
+ FS_TYPE_VFAT,
+ FILE_DEVICE_CD_ROM_FILE_SYSTEM,
+ 0);
+ if (NT_SUCCESS(Status)) DeviceCount++;
+
/* Register NTFS */
Status = FsRecRegisterFs(DriverObject,
NULL,