UsbDeviceCreateTarget 规则 (kmdf)

UsbDeviceCreateTarget 规则指定,当当前位于设备上下文中的 WDFUSBDEVICE 对象 () 泄露时,不会创建多个 WDFUSBDEVICE 对象。

例如,当系统尝试管理资源并且需要为驱动程序分配不同的内存块时,可以多次调用 EvtDevicePrepareHardware 事件回调函数。 在这种情况下,在框架最初调用 EvtDevicePrepareHardware 后,将调用 EvtDeviceReleaseHardware 事件回调函数来取消映射内存资源。 然后再次调用 EvtDevicePrepareHardware 来映射资源,以便驱动程序可以访问分配给设备的内存。 此规则检查驱动程序是否首先验证目标 WDFUSBDEVICE 是否为 NULL ,并且不只是创建新设备并替换以前的句柄。

驱动程序模型:KMDF

如何测试

编译时

运行 静态驱动程序验证程序 并指定 UsbDeviceCreateTarget 规则。

使用以下步骤运行代码分析:
  1. 准备代码 (使用角色类型声明) 。
  2. 运行静态驱动程序验证程序。
  3. 查看和分析结果。

有关详细信息,请参阅 使用静态驱动程序验证程序查找驱动程序中的缺陷

适用于

WdfUsbTargetDeviceCreateWdfUsbTargetDeviceCreateWithParameters