Проверка Storport
Функция проверки Storport отслеживает взаимодействие между драйвером мини-порта Storport и драйвером порта. Если драйвер мини-порта неправильно использует подпрограмму, неправильно отвечает на запрос от драйвера порта или занимает слишком много времени, чтобы ответить на запрос, выдается проверка ошибки.
Примечание
Функция проверки Storport доступна только в Windows Vista и более поздних версиях Windows.
Нарушения, обнаруженные с помощью проверки Storport
Функция проверки Storport может обнаружить несколько неправильно используемых процедур Storport. Некоторые из этих проверок также можно отключить по отдельности.
Функция проверки Storport выдает проверка 0xF1 ошибок или проверка 0xC4 ошибок, если драйвер мини-порта Storport фиксирует одно из следующих нарушений:
Драйвер мини-порта передает недопустимый аргумент (указатель NULL) в подпрограмму StorPortInitialize .
Драйвер мини-порта вызывает StorPortStallExecution и задает задержку более 0,1 секунды, что зависает процессор на чрезмерное время.
StorPortFreeDeviceBase можно вызывать только из подпрограммы HwStorFindAdapter драйвера мини-порта.
StorPortGetUncachedExtension можно вызывать только из подпрограммы HwStorFindAdapter водителя мини-порта и только для адаптера master автобуса. Перед вызовом StorPortGetUncachedExtensionExtension (Storport) необходимо задать SrbExtension структуры HW_INITIALIZATION_DATA (Storport).
Подпрограмма StorPortGetDeviceBase поддерживает только те адреса, которые были назначены драйверу диспетчером системных Plug and Play (PnP).
Драйвер мини-порта передает недопустимый виртуальный адрес одной из подпрограмм StorPortReadxxx или StorPortWritexxx (например, StorPortReadRegisterUchar или StorPortWritePortBufferUlong). Обычно это означает, что указанный адрес не сопоставляет общую буферную область. Указанный регистр или порт должны находиться в сопоставленном диапазоне памяти, возвращаемом подпрограммой StorPortGetDeviceBase . Эта проверка поддерживается только в системах на базе x86.
Список параметров проверка ошибок, которые использует проверка Storport, см. в разделе 0xF1 проверки ошибок (SCSI_VERIFIER_DETECTED_VIOLATION). Помимо 0xF1 проверки ошибок, проверка Storport также использует 0xC4 проверки ошибок (DRIVER_VERIFIER_DETECTED_VIOLATION).
Примечание
Проверка ошибок 0xF1 используется как для проверки SCSI, так и для проверки Storport.
Активация параметра проверки Storport
Процедура активации параметра проверки Storport отличается от процедур активации других параметров средства проверки драйверов.
С помощью диспетчера проверки драйверов или командной строкиVerifier.exe запустите проверку драйвера мини-порта. Так как проверка Storport не будет доступна в качестве параметра, необходимо выбрать по крайней мере еще один параметр Средства проверки драйверов. Дополнительные сведения см. в разделах Выбор параметров средства проверки драйверов и Выбор драйверов для проверки.
Откройте реестр с помощью regedit.exe. В разделеHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorPort добавьте подраздел с именем Verifier. Если ключ StorPort не существует, его необходимо создать. В разделеHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\STORPort\Verifier добавьте запись REG_DWORDс именем VerifyLevel. Значение, присвоенное этой записи, определяет, какие тесты проверки Storport будут активными. Значение, 0x1, даст максимальную проверку.
Перезагрузите компьютер.
Если значение VerifyLevel не существует или равно 0xFFFFFFFF, проверка Storport будет отключена.
Активация без перезагрузки
Как правило, вы не можете активировать или деактивировать проверку Storport без перезагрузки (перезагрузки) компьютера в любой операционной системе Windows. Драйвер StorPort.sys считывает запись реестра VerifyLevel только при загрузке, которая обычно выполняется во время загрузки. Однако если драйвер StorPort.sys не загружается при добавлении записи реестра или если он выгружается и перезагружается, вы можете включить проверку Storport в Windows Vista и более поздних версиях Windows без перезагрузки компьютера.