https://git.reactos.org/?p=reactos.git;a=commitdiff;h=618076dc4760f7e13178570827844c3b88d7d318

commit 618076dc4760f7e13178570827844c3b88d7d318
Author:     Hermès Bélusca-Maïto <[email protected]>
AuthorDate: Thu Sep 23 21:21:53 2021 +0200
Commit:     Hermès Bélusca-Maïto <[email protected]>
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,

Reply via email to