Regola MarkingInterlockedQueuedIrps (wdm)
La regola MarkInterlockedQueuedIrps specifica che il driver contrassegna correttamente l'IRP come in sospeso prima di accodarlo in modo interlocked per un'ulteriore elaborazione.
Questa regola specifica anche che il driver chiama IoMarkIrpPending e contrassegna correttamente l'IRP come in sospeso prima di chiamare una delle funzioni seguenti per aggiungere l'IRP a una coda interlockata:
I driver devono chiamare IoMarkIrpPending prima di aggiungere un'IRP che richiede più elaborazione in una coda interlock. In caso contrario, un'IRP potrebbe essere dequeued, completata da un'altra routine driver e liberata dal sistema prima che la chiamata a IoMarkIrpPending si verifichi, causando così un arresto anomalo.
Per altre informazioni, vedere Sincronizzazione dell'annullamento di IRP.
Modello di driver: WDM
Come eseguire il test
In fase di compilazione |
---|
Eseguire il verifica driver statico e specificare la regola MarkingInterlockedQueuedIrps . Usa i passaggi descritti di seguito per eseguire un'analisi del codice:
Per altre informazioni, vedere Uso del verificatore driver statico per trovare i difetti nei driver. |
Si applica a
ExInterlockedInsertHeadList ExInterlockedInsertTailListExInterlockedPushEntryListIoMarkIrpPendingRemoveHeadList