结构中的某些成员的含义是什么SYSTEM_PROCESS_INFORMATION?

What's the meaning of some members in SYSTEM_PROCESS_INFORMATION structure?

本文关键字:SYSTEM PROCESS INFORMATION 是什么 成员 结构      更新时间:2023-10-16

我在MSDN中查找过,但它只列出了一些成员的含义。这是MSDN中的链接SYSTEM_PROCESS_INFORMATION结构

你看,没有指示PVOID Reserved2[3],的含义。在我的书中,在一个钩子NtQuerySystemInformation函数隐藏进程的例子中,一些代码如下

if(!_tcsicmp((PWSTR)pCur->Reserved2[1],g_szProcName)) //pCur points to a SYSTEM_PROCESS_INFORMATION , g_szProcName variable is the name of the process to hide . According to the book , here is to search for the target process to hide.
{
   // something to do . According to the book , here is to delete the node of the process to hide  in the single linked list of  SYSTEM_PROCESS_INFORMATION structure 
}
如你所见,这里使用了这个结构体的成员PVOID Reserved2[3]。我想这就是这个过程的名字。但是在代码中使用了Reserved2[1],所以我想知道它和MSDN中没有提到的其他成员的准确含义,有人可以帮助我吗?

保留结构成员通常不打算由非系统程序员使用(即不打算由您使用)。它们通常被描述为(在MSDN中)

结构体的单个成员保留给操作系统内部使用。

原因是,这些字段的内容/使用不能保证保持不变(即微软保留更改这些字段的内容/含义的权利,例如使用下一个操作系统)。

在你的书中,有人可能已经确定/调试了这些领域中的内容,并根据这些知识采取行动。但是,如果您编写的程序利用了这些知识,则不能保证该程序可以与以后(甚至其他)版本的操作系统一起工作。