https://git.reactos.org/?p=reactos.git;a=commitdiff;h=618076dc4760f7e1317857...
commit 618076dc4760f7e13178570827844c3b88d7d318 Author: Hermès Bélusca-Maïto hermes.belusca-maito@reactos.org AuthorDate: Thu Sep 23 21:21:53 2021 +0200 Commit: Hermès Bélusca-Maïto hermes.belusca-maito@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,