Funzione ExEnterCriticalRegionAndAcquireResourceExclusive (wdm.h)

La routine ExEnterCriticalRegionAndAcquireResourceExclusive prima entra in un'area critica e quindi acquisisce l'accesso esclusivo alla risorsa specificata.

Sintassi

PVOID ExEnterCriticalRegionAndAcquireResourceExclusive(
  PERESOURCE Resource
);

Parametri

Resource

[in, out] Puntatore alla risorsa da acquisire per l'accesso esclusivo. Questo parametro punta a una struttura ERESOURCE allocata dal chiamante. Il chiamante ha allocato in precedenza questa struttura dal pool non di paging e l'ha inizializzata chiamando la routine ExInitializeResourceLite o ExReinitializeResourceLite .

Valore restituito

Puntatore a una struttura di sistema opaca. I driver devono ignorare questo valore restituito.

Commenti

Se questa routine viene chiamata quando la risorsa specificata non è immediatamente disponibile per l'accesso esclusivo, il thread chiamante viene bloccato fino a quando la risorsa non è disponibile.

Anche se un thread driver viene eseguito nell'area critica, le API utente del driver e le NORMALI API kernel non vengono eseguite. Le API del kernel speciali vengono ancora eseguite. Per altre informazioni su questi tipi di APC, vedere Tipi di APC.

Disabilitando temporaneamente i normali APC del kernel, ExEnterCriticalRegionAndAcquireResourceExclusive impedisce a un thread chiamante a livello passivo di essere preceduto da un APC mentre il thread contiene una risorsa condivisa a cui l'APC potrebbe tentare di accedere.

Il thread chiamante deve rimanere nell'area critica e conservare la risorsa specificata per non più di quanto sia necessario. Per rilasciare la risorsa specificata e lasciare l'area critica, chiamare la routine ExReleaseResourceAndLeaveCriticalRegion .

Per altre informazioni sull'uso di una struttura ERESOURCE per sincronizzare l'accesso esclusivo a una risorsa, vedere Introduzione alle routine ERESOURCE. Per altre informazioni sull'immissione e l'uscita da un'area critica, vedere Aree critiche e aree protette.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2003 SP1
Intestazione wdm.h
IRQL <= APC_LEVEL
Regole di conformità DDI CriticalRegions(wdm), HwStorPortProhibitedDDIs(storport)

Vedi anche

ERESOURCE

ExAcquireResourceExclusiveLite

ExInitializeResourceLite

ExReinitializeResourceLite

ExReleaseResourceLite

ExReleaseResourceAndLeaveCriticalRegion

KeEnterCriticalRegion

KeLeaveCriticalRegion