Compartilhar via


estrutura NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS (ndis.h)

Um driver de miniporto NDIS define suas características de interrupção em uma estrutura NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS e passa a estrutura para o Função NdisMRegisterInterruptEx .

Sintaxe

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;

Membros

Header

A estrutura NDIS_OBJECT_HEADER para a estrutura NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS. Defina o membro Type da estrutura especificada por Header como NDIS_OBJECT_TYPE_MINIPORT_INTERRUPT, o membro Revision como NDIS_MINIPORT_INTERRUPT_REVISION_1 e o membro Size para NDIS_SIZEOF_MINIPORT_INTERRUPT_CHARACTERISTICS_REVISION_1.

InterruptHandler

O ponto de entrada para a função MiniportInterrupt associada a essa interrupção.

InterruptDpcHandler

O ponto de entrada para a função MiniportInterruptDPC associada a essa interrupção.

DisableInterruptHandler

O ponto de entrada para o Função MiniportDisableInterruptEx .

EnableInterruptHandler

O ponto de entrada para o Função MiniportEnableInterruptEx .

MsiSupported

Defina esse membro como TRUE se o driver de miniporto der suporte a funções de serviço MSI (interrupção sinalizada por mensagem). O driver de miniporto deve fornecer pontos de entrada para as funções de serviço MSI.

Definir esse valor como FALSE indica que não há suporte para MSI. Os pontos de entrada da função de serviço MSI devem ser definidos como NULL.

MsiSyncWithAllMessages

Defina esse membro como TRUE se o driver de miniporto precisar serializar todas as funções de serviço MSI.

Definir esse valor como TRUE pode prejudicar o desempenho da interrupção. É mais eficiente para várias funções de serviço de interrupção que lidam com mensagens diferentes para serem executadas simultaneamente.

MessageInterruptHandler

O ponto de entrada para o Função MiniportMessageInterrupt , se existir, associada a essa interrupção. Se o driver não der suporte a interrupções de mensagens, defina esse membro como NULL.

MessageInterruptDpcHandler

O ponto de entrada para o Função MiniportMessageInterruptDPC , se houver, associada a essa interrupção. Se o driver não der suporte a interrupções sinalizadas por mensagem, defina esse membro como NULL.

DisableMessageInterruptHandler

O ponto de entrada para o Função MiniportDisableMessageInterrupt , se houver. Se o driver não der suporte a interrupções sinalizadas por mensagem, defina esse membro como NULL.

EnableMessageInterruptHandler

O ponto de entrada para o Função MiniportEnableMessageInterrupt , se houver. Se o driver não der suporte a interrupções sinalizadas por mensagem, defina esse membro como NULL.

InterruptType

Uma variável do tipo NDIS_INTERRUPT_TYPE. O NDIS define essa variável para indicar que tipo de interrupção ela concedeu ao driver de miniporto. Se o driver der suporte à MSI, ele deverá marcar esse valor se NdisMRegisterInterruptEx retornar NDIS_STATUS_SUCCESS. Se InterruptType estiver definido como NDIS_CONNECT_LINE_BASED, o NDIS concedeu ao driver uma interrupção baseada em linha, o que pode acontecer mesmo que o driver dê suporte a interrupções sinalizadas por mensagem. Se InterruptType estiver definido como NDIS_CONNECT_MESSAGE_BASED, o NDIS concedeu ao driver uma interrupção sinalizada por mensagem. Nesse caso, o driver pode acessar MessageInfoTable para obter as informações de interrupção.

MessageInfoTable

Um ponteiro fornecido pelo NDIS para um IO_INTERRUPT_MESSAGE_INFO estrutura.

  • Se InterruptType for NDIS_CONNECT_MESSAGE_BASED, o NDIS inicializará uma estrutura IO_INTERRUPT_MESSAGE_INFO com informações sobre a interrupção e definirá MessageInfoTable como um ponteiro para a estrutura. Os drivers de miniporta não devem modificar a estrutura.
  • Se InterruptType for NDIS_CONNECT_LINE_BASED, MessageInfoTable deverá ser NULL.

Comentários

Um driver de miniporto chama a função NdisMRegisterInterruptEx para registrar uma interrupção. O driver aloca e inicializa uma estrutura NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS para especificar as características de interrupção e os pontos de entrada do manipulador e passa a estrutura para NdisMRegisterInterruptEx.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Cabeçalho ndis.h (inclua Ndis.h)

Confira também

IO_INTERRUPT_MESSAGE_INFO

MiniportDisableInterruptEx

MiniportDisableMessageInterrupt

MiniportEnableInterruptEx

MiniportEnableMessageInterrupt

MiniportInterrupt

MiniportInterruptDPC

MiniportMessageInterrupt

MiniportMessageInterruptDPC

NDIS_OBJECT_HEADER

NdisMRegisterInterruptEx