Porting Interrupt Handling to NDIS 6.0

In NDIS 6.0, when a NIC asserts an interrupt line, NDIS calls the miniport driver's MiniportInterrupt function (formerly MiniportISR). MiniportInterrupt dismisses the interrupt, saves necessary interrupt state information, and defers as much of the I/O processing as possible to the MiniportInterruptDpc function (formerly MiniportHandleInterrupt).

Unlike an NDIS 5.x miniport driver, an NDIS 6.0 miniport driver can request deferred procedure calls (DPCs) to distribute the processing of receive queues across additional processors. This functionality is called receive side scaling (RSS). To queue additional DPCs after MiniportInterrupt returns, the miniport driver sets the bits of the TargetProcessors parameter of the MiniportInterrupt function. To request additional DPCs from MiniportInterrupt or MiniportInterruptDPC, the miniport driver calls the NdisMQueueDpc function.

For more information about handling interrupts, see Handling Interrupts.