WinDBG:如何从 WDFFILEOBJECT 句柄中获取基础 FILE_OBJECT?

WinDBG: How to get the underlying FILE_OBJECT from a WDFFILEOBJECT handle?

我有一个 WDFFILEOBJECT 句柄 (0x0000057fedd9b8b8),我想知道它的底层 FILE_OBJECT 地址,以便我可以使用 !object xxxx 查询 FILE_OBJECT 的.PointerCount.HandleCount。我可以使用什么 windbg 命令?

!wdfkd.wdfhandle 0x0000057fedd9b8b8 f0 似乎没有提供该信息。

如果它是 WDFDEVICE 句柄,我知道 !wdfkd.wdfdevice 可以告诉我底层 DEVICE_OBJECT,但是 WDFFILEOBJECT 呢?

====== 已解决(许多天后)=====

根据snoone的提示,我想通了。直播信息如下:

这次,FileObject=0x0000057fede811b8 .

我必须先使用!wdfkd.handle 0x0000057fede811b8 f0,因为句柄值0x0000057fede811b8不是有效的内核地址,!wdfkd.handle告诉句柄后面的KMDF FxObject的真实内核地址。

尝试使用输出中指定的 dt 命令 (dt wdf01000!FxFileObject 0x)