!wudfext.wudfobject 延伸模組會顯示 WDF 對象的相關信息,以及其父系和子關聯性。
!wudfext.wudfobject pWDFObject Flags TypeName
參數
pWDFObject
指定要顯示相關信息的 WDF 介面位址。
標誌
選擇性。 指定要顯示的信息類型。 旗標 可以是下列位的任何組合。 預設值為 0x01。
位 0 (0x01)
透過物件階層遞歸步驟,以取得顯示的父系和子關聯性。
位 1 (0x02)
只顯示物件的相關摘要資訊。
位 8 (0x80)
透過物件階層遞歸步驟,並顯示內部架構的詳細數據。
TypeName
選擇性。 指定介面的類型(例如 IWDFDevice)。 如果提供 TypeName 的值,擴充功能會使用 值做為介面的類型。 如果星號 * 是以 TypeName 提供,或省略 TypeName,則擴充功能會嘗試自動判斷所提供介面的類型。
DLL
Wudfext.dll
其他資訊
如需詳細資訊,請參閱 使用者模式驅動程式架構偵錯。
備註
您可以使用 !wudfext.wudfobject 來列出 IWDFDevice 物件的子物件,這通常包含裝置的佇列。
您也可以使用 !wudfext.wudfobject 來尋找與特定裝置相關聯的 WDF 對象、檢查 WDF 物件的狀態(例如,WDF 物件是否正在刪除過程中),或判斷 WDF 物件的目前參考計數。
!wudfext.wudfobject 擴充功能也會顯示驅動程式與每個架構對象相關聯的回呼函式和內容物件,並嘗試判斷架構物件的類型。 這個最後一項功能可能無法與特定編譯程式搭配使用。
以下是一些範例。 在第一個範例中,!wudfext.umdevstacks 會提供0x03050E70作為裝置對象的位址,然後這個位址會傳遞至 !wudfext.wudfobject。 包含0x1旗標,以顯示此物件的所有子系。
0: kd> !umdevstacks
Number of device stacks: 1
Device Stack: 0x038f6f08 Pdo Name: \Device\USBPDO-11
Number of UM devices: 1
Device 0
Driver Config Registry Path: WUDFOsrUsbFx2
UMDriver Image Path: D:\Windows\system32\DRIVERS\UMDF\WUDFOsrUsbFx2.dll
Fx Driver: IWDFDriver 0x3044ff0
Fx Device: IWDFDevice 0x3050e70
IDriverEntry: WUDFOsrUsbFx2!CMyDriver 0x0303eff8
Open UM files (use !umfile <addr> for details):
0x049baf84
Device XFerMode: CopyImmediately RW: Buffered CTL: Buffered
Object Tracker Address: 0x00000000
Object Tracking OFF
Refcount Tracking OFF
DevStack XFerMode: CopyImmediately RW: Buffered CTL: Buffered
0: kd> !wudfobject 0x3050e70 1
IWDFDevice 0x3050e70 Fx: 0x3050e30 [Ref 2]
15 Children
00: IWDFIoTarget 0x3056f90 Fx: 0x3056f50 [Ref 3]
No Children
01: <Internal>
02: <Internal>
03: <Internal>
04: IWDFIoQueue 0x305ae98 Fx: 0x305ae58 [Ref 8]
No Children
05: IWDFIoQueue 0x305ee98 Fx: 0x305ee58 [Ref 2]
No Children
06: IWDFIoQueue 0x3060e98 Fx: 0x3060e58 [Ref 2]
No Children
07: IWDFIoTarget 0x3066f80 Fx: 0x3066f40 [Ref 2]
1 Children
00: IWDFUsbInterface 0x306efd8 Fx: 0x306ef98 [Ref 1]
3 Children
00: IWDFIoTarget 0x3074f70 Fx: 0x3074f30 [Ref 2]
2 Children
00: IWDFMemory 0x30a4ff0 Fx: 0x30a4fb0 [Ref 2]
No Children
01: IWDFMemory 0x30aaff0 Fx: 0x30aafb0 [Ref 2]
No Children
01: IWDFIoTarget 0x3078f70 Fx: 0x3078f30 [Ref 1]
No Children
以下是顯示檔案物件的 !wudfext.wudfobject 範例:
kd> !wudfobject 0xf5060
IWDFFile 0xf5060 Fx: 0xf4fe8 [Ref 1]
State: Created Parent: 0xf2f80
No Children
以下是顯示驅動程式物件的 !wudfext.wudfobject 範例:
kd> !wudfobject 0xf2db8 0x01
IWDFDriver 0xf2db8 Fx: 0xf2d40 [Ref 2]
Callback: (WUDFEchoDriver!CMyDriver, 0xf2c68)
State: Created Parent: 0
1 Children:
00: IWDFDevice 0xf2f80 Fx: 0xf2f08 [Ref 2]
State: Created Parent: 0xf2db8
5 Children:
00: IWDFIoTarget 0xf33c0 Fx: 0xf3348 [Ref 3]
State: Created Parent: 0xf2f80
No Children
01: IWDFIoQueue 0xf3500 Fx: 0xf3488 [Ref 3]
State: Created Parent: 0xf2f80
No Children
02: IWDFFile 0xf5060 Fx: 0xf4fe8 [Ref 1]
State: Created Parent: 0xf2f80
No Children
03: IWDFFile 0xf5100 Fx: 0xf5088 [Ref 101]
State: Created Parent: 0xf2f80
No Children
04: IWDFFile 0xf51a0 Fx: 0xf5128 [Ref 101]
State: Created Parent: 0xf2f80
No Children