estructura NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS (ndis.h)

Un controlador de miniporte NDIS define sus características de interrupción en una estructura de NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS y pasa la estructura a la Función NdisMRegisterInterruptEx .

Sintaxis

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;

Miembros

Header

Estructura NDIS_OBJECT_HEADER de la estructura NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS. Establezca el miembro Type de la estructura que Header especifica para NDIS_OBJECT_TYPE_MINIPORT_INTERRUPT, el miembro Revision en NDIS_MINIPORT_INTERRUPT_REVISION_1 y el miembro Size en NDIS_SIZEOF_MINIPORT_INTERRUPT_CHARACTERISTICS_REVISION_1.

InterruptHandler

Punto de entrada de la función MiniportInterrupt asociada a esta interrupción.

InterruptDpcHandler

Punto de entrada de la función MiniportInterruptDPC asociada a esta interrupción.

DisableInterruptHandler

El punto de entrada del Función MiniportDisableInterruptEx .

EnableInterruptHandler

El punto de entrada del Función MiniportEnableInterruptEx .

MsiSupported

Establezca este miembro en TRUE si el controlador de minipuerto admite funciones de servicio de interrupción con señal de mensaje (MSI). El controlador miniport debe proporcionar puntos de entrada para las funciones de servicio MSI.

Si se establece este valor en FALSE , se indica que no se admite MSI. Los puntos de entrada de la función de servicio MSI deben establecerse en NULL.

MsiSyncWithAllMessages

Establezca este miembro en TRUE si el controlador de minipuerto debe serializar todas las funciones del servicio MSI.

Establecer este valor en TRUE puede degradar el rendimiento de las interrupciones. Es más eficaz para varias funciones de servicio de interrupción que controlan diferentes mensajes para ejecutarse simultáneamente.

MessageInterruptHandler

El punto de entrada del Función MiniportMessageInterrupt , si existe, asociada a esta interrupción. Si el controlador no admite interrupciones de mensajes, establezca este miembro en NULL.

MessageInterruptDpcHandler

El punto de entrada del Función MiniportMessageInterruptDPC , si existe, asociada a esta interrupción. Si el controlador no admite interrupciones señaladas por mensajes, establezca este miembro en NULL.

DisableMessageInterruptHandler

El punto de entrada del Función MiniportDisableMessageInterrupt , si existe. Si el controlador no admite interrupciones señaladas de mensaje, establezca este miembro en NULL.

EnableMessageInterruptHandler

El punto de entrada del Función MiniportEnableMessageInterrupt , si existe. Si el controlador no admite interrupciones señaladas por mensajes, establezca este miembro en NULL.

InterruptType

Variable de tipo NDIS_INTERRUPT_TYPE. NDIS establece esta variable para indicar qué tipo de interrupción concedió al controlador de miniporte. Si el controlador admite MSI, debe comprobar este valor si NdisMRegisterInterruptEx devuelve NDIS_STATUS_SUCCESS. Si InterruptType se establece en NDIS_CONNECT_LINE_BASED, NDIS concedió al controlador una interrupción basada en línea, lo que puede ocurrir incluso si el controlador admite interrupciones señaladas por mensajes. Si InterruptType se establece en NDIS_CONNECT_MESSAGE_BASED, NDIS concedió al controlador una interrupción señalada por mensaje. En este caso, el controlador puede acceder a MessageInfoTable para obtener la información de interrupción.

MessageInfoTable

Puntero proporcionado por NDIS a un IO_INTERRUPT_MESSAGE_INFO estructura.

  • Si InterruptType es NDIS_CONNECT_MESSAGE_BASED, NDIS inicializa una estructura de IO_INTERRUPT_MESSAGE_INFO con información sobre la interrupción y establece MessageInfoTable en un puntero a la estructura. Los controladores de minipuerto no deben modificar la estructura.
  • Si InterruptType está NDIS_CONNECT_LINE_BASED, MessageInfoTable debe ser NULL.

Comentarios

Un controlador de minipuerto llama a la función NdisMRegisterInterruptEx para registrar una interrupción. El controlador asigna e inicializa una estructura de NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS para especificar las características de interrupción y los puntos de entrada del controlador y pasa la estructura a NdisMRegisterInterruptEx.

Requisitos

Requisito Value
Cliente mínimo compatible Compatible con NDIS 6.0 y versiones posteriores.
Encabezado ndis.h (incluya Ndis.h)

Consulte también

IO_INTERRUPT_MESSAGE_INFO

MiniportDisableInterruptEx

MiniportDisableMessageInterrupt

MiniportEnableInterruptEx

MiniportEnableMessageInterrupt

MiniportInterrupt

MiniportInterruptDPC

MiniportMessageInterrupt

MiniportMessageInterruptDPC

NDIS_OBJECT_HEADER

NdisMRegisterInterruptEx