Well, after a power outage that forced me to sit down and review the books
I got from Brian Caitlin’s Windows 2000 WDM Driver course, I finally found
the problem. The problem was not how the FDO was handling the
IRP_MN_FILTER_RESOURCE_REQUIREMENTS (IMFRR), but how the bus driver was
handling IRP_MN_QUERY_RESOURCE_REQUIREMENTS (IRMQRR). The FDO really doesn’t
need any resources, but early in the design I made provisions for it to
acquire some. However, I managed to garble the resources I allocated, and I
suspect that Whistler didn’t like them when it saw them returned from IMFRR,
and didn’t send the START_DEVICE.
The solution was to return NULL in Irp->IoStatus.Information when IMQRR was
received in the bus driver, and simply pass IMFRR through the FDO.
(No, it wasn’t a California rolling brown-out – I think Mr. Pigeon landed
where he shouldn’t have landed on the roof of our building.)
Gary
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