DoubleCompletion-Regel (kmdf)

Die DoubleCompletion-Regel gibt an, dass Treiber eine E/A-Anforderung nicht zweimal ausführen dürfen. Die folgenden Methoden sollten nicht zweimal in einer Zeile für dieselbe Anforderung aufgerufen werden: WdfRequestComplete, WdfRequestCompleteWithInformation, WdfRequestCompleteWithPriorityBoost.

Der Unterschied zwischen dieser Regel und der DoubleCompletionLocal-Regel besteht darin, dass die DoubleCompletionLocal-Regel nur innerhalb der Standardmäßigen E/A-Warteschlangenrückruffunktionen ausgeführt wird.

Treibermodell: KMDF

So führen Sie einen Test durch

Beim Kompilieren:

Führen Sie static Driver Verifier aus , und geben Sie die DoubleCompletion-Regel 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:

WdfIoQueueRetrieveFoundRequestWdfIoQueueRetrieveNextRequestWdfIoQueueRetrieveRequestByFileObjectWdfRequestCompleteWdfRequestCompleteWithInformationWdfRequestCompleteWithPriorityBoost