Windows 内核结构不透明是啥意思?
Posted
技术标签:
【中文标题】Windows 内核结构不透明是啥意思?【英文标题】:What does it mean when a Windows Kernel structure is Opaque?Windows 内核结构不透明是什么意思? 【发布时间】:2022-01-02 10:13:55 【问题描述】:这是否意味着没有传统的(合法的)方法可以访问不透明结构的成员?
【问题讨论】:
【参考方案1】:这只是意味着struct
成员没有文档或可用的头文件定义。根据您对“合法”的定义,可能有也可能没有访问成员的方法。
在技术方面,如果您知道地址和成员是什么,您就可以创建自己的结构。对 Windows 的未记录部分执行此操作并不少见。这是否是一个好主意是另一个问题。
Windows 内核中使用的某些结构在跨版本(甚至跨服务包和更新)时不稳定。如果您选择访问 Windows 团队认为禁止访问的内容,这只是您必须处理的事情。这也意味着你应该问问自己是否真的需要访问这个结构。对于内核模式下的任何东西尤其如此。
也有一些事情开始时完全不透明,但随着时间的推移,它的一些成员已经记录在案(出于法律或其他原因)。在those cases 中,您会看到一些成员只有“Reserved1234”之类的名称并定义为指针或字节,而完整记录的成员具有有用的名称和正确的类型。
【讨论】:
以上是关于Windows 内核结构不透明是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章