Здравствуйте. Я обнаружил, что в Windows 2003 вызов DeviceIOControl с кодом IOCTL_SCSI_RESCAN_BUS уже не поддерживается. Суть проблемы в том, что после изменения паспортных данных, например - после обновления микропрограммы, необходимо заставить драйвер заново считать идентификационные данные из жесткого диска.
Я заметил, что переключение режима передачи данных PIO<->UDMA, в диспетчере устройств, заставляет драйвер заново считать паспортные данные жесткого диска. Ниже результат перехвата вызываемых при этом функций. К сожалению, я недостаточно хорошо знаком с такими подробностями устройства операционной системы. Подскажите, пожалуйста, где копать? Код (Text): Length - Total transfer length Phase - Phase Type IN Data in transfer SRB SCSI request block STAK NT IRP stack location Data - Hex dump of the data transferred Descr - Description of the phase Cmd... - Position in the captured data Driver - atapi.sys : IDE/ATAPI Port Driver 5.2.3790.1830 (srv03_sp1_rtm.050324-1447) Device Length Phase Data Description Cmd.Phase.Ofs(rep) Driver ------ -------- ----- -------------------------------------------------- ---------------- ------------------ ------------ 1 STAK 0e 00 00 e0 14 00 00 00 IOCTL 1.1.0 atapi 1 STAK 0e 00 00 e0 24 00 00 00 IOCTL 2.1.0 atapi 3 SRB 40 00 c8 44 00 00 00 00 3.1.0 atapi 3 STAK 0f 00 00 e0 40 05 61 82 INTERNAL IOCTL 3.2.0 3 SRB 40 00 c8 01 00 00 00 00 4.1.0(3) atapi 3 STAK 0f 00 00 e0 40 05 61 82 INTERNAL IOCTL 4.2.0 3 SRB 40 00 c7 01 00 00 00 00 7.1.0 atapi 3 STAK 0f 00 00 e0 40 05 61 82 INTERNAL IOCTL 7.2.0 1 STAK 0e 00 00 e0 00 00 00 00 IOCTL 8.1.0 atapi 3 36 IN 00 00 00 00 00 00 00 00 ........ 9.1.0 atapi 3 SRB 40 00 00 01 00 00 00 00 EXEC SCSI 9.2.0 3 STAK 0f 00 00 e0 40 05 61 82 INTERNAL IOCTL 9.3.0 0 STAK 1b 09 00 00 7c 67 8e f7 QUERY CAPS 10.1.0 unknown 1 STAK 1b 09 00 00 70 69 8e f7 QUERY CAPS 11.1.0 unknown 3 STAK 1b 09 00 e0 24 6c 8e f7 QUERY CAPS 12.1.0 unknown 1 STAK 1b 07 00 00 00 00 00 00 QUERY RELATIONS 13.1.0 unknown 3 STAK 1b 07 00 e0 00 00 00 00 QUERY RELATIONS 14.1.0 unknown