news 2026/6/10 19:41:01

nt!IopInitializePlugPlayServices函数调用后nt!PpDeviceReferenceTable最左叶子节点是根节点HTREE\ROOT\0

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
nt!IopInitializePlugPlayServices函数调用后nt!PpDeviceReferenceTable最左叶子节点是根节点HTREE\ROOT\0

nt!IopInitializePlugPlayServices函数调用后nt!PpDeviceReferenceTable最左叶子节点是根节点HTREE\ROOT\0

0: kd> g
Breakpoint 1 hit
nt!IopInitializePlugPlayServices:
80e67f60 55 push ebp
1: kd> kc
#
00 nt!IopInitializePlugPlayServices
01 nt!IoInitSystem
02 nt!Phase1Initialization
03 nt!PspSystemThreadStartup
04 nt!KiThreadStartup
1: kd> x nt!PpDeviceReferenceTable
80b1fa40 nt!PpDeviceReferenceTable = struct _RTL_AVL_TABLE
1: kd> dx -id 0,0,ffffffff89dd5240 -r1 (*((ntkrnlmp!_RTL_AVL_TABLE *)0xffffffff80b1fa40))
(*((ntkrnlmp!_RTL_AVL_TABLE *)0xffffffff80b1fa40)) [Type: _RTL_AVL_TABLE]
[+0x000] BalancedRoot [Type: _RTL_BALANCED_LINKS]
[+0x010] OrderedPointer : 0x0 [Type: void *]
[+0x014] WhichOrderedElement : 0x0 [Type: unsigned long]
[+0x018] NumberGenericTableElements : 0x0 [Type: unsigned long]
[+0x01c] DepthOfTree : 0x0 [Type: unsigned long]
[+0x020] RestartKey : 0x0 [Type: _RTL_BALANCED_LINKS *]
[+0x024] DeleteCount : 0x0 [Type: unsigned long]
[+0x028] CompareRoutine : 0x80c87772 [Type: _RTL_GENERIC_COMPARE_RESULTS (*)(_RTL_AVL_TABLE *,void *,void *)]
[+0x02c] AllocateRoutine : 0x80c87834 [Type: void * (*)(_RTL_AVL_TABLE *,unsigned long)]
[+0x030] FreeRoutine : 0x80c878de [Type: void (*)(_RTL_AVL_TABLE *,void *)]
[+0x034] TableContext : 0x0 [Type: void *]
1: kd> gu
nt!IoInitSystem+0x68f:
80e6554b 85c0 test eax,eax
1: kd> x nt!PpDeviceReferenceTable
80b1fa40 nt!PpDeviceReferenceTable = struct _RTL_AVL_TABLE
1: kd> dx -id 0,0,ffffffff89dd5240 -r1 (*((ntkrnlmp!_RTL_AVL_TABLE *)0xffffffff80b1fa40))
(*((ntkrnlmp!_RTL_AVL_TABLE *)0xffffffff80b1fa40)) [Type: _RTL_AVL_TABLE]
[+0x000] BalancedRoot [Type: _RTL_BALANCED_LINKS]
[+0x010] OrderedPointer : 0x0 [Type: void *]
[+0x014] WhichOrderedElement : 0x0 [Type: unsigned long]
[+0x018] NumberGenericTableElements : 0x2e [Type: unsigned long]
[+0x01c] DepthOfTree : 0x6 [Type: unsigned long]
[+0x020] RestartKey : 0x0 [Type: _RTL_BALANCED_LINKS *]
[+0x024] DeleteCount : 0x0 [Type: unsigned long]
[+0x028] CompareRoutine : 0x80c87772 [Type: _RTL_GENERIC_COMPARE_RESULTS (*)(_RTL_AVL_TABLE *,void *,void *)]
[+0x02c] AllocateRoutine : 0x80c87834 [Type: void * (*)(_RTL_AVL_TABLE *,unsigned long)]
[+0x030] FreeRoutine : 0x80c878de [Type: void (*)(_RTL_AVL_TABLE *,void *)]
[+0x034] TableContext : 0x0 [Type: void *]


1: kd> kc
#
00 nt!IoInitSystem
01 nt!Phase1Initialization
02 nt!PspSystemThreadStartup
03 nt!KiThreadStartup
1: kd> kv
# ChildEBP RetAddr Args to Child
00 f789a838 80e632fd 80077000 00000000 89dd4020 nt!IoInitSystem+0x68f (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\io\iomgr\ioinit.c @ 599]
01 f789adac 80d391f0 80077000 00000000 00000000 nt!Phase1Initialization+0x9b3 (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\init\init.c @ 2221]
02 f789addc 80b00d52 80e6294a 80077000 00000000 nt!PspSystemThreadStartup+0x2e (FPO: [Non-Fpo]) (CONV: stdcall) [d:\srv03rtm\base\ntos\ps\create.c @ 2213]
03 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16 [d:\srv03rtm\base\ntos\ke\i386\threadbg.asm @ 81]

