structure WUDF_INTERRUPT_CONFIG (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 Bien démarrer avec UMDF.]
La structure WUDF_INTERRUPT_CONFIG contient des informations de configuration pour une interruption d’appareil.
Syntaxe
typedef struct _WUDF_INTERRUPT_CONFIG {
ULONG Size;
WDF_TRI_STATE ShareVector;
BOOLEAN AutomaticSerialization;
PFN_WUDF_INTERRUPT_ISR OnInterruptIsr;
PFN_WUDF_INTERRUPT_ENABLE OnInterruptEnable;
PFN_WUDF_INTERRUPT_DISABLE OnInterruptDisable;
PFN_WUDF_INTERRUPT_WORKITEM OnInterruptWorkItem;
PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptRaw;
PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptTranslated;
} WUDF_INTERRUPT_CONFIG, *PWUDF_INTERRUPT_CONFIG;
Membres
Size
Taille, en octets, de cette structure.
ShareVector
Valeur WDF_TRI_STATE-typée. Si cette valeur est WdfTrue, le vecteur d’interruption peut être partagé. Si la valeur est WdfFalse, le vecteur d’interruption ne peut pas être partagé. Si la valeur est WdfDefault et que l’interruption est déclenchée au niveau, le gestionnaire Plug-and-Play utilise la valeur du pilote de bus. Si la valeur est WdfDefault et que l’interruption n’est pas déclenchée au niveau, le vecteur d’interruption ne peut pas être partagé.
AutomaticSerialization
Valeur booléenne qui, si la valeur EST TRUE, indique que l’infrastructure synchronise l’exécution des de l’objet d’interruption OnInterruptWorkItem fonction de rappel avec d’autres fonctions de rappel qui utilisent la synchronisation de rappel de l’infrastructure fonctionnalité. Pour plus d’informations, consultez les remarques.
OnInterruptIsr
Pointeur vers le OnInterruptIsr du pilote fonction de rappel ou NULL.
OnInterruptEnable
Pointeur vers le OnInterruptEnable du pilote fonction de rappel ou NULL.
OnInterruptDisable
Pointeur vers le OnInterruptDisable du pilote fonction de rappel ou NULL.
OnInterruptWorkItem
Pointeur vers le OnInterruptWorkItem du pilote fonction de rappel ou NULL.
InterruptRaw
Pointeur vers la structure CM_PARTIAL_RESOURCE_DESCRIPTOR qui décrit les ressources brutes que le système a affecté à l’interruption. Ce membre est utilisé uniquement si l’interruption est créée dans le OnPrepareHardware rappel.
InterruptTranslated
Pointeur vers la structure CM_PARTIAL_RESOURCE_DESCRIPTOR qui décrit les ressources traduites que le système a affecté à l’interruption. Ce membre est utilisé uniquement si l’interruption est créée dans le OnPrepareHardware rappel.
Remarques
La structure WUDF_INTERRUPT_CONFIG est utilisée comme entrée pour IWDFDevice3 ::CreateInterrupt.
Pour initialiser une structure WUDF_INTERRUPT_CONFIG, votre pilote doit d’abord appeler WUDF_INTERRUPT_CONFIG_INIT, puis remplir les membres de la structure que WUDF_INTERRUPT_CONFIG_INIT n’initialise pas.
Avant de définir automaticSerialization sur TRUE, le pilote doit appeler IWDFDeviceInitialize ::SetLockingConstraint avec le paramètre LockType défini sur WdfDeviceLevel.
Votre pilote doit inclure Wudfwdm.h, qui contient la définition de CM_PARTIAL_RESOURCE_DESCRIPTOR.
UMDF prend en charge les interruptions basées sur les périphéries, les interruptions basées sur les lignes et les interruptions signalées par les messages (MSI) sur tous les systèmes d’exploitation pris en charge par l’infrastructure. Étant donné que ces types de ressources d’interruption ne sont pas partagés, un pilote qui les utilise doit définir le ShareVector membre de cette structure sur WdfFalse ou WdfUseDefault. Si le pilote spécifie une valeur ShareVector non valide, le pilote ne parvient pas à démarrer.
Exigences
Exigence | Valeur |
---|---|
version minimale de UMDF | 1.11 |
d’en-tête | wudfinterrupt.h |