[ros-diffs] [jimtabor] 13768: Check for removable media and Partition length is 0, for DiskClassCheckReadWrite.

jimtabor at svn.reactos.com jimtabor at svn.reactos.com
Sun Feb 27 22:17:24 CET 2005


Check for removable media and Partition length is 0, for
DiskClassCheckReadWrite.
Modified: trunk/reactos/drivers/storage/disk/disk.c
  _____  

Modified: trunk/reactos/drivers/storage/disk/disk.c
--- trunk/reactos/drivers/storage/disk/disk.c	2005-02-27 20:38:36 UTC
(rev 13767)
+++ trunk/reactos/drivers/storage/disk/disk.c	2005-02-27 21:17:24 UTC
(rev 13768)
@@ -406,10 +406,26 @@

       return(STATUS_INVALID_PARAMETER);
     }
 
+
+
   IrpStack = IoGetCurrentIrpStackLocation(Irp);  
   EndingOffset.QuadPart = IrpStack->Parameters.Read.ByteOffset.QuadPart
+
                           IrpStack->Parameters.Read.Length;
 
+
+  DPRINT("Ending %I64d, and RealEnding %I64d! PartSize
%I64d\n",EndingOffset.QuadPart,
+          DeviceExtension->PartitionLength.QuadPart,
+	  DeviceExtension->PartitionLength.QuadPart /
+          DeviceExtension->DiskGeometry->BytesPerSector);
+
+  if ((DeviceObject->Characteristics & FILE_REMOVABLE_MEDIA) &&
+      (DeviceExtension->DiskGeometry->MediaType == RemovableMedia))
+    {
+/* Assume if removable media and if Partition length is 0, Partition
not built yet! */
+	if (DeviceExtension->PartitionLength.QuadPart == 0)
+            return(STATUS_SUCCESS);
+    }
+
   if (EndingOffset.QuadPart >
DeviceExtension->PartitionLength.QuadPart)
     {
       Irp->IoStatus.Status = STATUS_INVALID_PARAMETER;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20050227/736d028c/attachment.html


More information about the Ros-diffs mailing list