Re: Erratum in Walter Oney's book "Programming the MS Windows Driver Model" 2nd Ed.

Tech-Archive recommends: Fix windows errors by optimizing your registry

From: Alexander Grigoriev (alegr_at_earthlink.net)
Date: 07/21/04


Date: Wed, 21 Jul 2004 08:48:25 -0700

You should set STATUS_SUCCESS if you handle QUERY_DEVICE_TEXT and its
subcode in your PDO. If the subcode is unknown, you should simply complete
the IRP, as all other IRPs you don't handle.

"Martin Harvey (work)" <m.harvey@nospam.snellwilcox.com> wrote in message
news:uyCNPfybEHA.644@tk2msftngp13.phx.gbl...
> Hi folks,
>
> Just a quick check to see whether anyone else has found this, and agrees
> that it's just a typo:
>
> I've been developing a multifunction driver in accordance with the
> principles laid out in Walter's book, which I am finding to be a very
clear
> and useful volume. However, there does appear to be a small error in
it....
> In Chapter 11, where it discusses handling of PnP requests dependent on
> whether the IRP concerns the FDO or PDO, Table 11-1 indicates that the
> "succeed" action should be taken for IRP_MN_QUERY_DEVICE_TEXT when handled
> for a PDO.
>
> When I tried this with the verifier running, a bugcheck ensued:
>
> WDM DRIVER ERROR: [xxxxxx.sys @ 0xF052BF70] Caller has changed the status
>
> field of an IRP it does not understand (Irp = 820EAF48 ).
>
> IRP_MJ_PNP.IRP_MN_QUERY_DEVICE_TEXT(Bogus)
>
>
> I then took the time to install the examples that come with the book, and
> noticed that the MULFUNC example actually performs the "ignore" action, so
> I'm assuming that this is just a typo in the book?
>
> MH.
>
>



Relevant Pages

  • Re: Bluetooth DDI [Getting Interface via IRP_MN_QUERY_INTERFACE]
    ... I thought i need to send the irp to ... If I attach FDO to PDO, i.e. IoAttachDeviceToDeviceStack, its ... IndicationCallback will contain a pointer (since I set ... did you initialize the Interface field? ...
    (microsoft.public.development.device.drivers)
  • Re: Bluetooth DDI [Getting Interface via IRP_MN_QUERY_INTERFACE]
    ... I thought i need to send the irp to ... If I attach FDO to PDO, i.e. IoAttachDeviceToDeviceStack, ... IndicationCallback will contain a pointer (since I set ... did you initialize the Interface field? ...
    (microsoft.public.development.device.drivers)
  • Re: Bluetooth DDI [Getting Interface via IRP_MN_QUERY_INTERFACE]
    ... If I attach FDO to PDO, i.e. IoAttachDeviceToDeviceStack, its ... I thought i need to send the irp to PDO?! ... did you initialize the Interface field? ... Now the driver is enumerated by the bthport, sending brbs are ok, but my ...
    (microsoft.public.development.device.drivers)
  • Re: Bluetooth DDI [Getting Interface via IRP_MN_QUERY_INTERFACE]
    ... If I attach FDO to PDO, i.e. IoAttachDeviceToDeviceStack, its ... I thought i need to send the irp to ... IndicationCallback will contain a pointer (since I set ... did you initialize the Interface field? ...
    (microsoft.public.development.device.drivers)
  • Re: Toaster on IA64 systems
    ... BusEnum.SYS: FDO IRP_MN_QUERY_CAPABILITIES IRP:0xb5059ea0 ... BusEnum.SYS: Exposing PDO ... BusEnum.SYS: PDO IRP_MN_QUERY_CAPABILITIES IRP: 0xb5821ee0 ... Featured1: AddDevice PDO ...
    (microsoft.public.development.device.drivers)