Author: arty
Date: Fri Nov 13 16:27:43 2009
New Revision: 44138
URL:
http://svn.reactos.org/svn/reactos?rev=44138&view=rev
Log:
Introduce a stub for STORAGE_HOTPLUG_INFO. Filesystems rely on it. We just report
not being hotplugged or media-changing right now.
Modified:
branches/arty-newcc/drivers/storage/scsiport/scsiport.c
branches/arty-newcc/include/ddk/ntddstor.h
Modified: branches/arty-newcc/drivers/storage/scsiport/scsiport.c
URL:
http://svn.reactos.org/svn/reactos/branches/arty-newcc/drivers/storage/scsi…
==============================================================================
--- branches/arty-newcc/drivers/storage/scsiport/scsiport.c [iso-8859-1] (original)
+++ branches/arty-newcc/drivers/storage/scsiport/scsiport.c [iso-8859-1] Fri Nov 13
16:27:43 2009
@@ -2825,6 +2825,25 @@
case IOCTL_SCSI_MINIPORT:
DPRINT1("IOCTL_SCSI_MINIPORT unimplemented!\n");
break;
+
+ case IOCTL_STORAGE_GET_HOTPLUG_INFO:
+ if (Stack->Parameters.DeviceIoControl.OutputBufferLength <
sizeof(STORAGE_HOTPLUG_INFO))
+ {
+ Status = STATUS_BUFFER_TOO_SMALL;
+ }
+ else
+ {
+ STORAGE_HOTPLUG_INFO HotplugInfo = { };
+ HotplugInfo.Size = sizeof(HotplugInfo);
+ // XXX Stub
+ RtlCopyMemory
+ (Irp->AssociatedIrp.SystemBuffer,
+ &HotplugInfo,
+ sizeof(HotplugInfo));
+ Irp->IoStatus.Information = sizeof(HotplugInfo);
+ Status = STATUS_SUCCESS;
+ }
+ break;
case IOCTL_SCSI_PASS_THROUGH:
DPRINT1("IOCTL_SCSI_PASS_THROUGH unimplemented!\n");
Modified: branches/arty-newcc/include/ddk/ntddstor.h
URL:
http://svn.reactos.org/svn/reactos/branches/arty-newcc/include/ddk/ntddstor…
==============================================================================
--- branches/arty-newcc/include/ddk/ntddstor.h [iso-8859-1] (original)
+++ branches/arty-newcc/include/ddk/ntddstor.h [iso-8859-1] Fri Nov 13 16:27:43 2009
@@ -349,6 +349,14 @@
BOOLEAN PreventMediaRemoval;
} PREVENT_MEDIA_REMOVAL, *PPREVENT_MEDIA_REMOVAL;
+typedef struct _STORAGE_HOTPLUG_INFO {
+ ULONG Size;
+ UCHAR MediaRemovable;
+ UCHAR MediaHotplug;
+ UCHAR DeviceHotplug;
+ UCHAR WriteCacheEnableOverride;
+} STORAGE_HOTPLUG_INFO, *PSTORAGE_HOTPLUG_INFO;
+
#ifdef __cplusplus
}
#endif