Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os drivers usam suas rotinas SynchCritSection para uma das duas finalidades básicas:
Programando um dispositivo para uma operação de E/S
Acesso a informações de estado compartilhadas
Como um ISR, uma rotina SynchCritSection deve ser executada o mais rápido possível, fazendo apenas o necessário para configurar registros de dispositivo ou atualizar dados de contexto, antes de retornar.
Como KeSynchronizeExecution mantém o bloqueio de rotação de interrupção de um driver de dispositivo enquanto sua rotina SynchCritSection é executada, o ISR do driver não pode ser executado até que a rotina SynchCritSection retorne o controle.
Para qualquer IRP recebido, um driver de dispositivo deve fazer o máximo de processamento de E/S possível no IRQL PASSIVE_LEVEL em suas rotinas de despacho (ou possivelmente threads dedicados ao dispositivo), ou no IRQL DISPATCH_LEVEL em sua rotina StartIo e rotinas DPC.
Para obter informações adicionais sobre como as seções críticas são sincronizadas, consulte Usando bloqueios de rotação: um exemplo.