Freigeben über


StartIoCancel-Regel (wdm)

Die StartIoCancel-Regel gibt an, dass der Treiber IoSetStartIoAttributes nicht aufrufen darf, wobei der NonCancelable-Parameter auf FALSE festgelegt ist, bevor IoSetCancelRoutine mit einer Cancel-Routine ohne NULL aufgerufen wird.

Wenn Sie den Parameter NonCancelable auf FALSE festlegen, bevor Sie die Cancel-Routine registrieren, kann dies zu einer Racebedingung für den Abbruch führen.

Da die Cancel-Routine eines Treibers einen Aufruf von IoReleaseCancelSpinLock enthalten muss (um die Drehsperre freizugeben, die der E/A-Manager vor dem Aufrufen der Cancel-Routine erhält), sollten Sie ihren Treiber sowohl mit der StartIoCancel-Regel als auch mit der CancelSpinLock-Regel überprüfen.

Treibermodell: WDM

So führen Sie einen Test durch

Beim Kompilieren:

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

IoSetCancelRoutineIoSetStartIoAttributes

Weitere Informationen

CancelSpinLock