Condividi tramite


Macro exAcquirePushLockExclusive (wdm.h)

Acquisisce il blocco push specificato per l'accesso esclusivo dal thread chiamante.

Sintassi

void ExAcquirePushLockExclusive(
   Lock
);

Parametri

Lock

Puntatore di blocco push opaco. Questo puntatore deve essere stato inizializzato da una chiamata precedente a ExInitializePushLock.

Valore restituito

nessuno

Osservazioni

I blocchi push sono simili alle strutture ERESOURCE (chiamate anche risorse) in cui possono essere acquisiti per l'accesso condiviso o esclusivo. Per altre informazioni sui blocchi push, vedere la voce di riferimento per ExInitializePushLock.

A differenza delle strutture ERESOURCE, i blocchi push non possono essere acquisiti in modo ricorsivo. Se il chiamante ha già acquisito il blocco push per l'accesso esclusivo o condiviso, il thread si blocca. Quando il chiamante ha accesso esclusivo al blocco push specificato, dipende dal seguente:

  • Se il blocco push è attualmente non generato, l'accesso esclusivo viene concesso immediatamente al thread corrente.

  • Se il blocco push è già stato acquisito per l'accesso esclusivo o condiviso da un altro thread, il thread corrente viene inserito in uno stato di attesa fino a quando il blocco push non può essere acquisito.

Prima di chiamare questa routine, il driver deve disabilitare il normale recapito del kernel APC chiamando KeEnterCriticalRegion. Recapito reenable dopo il rilascio del blocco push chiamando KeLeaveCriticalRegion. Per altre informazioni, vedere Disabilitazione delle API.

Per rilasciare il blocco push dopo l'acquisizione, chiamare ExReleasePushLockExclusive. Ogni chiamata a ExAcquirePushLockExclusive deve essere corrispondente a una chiamata successiva a ExReleasePushLockExclusive.

Per acquisire un blocco push per l'accesso condiviso, chiamare ExAcquirePushLockShared.

Requisiti

Requisito Valore
Client minimo supportato Windows 10, versione 1809
Intestazione wdm.h

Vedi anche

ExInitializePushLock

KeEnterCriticalRegion

ExReleasePushLockExclusive

ExAcquirePushLockShared