Freigeben über


NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS Struktur (ndis.h)

Ein NDIS-Miniporttreiber definiert seine Unterbrechungseigenschaften in einer NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS Struktur und übergibt die Struktur an die Funktion NdisMRegisterInterruptEx.

Syntax

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;

Angehörige

Header

Die NDIS_OBJECT_HEADER Struktur für die NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS Struktur. Legen Sie das element Type der Struktur fest, das Header- angibt, NDIS_OBJECT_TYPE_MINIPORT_INTERRUPT, das element Revision auf NDIS_MINIPORT_INTERRUPT_REVISION_1 und das Size Member auf NDIS_SIZEOF_MINIPORT_INTERRUPT_CHARACTERISTICS_REVISION_1.

InterruptHandler

Der Einstiegspunkt für die MiniportInterrupt Funktion, die diesem Interrupt zugeordnet ist.

InterruptDpcHandler

Der Einstiegspunkt für die MiniportInterruptDPC Funktion, die diesem Interrupt zugeordnet ist.

DisableInterruptHandler

Der Einstiegspunkt für die MiniportDisableInterruptEx Funktion.

EnableInterruptHandler

Der Einstiegspunkt für die MiniportEnableInterruptEx Funktion.

MsiSupported

Legen Sie dieses Element auf TRUE- fest, wenn der Miniporttreiber Nachrichtensignal-Interrupt-Dienstfunktionen (MSI) unterstützt. Der Miniporttreiber muss Einstiegspunkte für die MSI-Dienstfunktionen bereitstellen.

Wenn Sie diesen Wert auf FALSE festlegen gibt an, dass MSI nicht unterstützt wird. Die Einstiegspunkte der MSI-Dienstfunktion sollten auf NULL-festgelegt werden.

MsiSyncWithAllMessages

Legen Sie dieses Element auf TRUE- fest, wenn der Miniporttreiber alle MSI-Dienstfunktionen serialisieren muss.

Wenn Sie diesen Wert auf TRUE festlegen, kann die Leistung beeinträchtigen. Es ist effizienter für mehrere Interruptdienstfunktionen, die verschiedene Nachrichten behandeln, die gleichzeitig ausgeführt werden.

MessageInterruptHandler

Der Einstiegspunkt für die MiniportMessageInterrupt Funktion, falls vorhanden, die diesem Interrupt zugeordnet ist. Wenn der Treiber keine Nachrichtenunterbrechungen unterstützt, legen Sie dieses Element auf NULL-fest.

MessageInterruptDpcHandler

Der Einstiegspunkt für die MiniportMessageInterruptDPC Funktion( falls vorhanden), die diesem Interrupt zugeordnet ist. Wenn der Treiber nachrichtensignalgesteuerte Unterbrechungen nicht unterstützt, legen Sie dieses Element auf NULL-fest.

DisableMessageInterruptHandler

Der Einstiegspunkt für die MiniportDisableMessageInterrupt Funktion( falls vorhanden). Wenn der Treiber keine Signalunterbrechungen unterstützt, legen Sie dieses Element auf NULL-fest.

EnableMessageInterruptHandler

Der Einstiegspunkt für die MiniportEnableMessageInterrupt Funktion( falls vorhanden). Wenn der Treiber nachrichtensignalgesteuerte Unterbrechungen nicht unterstützt, legen Sie dieses Element auf NULL-fest.

InterruptType

Eine Variable vom Typ NDIS_INTERRUPT_TYPE. NDIS legt diese Variable fest, um anzugeben, welche Art von Unterbrechung sie dem Miniporttreiber gewährt. Wenn der Treiber MSI unterstützt, muss dieser Wert überprüft werden, wenn NdisMRegisterInterruptEx- NDIS_STATUS_SUCCESS zurückgibt. Wenn InterruptType- auf NDIS_CONNECT_LINE_BASEDfestgelegt ist, erteilte NDIS dem Treiber einen zeilenbasierten Interrupt, der auch dann auftreten kann, wenn der Treiber Signalunterbruch unterstützt. Wenn InterruptType- auf NDIS_CONNECT_MESSAGE_BASEDfestgelegt ist, erteilte NDIS dem Treiber einen Signalunterbruch. In diesem Fall kann der Treiber auf MessageInfoTable- zugreifen, um die Unterbrechungsinformationen abzurufen.

MessageInfoTable

Ein von NDIS bereitgestellter Zeiger auf einen IO_INTERRUPT_MESSAGE_INFO Struktur.

  • Wenn InterruptType-NDIS_CONNECT_MESSAGE_BASEDist, initialisiert NDIS eine IO_INTERRUPT_MESSAGE_INFO Struktur mit Informationen zum Interrupt und legt MessageInfoTable- auf einen Zeiger auf die Struktur fest. Miniporttreiber dürfen die Struktur nicht ändern.
  • Wenn InterruptType-NDIS_CONNECT_LINE_BASEDist, muss MessageInfoTable- NULL sein.

Bemerkungen

Ein Miniporttreiber ruft die NdisMRegisterInterruptEx--Funktion auf, um einen Interrupt zu registrieren. Der Treiber weist eine NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS Struktur zu und initialisiert sie, um die Unterbrechungseigenschaften und Handlereinstiegspunkte anzugeben und übergibt die Struktur an NdisMRegisterInterruptEx.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Unterstützt in NDIS 6.0 und höher.
Header- ndis.h (include Ndis.h)

Siehe auch

IO_INTERRUPT_MESSAGE_INFO

MiniportDisableInterruptEx

MiniportDisableMessageInterrupt

MiniportEnableInterruptEx

MiniportEnableMessageInterrupt

MiniportInterrupt-

MiniportInterruptDPC-

MiniportMessageInterrupt-

MiniportMessageInterruptDPC

NDIS_OBJECT_HEADER

NdisMRegisterInterruptEx