1.WRK中的KPROCESS
typedef struct _KPROCESS {
//
// The dispatch header and profile listhead are fairly infrequently
// referenced.
//
DISPATCHER_HEADER Header;//此域表明KPROCESS对象也是一个分发器对象
LIST_ENTRY ProfileListHead;//用于该进程参与性能分析时,作为一个节点加入到全局的性能分析进程列表。
//
// The following fields are referenced during context switches.
//
ULONG_PTR DirectoryTableBase[2];//第一项指向该进程的页目录表地址,第二项指向该进程的超空间的页目录地址
#if defined(_X86_)
KGDTENTRY LdtDescriptor;//该进程的LDT(局部描述符表)
KIDTENTRY Int21Descriptor;//为了兼容DOS程序,允许他们通过int 21H指令来调用DOS
USHORT IopmOffset;//指定了IOPM的位置,内核通过IOPM可控制进程的用户模式I/O访问权限
UCHAR Iopl;//定义了进程的I/O优先级
BOOLEAN Unused;
#endif
#if defined(_AMD64_)
USHORT IopmOffset;
#endif
volatile KAFFINITY ActiveProcessors;//记录了当前进程正在哪个处理上允许。
//
// The following fields are referenced during clock interrupts.
//
//这两个字段分别记录了当前进程对象在内核模式和用户模式下所化的时间
//KernelT
内核层的进程机构--KPROCESS
最新推荐文章于 2024-04-18 11:35:58 发布