新建菜单项的创建之CmpGetValueListFromCache函数分析


第一部分:
PCELL_DATA
CmpGetValueListFromCache(
    IN PHHIVE               Hive,
    IN PCACHED_CHILD_LIST   ChildList,
    OUT BOOLEAN             *IndexCached,
    OUT PHCELL_INDEX        ValueListToRelease
)

0: kd> dv

         KeyControlBlock = 0xe115f5b0
                   Index = 2
KeyValueInformationClass = KeyValueFullInformation (0n1)
     KeyValueInformation = 0x00fad9bc

               ChildList = 0xe119a7c4


0: kd> dv
         KeyControlBlock = 0xe115f5b0
                   Index = 2
KeyValueInformationClass = KeyValueFullInformation (0n1)


0: kd> dx -r1 ((ntkrnlmp!_CM_KEY_CONTROL_BLOCK *)0xe115f5b0)
((ntkrnlmp!_CM_KEY_CONTROL_BLOCK *)0xe115f5b0)                 : 0xe115f5b0 [Type: _CM_KEY_CONTROL_BLOCK *]

    [+0x024] ValueCache       [Type: _CACHED_CHILD_LIST]


0: kd> dx -r1 (*((ntkrnlmp!_CACHED_CHILD_LIST *)0xe115f5d4))
(*((ntkrnlmp!_CACHED_CHILD_LIST *)0xe115f5d4))                 [Type: _CACHED_CHILD_LIST]
    [+0x000] Count            : 0x8 [Type: unsigned long]
    [+0x004] ValueList        : 0xe119a7c1 [Type: unsigned long]
    [+0x004] RealKcb          : 0xe119a7c1 [Type: _CM_KEY_CONTROL_BLOCK *]


参考头文件:CMP_GET_CACHED_CELLDATA    cmdata.h (base\ntos\inc)    

#define CMP_GET_CACHED_CELLDATA(Cell) (&(((PCM_CACHED_VALUE_INDEX)(((ULONG_PTR) (Cell)) & ~CMP_CELL_CACHED_MASK))->Data.CellData))

0: kd> dt CM_CACHED_VALUE_INDEX 0xe119a7c0
nt!CM_CACHED_VALUE_INDEX
   +0x000 CellIndex        : 0x78420
   +0x004 Data             : __unnamed
0: kd> dx -id 0,0,89589d88 -r1 (*((ntkrnlmp!__unnamed *)0xe119a7c4))
(*((ntkrnlmp!__unnamed *)0xe119a7c4))                 [Type: __unnamed]
    [+0x000] CellData         [Type: _CELL_DATA]
    [+0x000] List             [Type: unsigned long [1]]
0: kd> dx -id 0,0,89589d88 -r1 (*((ntkrnlmp!_CELL_DATA *)0xe119a7c4))
(*((ntkrnlmp!_CELL_DATA *)0xe119a7c4))                 [Type: _CELL_DATA]
    [+0x000] u                [Type: _u]
0: kd> dx -id 0,0,89589d88 -r1 (*((ntkrnlmp!_u *)0xe119a7c4))
(*((ntkrnlmp!_u *)0xe119a7c4))                 [Type: _u]
    [+0x000] KeyNode          [Type: _CM_KEY_NODE]
    [+0x000] KeyValue         [Type: _CM_KEY_VALUE]
    [+0x000] KeySecurity      [Type: _CM_KEY_SECURITY]
    [+0x000] KeyIndex         [Type: _CM_KEY_INDEX]
    [+0x000] ValueData        [Type: _CM_BIG_DATA]
    [+0x000] KeyList          [Type: unsigned long [1]]
    [+0x000] KeyString        [Type: unsigned short [1]]

第二部分:
0: kd> dt CELL_DATA 0xe119a7c4
nt!CELL_DATA
   +0x000 u                : _u
