共用方式為


!wudfext.wudfobject

!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