结构中的某些成员的含义是什么SYSTEM_PROCESS_INFORMATION?
What's the meaning of some members in SYSTEM_PROCESS_INFORMATION structure?
我在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中)
结构体的单个成员保留给操作系统内部使用。
原因是,这些字段的内容/使用不能保证保持不变(即微软保留更改这些字段的内容/含义的权利,例如使用下一个操作系统)。
在你的书中,有人可能已经确定/调试了这些领域中的内容,并根据这些知识采取行动。但是,如果您编写的程序利用了这些知识,则不能保证该程序可以与以后(甚至其他)版本的操作系统一起工作。
相关文章:
- 如何在c++中使用system()来运行包含空格的python脚本
- System.InvalidCastException - SQL to C++ - safe_cast<float>
- C++/CLI System.AccessViolation在托管类中调用非托管函数时出现异常
- 来自 Android 应用程序内部的 boost 类型的 boost::wrapexcept<boost::system::system_error> 的未捕获异常
- 程序在使用 system() 启动另一个可执行文件时停止
- "Unable to start debugging. No process is associated with this object." - 在Visual Studio Code中使用GDB
- 为什么我的 DeviceInformation 对象没有 System.Devices.InterfaceClassGuid 属性?
- 为什么"using System;"不被视为不良做法?
- C++ 合并字符串以'system'函数错误
- 以某种方式告诉编译器"Do not process line of code"
- 尝试通过Process Pipe发送/接收到python包装器,c ++代码
- System.AccessViolationException:shared_ptr C# .NET 和 C++ 应用程
- 将 Vcl::Controls::TCaption aka (System::UnicodeString) 转换为 co
- 对 boost::system::d etail::system_category_instance 的未定义引用,从
- Python os.system() 返回错误值
- 使用 system() 函数在C++程序中运行 cmd 命令
- 如何使用 C/C++ 和 system() 系统调用以外的其他方法在 Linux 中获取文件功能?
- 使用单独的参数调用"boost::process::system()"时,获取"execv
- c#中的System.Diagnostics.Process和c++中的CreateProcess()哪个是最好的选择
- C++ System() orphan & zombie process