UsbDeviceCreateTarget 规则 (kmdf)
UsbDeviceCreateTarget 规则指定,当当前位于设备上下文中的 WDFUSBDEVICE 对象 () 泄露时,不会创建多个 WDFUSBDEVICE 对象。
例如,当系统尝试管理资源并且需要为驱动程序分配不同的内存块时,可以多次调用 EvtDevicePrepareHardware 事件回调函数。 在这种情况下,在框架最初调用 EvtDevicePrepareHardware 后,将调用 EvtDeviceReleaseHardware 事件回调函数来取消映射内存资源。 然后再次调用 EvtDevicePrepareHardware 来映射资源,以便驱动程序可以访问分配给设备的内存。 此规则检查驱动程序是否首先验证目标 WDFUSBDEVICE 是否为 NULL ,并且不只是创建新设备并替换以前的句柄。
驱动程序模型:KMDF
如何测试
编译时 |
---|
运行 静态驱动程序验证程序 并指定 UsbDeviceCreateTarget 规则。 使用以下步骤运行代码分析:有关详细信息,请参阅 使用静态驱动程序验证程序查找驱动程序中的缺陷。 |
适用于
WdfUsbTargetDeviceCreateWdfUsbTargetDeviceCreateWithParameters