Как определить потребление ресурсов процессора и памяти драйвером Windows (он же пространство ядра)

Проблема на самом деле довольно проста: мне нужно знать текущее потребление ресурсов ЦП и памяти всей системы из драйвера режима ядра под Windows.
Конечно, я смотрел связанный вопрос и попробовал этот код. Результаты не очень хорошие: среда разработки Visual Studio 2013 для драйверов не знает заголовков из упомянутых примеров. Например.:

#include "windows.h"
MEMORYSTATUSEX memInfo;
memInfo.dwLength = sizeof(MEMORYSTATUSEX);
GlobalMemoryStatusEx(&memInfo);
DWORDLONG totalVirtualMem = memInfo.ullTotalPageFile;

Код выше не компилируется.
Я тщательно изучил почти все «Справочник по драйверам режима ядра» в MSDN, ища похожие функции, и мне это не удалось.

Итак, кто-нибудь знает, как получить ту же информацию из драйвера режима ядра под Windows?

Или это невозможно? (Это довольно странно, если это правда.)

1

Решение

Эти API не доступны для драйверов, поэтому неудивительно, что ваша попытка не сработала.

Управление памятью в драйверах режима ядра намного сложнее, чем в приложениях пользовательского режима. Вы должны расследовать отслеживание пула чтобы увидеть, есть ли способ использовать это, чтобы дать вам информацию, которую вы хотите.

1

Другие решения


По вопросам рекламы [email protected]