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


Набор правил USB (KMDF)

Используйте эти правила, чтобы убедиться, что драйвер правильно обрабатывает некоторые специализированные методы KMDF для USB-устройств.

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

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

FailD0EntryIoTargetState

Правило FailD0EntryIoTargetState указывает, что целевой объект ввода-вывода для непрерывного чтения USB, запущенного в EvtDeviceD0Entry , будет надлежащим образом остановлен из того же обратного вызова в случае сбоя EvtDeviceD0Entry .

UsbContReader

Правило UsbContReader указывает, что непрерывное средство чтения правильно настроено в функции обратного вызова событий EvtDevicePrepareHardware драйвера, где драйвер выполняет вызов метода WdfUsbTargetPipeConfigContinuousReader .

UsbDeviceCreate

Правило UsbDeviceCreate указывает, что методы WdfUsbTargetDeviceCreate и WdfUsbTargetDeviceCreateWithParameters не вызываются за пределами функции обратного вызова события EvtDevicePrepareHardware .

UsbDeviceCreateFail

Правило UsbDeviceCreateFail указывает, что драйвер возвращается из функции обратного вызова события EvtDevicePrepareHardware с состоянием ошибки в случае сбоя создания объекта WDFUSBDEVICE.

UsbDeviceCreateTarget

Правило UsbDeviceCreateTarget указывает, что несколько объектов WDFUSBDEVICE не создаются при утечке объектов WDFUSBDEVICE, которые в настоящее время находятся в контексте устройства.

Выбор набора правил USB

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

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

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

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

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