Registrieren und Aufheben der Registrierung eines MSI-Interrupts
Um sich für die MSI-Unterstützung zu registrieren, ruft ein Miniporttreiber die NdisMRegisterInterruptEx-Funktion auf, um einen MSI-Interrupt zu registrieren. Der Treiber ordnet und initialisiert eine NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS-Struktur , um die Interruptmerkmale und Funktionseinstiegspunkte anzugeben. Der Treiber muss das MsiSupported-Element der NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS-Struktur auf TRUE festlegen. Der Treiber übergibt dann die Struktur an NdisMRegisterInterruptEx.
Sie müssen die folgenden Funktionen definieren, um MSI-Interrupts zu unterstützen:
Der Miniporttreiber sollte Einstiegspunkte für die zeilenbasierten Interruptfunktionen bereitstellen (die in der folgenden Liste aufgeführt sind), auch wenn der Treiber die MSI-Einstiegspunkte unterstützt. Wenn NDIS keinen MSI-Interrupt gewährt, kann ein normaler Interrupt als Fallbackbedingung gewährt werden.
Die Zeilenunterbrechungsfunktionen umfassen Folgendes:
Treiber sollten die NdisMDeregisterInterruptEx-Funktion aufrufen, um Ressourcen freizugeben, die zuvor NdisMRegisterInterruptEx zugeordnet wurden.