Функция MmIsDriverVerifyingByAddress (wdm.h)
Подпрограмма MmIsDriverVerifyingByAddress проверяет, проверяется ли драйвер режима ядра, определенный по указанному адресу образа, или вызывает драйвер, проверяемый проверяющим драйвер.
Синтаксис
LOGICAL MmIsDriverVerifyingByAddress(
[in] PVOID AddressWithinSection
);
Параметры
[in] AddressWithinSection
Указатель на виртуальный адрес в образе драйвера. MmIsDriverVerifyingByAddress использует этот адрес, чтобы определить, какой драйвер проверка.
Возвращаемое значение
MmIsDriverVerifyingByAddress возвращает значение TRUE , если указанный драйвер либо находится в списке проверки драйвера, либо импортирует вызовы точек входа в драйвере, который находится в списке проверки драйвера. В противном случае эта подпрограмма возвращает значение FALSE.
Комментарии
Драйвер в режиме ядра может вызывать эту подпрограмму, чтобы определить, отслеживается ли он или другой драйвер с помощью средства проверки драйверов. Средство проверки драйверов отслеживает драйверы в режиме ядра для обнаружения недопустимых вызовов функций или действий, которые могут повредить систему. Чтобы выбрать драйверы для проверки, можно использовать командную строку средства проверки или диспетчер проверки драйверов. Дополнительные сведения о добавлении драйверов в список проверки драйверов см. в разделе Выбор проверяемых драйверов.
Аналогичная процедура , MmIsDriverVerifying, указывает, проверяется ли драйвер, определенный объектом драйвера , или вызывает проверяемый драйвер.
Другая связанная подпрограмма, MmIsDriverSuspectForVerifier, указывает, находится ли драйвер, представленный объектом драйвера, в списке драйверов, выбранных для проверки.
Например, если драйвер A содержит таблицу импорта, через которую он вызывает одну или несколько точек входа в драйвере B, а драйвер B находится в списке проверки драйвера, возвращает MmIsDriverVerifyingByAddress(Aobj)
значение TRUE и MmIsDriverSuspectForVerifier(Badr)
возвращает true, где Aobj
— указатель на объект драйвера для A и Badr
является адресом в драйвере B. Если драйвер A отсутствует в списке проверки драйвера, MmIsDriverSuspectForVerifier(Aobj)
возвращает значение FALSE. Даже если драйвер B не вызывает точки входа в драйверах, которые находятся в списке проверки драйверов, возвращает значение TRUE, MmIsDriverVerifyingByAddress(Badr)
так как драйвер B находится в списке проверки драйвера. Если драйвер C отсутствует в списке проверки драйвера и не вызывает точки входа в драйверах, которые находятся в списке проверки драйверов, MmIsDriverVerifyingByAddress(Cadr)
оба MmIsDriverSuspectForVerifier(Cobj)
возвращают значение FALSE.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows Vista. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <=APC_LEVEL |