Partager via


IWDFInterrupt ::TryToAcquireInterruptLock, méthode (wudfddi.h)

[Avertissement : UMDF 2 est la dernière version de UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide de UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et il existe une prise en charge limitée de UMDF 1 sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Bien démarrer avec UMDF.]

La méthode TryToAcquireInterruptLock acquiert le verrou d’interruption si aucun autre thread ne l’a déjà acquis.

Syntaxe

BOOLEAN TryToAcquireInterruptLock();

Valeur de retour

La méthode retourne TRUE si le verrou d’interruption a été acquis. Sinon, la méthode retourne FALSE.

Remarques

Contrairement à IWDFInterrupt ::AcquireInterruptLock, IWDFInterrupt ::TryToAcquireInterruptLock n’attend pas que le verrou d’interruption devienne disponible si un autre thread le tient.

Lors de l’exécution dans un thread arbitraire, tel qu’une méthode de rappel de file d’attente d’E/S, les pilotes doivent appeler IWDFInterrupt ::TryToAcquireInterruptLock au lieu de IWDFInterrupt ::AcquireInterruptLock. Par exemple, le pilote appelle IWDFInterrupt ::TryToAcquireInterruptLock à partir de IQueueCallbackRead ::OnRead. Cela évite la possibilité d’interblocage, comme décrit dans la section Remarques de IWDFInterrupt ::AcquireInterruptLock.

Le pilote ne doit pas tenter d’acquérir le verrou de manière récursive. Si elle est connectée au débogueur, l’infrastructure introduit un point d’arrêt dans ce scénario.

Pour plus d’informations sur le verrouillage manuel des interruptions, consultez Synchronisation du code d’interruption.

Pour plus d’informations sur la gestion des interruptions dans les pilotes UMDF, consultez Accès aux interruptions matérielles et de gestion des interruptions.

Exigences

Exigence Valeur
fin du support Indisponible dans UMDF 2.0 et versions ultérieures.
plateforme cible Bureau
version minimale de UMDF 1.11
d’en-tête wudfddi.h
DLL WUDFx.dll

Voir aussi

IWDFInterrupt

IWDFInterrupt ::AcquireInterruptLock

WdfInterruptTryToAcquireLock