Правило UsbDeviceCreateTarget (kmdf)
Правило UsbDeviceCreateTarget указывает, что несколько объектов WDFUSBDEVICE не создаются при утечке объектов WDFUSBDEVICE, которые в настоящее время находятся в контексте устройства.
Например, функция обратного вызова события EvtDevicePrepareHardware может вызываться несколько раз, когда система пытается управлять ресурсами и должна выделить другой блок памяти для драйвера. В этом случае функция обратного вызова события EvtDeviceReleaseHardware вызывается для отмены сопоставления ресурсов памяти после первоначального вызова платформы EvtDevicePrepareHardware. Затем evtDevicePrepareHardware вызывается снова для сопоставления ресурсов, чтобы драйвер смог получить доступ к памяти, назначенной устройству. Это правило проверяет, что драйвер сначала проверяет, имеет ли целевой WDFUSBDEVICE значение NULL , а не просто создает новое устройство и заменяет предыдущий дескриптор.
Модель драйвера: KMDF
Как тестировать
Во время компиляции |
---|
Запустите средство проверки статических драйверов и укажите правило UsbDeviceCreateTarget . Выполните следующие действия, чтобы выполнить анализ кода.
Дополнительные сведения см. в разделе Использование средства проверки статических драйверов для поиска дефектов в драйверах. |
Применяется к
WdfUsbTargetDeviceCreateWdfUsbTargetDeviceCreateWithParameters