1: kd> x nt!PpDeviceReferenceTable
80b1fa40 nt!PpDeviceReferenceTable = struct _RTL_AVL_TABLE
1: kd> dx -id 0,0,ffffffff89dd5240 -r1 (*((ntkrnlmp!_RTL_AVL_TABLE *)0xffffffff80b1fa40))
(*((ntkrnlmp!_RTL_AVL_TABLE *)0xffffffff80b1fa40)) [Type: _RTL_AVL_TABLE]
[+0x000] BalancedRoot [Type: _RTL_BALANCED_LINKS]
[+0x010] OrderedPointer : 0x0 [Type: void *]
[+0x014] WhichOrderedElement : 0x0 [Type: unsigned long]
[+0x018] NumberGenericTableElements : 0x2e [Type: unsigned long]
[+0x01c] DepthOfTree : 0x6 [Type: unsigned long]
[+0x020] RestartKey : 0x0 [Type: _RTL_BALANCED_LINKS *]
[+0x024] DeleteCount : 0x0 [Type: unsigned long]
[+0x028] CompareRoutine : 0x80c87772 [Type: _RTL_GENERIC_COMPARE_RESULTS (*)(_RTL_AVL_TABLE *,void *,void *)]
[+0x02c] AllocateRoutine : 0x80c87834 [Type: void * (*)(_RTL_AVL_TABLE *,unsigned long)]
[+0x030] FreeRoutine : 0x80c878de [Type: void (*)(_RTL_AVL_TABLE *,void *)]
[+0x034] TableContext : 0x0 [Type: void *]
1: kd> dx -id 0,0,ffffffff89dd5240 -r1 (*((ntkrnlmp!_RTL_BALANCED_LINKS *)0xffffffff80b1fa40))
(*((ntkrnlmp!_RTL_BALANCED_LINKS *)0xffffffff80b1fa40)) [Type: _RTL_BALANCED_LINKS]
[+0x000] Parent : 0x80b1fa40 [Type: _RTL_BALANCED_LINKS *]
[+0x004] LeftChild : 0x0 [Type: _RTL_BALANCED_LINKS *]
[+0x008] RightChild : 0xe129f320 [Type: _RTL_BALANCED_LINKS *]
[+0x00c] Balance : -1 [Type: char]
[+0x00d] Reserved [Type: unsigned char [3]]
1: kd> dx -id 0,0,ffffffff89dd5240 -r1 ((ntkrnlmp!_RTL_BALANCED_LINKS *)0xe129f320)
((ntkrnlmp!_RTL_BALANCED_LINKS *)0xe129f320) : 0xe129f320 [Type: _RTL_BALANCED_LINKS *]
[+0x000] Parent : 0x80b1fa40 [Type: _RTL_BALANCED_LINKS *]
[+0x004] LeftChild : 0xe12a54a8 [Type: _RTL_BALANCED_LINKS *]
[+0x008] RightChild : 0xe128a5e8 [Type: _RTL_BALANCED_LINKS *]
[+0x00c] Balance : 1 [Type: char]
[+0x00d] Reserved [Type: unsigned char [3]]
1: kd> dx -id 0,0,ffffffff89dd5240 -r1 ((ntkrnlmp!_RTL_BALANCED_LINKS *)0xe12a54a8)
((ntkrnlmp!_RTL_BALANCED_LINKS *)0xe12a54a8) : 0xe12a54a8 [Type: _RTL_BALANCED_LINKS *]
[+0x000] Parent : 0xe129f320 [Type: _RTL_BALANCED_LINKS *]
[+0x004] LeftChild : 0xe12925f0 [Type: _RTL_BALANCED_LINKS *]
[+0x008] RightChild : 0xe128c1e0 [Type: _RTL_BALANCED_LINKS *]
[+0x00c] Balance : 0 [Type: char]
[+0x00d] Reserved [Type: unsigned char [3]]
1: kd> dx -id 0,0,ffffffff89dd5240 -r1 ((ntkrnlmp!_RTL_BALANCED_LINKS *)0xe12925f0)
((ntkrnlmp!_RTL_BALANCED_LINKS *)0xe12925f0) : 0xe12925f0 [Type: _RTL_BALANCED_LINKS *]
[+0x000] Parent : 0xe12a54a8 [Type: _RTL_BALANCED_LINKS *]
[+0x004] LeftChild : 0xe12883e0 [Type: _RTL_BALANCED_LINKS *]
[+0x008] RightChild : 0xe129c4d8 [Type: _RTL_BALANCED_LINKS *]
[+0x00c] Balance : 0 [Type: char]
[+0x00d] Reserved [Type: unsigned char [3]]
1: kd> dx -id 0,0,ffffffff89dd5240 -r1 ((ntkrnlmp!_RTL_BALANCED_LINKS *)0xe12883e0)
((ntkrnlmp!_RTL_BALANCED_LINKS *)0xe12883e0) : 0xe12883e0 [Type: _RTL_BALANCED_LINKS *]
[+0x000] Parent : 0xe12925f0 [Type: _RTL_BALANCED_LINKS *]
[+0x004] LeftChild : 0xe12896e0 [Type: _RTL_BALANCED_LINKS *]
[+0x008] RightChild : 0xe12896c0 [Type: _RTL_BALANCED_LINKS *]
[+0x00c] Balance : 0 [Type: char]
[+0x00d] Reserved [Type: unsigned char [3]]
1: kd> dx -id 0,0,ffffffff89dd5240 -r1 ((ntkrnlmp!_RTL_BALANCED_LINKS *)0xe12896e0)
((ntkrnlmp!_RTL_BALANCED_LINKS *)0xe12896e0) : 0xe12896e0 [Type: _RTL_BALANCED_LINKS *]
[+0x000] Parent : 0xe12883e0 [Type: _RTL_BALANCED_LINKS *]
[+0x004] LeftChild : 0x0 [Type: _RTL_BALANCED_LINKS *]
[+0x008] RightChild : 0x0 [Type: _RTL_BALANCED_LINKS *]
[+0x00c] Balance : 0 [Type: char]
[+0x00d] Reserved [Type: unsigned char [3]]
1: kd> dt _DEVICE_REFERENCE 0xe12896e0+10
nt!_DEVICE_REFERENCE
+0x000 DeviceObject : 0x89db9c00 _DEVICE_OBJECT
+0x004 DeviceInstance : 0x89db9b54 _UNICODE_STRING "HTREE\ROOT\0"

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:08:32

