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/scsip... ============================================================================== --- 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