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


Прочий набор правил (KMDF)

Используйте эти правила, чтобы убедиться, что драйвер правильно соответствует общему набору требований к правильной обработке объектов устройства, ключей и что драйвер не выполняет вызовы DDIs, которые не подходят для драйвера, отличного от PnP, или для драйвера, не являющегося владельцем политики управления питанием.

В этом разделе

Раздел Описание

AccessHardwareKey

Правило AccessHardwareKey указывает, что драйвер шины не должен пытаться получить доступ к аппаратному ключу дочернего устройства из EvtChildListCreateDevice.

AddPdotoStaticChildlist

Правило AddPdotoStaticChildlist указывает, что для устройства PDO должна вызываться функция платформы WdfFdoAddStaticChild после успешного вызова драйвером WdfPdoInitAllocate и WdfDeviceCreate .

ChildListConfiguration

Правило ChildListConfiguration указывает, что драйверы, поддерживающие динамическое перечисление , должны вызывать WdfFdoInitSetDefaultChildListConfig перед вызовом функции WdfDeviceCreate .

Cleanup4CtlDeviceRegistered

Правило Cleanup4CtlDeviceRegistered указывает, что если драйвер Plug and Play (PnP) вызывает WdfDeviceCreate для объекта управляющего устройства, драйвер должен зарегистрировать одну из необходимых функций обратного вызова событий.

NonFDONotPowerPolicyOwnerAPI

Правило NonFDONotPowerPolicyOwnerAPI указывает, что если драйвер, отличный от FDO, не является владельцем политики управления питанием, некоторые DIS не могут быть вызваны.

NonPnPDrvPowerPolicyOwnerAPI

Правило NonPnPDrvPowerPolicyOwnerAPI указывает, что драйверы, отличные от PnP, не могут вызывать определенные DDIs, связанные с управлением питанием.

UnSafeAllocatePool

Правило UnSafeAllocatePool — это важное правило безопасности, которое проверяет, не использует ли драйвер устаревшие DIS для выделения памяти.

Выбор набора правил "Прочее"

  1. Выберите проект драйвера (VCXProj) в Microsoft Visual Studio. В меню Драйвер выберите Запуск средства проверки статических драйверов....

  2. Перейдите на вкладку Правила . В разделе Наборы правил выберите Разное.

    Чтобы выбрать набор правил по умолчанию в окне командной строки разработчика Visual Studio, укажите Miscellaneous.sdv с параметром /проверка. Пример:

    msbuild /t:sdv /p:Inputs="/check:Miscellaneous.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
    

    Дополнительные сведения см. в разделах Использование статического средства проверки драйверов для поиска дефектов в драйверах и Команд средства проверки статических драйверов (MSBuild).