Windows 10安卓子系统仿写Prompt

Windows 10安卓子系统仿写Prompt 【免费下载链接】WSA-Windows-10 This is a backport of Windows Subsystem for Android to Windows 10. 项目地址: https://gitcode.com/gh_mirrors/ws/WSA-Windows-10 请仿写一篇关于Windows 10安卓子系统的技术文章,要求…

作者头像 李华
网站建设 2026/6/10 11:08:11

3步搞定:ComfyUI Photoshop插件快速上手实战指南

还在为AI绘画工具切换繁琐而烦恼吗?ComfyUI Photoshop插件的出现让你在熟悉的Photoshop环境中就能轻松搞定AI绘画创作。这个强大的连接工具将ComfyUI的AI能力无缝集成到Photoshop中,真正实现了创意无界! 【免费下载链接】Comfy-Photoshop-SD …

作者头像 李华
网站建设 2026/6/10 3:09:32

室内全彩LED显示屏尺寸大小与控制卡调试流程:手把手教程

室内全彩LED显示屏尺寸设计与控制卡调试实战指南:从零开始,一次搞定你有没有遇到过这样的情况?项目现场大屏拼好了,电源也接上了,结果一通电——画面错位、局部黑屏、色彩发紫……客户站在旁边盯着你,而你只…

作者头像 李华
网站建设 2026/6/10 12:31:20

Calibre中文路径保护插件:彻底解决文件路径拉丁化问题

Calibre中文路径保护插件:彻底解决文件路径拉丁化问题 【免费下载链接】calibre-do-not-translate-my-path Switch my calibre library from ascii path to plain Unicode path. 将我的书库从拼音目录切换至非纯英文(中文)命名 项目地址: h…

作者头像 李华
网站建设 2026/6/10 11:12:05

Android终极影音播放器:OPlayer开源项目完整技术解析

Android终极影音播放器:OPlayer开源项目完整技术解析 【免费下载链接】OPlayer Android平台基于Vitamio的开源播放器 项目地址: https://gitcode.com/gh_mirrors/op/OPlayer OPlayer播放器作为Android平台上基于Vitamio框架的开源影音解决方案,彻…

作者头像 李华
网站建设 2026/6/10 11:09:30

删除废弃环境:conda env remove -n old_env_name释放空间

精准释放磁盘空间:深入理解 conda env remove -n old_env_name 的工程实践 在现代 AI 与数据科学开发中,一个看似不起眼的操作——删除虚拟环境,往往决定了项目能否顺利推进。你是否曾遇到这样的场景?训练任务因“磁盘空间不足”突…

作者头像 李华