2

I recently started looking into the way that Windows manages its drivers and found out about the device tree and stacks. I was curious if there was a way to get this information about my system. I'm running Windows 10.

Just to clarify, it will be ideal if I can get the entire device tree. This means it should start from the root and go on till the physical devices. Eg from the the Windows driver docs

However, even if that's not possible and I can still view sub-trees(maybe based on components like network, usb, etc.), that would work too.

More details the better.

  1. If I can get the associated driver (and version) for the devices

  2. Know which devices are together in the device stack (Function DO, Filter DO, and PDO)

My final goal is to see if I can group drivers together. Thought if there a device tree already present, might try to use that.

Thanks!

3

1 Answer 1

1

Older versions of the Windows Driver Kit included the "Device Tree" utility from OSR, which David Postill linked. It is not claimed to work on Windows 10, and I saw it crash a few Windows OSs that it supposedly did support. If you want to experiment with it I'd do that on Windows 8 or earlier, and preferably on a system that isn't running anything that can't tolerate a crash. But it should give you some insights.

https://www.osronline.com/article.cfm?article=97

(added per comments) Failing that, there's always WinDbg in "live" kernel debugging mode. It won't give you a pretty tree-structured view of the DevStacks, but it can at least show you all of the device objects in each DevStack, which driver each belongs to, etc.

3
  • Tried using it on Windows 10, Seems to have the kind of information I'm looking for. However, as you said, can't seem to use it for a decent amount of time because everything becomes unresponsive after a few minutes. Commented Nov 8, 2018 at 17:42
  • Well.. it won't give you a pretty GUI-browseable tree-structured graphic, but there's always WinDbg. Commented Nov 8, 2018 at 17:54
  • Yeah I guess windbg would be the best way way to go for now. If you add it your answer, I can accept it. Commented Nov 13, 2018 at 14:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .