Funzione ExAcquireSpinLockExclusive (wdm.h)
La routine ExAcquireSpinLockExclusive acquisisce un di blocco spin per l'accesso esclusivo dal chiamante e genera irQL per DISPATCH_LEVEL.
Sintassi
KIRQL ExAcquireSpinLockExclusive(
PEX_SPIN_LOCK SpinLock
);
Parametri
SpinLock
[in, out] Puntatore al blocco di selezione da acquisire per l'accesso esclusivo. Il chiamante non deve già possedere questo blocco di selezione.
Valore restituito
exAcquireSpinLockExclusive restituisce il valore IRQL precedente. Per altre informazioni, vedere 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 routineExReleaseSpinLockExclusive. exReleaseSpinLockExclusive ripristina l'IRQL sul valore originale in cui era stato immesso ExAcquireSpinLockExclusive.
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 | IRQL <= DISPATCH_LEVEL |