понедельник, 25 февраля 2013 г.

HW_INITIALIZATION_DATA in storport driver extensions

Function StorPortInitialize has struct HW_INITIALIZATION_DATA as third args, but where this structure is stored ?
Run wincheck.exe -alldrv -dext -f dext.log and see dext.log for storport.sys driver extensions:


Driver \Driver\LSI_SCSI extensions:
 8389AA78 Key 80738711 \SystemRoot\system32\drivers\storport.sys
Check address 8389AA78 in windbg:
lkd> dp 8389AA78
8389aa78  00000002 82f7d948 82b41158 82b4115c
8389aa88  8473de1c 007a0078 82b42af0 82f5ea70
8389aa98  82f5ea70 00000001 00000000 00000000
8389aaa8  82b41718 82b41718 04350009 44706341
8389aab8  00328220 05502008 5f534750 00000000
8389aac8  804873f4 00000000 00000000 00000000
8389aad8  00000000 00000000 00000000 00000000
8389aae8  00000000 00000000 00000000 00000000
lkd> !pool 82b41718 2
Pool page 82b41718 region is Nonpaged pool
*82b416a8 size:   78 previous size:    8  (Allocated) *RaHI
        Pooltag RaHI : RaSaveDriverInitData storport!_HW_INITIALIZATION_DATA, Binary : storport.sys
lkd> dp 82b41718-68
82b416b0  00000054 00000005 80770de0 807716e0
82b416c0  80777634 80770006 80770f60 00000000
82b416d0  00000000 00000a80 00000010 00000120
82b416e0  00000002 00000000 01010102 00000001
82b416f0  00000000 00000000 00000000 80774490
82b41700  807714b4 546c6d41 818fe14c 82f44480
82b41710  804895e8 8047c3ab 8389aaa8 8389aaa8
82b41720  0405000f 53706341 49504341 43534e5c
lkd> dt storport!_HW_INITIALIZATION_DATA 82b41718-68
   +0x000 HwInitializationDataSize : 0x54
   +0x004 AdapterInterfaceType : 5 ( PCIBus )
   +0x008 HwInitialize     : 0x80770de0     unsigned char  lsi_scsi!LSImpiHWInitialize+0
   +0x00c HwStartIo        : 0x807716e0     unsigned char  lsi_scsi!LSImpiStartIo+0
   +0x010 HwInterrupt      : 0x80777634     unsigned char  lsi_scsi!LSImpiIsr+0
   +0x014 HwFindAdapter    : 0x80770006     unsigned long  lsi_scsi!LSImpiFindAdapter+0
   +0x018 HwResetBus       : 0x80770f60     unsigned char  lsi_scsi!LSImpiOSReset+0
   +0x01c HwDmaStarted     : (null)
   +0x020 HwAdapterState   : (null)
   +0x024 DeviceExtensionSize : 0xa80
   +0x028 SpecificLuExtensionSize : 0x10
   +0x02c SrbExtensionSize : 0x120
   +0x030 NumberOfAccessRanges : 2
   +0x034 Reserved         : (null)
   +0x038 MapBuffers       : 0x2 ''
   +0x039 NeedPhysicalAddresses : 0x1 ''
   +0x03a TaggedQueuing    : 0x1 ''
   +0x03b AutoRequestSense : 0x1 ''
   +0x03c MultipleRequestPerLu : 0x1 ''
   +0x03d ReceiveEvent     : 0 ''
   +0x03e VendorIdLength   : 0
   +0x040 VendorId         : (null)
   +0x044 ReservedUshort   : 0
   +0x044 PortVersionFlags : 0
   +0x046 DeviceIdLength   : 0
   +0x048 DeviceId         : (null)
   +0x04c HwAdapterControl : 0x80774490     _SCSI_ADAPTER_CONTROL_STATUS  lsi_scsi!LSImpiAdapterControl+0
   +0x050 HwBuildIo        : 0x807714b4     unsigned char  lsi_scsi!LSImpiBuildIo+0

Комментариев нет:

Отправить комментарий