Funzione WdfObjectAcquireLock (wdfsync.h)
[Si applica a KMDF e UMDF]
Il metodo WdfObjectAcquireLock acquisisce il blocco di sincronizzazione di un oggetto.
Sintassi
VOID WdfObjectAcquireLock(
_In_ WDFOBJECT Object
);
Parametri
[in] Object
Handle per un oggetto dispositivo framework o un oggetto coda framework.
Commenti
Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.
Un driver può chiamare il metodo WdfObjectAcquireLock per acquisire il blocco di sincronizzazione associato a un oggetto del dispositivo framework o a un oggetto coda framework specificato. Il metodo non restituisce fino a quando non è stato acquisito il blocco.
Quando il driver non ha più bisogno del blocco di sincronizzazione dell'oggetto, deve chiamare WdfObjectReleaseLock.
Se il driver specificato WdfExecutionLevelPassive per il membro ExecutionLevel della struttura WDF_OBJECT_ATTRIBUTES dell'oggetto specificato, il driver deve chiamare WdfObjectAcquireLock in IRQL <= APC_LEVEL. WdfObjectAcquireLock acquisisce un mutex veloce e restituisce all'IRQL del chiamante. In questo caso , WdfObjectAcquireLock chiama anche KeEnterCriticalRegion prima di restituire in modo che le API del kernel normali siano disabilitate.
Se il driver non ha specificato WdfExecutionLevelPassive per il membro ExecutionLevel della struttura WDF_OBJECT_ATTRIBUTES dell'oggetto specificato, il driver deve chiamare WdfObjectAcquireLock in IRQL <= DISPATCH_LEVEL. WdfObjectAcquireLock acquisisce un blocco di rotazione e restituisce in IRQL = DISPATCH_LEVEL.
Per altre informazioni sui blocchi di sincronizzazione, vedere Tecniche di sincronizzazione per i driver di Framework-Based.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1,0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfsync.h (includere Wdf.h) |
IRQL | Vedere La sezione Osservazioni. |
Regole di conformità DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |