【问题标题】:How to find the memory used by a process from kernel mode in Windows如何在 Windows 中从内核模式查找进程使用的内存
【发布时间】:2016-09-20 13:17:53
【问题描述】:

我正在尝试获取 Windows 内核模式下进程使用的内存。

我尝试通过PSAPI.h 使用GetProcessMemoryInfo API。但这是一个 USER 模式功能,它不给我数据。

还有其他方法可以获取内存详细信息吗?

【问题讨论】:

  • 您希望获得什么类型的信息?

标签: c windows winapi kernel


【解决方案1】:

您需要使用 ProcessVmCountersProcessIoCountersZwQueryInformationProcessNtQueryInformationProcess 取决于以前的模式

ULONG rcb;
union {
    VM_COUNTERS vmc;
    VM_COUNTERS_EX vmcex;
};
IO_COUNTERS ioc;
ZwQueryInformationProcess(NtCurrentProcess(), ProcessVmCounters, &vmc, sizeof(vmc), &rcb);
ZwQueryInformationProcess(NtCurrentProcess(), ProcessVmCounters, &vmcex, sizeof(vmcex), &rcb);
ZwQueryInformationProcess(NtCurrentProcess(), ProcessIoCounters, &ioc, sizeof(ioc), &rcb);

【讨论】:

    猜你喜欢
    • 2015-07-08
    • 1970-01-01
    • 2014-06-20
    • 1970-01-01
    • 2012-02-20
    • 2014-06-17
    • 2013-11-10
    • 2011-03-24
    • 2011-12-05
    相关资源
    最近更新 更多