Windows 95 System Programming SECRENTS学习笔记(一)[2]

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 kendiv 的 blog

在深入挖掘模块、进程和线程的细节之前,我必须先声明,这些资料的透露并未经过微软的核准。微软希望你不要在自己的代码中放进与这些数据结构有关的资料。对于那些需要处理模块、进程和线程的应用程序,微软提供的解决方案是定义在tlhelp32.h中的toolhelp32 api

 

toolhelp32函数提供了对于模块、进程和线程数据结构的有限处理能力,局限在微软认为安全的范围之内。我必须强调,这样的处理只是一种只读处理。但是,微软经常认为足够的资料,对于系统程序员来说如我者是不够的。例如,toolhelp32没有提供“枚举一个进程的handle table的能力”。如果你需要这样的动作,你就必须直接读取这些资料。

 

 

win32模块(modules

一个win32模块代表的是一个被win32 loader加载的exedll的程序代码、数据和资源。因此,内存中的一个模块都对应到磁盘中的一个程序。exedll本身并不是模块。是由win32 loader将其加载的内存并产生对应的模块。win32 pe格式的一个优势是:将它们加载到内存是十分简单的。操作系统将一个载入模块的所有高级信息保存在一个结构体中,此结构被我称之为:module database

 

本文关键:Windows 95 System Programming SECRENTS学习笔记(一)
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top