UsbDeviceCreateTarget-Regel (kmdf)

Die UsbDeviceCreateTarget-Regel gibt an, dass nicht mehrere WDFUSBDEVICE-Objekte erstellt werden, während WDFUSBDEVICE-Objekte, die sich derzeit im Gerätekontext befinden, durchgesickert werden.

Beispielsweise kann die Ereignisrückruffunktion EvtDevicePrepareHardware mehrmals aufgerufen werden, wenn das System versucht, Ressourcen zu verwalten und einen anderen Speicherabschnitt für den Treiber zuweisen muss. In diesem Fall wird die Ereignisrückruffunktion EvtDeviceReleaseHardware aufgerufen, um die Zuordnung von Speicherressourcen aufzuheben, nachdem das Framework ursprünglich EvtDevicePrepareHardware aufgerufen hat. Die EvtDevicePrepareHardware wird dann erneut aufgerufen, um Ressourcen zuzuordnen, damit der Treiber auf speicher zugreifen kann, der dem Gerät zugewiesen ist. Diese Regel überprüft, ob der Treiber zuerst überprüft, ob das ZIEL-WDFUSBDEVICE NULL ist, und erstellt nicht einfach ein neues Gerät und ersetzt das vorherige Handle.

Treibermodell: KMDF

So führen Sie einen Test durch

Beim Kompilieren:

Führen Sie Static Driver Verifier aus, und geben Sie die Regel UsbDeviceCreateTarget an .

Gehen Sie folgendermaßen vor, um Ihren Code zu analysieren:
  1. Bereiten Sie den Code vor (verwenden Sie Rollentypdeklarationen).
  2. Führen Sie Static Driver Verifier aus.
  3. Überprüfen und analysieren Sie die Ergebnisse.

Weitere Informationen finden Sie unter Verwenden der statischen Treiberüberprüfung, um Fehler in Treibern zu finden.

Gilt für:

WdfUsbTargetDeviceCreateWdfUsbTargetDeviceCreateWithParameters