WUDF_INTERRUPT_ENABLE fonction de rappel (wudfinterrupt.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 Prise en main de UMDF.
La fonction de rappel d’événement OnInterruptEnable d’un pilote active une interruption matérielle spécifiée.
Syntaxe
WUDF_INTERRUPT_ENABLE WudfInterruptEnable;
HRESULT WudfInterruptEnable(
[in] IWDFInterrupt *Interrupt,
[in] IWDFDevice *AssociatedDevice
)
{...}
Paramètres
[in] Interrupt
Pointeur vers l’interface IWDFInterrupt.
[in] AssociatedDevice
Pointeur vers l’interface IWDFDevice utilisée par le pilote pour appeler CreateInterrupt.
Valeur de retour
La fonction de rappel doit retourner S_OK si l’opération réussit. Sinon, le rappel doit retourner l’un des codes d’erreur définis dans Winerror.h.
Remarques
Pour inscrire une fonction de rappel OnInterruptEnable, votre pilote doit placer l’adresse de la fonction de rappel dans une structure WUDF_INTERRUPT_CONFIG avant d’appeler IWDFDevice ::CreateInterrupt.
L’infrastructure appelle le OnInterruptEnable du pilote fonction de rappel chaque fois que l’appareil entre dans son état de travail (D0). En outre, un pilote peut entraîner l’appel de la fonction de rappel OnInterruptEnable en appelant IWDFInterrupt ::Enable.
Avant d’appeler la fonction de rappel OnInterruptEnable, l’infrastructure acquiert le verrou d’interruption en mode utilisateur.
Après avoir appelé la fonction de rappel OnInterruptEnable, l’infrastructure appelle la fonction de rappel d’événements OnD0EntryPostInterruptsEnabled du pilote.
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.
Exemples
Le type de fonction est déclaré dans Wudfinterrupt.h, comme suit.
typedef
__drv_functionClass(WUDF_INTERRUPT_ENABLE)
HRESULT
WUDF_INTERRUPT_ENABLE(
_In_
IWDFInterrupt* Interrupt,
_In_
IWDFDevice* AssociatedDevice
);
typedef WUDF_INTERRUPT_ENABLE *PFN_WUDF_INTERRUPT_ENABLE;
Pour définir une fonction de rappel OnInterruptEnable nommée MyInterruptEnable, vous devez d’abord fournir une déclaration de fonction que SDV et d’autres outils de vérification nécessitent, comme suit :
WUDF_INTERRUPT_ENABLE MyInterruptEnable;
Ensuite, implémentez votre fonction de rappel comme suit :
HRESULT
MyInterruptEnable (
IN IWDFInterrupt* pInterrupt,
IN IWDFDevice* pAssociatedDevice
)
{…}
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 | wudfinterrupt.h |
Voir aussi
- IWDFDevice ::CreateInterrupt
- OnInterruptDisable
- WUDF_INTERRUPT_CONFIG