Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используйте эти правила, чтобы убедиться, что драйвер правильно соответствует общему набору требований для правильной обработки разделов реестра, строк и указателей объектов устройства.
В этом разделе
| Тема | Описание |
|---|---|
Правило AddDevice указывает, что подпрограмма AddDevice драйвера вызывает IoAttachDeviceToDeviceStack только после вызова IoCreateDevice. |
|
Правило DanglingDeviceObjectReference указывает, что драйвер вызывает ObDereferenceObject с тем же указателем объекта устройства, который возвращает IoGetAttachedDeviceReference. |
|
Правило PnpSameDeviceObject указывает, что драйвер вызывает IoAttachDeviceToDeviceStack указателем на допустимый целевой объект устройства. |
|
Правило TargetRelationNeedsRef указывает, что при обработке запроса TargetDeviceRelation подпрограмма DispatchPnP драйвера вызывает одну из следующих функций, чтобы ссылаться на PDO дочернего устройства: |
|
UnSafeAllocatePool является важным правилом безопасности, которое проверяет, что драйвер не использует устаревшие DDIs для выделения памяти. |
|
Правило ZwRegistryCreate указывает, что после вызова ZwCreateKey драйвер может вызывать следующие функции реестра только при наличии открытого дескриптора к разделу реестра (то есть перед вызовами ZwClose или ZwDeleteKey , чтобы закрыть или удалить дескриптор к разделу реестра): |
|
Правило ZwRegistryOpen указывает, что после вызова ZwOpenKey драйвер вызывает следующие функции реестра только при сохранении открытого дескриптора к разделу реестра (то есть перед вызовом ZwClose или ZwDeleteKey): |
Чтобы выбрать набор правил "Прочие"
Выберите проект драйвера (.vcxProj) в Microsoft Visual Studio. В меню драйвера щелкните Запустить средство проверки статических драйверов....
Перейдите на вкладку "Правила ". В разделе "Наборы правил" выберите "Прочие".
Чтобы выбрать набор правил по умолчанию в окне командной строки разработчика Visual Studio, укажите miscellaneous.sdv с параметром /check . Рассмотрим пример.
msbuild /t:sdv /p:Inputs="/check:Miscellaneous.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32Дополнительные сведения см. в статье Использование средства проверки статических драйверов для поиска дефектов в драйверах и команды средства проверки статических драйверов (MSBuild).