Hi,
I get this error sometimes even when there is no activity probably
something to do with PM.
Is there a way to find which driver these Device Objects belong to?
Incase the driver ends up being KMDF-based driver, do I need to store FDO
in my device-specific
context to figure out whether the culprit is my driver. Is there a way to
get it even if I had not
extracted PDO from WDFDEVICE and stored it at init time?
Thanks,
-Praveen
kd> !analyze -v
ERROR: FindPlugIns 8007007b
*******************************************************************************
*
*
* Bugcheck Analysis
*
*
*
*******************************************************************************
DRIVER_POWER_STATE_FAILURE (9f)
A driver is causing an inconsistent power state.
Arguments:
Arg1: 00000003, A device object has been blocking an Irp for too long a time
Arg2: 831d8b98, Physical Device Object of the stack
Arg3: 869c8f00, Functional Device Object of the stack
Arg4: 8b076f00, The blocked IRP
Use !devobj on the addresses for the device objects.
–
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply
“Praveen Kumar Amritaluru” wrote in message
news:xxxxx@ntdev…
> Hi,
>
> I get this error sometimes even when there is no activity probably
> something to do with PM.
> Is there a way to find which driver these Device Objects belong to?
>
> Incase the driver ends up being KMDF-based driver, do I need to store FDO
> in my device-specific
> context to figure out whether the culprit is my driver. Is there a way to
> get it even if I had not
> extracted PDO from WDFDEVICE and stored it at init time?
>
> Thanks,
> -Praveen
>
> kd> !analyze -v
> ERROR: FindPlugIns 8007007b
> ***
> *
> * Bugcheck Analysis
> *
>
>
> DRIVER_POWER_STATE_FAILURE (9f)
> A driver is causing an inconsistent power state.
> Arguments:
> Arg1: 00000003, A device object has been blocking an Irp for too long a
> time
> Arg2: 831d8b98, Physical Device Object of the stack
> Arg3: 869c8f00, Functional Device Object of the stack
> Arg4: 8b076f00, The blocked IRP
>
>
>
>
Actually !devstack will give you the relationship of the devobj in the
stack (look for the > in the first column), see
http://blogs.msdn.com/doronh/archive/2006/03/15/552301.aspx for sample
output and analysis.
For instance
0: kd> !devstack 8213c3d0
!DevObj !DrvObj !DevExt ObjectName
8213b030 \Driver\Mouclass 8213b0e8 PointerClass0
8213c250 \DRIVER\VERIFIER 8213c308
8213c3d0 \Driver\i8042prt 8213c488
8213c820 \DRIVER\VERIFIER 8213c8d8
822923e8 \Driver\ACPI 822b2270 00000050
Indicates the devobj is an FDO. Let’s say you have your device
extension value, 8213c488 in this case . You can use !wdfdevext to get
the WDFDEVICE and all context information, e.g. !wdfdevext 8213c488 in
the example above. Another thing that KMDF does for the context on your
WDFDEVICE is that DeviceObject->DeviceExtension points at your context,
so if i8042prt were a KMDF driver, 8213c488 would be the pointer to its
KMDF object context.
Finally, if you know you have a KMDF PDEVICE_OBJECT, !wdfdevice
will tell you the role explicitly.
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Don Burn
Sent: Thursday, August 24, 2006 1:16 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Is there a way to figure out my PDO/FDO in a windbg
session for a KMDF driver?
Use !devobj on the addresses for the device objects.
–
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply
“Praveen Kumar Amritaluru” wrote in message
news:xxxxx@ntdev…
> Hi,
>
> I get this error sometimes even when there is no activity probably
> something to do with PM.
> Is there a way to find which driver these Device Objects belong to?
>
> Incase the driver ends up being KMDF-based driver, do I need to store
FDO
> in my device-specific
> context to figure out whether the culprit is my driver. Is there a way
to
> get it even if I had not
> extracted PDO from WDFDEVICE and stored it at init time?
>
> Thanks,
> -Praveen
>
> kd> !analyze -v
> ERROR: FindPlugIns 8007007b
>
*****************************************************************
> * *
> * Bugcheck Analysis *
> * *
>
*****************************************************************
>
> DRIVER_POWER_STATE_FAILURE (9f)
> A driver is causing an inconsistent power state.
> Arguments:
> Arg1: 00000003, A device object has been blocking an Irp for too long
a
> time
> Arg2: 831d8b98, Physical Device Object of the stack
> Arg3: 869c8f00, Functional Device Object of the stack
> Arg4: 8b076f00, The blocked IRP
>
>
>
>
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
To answer your question differently, use:
!wdfdriverinfo 30
It will dump all your WDF objects. Then use:
!wdfdevice
on each of them and you’ll find all your WDM device objects.
- Jake Oshins
“Doron Holan” wrote in message
news:xxxxx@ntdev…
Actually !devstack will give you the relationship of the devobj in the
stack (look for the > in the first column), see
http://blogs.msdn.com/doronh/archive/2006/03/15/552301.aspx for sample
output and analysis.
For instance
0: kd> !devstack 8213c3d0
!DevObj !DrvObj !DevExt ObjectName
8213b030 \Driver\Mouclass 8213b0e8 PointerClass0
8213c250 \DRIVER\VERIFIER 8213c308
> 8213c3d0 \Driver\i8042prt 8213c488
8213c820 \DRIVER\VERIFIER 8213c8d8
822923e8 \Driver\ACPI 822b2270 00000050
Indicates the devobj is an FDO. Let’s say you have your device
extension value, 8213c488 in this case . You can use !wdfdevext to get
the WDFDEVICE and all context information, e.g. !wdfdevext 8213c488 in
the example above. Another thing that KMDF does for the context on your
WDFDEVICE is that DeviceObject->DeviceExtension points at your context,
so if i8042prt were a KMDF driver, 8213c488 would be the pointer to its
KMDF object context.
Finally, if you know you have a KMDF PDEVICE_OBJECT, !wdfdevice
will tell you the role explicitly.
d
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Don Burn
Sent: Thursday, August 24, 2006 1:16 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Is there a way to figure out my PDO/FDO in a windbg
session for a KMDF driver?
Use !devobj on the addresses for the device objects.
–
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
http://www.windrvr.com
Remove StopSpam from the email to reply
“Praveen Kumar Amritaluru” wrote in message
news:xxxxx@ntdev…
> Hi,
>
> I get this error sometimes even when there is no activity probably
> something to do with PM.
> Is there a way to find which driver these Device Objects belong to?
>
> Incase the driver ends up being KMDF-based driver, do I need to store
FDO
> in my device-specific
> context to figure out whether the culprit is my driver. Is there a way
to
> get it even if I had not
> extracted PDO from WDFDEVICE and stored it at init time?
>
> Thanks,
> -Praveen
>
> kd> !analyze -v
> ERROR: FindPlugIns 8007007b
>
*****************************************************************
> * *
> * Bugcheck Analysis *
> * *
>
*****************************************************************
>
> DRIVER_POWER_STATE_FAILURE (9f)
> A driver is causing an inconsistent power state.
> Arguments:
> Arg1: 00000003, A device object has been blocking an Irp for too long
a
> time
> Arg2: 831d8b98, Physical Device Object of the stack
> Arg3: 869c8f00, Functional Device Object of the stack
> Arg4: 8b076f00, The blocked IRP
>
>
>
>
—
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer