Hello, experts.
I work in the anti-virus company and I am engaged in driver working out. One of its possibilities is a reading of a disk on a low level. To one of versions of your driver occurs BSOD at sending on the ATA-device of command ATA_IDENTIFY_DEVICE by means of IOCTL_ATA_PASS_THROUGH_DIRECT. BSOD occurs in your driver, after sending to it of it IOCTL.
1: kd> lmvm iastor
start end module name
82e6d000 82f47000 iaStor (no symbols)
Loaded symbol image file: iaStor.sys
Image path: \\SystemRoot\\system32\\DRIVERS\\iaStor.sys
Image name: iaStor.sys
Timestamp: Sat Sep 13 00:31:52 2008 (48CAD1B8)
CheckSum: 0004FF15
ImageSize: 000DA000
Translations: 0000.04b0 0000.04e4 0409.04b0 0409.04e4
1: kd> kb
*** Stack trace for last set context - .thread/.cxr resets it
ChildEBP RetAddr Args to Child
WARNING: Stack unwind information not available. Following frames may be wrong.
c1bc95dc 82eacb21 861a00e0 00000000 8798cc40 iaStor+0x273f
c1bc95f8 82eae086 8798cc40 a25eb710 879598c8 iaStor+0x3fb21
c1bc961c 828779c6 861a0028 8798ccf8 ffd21024 iaStor+0x41086
c1bc9634 807c16c2 ffd21024 c1bc9654 807c807a nt!IofCallDriver+0x63
c1bc9640 807c807a 86793bd8 8798cc40 8798ccf8 acpi!ACPIDispatchForwardIrp+0x2a
c1bc9654 807c1f02 86793bd8 8798cc40 8798cc40 acpi!ACPIIrpDispatchDeviceControl+0xa4
c1bc9684 828779c6 86793bd8 86165c60 8798cd38 acpi!ACPIDispatchIrp+0x19a
c1bc969c 8b3bfbce fffdcc2d 8798cc40 89523ac8 nt!IofCallDriver+0x63
c1bc9720 8b3a9e32 89523ac8 8798cc40 8798cc40 CLASSPNP!ClassDeviceControl+0xca5
c1bc973c 8b3bfc6c 89523ac8 0004d030 00000000 disk!DiskDeviceControl+0x1ac
c1bc9758 8b3bed44 89523ac8 8798cc40 89523ac8 CLASSPNP!ClassDeviceControlDispatch+0x48
c1bc976c 828779c6 89523ac8 8798cc40 00000000 CLASSPNP!ClassGlobalDispatch+0x20
c1bc9784 805ef1de 8881a7c8 8798cc40 00000000 nt!IofCallDriver+0x63
c1bc97b4 805e66d1 0081a7c8 00000000 805e61b0 partmgr!PmIoctlPassThrough+0x11c
c1bc97d4 805e61cd 00000000 8881a8b8 8798cd1c partmgr!PmFilterDeviceControl+0xc8
c1bc97e8 a51910ca 8881a7c8 8798cc40 00000000 partmgr!PmGlobalDispatch+0x1d
If there is a necessity, we can give kernel memory dump.

