Regola DrvAckIoStop (kmdf)
La regola DrvAckIoStop verifica che il driver sia a conoscenza delle richieste in sospeso mentre la coda gestita dall'alimentazione viene spenta e il driver riconosce, completa o annulla di conseguenza le richieste in sospeso. Nel caso di richieste di I/O autogestito, il driver deve anche gestire correttamente queste richieste dalla relativa funzione EvtDeviceSelfManagedIoSuspend . Un driver che non riesce a gestire queste richieste durante un'alimentazione causa il controllo bug 0x9F: DRIVER_POWER_STATE_FAILURE.
In alcuni casi potrebbe essere opportuno eliminare questo avviso. Se il driver non mantiene le richieste o non le inoltra ad altri driver e se il driver completa le richieste direttamente nei gestori della coda, è possibile usare la funzione __analysis_assume per eliminare l'avviso. Per altre informazioni, vedere Uso della funzione _analysis_assume per eliminare i falsi difetti e Procedura: Specificare informazioni aggiuntive sul codice tramite __analysis_assume.
Modello di driver: KMDF
Verifica bug trovata con questa regola: Controllo bug 0x9F: DRIVER_POWER_STATE_FAILURE
Come eseguire il test
In fase di compilazione |
---|
Eseguire Static Driver Verifier e specificare la regola DrvAckIoStop . Usa i passaggi descritti di seguito per eseguire un'analisi del codice:
Per altre informazioni, vedere Using Static Driver Verifier to Find Defects in Drivers.For more information, see Using Static Driver Verifier to Find Defects in Drivers. |
Si applica a
WdfDeviceInitSetPnpPowerEventCallbacksWdfFdoInitSetFilterWdfIoQueueCreate