1

这个问题其实很简单:我需要从Windows下的内核模式驱动中知道当前整个系统的CPU和内存消耗。当然,我看过相关的问题并尝试过这段代码。结果不好:用于开发驱动程序的 Visual Studio 2013 环境不知道上述示例中的任何标头。例如:

#include "windows.h"

MEMORYSTATUSEX memInfo;
memInfo.dwLength = sizeof(MEMORYSTATUSEX);
GlobalMemoryStatusEx(&memInfo);
DWORDLONG totalVirtualMem = memInfo.ullTotalPageFile;

上面的代码没有编译。我仔细检查了 MSDN 中几乎所有的“Kernel-Mode Driver Reference”,寻找类似的功能,但没有成功。

那么,有谁知道如何从 Windows 下的内核模式驱动程序中获取相同的信息?

或者这是不可能的?(如果是真的,这很奇怪。)

4

1 回答 1

1

这些 API 对驱动程序不可用,因此您的尝试没有构建也就不足为奇了。

内核模式驱动程序中的内存管理比用户模式应用程序中的要复杂得多。您应该调查池跟踪,看看是否有办法使用它来为您提供所需的信息。

于 2014-05-20T12:10:53.643 回答