structure NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS (ndis.h)
Un pilote miniport NDIS définit ses caractéristiques d’interruption dans une structure NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS et transmet la structure à la 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 -en-tête 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 signalée par message (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 des interruptions. Il est plus efficace pour plusieurs fonctions de service d’interruption qui gèrent différents messages à exécuter simultanément.
MessageInterruptHandler
Point d’entrée pour le MiniportMessageInterrupt fonction, le cas échéant, 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 MiniportMessageInterruptDPC fonction, le cas échéant, associée à cette interruption. Si le pilote ne prend pas en charge les interruptions signalées par les messages, 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 le message, 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 les messages, 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 vérifier 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 des messages. 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 NDIS fourni vers un structure IO_INTERRUPT_MESSAGE_INFO.
- Si InterruptType est NDIS_CONNECT_MESSAGE_BASED, NDIS initialise une structure IO_INTERRUPT_MESSAGE_INFO avec des informations sur l’interruption et définit MessageInfoTable à 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 et passe la structure à NdisMRegisterInterruptEx.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Prise en charge dans NDIS 6.0 et versions ultérieures. |
d’en-tête | ndis.h (include Ndis.h) |