Hi Joe,
This means you just do not open the handle to your SCSI miniport driver
correctly. There are at least two ways of doing (retreiving the handle of
SCSI miniport). First one is just walk down the list of the device objects
(you get the pointer to your driver object in DriverEntry() - that’s your
staring point) associated with your driver object and seek for
DEVICE_TYPE_CONTROLLER. Second way - you pass the name of the SCSI miniport
(or at least index) from the User Mode control application (you can
implement the IOCTL_SCSI_MINIPORT call in the SCSI miniport to differ your
SCSI miniport from the others, pass some kind of private structure and
analyze reponse filled by the SCSI miniport in your User Mode application)
to the SCSI miniport. Then you open the miniport by call to
ZwCreateFile(…) inside the worker thread and keep the handle value.
You’ll recycle this value in the serie of the calls to complete SRB.
Hi Anton,
Alright I got by that problem. New problem. I get a STATUS_NO_DEVICE
response to my intermediate SRB call. I set a break point in my
HwStartIo
and sure enough, I did not get called. After awhile of searching around
and
debugging. I realized my SRB was headed to my PCI/IDE controller Scsi
Miniport driver (atapi.sys). I guess this driver consumed device
//device/ScsiPort0. I assumed my Scsi Miniport should be at
//device/ScsiPort1 but when I tried I got a STATUS_OBJECT_NAME_NOT_FOUND
error when searching for the device object.My virtual miniport was defined as an ISA device. It has nothing to do
with
ISA but I wanted to support the PnP model. Setting my miniport to an
Internal device causes the miniport to not support PnP. I want PnP
support
for power management of the system. In particular, hibernation support
for
our system. I also could never get it to call any of my entry points
after
HwFindAdapter was called when setting the miniport to Internal.Any ideas?
Thanks,
Joe
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com