Fonction WdfObjectAcquireLock (wdfsync.h)
[S’applique à KMDF et UMDF]
La méthode WdfObjectAcquireLock acquiert le verrou de synchronisation d’un objet.
Syntaxe
VOID WdfObjectAcquireLock(
_In_ WDFOBJECT Object
);
Paramètres
[in] Object
Handle d’un objet d’appareil framework ou d’un objet de file d’attente d’infrastructure.
Remarques
Un bogue case activée se produit si le pilote fournit un handle d’objet non valide.
Un pilote peut appeler la méthode WdfObjectAcquireLock pour acquérir le verrou de synchronisation associé à un objet d’appareil framework ou à un objet de file d’attente d’infrastructure spécifié. La méthode ne retourne pas tant que le verrou n’a pas été acquis.
Lorsque le pilote n’a plus besoin du verrou de synchronisation de l’objet, il doit appeler WdfObjectReleaseLock.
Si le pilote a spécifié WdfExecutionLevelPassive pour le membre ExecutionLevel de la structure WDF_OBJECT_ATTRIBUTES de l’objet spécifié, le pilote doit appeler WdfObjectAcquireLock à IRQL <= APC_LEVEL. WdfObjectAcquireLock acquiert un mutex rapide et retourne à l’IRQL de l’appelant. (Dans ce cas, WdfObjectAcquireLock appelle également KeEnterCriticalRegion avant de retourner afin que les API de noyau normaux soient désactivés.)
Si le pilote n’a pas spécifié WdfExecutionLevelPassive pour le membre ExecutionLevel de la structure WDF_OBJECT_ATTRIBUTES de l’objet spécifié, le pilote doit appeler WdfObjectAcquireLock à IRQL <= DISPATCH_LEVEL. WdfObjectAcquireLock acquiert un verrou de rotation et retourne à IRQL = DISPATCH_LEVEL.
Pour plus d’informations sur les verrous de synchronisation, consultez Techniques de synchronisation pour les pilotes Framework-Based.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
Version UMDF minimale | 2.0 |
En-tête | wdfsync.h (inclure Wdf.h) |
IRQL | Consultez la section Notes. |
Règles de conformité DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |