WdfObjectAcquireLock, fonction (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 vers un objet d’appareil framework ou un objet de file d’attente d’infrastructure.
Valeur de retour
Aucun
Remarques
Une vérification de bogue 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 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 rapide et retourne à l’IRQL de l’appelant. (Dans ce cas, WdfObjectAcquireLock appelle également KeEnterCriticalRegion avant de retourner afin que API de noyau normales soient désactivées.)
Si le pilote n’a pas spécifier WdfExecutionLevelPassive pour le membre ExecutionLevel de la structure WDF_OBJECT_ATTRIBUTES de l’objet spécifié, le pilote doit appeler WdfObjectAcquireLock au <IRQL = DISPATCH_LEVEL. WdfObjectAcquireLock acquiert une de verrouillage 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.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
version minimale de KMDF | 1.0 |
version minimale de UMDF | 2.0 |
d’en-tête | wdfsync.h (include Wdf.h) |
IRQL | Voir la section Remarques. |
règles de conformité DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |