Отсутствие IOCTL_SCSI_RESCAN_BUS в Windows 2003

Тема в разделе "WASM.WIN32", создана пользователем HCode, 19 мар 2006.

  1. HCode

    HCode New Member

    Публикаций:
    0
    Регистрация:
    21 янв 2006
    Сообщения:
    72
    Здравствуйте.



    Я обнаружил, что в Windows 2003 вызов DeviceIOControl с кодом IOCTL_SCSI_RESCAN_BUS уже не поддерживается.



    Суть проблемы в том, что после изменения паспортных данных, например - после обновления микропрограммы, необходимо заставить драйвер заново считать идентификационные данные из жесткого диска.
     
  2. HCode

    HCode New Member

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