Share via


Funzione KeEnterCriticalRegion (ntddk.h)

La routine KeEnterCriticalRegion disabilita temporaneamente l'esecuzione di normali API kernel, ma non impedisce l'esecuzione di API kernel speciali.

Sintassi

void KeEnterCriticalRegion();

Valore restituito

nessuno

Osservazioni

Un driver chiama questa routine per immettere un'area critica in cui l'esecuzione di normali API kernel viene posticipata fino a quando questo driver termina l'area critica chiamando la routine KeLeaveCriticalRegion . Qualsiasi chiamante di KeEnterCriticalRegion deve chiamare KeLeaveCriticalRegion il più rapidamente possibile dopo aver immesso un'area critica.

I driver di livello più alto possono chiamare KeEnterCriticalRegion durante l'esecuzione nel contesto del thread che ha richiesto l'operazione di I/O corrente.

Un thread che si trova all'interno di un'area critica include SIA API utente che API kernel normali disabilitate, ma non API kernel speciali. Per altre informazioni su questi tipi APC, vedere Tipi di API.

Le aree critiche possono essere immesse in modo ricorsivo e ogni chiamata a KeEnterCriticalRegion deve avere una chiamata corrispondente a KeLeaveCriticalRegion.

Un driver può usare un'area critica per acquisire e rilasciare l'accesso esclusivo a una risorsa condivisa. In questo caso, le routine ExEnterCriticalRegionAndAcquireResourceExclusive e ExReleaseResourceAndLeaveCriticalRegion possono essere usate anziché le routine KeEnterCriticalRegion e KeLeaveCriticalRegion . Per altre informazioni, vedere l'esempio di codice in ExEnterCriticalRegionAndAcquireResourceExclusive.

Per altre informazioni sulle API, vedere Chiamate di procedure asincrone.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 2000.
Piattaforma di destinazione Universale
Intestazione ntddk.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
Regole di conformità DDI CriticalRegions(wdm), HwStorPortProhibitedDDDIs(storport), IrqlKeApcLte2(wdm), WithinCriticalRegion(storport), WithinCriticalRegion(storport), WithinCriticalRegion(wdm)

Vedi anche

ExEnterCriticalRegionAndAcquireResourceExclusive

ExReleaseResourceAndLeaveCriticalRegion

KeAreApcsDisabled

KeLeaveCriticalRegion