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:
Weitere Informationen finden Sie unter Verwenden der statischen Treiberüberprüfung, um Fehler in Treibern zu finden. |
Gilt für:
IoSetCancelRoutineIoSetStartIoAttributes