Поделиться через


Инвариантная проверка MDL для драйвера

Параметр Invariant MDL Checking for Driver (Инвариантная проверка MDL для драйвера) отслеживает, как драйвер обрабатывает инвариантные буферы MDL для каждого драйвера. Этот параметр обнаруживает незаконное изменение инвариантных буферов MDL. Чтобы использовать этот параметр, необходимо включить проверку ввода-вывода по крайней мере для одного драйвера.

Примечание Этот параметр доступен, начиная с Windows 8.

Параметр Invariant MDL Checking for Driver (Инвариантная проверка MDL для драйвера) выполняет более интенсивную форму инвариантной проверки MDL, чем параметр Invariant MDL Checking for Stack (Инвариантная проверка MDL для стека ). Если активна проверка инвариантного MDL для драйвера, инвариантность буфера проверяется при каждом вызове процедур IoCallDriver и IoCompleteRequest .

Каждый раз, когда новый инвариантный буфер MDL встречается с IRP, средство проверки драйверов вычисляет подпись для содержимого буфера и сохраняет ее во внутренней базе данных. Когда средство проверки драйверов обнаруживает инвариантный буфер MDL, который он видел ранее, он проверяет, что содержимое буфера не изменилось, сравнивая подпись в базе данных с сигнатурой, вычисленной по текущему содержимому инвариантного буфера MDL.

Этот параметр является глобальным и не может применяться выборочно для некоторых драйверов.

Активация этого параметра

Вы можете активировать функцию инвариантной проверки MDL для драйвера для одного или нескольких драйверов с помощью диспетчера проверки драйверов или командной строки Verifier.exe. Дополнительные сведения см. в разделе Выбор параметров средства проверки драйверов. Необходимо перезагрузить компьютер, чтобы активировать или отключить параметр Invariant MDL Checking for Driver (Инвариантная проверка MDL для драйвера).

Чтобы активировать параметр Инвариантная проверка MDL для стека , необходимо также активировать проверку ввода-вывода.

  • В командной строке

    В командной строке invariant MDL Checking for Driver представлен проверяющего /flags 0x00004000 (бит 14). Чтобы активировать инвариантную проверку MDL для драйвера, используйте значение флага 0x00004010 или добавьте 0x00004010 к значению флага. Это значение активирует проверку ввода-вывода (0x10) и инвариантную проверку MDL для драйвера (0x00004000). Пример:

    verifier /flags 0x00004010 /driver MyDriver.sys
    

    Функция будет активна после следующей загрузки.

  • Использование диспетчера проверки драйверов

    1. Запустите диспетчер проверки драйверов. Введите Verifier в окне командной строки.
    2. Выберите Создать пользовательские параметры (для разработчиков кода) и нажмите кнопку Далее.
    3. Выберите Выбрать отдельные параметры из полного списка.
    4. Выберите (проверка)Проверка ввода-вывода и Инвариантная проверка MDL для драйвера.
    5. Перезагрузите компьютер.