다음을 통해 공유


!devobj

!devobj 확장은 DEVICE_OBJECT 구조에 대한 자세한 정보를 표시합니다.

!devobj DeviceObject 

매개 변수

DeviceObject
디바이스 개체를 지정합니다. 이 구조체의 16진수 주소 또는 디바이스 이름일 수 있습니다.

DLL

Kdexts.dll

추가 정보

이 확장 명령의 예제 및 애플리케이션은 플러그 앤 플레이 디버깅을 참조하세요. 디바이스 개체에 대한 자세한 내용은 WDK(Windows 드라이버 키트) 설명서 및 Mark Russinovich 및 David Solomon의 Microsoft Windows Internals 를 참조하세요.

설명

DeviceObject가 디바이스의 이름을 지정하지만 접두사를 제공하지 않는 경우 접두사 "\Device\"가 가정됩니다. 이 명령은 식 계산기를 사용하기 전에 DeviceObject가 유효한 주소인지 또는 디바이스 이름인지 확인합니다.

표시되는 정보에는 개체의 디바이스 이름, 디바이스의 현재 IRP에 대한 정보 및 디바이스 큐에 보류 중인 IRP의 주소 목록이 포함됩니다. 또한 이 개체 위에 계층화된 디바이스 개체("AttachedDevice"로 나열됨) 및 이 개체 아래에 계층화된 디바이스 개체("AttachedTo"로 나열됨)에 대한 정보도 포함됩니다.

!drvobj 또는 !devnode 확장을 사용하여 디바이스 개체의 주소를 가져올 수 있습니다.

한 가지 예는 다음과 같습니다.

kd> !devnode
Dumping IopRootDeviceNode (= 0x80e203b8)
DevNode 0x80e203b8 for PDO 0x80e204f8
 Parent 0000000000   Sibling 0000000000   Child 0x80e56dc8
  InstancePath is "HTREE\ROOT\0"
  State = DeviceNodeStarted (0x308)
  Previous State = DeviceNodeEnumerateCompletion (0x30d)
  StateHistory[04] = DeviceNodeEnumerateCompletion (0x30d)
  StateHistory[03] = DeviceNodeStarted (0x308)
  StateHistory[02] = DeviceNodeEnumerateCompletion (0x30d)
  StateHistory[01] = DeviceNodeStarted (0x308)
  StateHistory[00] = DeviceNodeUninitialized (0x301)
  StateHistory[19] = Unknown State (0x0)
  .....
  StateHistory[05] = Unknown State (0x0)
  Flags (0x00000131)  DNF_MADEUP, DNF_ENUMERATED, 
                      DNF_IDS_QUERIED, DNF_NO_RESOURCE_REQUIRED
  DisableableDepends = 11 (from children)

kd> !devobj 80e204f8
Device object (80e204f8) is for:
  \Driver\PnpManager DriverObject 80e20610
Current Irp 00000000 RefCount 0 Type 00000004 Flags 00001000
DevExt 80e205b0 DevObjExt 80e205b8 DevNode 80e203b8 
ExtensionFlags (0000000000)  
Device queue is not busy.