NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS structure (ndis.h)
Un pilote de miniport NDIS définit ses caractéristiques d’interruption dans une structure de NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS et transmet la structure au Fonction NdisMRegisterInterruptEx .
Syntaxe
typedef struct _NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS {
NDIS_OBJECT_HEADER Header;
MINIPORT_ISR_HANDLER InterruptHandler;
MINIPORT_INTERRUPT_DPC_HANDLER InterruptDpcHandler;
MINIPORT_DISABLE_INTERRUPT_HANDLER DisableInterruptHandler;
MINIPORT_ENABLE_INTERRUPT_HANDLER EnableInterruptHandler;
BOOLEAN MsiSupported;
BOOLEAN MsiSyncWithAllMessages;
MINIPORT_MSI_ISR_HANDLER MessageInterruptHandler;
MINIPORT_MSI_INTERRUPT_DPC_HANDLER MessageInterruptDpcHandler;
MINIPORT_DISABLE_MSI_INTERRUPT_HANDLER DisableMessageInterruptHandler;
MINIPORT_ENABLE_MSI_INTERRUPT_HANDLER EnableMessageInterruptHandler;
NDIS_INTERRUPT_TYPE InterruptType;
PIO_INTERRUPT_MESSAGE_INFO MessageInfoTable;
} NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS, *PNDIS_MINIPORT_INTERRUPT_CHARACTERISTICS;
Membres
Header
Structure NDIS_OBJECT_HEADER de la structure NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS. Définissez le membre Type de la structure spécifiée par Header sur NDIS_OBJECT_TYPE_MINIPORT_INTERRUPT, le membre Revision sur NDIS_MINIPORT_INTERRUPT_REVISION_1 et le membre Size sur NDIS_SIZEOF_MINIPORT_INTERRUPT_CHARACTERISTICS_REVISION_1.
InterruptHandler
Point d’entrée de la fonction MiniportInterrupt associée à cette interruption.
InterruptDpcHandler
Point d’entrée de la fonction MiniportInterruptDPC associée à cette interruption.
DisableInterruptHandler
Point d’entrée pour le Fonction MiniportDisableInterruptEx .
EnableInterruptHandler
Point d’entrée pour le Fonction MiniportEnableInterruptEx .
MsiSupported
Définissez ce membre sur TRUE si le pilote miniport prend en charge les fonctions de service d’interruption par message signalé (MSI). Le pilote miniport doit fournir des points d’entrée pour les fonctions de service MSI.
La définition de cette valeur sur FALSE indique que MSI n’est pas pris en charge. Les points d’entrée de la fonction de service MSI doivent être définis sur NULL.
MsiSyncWithAllMessages
Définissez ce membre sur TRUE si le pilote miniport doit sérialiser toutes les fonctions de service MSI.
La définition de cette valeur sur TRUE peut dégrader les performances d’interruption. Il est plus efficace que plusieurs fonctions de service d’interruption qui gèrent différents messages s’exécutent simultanément.
MessageInterruptHandler
Point d’entrée pour le Fonction MiniportMessageInterrupt , si elle existe, associée à cette interruption. Si le pilote ne prend pas en charge les interruptions de message, définissez ce membre sur NULL.
MessageInterruptDpcHandler
Point d’entrée pour le Fonction MiniportMessageInterruptDPC , le cas échéant, associée à cette interruption. Si le pilote ne prend pas en charge les interruptions signalées par message, définissez ce membre sur NULL.
DisableMessageInterruptHandler
Point d’entrée pour le Fonction MiniportDisableMessageInterrupt , le cas échéant. Si le pilote ne prend pas en charge les interruptions signalées par les messages, définissez ce membre sur NULL.
EnableMessageInterruptHandler
Point d’entrée pour le Fonction MiniportEnableMessageInterrupt , le cas échéant. Si le pilote ne prend pas en charge les interruptions signalées par message, définissez ce membre sur NULL.
InterruptType
Variable de type NDIS_INTERRUPT_TYPE. NDIS définit cette variable pour indiquer le type d’interruption qu’il a accordé au pilote miniport. Si le pilote prend en charge MSI, il doit case activée cette valeur si NdisMRegisterInterruptEx retourne NDIS_STATUS_SUCCESS. Si InterruptType est défini sur NDIS_CONNECT_LINE_BASED, NDIS a accordé au pilote une interruption basée sur une ligne, ce qui peut se produire même si le pilote prend en charge les interruptions signalées par message. Si InterruptType est défini sur NDIS_CONNECT_MESSAGE_BASED, NDIS a accordé au pilote une interruption signalée par un message. Dans ce cas, le pilote peut accéder à MessageInfoTable pour obtenir les informations d’interruption.
MessageInfoTable
Pointeur fourni par NDIS vers un IO_INTERRUPT_MESSAGE_INFO structure.
- Si InterruptType est NDIS_CONNECT_MESSAGE_BASED, NDIS initialise une structure de IO_INTERRUPT_MESSAGE_INFO avec des informations sur l’interruption et définit MessageInfoTable sur un pointeur vers la structure. Les pilotes miniport ne doivent pas modifier la structure.
- Si InterruptType est NDIS_CONNECT_LINE_BASED, MessageInfoTable doit avoir la valeur NULL.
Remarques
Un pilote miniport appelle la fonction NdisMRegisterInterruptEx pour inscrire une interruption. Le pilote alloue et initialise une structure NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS pour spécifier les caractéristiques d’interruption et les points d’entrée du gestionnaire, puis transmet la structure à NdisMRegisterInterruptEx.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.0 et versions ultérieures. |
En-tête | ndis.h (inclure Ndis.h) |