Windows Vista Tips

Windows Vista Tips > Newsgroups > Windows Vista Drivers > Storport WMI receives NULL srb->DataPath for first request

Reply
Thread Tools Display Modes

Storport WMI receives NULL srb->DataPath for first request

 
 
RamenWarrior
Guest
Posts: n/a

 
      06-18-2010
I am adding WMI support to my storport driver and used the sample code in the
DDK iSCSI driver as a foundation. My driver is simply trying to support the
HBA API and does not have any unique data to provide. There is no MOF for my
driver and I am simply using the GUID provided in Windows header files to
describe the data that can be retrieved from my driver.

The first time I executed my code I got a BSOD. After tracing through the
code, I determined that the srb->DataPath was NULL and that pointer was being
used inside scsiwmi.lib while processing the WMI request. I replaced the NULL
with a pointer to a GUID that I support and the code executed without
crashing.

I am not sure why the srb->DataPath would be used for the first WMI request.
I was expecting it to be a simple QueryRegInfo request, trying to identify
the MOF that might be defined in my storport driver.


Does anyone have any ideas about what might be happening?
 
Reply With Quote
 
 
 
 
RamenWarrior
Guest
Posts: n/a

 
      06-21-2010
Someone else reported that they saw srb->DataPath was NULL for the first
request in their storport driver as well. Is it possible this problem is
caused by not having a BMF file included in my .rc file? As I mentioned in
the original post, I have no private data and assumed these definitions were
optional.

"RamenWarrior" wrote:

> I am adding WMI support to my storport driver and used the sample code in the
> DDK iSCSI driver as a foundation. My driver is simply trying to support the
> HBA API and does not have any unique data to provide. There is no MOF for my
> driver and I am simply using the GUID provided in Windows header files to
> describe the data that can be retrieved from my driver.
>
> The first time I executed my code I got a BSOD. After tracing through the
> code, I determined that the srb->DataPath was NULL and that pointer was being
> used inside scsiwmi.lib while processing the WMI request. I replaced the NULL
> with a pointer to a GUID that I support and the code executed without
> crashing.
>
> I am not sure why the srb->DataPath would be used for the first WMI request.
> I was expecting it to be a simple QueryRegInfo request, trying to identify
> the MOF that might be defined in my storport driver.
>
>
> Does anyone have any ideas about what might be happening?

 
Reply With Quote
 
James Antognini [MSFT]
Guest
Posts: n/a

 
      07-21-2010
On Win7 at least (where I just tried), it's to be expected that the first WMI
SRB will have pSrb->DataPath = 0. I cannot explain the bugcheck you saw.
Since, as far as I know, a miniport saying it's a WMI provider must always
provide a .mof resource name, your problem may result from not doing so. Do
as I did, create a .mof with a few classes from HBAAPI.mof (I assume that's
what your reference to "HBA API" means) and see if things work.

This posting is provided "AS IS" with no warranties, and confers no rights.

"RamenWarrior" wrote:

> Someone else reported that they saw srb->DataPath was NULL for the first
> request in their storport driver as well. Is it possible this problem is
> caused by not having a BMF file included in my .rc file? As I mentioned in
> the original post, I have no private data and assumed these definitions were
> optional.
>
> "RamenWarrior" wrote:
>
> > I am adding WMI support to my storport driver and used the sample code in the
> > DDK iSCSI driver as a foundation. My driver is simply trying to support the
> > HBA API and does not have any unique data to provide. There is no MOF for my
> > driver and I am simply using the GUID provided in Windows header files to
> > describe the data that can be retrieved from my driver.
> >
> > The first time I executed my code I got a BSOD. After tracing through the
> > code, I determined that the srb->DataPath was NULL and that pointer was being
> > used inside scsiwmi.lib while processing the WMI request. I replaced the NULL
> > with a pointer to a GUID that I support and the code executed without
> > crashing.
> >
> > I am not sure why the srb->DataPath would be used for the first WMI request.
> > I was expecting it to be a simple QueryRegInfo request, trying to identify
> > the MOF that might be defined in my storport driver.
> >
> >
> > Does anyone have any ideas about what might be happening?

 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: problem with NdisReturnPackets ( ) please help me! Thomas F. Divine Windows Vista Drivers 0 06-17-2010 03:19 PM
No network drive mapping after joining Active Directory ? Patrick Active Directory 29 05-05-2010 12:21 PM
ActiveSync 4.1, Calendar and "Processing" Dale Reeck ActiveSync 10 12-20-2005 12:44 AM



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59