Различный набор правил (KMDF)

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

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

Тема Описание

AccessHardwareKey

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

AddPdotoStaticChildlist

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

ChildListConfiguration

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

Cleanup4CtlDeviceRegistered

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

NonFDONotPowerPolicyOwnerAPI

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

NonPnPDrvPowerPolicyOwnerAPI

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

UnSafeAllocatePool

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

Чтобы выбрать набор правил "Прочие"

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

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

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

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

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