news 2026/4/28 1:41:46

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/4/22 15:38:07

5个让PS4游戏体验翻倍的隐藏技巧

还在为游戏卡关而烦恼吗?其实你的PS4里藏着一个游戏达人的秘密武器!今天就来分享几个让你从新手变高手的实用技巧,让你的游戏体验直接起飞~ 【免费下载链接】GoldHEN_Cheat_Manager GoldHEN Cheats Manager 项目地址: https://g…

作者头像 李华
网站建设 2026/4/23 14:14:26

用Markdown编写技术博客并嵌入Miniconda执行的结果图表

用Markdown编写技术博客并嵌入Miniconda执行的结果图表 在撰写AI实验报告或数据科学项目复盘时,你是否曾遇到这样的尴尬:本地运行完美的模型训练曲线,换一台机器却因版本差异无法重现?或者写博客时反复截图、手动替换图像路径&…

作者头像 李华
网站建设 2026/4/24 22:39:32

Synology NAS Realtek USB网卡驱动完整安装指南

Synology NAS Realtek USB网卡驱动完整安装指南 【免费下载链接】r8152 Synology DSM driver for Realtek RTL8152/RTL8153/RTL8156 based adapters 项目地址: https://gitcode.com/gh_mirrors/r8/r8152 想要为您的Synology NAS扩展网络带宽吗?Realtek USB网…

作者头像 李华
网站建设 2026/4/25 13:16:28

SSD1306中文手册深度剖析:I2C通信配置细节

SSD1306 OLED驱动实战:IC通信配置全解析 在嵌入式开发中,一块能正常点亮的OLED屏幕,往往意味着“系统活着”。而SSD1306作为最主流的单色OLED驱动芯片,几乎成了每个工程师入门图形显示的第一课。但你有没有遇到过这样的情况——接…

作者头像 李华
网站建设 2026/4/26 18:27:32

Postman便携版:移动开发环境的新选择

Postman便携版:移动开发环境的新选择 【免费下载链接】postman-portable 🚀 Postman portable for Windows 项目地址: https://gitcode.com/gh_mirrors/po/postman-portable 在当今快节奏的开发工作中,API测试工具的可移植性变得越来越…

作者头像 李华
网站建设 2026/4/27 23:00:24

如何在Miniconda中切换Python版本以兼容旧版AI框架?

如何在Miniconda中切换Python版本以兼容旧版AI框架? 在复现一篇2019年的深度学习论文时,你兴冲冲地克隆了代码仓库,执行 pip install -r requirements.txt 却瞬间被一连串的依赖冲突和版本不匹配错误淹没——TensorFlow 1.15 要求 Python ≤…

作者头像 李华