0: kd> dx -id 0,0,89589d88 -r1 (*((ntkrnlmp!_u *)0xe119a7c4))
(*((ntkrnlmp!_u *)0xe119a7c4))                 [Type: _u]
    [+0x000] KeyNode          [Type: _CM_KEY_NODE]
    [+0x000] KeyValue         [Type: _CM_KEY_VALUE]
    [+0x000] KeySecurity      [Type: _CM_KEY_SECURITY]
    [+0x000] KeyIndex         [Type: _CM_KEY_INDEX]
    [+0x000] ValueData        [Type: _CM_BIG_DATA]
    [+0x000] KeyList          [Type: unsigned long [1]]
    [+0x000] KeyString        [Type: unsigned short [1]]
0: kd> dd 0xe119a7c4                    8个键值
e119a7c4  e19d0809 e19efc39 e11657a1 e116ace9
e119a7d4  e16c5b21 e19a8e81 e17a4711 e10ae231


0: kd> db e10ae259
e10ae259  00 24 00 76 6b 10 00 a0-03 00 00 20 a0 05 00 03  .$.vk...... ....
e10ae269  00 00 00 01 00 b2 b2 57-6f 72 64 70 61 64 20 44  .......Wordpad D
e10ae279  6f 63 75 6d 65 6e 74 06-04 02 00 4f 62 53 71 a9  ocument....ObSq.
e10ae289  e5 87 e1 79 68 98 e1 02-04 0f 0c 43 4d 56 49 70  ...yh......CMVIp
e10ae299  9b 06 00 91 22 88 e1 79-82 73 e1 51 ee 7b e1 a1  ...."..y.s.Q.{..
e10ae2a9  5e 9a e1 a9 c0 06 e1 b9-e5 87 e1 f9 7a 41 e1 81  ^...........zA..
e10ae2b9  67 83 e1 a1 13 79 e1 b9-bb 96 e1 79 c1 06 e1 a9  g....y.....y....
e10ae2c9  c8 77 e1 11 c5 2b e1 69-13 79 e1 b1 2e 88 e1 a1  .w...+.i.y......
0: kd> db e19efc39
e19efc39  00 24 00 76 6b 0c 00 a0-03 00 00 98 a7 05 00 03  .$.vk...........
e19efc49  00 00 00 01 00 b2 b2 42-69 74 6d 61 70 20 49 6d  .......Bitmap Im
e19efc59  61 67 65 b2 b2 b2 b2 00-00 00 00 00 00 00 00 00  age.............
e19efc69  00 00 00 00 00 42 00 69-00 74 00 6d 00 61 00 70  .....B.i.t.m.a.p
e19efc79  00 20 00 49 00 6d 00 61-00 67 00 65 00 00 00 00  . .I.m.a.g.e....
e19efc89  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
e19efc99  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
e19efca9  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
0: kd> db e19d0809
e19d0809  00 24 00 76 6b 09 00 a0-03 00 00 88 9b 05 00 03  .$.vk...........
e19d0819  00 00 00 01 00 b2 b2 42-72 69 65 66 63 61 73 65  .......Briefcase
e19d0829  b2 b2 b2 b2 b2 b2 b2 00-00 00 00 00 00 00 00 00  ................
e19d0839  00 00 00 00 00 42 00 72-00 69 00 65 00 66 00 63  .....B.r.i.e.f.c
e19d0849  00 61 00 73 00 65 00 00-00 00 00 00 00 00 00 00  .a.s.e..........
e19d0859  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
e19d0869  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
e19d0879  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
0: kd> db e116ace9
e116ace9  00 2c 00 76 6b 12 00 a0-03 00 00 c8 a3 05 00 03  .,.vk...........
e116acf9  00 00 00 01 00 b2 b2 52-69 63 68 20 54 65 78 74  .......Rich Text
e116ad09  20 44 6f 63 75 6d 65 6e-74 b2 b2 b2 b2 b2 b2 07   Document.......
e116ad19  06 12 0c 47 6c 61 40 78-00 00 00 a8 f2 82 e1 10  ...Gla@x........
e116ad29  bc 96 e1 70 7c 09 e1 8e-02 10 71 00 00 00 00 00  ...p|.....q.....
e116ad39  00 00 80 00 00 00 00 07-00 00 00 00 00 00 00 00  ................
e116ad49  00 00 00 14 00 00 80 25-03 00 00 58 0e 90 00 00  .......%...X....
e116ad59  00 00 00 ff ff ff 00 00-00 00 00 00 00 00 00 01  ................
0: kd> db e16c5b21
e16c5b21  00 24 00 76 6b 0d 00 a0-03 00 00 20 b0 05 00 03  .$.vk...... ....
e16c5b31  00 00 00 01 00 b2 b2 54-65 78 74 20 44 6f 63 75  .......Text Docu
e16c5b41  6d 65 6e 74 b2 b2 b2 06-08 02 00 43 4d 4e e2 a1  ment.......CMN..
e16c5b51  64 18 e1 71 4d 16 e1 02-08 06 0c 43 4d 56 61 00  d..qM......CMVa.
e16c5b61  00 24 00 76 6b 0c 00 1e-00 00 00 58 33 00 00 01  .$.vk......X3...
e16c5b71  00 00 00 01 00 b2 b2 43-6f 6e 74 65 6e 74 20 54  .......Content T
e16c5b81  79 70 65 b2 b2 b2 b2 06-08 07 1c 43 4d 70 62 01  ype........CMpb.
e16c5b91  00 00 00 34 8f 49 e1 54-4e 9c e1 74 43 86 e1 7c  ...4.I.TN..tC..|
0: kd> db e19a8e81
e19a8e81  00 34 00 76 6b 1a 00 a0-03 00 00 50 a9 06 00 03  .4.vk......P....
e19a8e91  00 00 00 01 00 b2 b2 43-6f 6d 70 72 65 73 73 65  .......Compresse
e19a8ea1  64 20 28 7a 69 70 70 65-64 29 20 46 6f 6c 64 65  d (zipped) Folde
e19a8eb1  72 b2 b2 b2 b2 b2 b2 08-04 08 04 43 4d 4e e2 20  r..........CMN.
e19a8ec1  62 7b e1 3f 9a ce 0f 84-41 61 e1 26 00 7b 36 35  b{.?....Aa.&.{65
e19a8ed1  34 33 39 43 32 30 2d 36-30 34 46 2d 34 39 43 41  439C20-604F-49CA
e19a8ee1  2d 41 41 38 32 2d 44 43-30 31 41 31 30 41 46 31  -AA82-DC01A10AF1
e19a8ef1  37 31 7d 15 00 00 00 08-04 01 00 4f 62 4e 6d 01  71}........ObNm.
0: kd> db e17a4711
e17a4711  00 24 00 76 6b 0a 00 18-00 00 00 f8 ac 05 00 03  .$.vk...........
e17a4721  00 00 00 01 00 b2 b2 7e-72 65 73 65 72 76 65 64  .......~reserved
e17a4731  7e b2 b2 b2 b2 b2 b2 18-00 00 00 01 00 01 00 e9  ~...............
e17a4741  07 01 00 03 00 0f 00 0d-00 28 00 0a 00 0d 03 09  .........(......
e17a4751  06 01 00 4e 74 66 63 01-06 05 0c 43 4d 56 61 00  ...Ntfc....CMVa.
e17a4761  00 1c 00 76 6b 07 00 18-00 00 00 80 68 01 00 01  ...vk.......h...
e17a4771  00 00 00 01 00 b2 b2 49-6e 66 50 61 74 68 b2 05  .......InfPath..
e17a4781  06 06 0c 43 4d 56 61 00-00 24 00 76 6b 0e 00 08  ...CMVa..$.vk...
0: kd> db e10ae231
e10ae231  00 1c 00 76 6b 08 00 04-00 00 80 09 04 00 00 04  ...vk...........
e10ae241  00 00 00 01 00 b2 b2 4c-61 6e 67 75 61 67 65 05  .......Language.
e10ae251  04 06 0c 43 4d 56 61 00-00 24 00 76 6b 10 00 a0  ...CMVa..$.vk...
e10ae261  03 00 00 20 a0 05 00 03-00 00 00 01 00 b2 b2 57  ... ...........W
e10ae271  6f 72 64 70 61 64 20 44-6f 63 75 6d 65 6e 74 06  ordpad Document.
e10ae281  04 02 00 4f 62 53 71 a9-e5 87 e1 79 68 98 e1 02  ...ObSq....yh...
e10ae291  04 0f 0c 43 4d 56 49 70-9b 06 00 91 22 88 e1 79  ...CMVIp...."..y
e10ae2a1  82 73 e1 51 ee 7b e1 a1-5e 9a e1 a9 c0 06 e1 b9  .s.Q.{..^.......

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/71238.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

物联网坡体斜度监测设备 顶级功能,还想集成CPS 红外 土质监测

坡体斜度监测设备是用于实时监测山坡、堤坝、矿山等坡体结构稳定性的关键工具。顶级功能的坡体斜度监测设备不仅需要高精度和可靠性,还应具备智能化、远程监控和数据分析能力。以下是坡体斜度监测设备的顶级功能设计和实现方案: 一、系统架构 坡体斜度监…

神经网络 - 激活函数(ReLU 函数)

一、ReLU函数: ReLU(Rectified Linear Unit,修正线性单元),也叫 Rectifier 函数 ,是目前深度神经网络中经常使用的激活函数,ReLU 实际上是一个斜坡(ramp)函数,其定义为: 也即: Re…

Spring Boot环境配置

一、Java开发环境 确保你的计算机已经安装了Java Development Kit(JDK)。建议使用JDK 17,可以从Oracle官方网站上下载并安装。 1.下载及配置环境变量 (1)下载JDK:官网下载 (2)运…

PyCharm 的使用 + PyCharm快捷键 + 切换中文界面

2025 - 02 - 27 - 第 62 篇 Author: 郑龙浩 / 仟濹 【PyCharm的使用】 文章目录 如何使用Pycharm1 新建工程,新建 .py 文件,运行2 常用快捷键3 其他快捷键 - DeepSeek 总结如下**代码编辑****导航与定位****查找与替换****运行与调试****代码重构****其…

conda env remove与conda remove

在 Conda 中,删除环境的两种常用命令是 conda env remove --name ryu 和 conda remove -n ryu --all。它们的核心功能相同(删除指定名称的 Conda 环境),但存在细微差异。以下是详细解释: 1. 命令对比 命令说明conda e…

6.6.5 SQL访问控制

文章目录 GRANT授予权限REVOKE回收权限 GRANT授予权限 GRANT语句可以给用户授予权限,基本格式是GRANT 权限 TO 用户。在授权时,WITH GRANT OPTION是可选项,有此句话,被授予权限的用户还能把权限赋给其他用户。 REVOKE回收权限 RE…

[免费]SpringBoot公益众筹爱心捐赠系统【论文+源码+SQL脚本】

大家好,我是老师,看到一个不错的SpringBoot公益众筹爱心捐赠系统,分享下哈。 项目介绍 公益捐助平台的发展背景可以追溯到几十年前,当时人们已经开始通过各种渠道进行公益捐助。随着互联网的普及,本文旨在探讨公益事业…

玩转python: 几个案例-掌握贪心算法

什么是贪心算法 贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法策略。它不从整体最优上加以考虑,只做出在某种意义上的局部最优解。下面我们将通过几个案例…

[Windows] 免费电脑控制手机软件 极限投屏_正式版_3.0.1 (QtScrcpy作者开发)

[Windows] 极限投屏_正式版 链接:https://pan.xunlei.com/s/VOKJf8Z1u5z-cHcTsRpSd89tA1?pwdu5ub# 新增功能(Future): 支持安卓14(Supports Android 14)提高投屏成功率(Improve the success rate of mirror)加快投屏速度(Accelerate screen mirrorin…

J-LangChain,用Java实现LangChain编排!轻松加载PDF、切分文档、向量化存储,再到智能问答

Java如何玩转大模型编排、RAG、Agent??? 在自然语言处理(NLP)的浪潮中,LangChain作为一种强大的模型编排框架,已经在Python社区中广受欢迎。然而,对于Java开发者来说,能…

深度解析Ant Design Pro 6开发实践

深度解析Ant Design Pro 6全栈开发实践:从架构设计到企业级应用落地 一、Ant Design Pro 6核心特性与生态定位(技术架构分析) 作为Ant Design生态体系的旗舰级企业应用中台框架,Ant Design Pro 6基于以下技术栈实现突破性升级&am…

vite+react+ts如何集成redux状态管理工具,实现持久化缓存

1.安装插件 这里的redux-persist--进行数据的持久化缓存,确保页面刷新数据不会丢失 yarn add react-redux^9.2.0 redux-persist^6.0.0 reduxjs/toolkit^2.5.1 2.创建仓库文件夹 在项目的src文件夹下创建名为store的文件夹,里面的具体文件如下 featur…

TrustRAG:通过配置化模块化的检索增强生成(RAG)框架提高生成结果的可靠性和可追溯性

TrustRAG旨在风险感知的信息检索场景中提高生成内容的一致性和可信度。用户可以利用私有语料库构建自己的RAG应用程序,研究库中的RAG组件,并使用定制模块进行实验。论文展示了TrustRAG系统在摘要问答任务中的应用,并通过案例研究验证了其有效…

通往 AI 之路:Python 机器学习入门-语法基础

第一章 Python 语法基础 Python 是一种简单易学的编程语言,广泛用于数据分析、机器学习和人工智能领域。在学习机器学习之前,我们需要先掌握 Python 的基本语法。本章将介绍 Python 的变量与数据类型、条件语句、循环、函数以及文件操作,帮助…

力扣27.移除元素(双指针)

题目看起来很乱&#xff0c;实际上意思是&#xff1a;把数组中值不等于val的元素放在下标为0,1,2,3......&#xff0c;并且返回数组中值不等于val的元素的个数 方法一&#xff1a;直接判断覆盖 class Solution { public:int removeElement(vector<int>& nums, int…

特辣的海藻!7

特邀嘉宾&#xff1a;滑动窗口~ 题 209. 长度最小的子数组 - 力扣&#xff08;LeetCode&#xff09; 做过的题&#xff0c;再一次做&#xff0c;还是有问题。。。。我把它给解决掉&#xff01; 超时 超时 超时 超时 超时 超时 超时 超时 超时 超时 超时 超时 超时 超时 超时 …

C#模式匹配详解

一、模式匹配核心概念 1.什么是模式匹配&#xff1f; 模式匹配是一种检查数据结构是否满足特定条件并提取信息的机制&#xff0c;取代传统的 if-else 或 switch 逻辑&#xff0c;使代码更简洁、安全。 2.核心优势 简洁性&#xff1a;减少类型检查和转换的冗余代码安全性&…

not support ClassForName

com.alibaba.fastjson2.JSONException: not support ClassForName : java.lang.String, you can config JSONReader.Feature.SupportClassForName 官方说明中提到默认关闭&#xff0c; 可通过配置开启 JSON.config(JSONReader.Feature.SupportClassForName);

在VSCode 中使用通义灵码最新版详细教程

在 VSCode 中使用通义灵码&#xff1a;最新版详细教程与使用场景 Visual Studio Code&#xff08;简称 VSCode&#xff09;是一款由微软开发的轻量级、功能强大的开源代码编辑器&#xff0c;支持多种编程语言&#xff0c;深受开发者喜爱。而通义灵码&#xff08;TONGYI Lingma…

不要升级,Flutter Debug 在 iOS 18.4 beta 无法运行,提示 mprotect failed: Permission denied

近期如果有开发者的 iOS 真机升级到 18.4 beta&#xff0c;大概率会发现在 debug 运行时会有 Permission denied 的相关错误提示&#xff0c;其实从 log 可以很直观看出来&#xff0c;就是 Dart VM 在初始化时&#xff0c;对内核文件「解释运行&#xff08;JIT&#xff09;」时…