Regra MarkingInterlockedQueuedIrps (wdm)

A regra MarkingInterlockedQueuedIrps especifica que o driver marca corretamente o IRP como pendente antes de enfileira-lo de forma interconectada para processamento adicional.

Essa regra também especifica que o driver chama IoMarkIrpPending e marca corretamente o IRP como pendente antes de chamar qualquer uma das seguintes funções para adicionar o IRP a uma fila interconectada:

Os drivers devem chamar IoMarkIrpPending antes de adicionar um IRP que requer mais processamento a uma fila interconectada. Caso contrário, um IRP poderia ser desempacoizado, concluído por outra rotina de driver e liberado pelo sistema antes que a chamada para IoMarkIrpPending ocorresse, causando assim uma falha.

Para obter mais informações, consulte Sincronizando o cancelamento de IRP.

Modelo de driver: WDM

Como testar

Em tempo de compilação

Execute o Verificador de Driver Estático e especifique a regra MarkingInterlockedQueuedIrps .

Use as seguintes etapas para executar uma análise do código:
  1. Prepare seu código (use declarações de tipo de função).
  2. Execute o Verificador de Driver Estático.
  3. Exiba e analise os resultados.

Para obter mais informações, consulte Usando o verificador de driver estático para localizar defeitos em drivers.

Aplica-se a

ExInterlockedInsertHeadListExInterlockedInsertTailListExInterlockedPushEntryListIoMarkIrpPendingRemoveHeadList

Confira também

MarkIrpPendingSincronizando cancelamento de IRP