Набор правил VirtualStorport (Storport)
Используйте эти правила, чтобы убедиться, что драйвер правильно вызывает DDIs, которые представляют особый интерес для драйверов виртуального мини-порта (VMiniport) Storport.
В этом разделе
Раздел | Описание |
---|---|
Это правило проверяет, не пытается ли драйвер дважды освободить один и тот же блок памяти пула. |
|
Это правило проверяет, что KeSetEvent не вызывается дважды для одного и того же объекта события. Если тот же объект события передается в подпрограмму, драйвер завершает работу с ошибкой правила. |
|
Это правило проверяет, что IRP, выделенный IoAllocateIrp , будет освобожден IoFreeIrp или его подпрограмма завершения будет задана IoSetCompletionRoutine. |
|
Это правило проверяет, что при выходе из подпрограммы HwStorFindAdapter для поля VirtualDevice в структуре PORT_CONFIGURATION_INFORMATION (Storport) задано значение FALSE. Правило применяется только к физическим минипортам StorPort. |
|
Это правило проверяет, что при выходе из подпрограммы HwStorFindAdapter для поля VirtualDevice в структуре PORT_CONFIGURATION_INFORMATION (Storport) задано значение TRUE. Правило применяется только к виртуальным минипортам StorPort. |
|
Это правило проверяет, что вызовы драйвера к определенным функциям синхронизации выполняются только при отключении обычной доставки APC ядра. |
|
Это правило проверяет, правильно ли будет использоваться дескриптор раздела реестра, созданного с помощью ZwCreateKey , другими подпрограммами ZwXxx . Подпрограмма ZwOpenKey не должна вызываться для уже открытого дескриптора. Подпрограммы ZwEnumerateKey, ZwEnumerateValueKey, ZwFlushKey, ZwQueryKey, ZwQueryValueKey, ZwSetValueKey, ZwClose и ZwDeleteKey не должны вызываться для неоткрытого дескриптора. Перед возвратом дескриптор также должен быть закрыт. |
|
Это правило проверяет, правильно ли будет использоваться дескриптор раздела реестра, открытого с помощью ZwOpenKey , другими подпрограммами ZwXxx. Подпрограммы ZwEnumerateKey, ZwEnumerateValueKey, ZwFlushKey, ZwQueryKey, ZwQueryValueKey, ZwSetValueKey, ZwClose и ZwDeleteKey не должны вызываться для неоткрытого дескриптора. Перед возвратом дескриптор также должен быть закрыт. |
Выбор набора правил VirtualStorport
Выберите проект драйвера (.vcxProj) в Microsoft Visual Studio. В меню Драйвер щелкните Запустить средство проверки статических драйверов....
Перейдите на вкладку Правила . В разделе Наборы правил выберите VirtualStorport.
Чтобы выбрать набор правил по умолчанию в окне командной строки разработчика Visual Studio, укажите VirtualStorport.sdv с параметром /проверка. Пример:
msbuild /t:sdv /p:Inputs="/check:VirtualStorport.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
Дополнительные сведения см. в разделах Использование статического средства проверки драйверов для поиска дефектов в драйверах и Команд статического средства проверки драйверов (MSBuild).