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.
A rotina KeEnterCriticalRegion desabilita temporariamente a execução de APCs de kernel normais, mas não impede que APCs de kernel especiais sejam executadas.
Sintaxe
VOID KeEnterCriticalRegion();
Retornar valor
Nenhum
Comentários
Um driver chama essa rotina para entrar em uma região crítica na qual a execução de APCs de kernel normais é adiada até que esse driver saia da região crítica chamando a rotina KeLeaveCriticalRegion . Qualquer chamador de KeEnterCriticalRegion deve chamar KeLeaveCriticalRegion o mais rápido possível depois de entrar em uma região crítica.
Os drivers de nível mais alto podem chamar KeEnterCriticalRegion durante a execução no contexto do thread que solicitou a operação de E/S atual.
Um thread que está dentro de uma região crítica tem APCs de usuário e APCs de kernel normais desabilitadas, mas não APCs de kernel especiais. Para obter mais informações sobre esses tipos de APC, consulte Tipos de APCs.
Regiões críticas podem ser inseridas recursivamente e cada chamada para KeEnterCriticalRegion deve ter uma chamada correspondente para KeLeaveCriticalRegion.
Um driver pode usar uma região crítica para adquirir e liberar acesso exclusivo a um recurso compartilhado. Nesse caso, as rotinas ExEnterCriticalRegionAndAcquireResourceExclusive e ExReleaseResourceAndLeaveCriticalRegion podem ser usadas em vez das rotinas KeEnterCriticalRegion e KeLeaveCriticalRegion . Para obter mais informações, consulte o exemplo de código em ExEnterCriticalRegionAndAcquireResourceExclusive.
Para obter mais informações sobre APCs, consulte Chamadas de procedimento assíncrono.
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo com suporte | Disponível a partir do Windows 2000. |
| Plataforma de Destino | Universal |
| Cabeçalho | ntddk.h (inclua Wdm.h, Ntddk.h, Ntifs.h) |
| Biblioteca | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | <= APC_LEVEL |
| Regras de conformidade da DDI | CriticalRegions(wdm), HwStorPortProhibitedDIs(storport), IrqlKeApcLte2(wdm), WithinCriticalRegion(storport), WithinCriticalRegion(storport), WithinCriticalRegion(wdm) |
Confira também
ExEnterCriticalRegionAndAcquireResourceExclusive