Condividi tramite


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)

Vedi anche

WDF_OBJECT_ATTRIBUTES

KeEnterCriticalRegion

WdfObjectReleaseLock