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.
Uma chamada de procedimento assíncrona (APC) é uma função que é executada de forma assíncrona. Os APCs são semelhantes às chamadas de procedimento diferido (DPCs), mas, ao contrário dos DPCs, os APCs são executados dentro do contexto de um thread específico. Os drivers (exceto sistemas de arquivos e drivers de filtro do sistema de arquivos) não usam APCs diretamente, mas outras partes do sistema operacional utilizam APCs, portanto, você precisa estar ciente de como os APCs funcionam.
O sistema operacional Windows usa quatro tipos de APCs:
APCs especiais de modo de usuário são executados estritamente no modo de usuário e sempre são executados, mesmo que o thread de destino não esteja em um estado de espera alertável. Para obter informação adicional sobre APCs especiais em modo de utilizador, consulte QueueUserAPC2.
APCs regulares de modo de usuário são executados 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 regular para implementar mecanismos como E/S sobreposta e a rotina QueueUserApc Win32.
APCs normais do núcleo são executados em modo núcleo com IRQL = PASSIVE_LEVEL. Um APC de kernel normal antecipa todo o código de modo de usuário, incluindo APCs de usuário. APCs normais do kernel são geralmente usados por sistemas de arquivos e drivers de filtro de sistema de arquivos.
APCs especiais do kernel são executados no modo kernel em IRQL = APC_LEVEL. Um APC de kernel especial antecipa o código de modo de usuário e o código de modo kernel que é executado em IRQL = PASSIVE_LEVEL, incluindo APCs de usuário e APCs de kernel normais. O sistema operacional usa APCs de kernel especiais para lidar com operações como a conclusão de solicitações de E/S.
Para obter uma lista de IRQLs da prioridade mais baixa para a mais alta, consulte Gerenciando prioridades de hardware.