Condividi tramite


struttura NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS (ndis.h)

Un driver miniport NDIS definisce le sue caratteristiche di interruzione in una struttura NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS e passa la struttura alla Funzione NdisMRegisterInterruptEx .

Sintassi

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;

Members

Header

Struttura NDIS_OBJECT_HEADER per la struttura NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS. Impostare il membro Type della struttura specificata da Header su NDIS_OBJECT_TYPE_MINIPORT_INTERRUPT, il membro Revision su NDIS_MINIPORT_INTERRUPT_REVISION_1 e il membro Size su NDIS_SIZEOF_MINIPORT_INTERRUPT_CHARACTERISTICS_REVISION_1.

InterruptHandler

Punto di ingresso per la funzione MiniportInterrupt associata a questo interrupt.

InterruptDpcHandler

Punto di ingresso per la funzione MiniportInterruptDPC associata a questo interrupt.

DisableInterruptHandler

Punto di ingresso per l'oggetto Funzione MiniportDisableInterruptEx .

EnableInterruptHandler

Punto di ingresso per l'oggetto Funzione MiniportEnableInterruptEx .

MsiSupported

Impostare questo membro su TRUE se il driver miniport supporta le funzioni del servizio di interruzione con segnale di messaggio .MSI. Il driver miniport deve fornire punti di ingresso per le funzioni del servizio MSI.

L'impostazione di questo valore su FALSE indica che MSI non è supportato. I punti di ingresso della funzione del servizio MSI devono essere impostati su NULL.

MsiSyncWithAllMessages

Impostare questo membro su TRUE se il driver miniport deve serializzare tutte le funzioni del servizio MSI.

L'impostazione di questo valore su TRUE può compromettere le prestazioni di interruzione. È più efficiente per più funzioni del servizio di interruzione che gestiscono messaggi diversi per l'esecuzione simultanea.

MessageInterruptHandler

Punto di ingresso per l'oggetto Funzione MiniportMessageInterrupt , se esistente, associata a questo interrupt. Se il driver non supporta gli interrupt dei messaggi, impostare questo membro su NULL.

MessageInterruptDpcHandler

Punto di ingresso per l'oggetto Funzione MiniportMessageInterruptDPC , se presente, associata a questo interrupt. Se il driver non supporta le interruzioni segnalate dal messaggio, impostare questo membro su NULL.

DisableMessageInterruptHandler

Punto di ingresso per l'oggetto Funzione MiniportDisableMessageInterrupt , se disponibile. Se il driver non supporta le interruzioni segnalate dal messaggio, impostare questo membro su NULL.

EnableMessageInterruptHandler

Punto di ingresso per l'oggetto Funzione MiniportEnableMessageInterrupt , se disponibile. Se il driver non supporta le interruzioni segnalate dal messaggio, impostare questo membro su NULL.

InterruptType

Variabile di tipo NDIS_INTERRUPT_TYPE. NDIS imposta questa variabile per indicare il tipo di interrupt concesso al driver miniport. Se il driver supporta MSI, deve controllare questo valore se NdisMRegisterInterruptEx restituisce NDIS_STATUS_SUCCESS. Se InterruptType è impostato su NDIS_CONNECT_LINE_BASED, NDIS ha concesso al driver un interrupt basato su riga, che può verificarsi anche se il driver supporta interruzioni segnalate dai messaggi. Se InterruptType è impostato su NDIS_CONNECT_MESSAGE_BASED, NDIS ha concesso al driver un interrupt segnalato dal messaggio. In questo caso, il driver può accedere a MessageInfoTable per ottenere le informazioni di interrupt.

MessageInfoTable

Puntatore fornito da NDIS a un IO_INTERRUPT_MESSAGE_INFO struttura.

  • Se InterruptType è NDIS_CONNECT_MESSAGE_BASED, NDIS inizializza una struttura IO_INTERRUPT_MESSAGE_INFO con informazioni sull'interrupt e imposta MessageInfoTable su un puntatore alla struttura. I driver Miniport non devono modificare la struttura.
  • Se InterruptType è NDIS_CONNECT_LINE_BASED, MessageInfoTable deve essere NULL.

Commenti

Un driver miniport chiama la funzione NdisMRegisterInterruptEx per registrare un interrupt. Il driver alloca e inizializza una struttura NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS per specificare le caratteristiche di interruzione e i punti di ingresso del gestore e passa la struttura a NdisMRegisterInterruptEx.

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Intestazione ndis.h (include Ndis.h)

Vedi anche

IO_INTERRUPT_MESSAGE_INFO

MiniportDisableInterruptEx

MiniportDisableMessageInterrupt

MiniportEnableInterruptEx

MiniportEnableMessageInterrupt

MiniportInterrupt

MiniportInterruptDPC

MiniportMessageInterrupt

MiniportMessageInterruptDPC

NDIS_OBJECT_HEADER

NdisMRegisterInterruptEx