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


Правило UsbDeviceCreateTarget (kmdf)

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

Например, функция обратного вызова события EvtDevicePrepareHardware может вызываться несколько раз, когда система пытается управлять ресурсами и должна выделить другой блок памяти для драйвера. В этом случае функция обратного вызова события EvtDeviceReleaseHardware вызывается для отмены сопоставления ресурсов памяти после первоначального вызова платформы EvtDevicePrepareHardware. Затем evtDevicePrepareHardware вызывается снова для сопоставления ресурсов, чтобы драйвер смог получить доступ к памяти, назначенной устройству. Это правило проверяет, что драйвер сначала проверяет, имеет ли целевой WDFUSBDEVICE значение NULL , а не просто создает новое устройство и заменяет предыдущий дескриптор.

Модель драйвера: KMDF

Как тестировать

Во время компиляции

Запустите средство проверки статических драйверов и укажите правило UsbDeviceCreateTarget .

Выполните следующие действия, чтобы выполнить анализ кода.
  1. Подготовьте код (используйте объявления типов ролей).
  2. Запустите средство проверки статических драйверов.
  3. Просмотр и анализ результатов.

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

Применяется к

WdfUsbTargetDeviceCreateWdfUsbTargetDeviceCreateWithParameters