Yes I set breakpoints in many places and they never get called (in softice
and I watch the KdPrints from Windbg ). But I think that you are onto
something about the Inf file. I am not very skilled at interpeting them but
I think I see some places there where I could be telling the system that I
am a Legacy only device. That would explain why it gets upset when I try to
load as a PnP device.
Thank you for all your help.
-----Original Message-----
From: Gary G. Little [mailto:xxxxx@inland.net]
Sent: Friday, December 29, 2000 4:45 AM
To: NT Developers Interest List
Subject: [ntdev] Re: Plug and Play in 2000
Ok, have you set breakpoints in any of the entry points that you defined and
passed to ScsiPortInitialize? If you haven’t, I would set breakpoints in
HwFind… and HwInitialize… Did you define Vendor and Device Id’s? How
did you set AdapterInterfaceType?
Gary
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Sean O’Connor
Sent: Thursday, December 28, 2000 2:29 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Plug and Play in 2000
Here is a cut of my Windbg log file. Nasvault is the name of my driver and
the first 3 messages are mine coming from my DriverEntry KdPrint statements
the last message comes from the system. The return value of 0 is fine.
NASVault Driver Entry . . .
NASVault DriverEntry calling ScsiPortInitialize . . .
NASVAULT ScsiPortInitialize Returned 0
****** Unloaded driver (nasvault)
I am a legacy device the discovery of the hardware occurs immediately,
before ScsiPortInitialize returns. When I enable Plug and Play
ScsiPortInitialize returns without discovering the hardware. The docs say
that this discovery is done at a later time.
-----Original Message-----
From: Gary G. Little [mailto:xxxxx@inland.net]
Sent: Thursday, December 28, 2000 2:35 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Plug and Play in 2000
Maybe I missed it, but have you ever stated what status is returned by
DriverEntry, or at least what status is returned by ScsiPortInitialize?
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Sean O’Connor
Sent: Thursday, December 28, 2000 1:10 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Plug and Play in 2000
According to the DDK docs it is the registry entry that decides it.
“The PnPInterface registry entry should be made under the Services key for
the miniport. For example, the following registry entry enables Plug and
Play for a fictitious miniport driver called Twiddle.”
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
\Twiddle
\Parameters
\PnpInterface
5 : REG_DWORD : 1 (5 = PCI)
1 : REG_DWORD : 1 (1 = Isa)
2 : REG_DWORD : 1 (2 = Eisa)
8 : REG_DWORD : 1 (8 = Pcmcia)
I have done this as well as register the entry point HwScsiAdapterControl
which is the AddDevice equivalent for a Scsi Miniport driver. I modeled
this after the docs and the sample drivers in the DDK. I cannot find
anything substantially different between my driver and the DDK samples,
other than the fact that my driver does not interact with any hardware. I
have experienced cases where W2K gets touchy because of this fact but I
found a way around it. I can only guess as to what is happening but it
seems that once I exit DriverEntry the PnP manager goes through some checks
to see if it is happy with what it has been told. Apparently it is not
because it drops me on the floor with no explanation. Possibly it has
dectected that I have installed this driver as a “Virtual driver” not
associated with any hardware bus (which was only possible because of a 4
week long support call).
Rant to follow: Is anyone else tired of Microsoft trying to make their OS
as mysterious as possible? Back in the 16 bit days you could do almost
anything. Now you are forced to interact with what is basically a Black
box. Poke it and observe the response, repeat ad nauseam. Win2k is huge
but the documentation has barely grown from NT4. What do they hope to gain
by creating such a knowledge vacuum?
Sean O’Connor
-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Thursday, December 28, 2000 1:25 PM
To: NT Developers Interest List
Subject: [ntdev] Re: Plug and Play in 2000
> then call the routine ScsiPortInitialize with that information and exit
from
> DriverEntry. It is right after this that the OS unloads me without even
> calling any more of my routines ( I verified this through Windbg and
KdPrint
> statements ).
BTW - a good question:
- how the OS determines whether the driver is PnP one or a non-PnP one?
Is setting DriverExtension->AddDevice to non-NULL in DriverEntry the
criteria? Or some registry stuff?
Max
—
You are currently subscribed to ntdev as: xxxxx@spectralogic.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
—
You are currently subscribed to ntdev as: xxxxx@inland.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
—
You are currently subscribed to ntdev as: xxxxx@spectralogic.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
—
You are currently subscribed to ntdev as: xxxxx@inland.net
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
—
You are currently subscribed to ntdev as: xxxxx@spectralogic.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
—
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