Strange error with IRP

Hello, I get the following error after AddDevice() returns.

*** IopQueryLegacyBusInformation - Driver WDMDriver returned STATUS_SUCCESS
for IRP_MN_QUERY_LEGACY_BUS_INFORMATION, and a NULL POINTER.

However the doc says this IRP function is reserved for system.

What should I do ?

I forgot to mention another error:

***** Received IRP_MN_START_DEVICE
*** BugBug : Driver WDMDriver returned status = 0 and Information = 0
for IRP_MN_BOGUS.

what the hell is this IRP_MN_BOGUS ?

“Nicolas Mugnier” a écrit dans le message de
news:xxxxx@ntdev…
>
> Hello, I get the following error after AddDevice() returns.
>
> *** IopQueryLegacyBusInformation - Driver WDMDriver returned
STATUS_SUCCESS
> for IRP_MN_QUERY_LEGACY_BUS_INFORMATION, and a NULL POINTER.
>
> However the doc says this IRP function is reserved for system.
>
> What should I do ?
>
>
>
>

IRP_MN_BOGUS is a bogus IRP. Right :slight_smile: You should not handle it and you
should pass it down without touching anything.

I believe DriverVerifier sends this. In any case: you don’t implement it ->
you pass it down.

Mat

-----Original Message-----
From: Nicolas Mugnier [mailto:xxxxx@cesa.fr]
Sent: Wednesday, August 13, 2003 8:25 AM
To: Windows System Software Developers Interest List
Subject: [ntdev] Re: Strange error with IRP

I forgot to mention another error:

***** Received IRP_MN_START_DEVICE
*** BugBug : Driver WDMDriver returned status = 0 and Information = 0
for IRP_MN_BOGUS.

what the hell is this IRP_MN_BOGUS ?

“Nicolas Mugnier” a ?crit dans le message de
news:xxxxx@ntdev…
>
> Hello, I get the following error after AddDevice() returns.
>
> *** IopQueryLegacyBusInformation - Driver WDMDriver returned
STATUS_SUCCESS
> for IRP_MN_QUERY_LEGACY_BUS_INFORMATION, and a NULL POINTER.
>
> However the doc says this IRP function is reserved for system.
>
> What should I do ?
>
>
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@guillemot.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Quoth the DDK:
(regarding processing Pnp IRPs.)

If the driver does not perform actions for this IRP, it simply prepares to
pass the IRP to the next driver:
Call IoSkipCurrentIrpStackLocation to remove its stack location from
the IRP.
Do not set any fields in Irp->IoStatus.
Do not set an IoCompletion routine.
Do not complete the IRP. (Do not call IoCompleteRequest.) The parent
bus driver will complete the IRP.

As in, if you aren’t a bus driver and don’t know what to do with a PnP IRP,
do the following:

IoSkipCurrentIrpStackLocation (Irp);
return IoCallDriver (m_NextLowerDevice, Irp);

IRP_MN_BOGUS is used to verify that your PnP IRP handling can correctly
handle PnP IRPs that it doesn’t understand.

=====================
Mark Roddy
Hollis Technology Solutions
www.hollistech.com
xxxxx@hollistech.com

-----Original Message-----
From: Nicolas Mugnier [mailto:xxxxx@cesa.fr]
Sent: Wednesday, August 13, 2003 8:25 AM
To: Windows System Software Developers Interest List
Subject: [ntdev] Re: Strange error with IRP

I forgot to mention another error:

***** Received IRP_MN_START_DEVICE
*** BugBug : Driver WDMDriver returned status = 0 and Information = 0 for
IRP_MN_BOGUS.

what the hell is this IRP_MN_BOGUS ?

“Nicolas Mugnier” a ?crit dans le message de
news:xxxxx@ntdev…
>
> Hello, I get the following error after AddDevice() returns.
>
> *** IopQueryLegacyBusInformation - Driver WDMDriver returned
STATUS_SUCCESS
> for IRP_MN_QUERY_LEGACY_BUS_INFORMATION, and a NULL POINTER.
>
> However the doc says this IRP function is reserved for system.
>
> What should I do ?
>
>
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@stratus.com To
unsubscribe send a blank email to xxxxx@lists.osr.com

Thank for your help, it was indeed that.
My code had a bat path to an IoCompleteRequest() function

“Roddy, Mark” a écrit dans le message de
news:xxxxx@ntdev…

Quoth the DDK:
(regarding processing Pnp IRPs.)

If the driver does not perform actions for this IRP, it simply prepares to
pass the IRP to the next driver:
Call IoSkipCurrentIrpStackLocation to remove its stack location from
the IRP.
Do not set any fields in Irp->IoStatus.
Do not set an IoCompletion routine.
Do not complete the IRP. (Do not call IoCompleteRequest.) The parent
bus driver will complete the IRP.

As in, if you aren’t a bus driver and don’t know what to do with a PnP IRP,
do the following:

IoSkipCurrentIrpStackLocation (Irp);
return IoCallDriver (m_NextLowerDevice, Irp);

IRP_MN_BOGUS is used to verify that your PnP IRP handling can correctly
handle PnP IRPs that it doesn’t understand.

=====================
Mark Roddy
Hollis Technology Solutions
www.hollistech.com
xxxxx@hollistech.com

-----Original Message-----
From: Nicolas Mugnier [mailto:xxxxx@cesa.fr]
Sent: Wednesday, August 13, 2003 8:25 AM
To: Windows System Software Developers Interest List
Subject: [ntdev] Re: Strange error with IRP

I forgot to mention another error:

**Received IRP_MN_START_DEVICE
BugBug : Driver WDMDriver returned status = 0 and Information = 0 for
IRP_MN_BOGUS.

what the hell is this IRP_MN_BOGUS ?

“Nicolas Mugnier” a écrit dans le message de
news:xxxxx@ntdev…
>
> Hello, I get the following error after AddDevice() returns.
>
> *** IopQueryLegacyBusInformation - Driver WDMDriver returned
STATUS_SUCCESS
> for IRP_MN_QUERY_LEGACY_BUS_INFORMATION, and a NULL POINTER.
>
> However the doc says this IRP function is reserved for system.
>
> What should I do ?
>
>
>
>


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

You are currently subscribed to ntdev as: xxxxx@stratus.com To
unsubscribe send a blank email to xxxxx@lists.osr.com