Condividi tramite


Funzione ExAcquireSpinLockShared (wdm.h)

La routine ExAcquireSpinLockShared acquisisce un di blocco spin per l'accesso condiviso dal chiamante e genera irQL per DISPATCH_LEVEL.

Sintassi

KIRQL ExAcquireSpinLockShared(
  [in, out] PEX_SPIN_LOCK SpinLock
);

Parametri

[in, out] SpinLock

Puntatore al blocco di selezione da acquisire per l'accesso condiviso. Il chiamante non deve già possedere questo blocco di selezione.

Valore restituito

La routine ExAcquireSpinLockShared restituisce il valore IRQL precedente. Per altre informazioni, vedere la sezione osservazioni.

Osservazioni

Nella voce di questa routine, il chiamante deve essere in esecuzione in IRQL <= DISPATCH_LEVEL. Questa routine genera irQL per DISPATCH_LEVEL e restituisce il valore IRQL originale (on-entry).

Per rilasciare il blocco di selezione, chiamare la routineExReleaseSpinLockShared. exReleaseSpinLockShared ripristina l'IRQL sul valore originale che aveva all'ingresso ExAcquireSpinLockShared.

Un blocco di selezione è una variabile a 32 bit di tipo EX_SPIN_LOCK. Il driver deve allocare lo spazio di archiviazione per il blocco di selezione e inizializzare il blocco di selezione su zero. Questa risorsa di archiviazione deve trovarsi nella memoria dello spazio di sistema non di paging.

Il chiamante deve tenere premuto il blocco di rotazione solo brevemente prima di rilasciarlo. Per altre informazioni, vedere Introduction to Spin Locks.

L'acquisizione ricorsiva di un blocco spin causa deadlock e non è consentita.

Fabbisogno

Requisito Valore
intestazione wdm.h
IRQL DISPATCH_LEVEL (vedere la sezione Note).

Vedere anche

exReleaseSpinLockShared