Funzione ExAcquireFastMutexUnsafe (wdm.h)
La routine ExAcquireFastMutexUnsafe acquisisce il mutex rapido specificato per il thread chiamante.
Sintassi
void ExAcquireFastMutexUnsafe(
PFAST_MUTEX FastMutex
);
Parametri
FastMutex
[in, out] Puntatore a una struttura FAST_MUTEX) per cui il chiamante fornisce l'archiviazione. Il chiamante ha inizializzato in precedenza questa struttura tramite una chiamata alla routine ExInitializeFastMutex
Valore restituito
nessuno
Osservazioni
ExAcquireFastMutexUnsafe inserisce il chiamante in uno stato di attesa se il mutex rapido specificato non può essere acquisito immediatamente. In caso contrario, al chiamante viene assegnata la proprietà del mutex e l'accesso esclusivo alla risorsa che il mutex protegge fino a quando il chiamante non rilascia il mutex.
Qualsiasi mutex veloce acquisito da una chiamata a ExAcquireFastMutexUnsafe deve essere rilasciato da una chiamata alla routine ExReleaseFastMutexUnsafe .
Le routine ExAcquireFastMutex e ExAcquireFastMutexUnsafe causano il blocco del thread chiamante fino a quando non è disponibile il mutex. La routine ExTryToAcquireFastMutex restituisce immediatamente con il valore restituito FALSE se un altro thread ha già acquisito il mutex. Sia ExAcquireFastMutex che ExTryToAcquireFastMutex generano irQL per APC_LEVEL prima di acquisire il mutex veloce. I driver devono usare ExAcquireFastMutexUnsafe, che non genera IRQL, solo se una delle condizioni seguenti è vera:
Il thread è già in esecuzione in APC_LEVEL.
Il thread acquisisce il mutex all'interno di un'area critica immessa in precedenza da una chiamata alla routine KeEnterCriticalRegion o FsRtlEnterFileSystem .
Per altre informazioni sui mutex veloci, vedere gli argomenti seguenti:
Mutex veloci e mutex sorvegliati
Blocchi, deadlock e sincronizzazione
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 |
Intestazione | wdm.h |
IRQL | APC_LEVEL |
Regole di conformità DDI | HwStorPortProhibitedDDIs(storport) |