Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Uma APC (chamada de procedimento assíncrono) é uma função que é executada de forma assíncrona. AS APCs são semelhantes a DPCs (chamadas de procedimento adiado), mas ao contrário dos DPCs, as APCs são executadas no contexto de um thread específico. Os drivers (com exceção dos sistemas de arquivos e dos drivers de filtro do sistema de arquivos) não usam as APCs diretamente, mas outras partes do sistema operacional as usam, portanto, você precisa estar ciente de como as APCs funcionam.
O sistema operacional Windows usa quatro tipos de APCs:
APCs de modo usuário especial são executadas estritamente no modo de usuário e são sempre executadas, mesmo que o thread de destino não esteja em um estado de espera alertável. Para obter informações adicionais sobre APCs especiais no modo de usuário, consulte QueueUserAPC2.
As APCs regulares do modo de usuário são executadas estritamente no modo de usuário e somente quando o thread de destino está em um estado de espera alertável. O sistema operacional usa APCs de usuário regulares para implementar mecanismos como E/S sobreposta e a rotina QueueUserApc Win32.
APCs de kernel normais são executadas no modo kernel em IRQL = PASSIVE_LEVEL. Um APC de kernel normal preempciona todo o código do modo de usuário, incluindo APCs de usuário. ApCs de kernel normais geralmente são usadas por sistemas de arquivos e drivers de filtro do sistema de arquivos.
APCs especiais de kernel são executadas no modo kernel em IRQL = APC_LEVEL. Um APC especial do kernel preempõe o código em modo de usuário e o código em modo kernel que é executado em IRQL = PASSIVE_LEVEL, incluindo tanto os APCs de usuário quanto os APCs normais do kernel. O sistema operacional usa APCs especiais de kernel para lidar com operações como a conclusão da solicitação de E/S.
Para obter uma lista de IRQLs da prioridade mais baixa para a mais alta, consulte Gerenciando prioridades de hardware.