W_HANDLE_INTERRUPT_HANDLER callback function
Note NDIS 5. x has been deprecated and is superseded by NDIS 6. x. For new NDIS driver development, see Network Drivers Starting with Windows Vista. For information about porting NDIS 5. x drivers to NDIS 6. x, see Porting NDIS 5.x Drivers to NDIS 6.0.
The MiniportHandleInterrupt function is required if a driver's NIC generates interrupts. MiniportHandleInterrupt does the deferred processing of all outstanding interrupt operations.
Syntax
W_HANDLE_INTERRUPT_HANDLER MiniportHandleInterrupt;
VOID MiniportHandleInterrupt(
_In_ NDIS_HANDLE MiniportAdapterContext
)
{ ... }
Parameters
- MiniportAdapterContext [in]
Specifies the handle to a miniport driver-allocated context area in which the driver maintains per-NIC state, set up by MiniportInitialize.
Return value
None
Remarks
When a NIC generates an interrupt, a miniport's MiniportISR or MiniportDisableInterrupt function dismisses the interrupt on the NIC, saves any necessary state about the operation, and returns control as quickly as possible, thereby deferring most interrupt-driven I/O operations to MiniportHandleInterrupt. MiniportHandleInterrupt does the deferred processing of all outstanding interrupt operations.
If the NIC shares an IRQ, MiniportHandleInterrupt is called only if the MiniportISR function returned QueueMiniportHandleInterrupt set to TRUE.
When MiniportHandleInterrupt is called, interrupts have typically been disabled on the NIC by the MiniportISR or MiniportDisableInterrupt function. Before it returns control, MiniportHandleInterrupt can reenable interrupts on the NIC.
For more information about operations that a miniport driver's MiniportHandleInterrupt function typically performs and for details on how to perform those operations, see DPC Handler.
A miniport driver can call NdisMDeregisterMiniport from its MiniportInitialize or MiniportHalt function to release resources that it allocated with NdisMRegisterInterrupt. After NdisMDeregisterMiniport returns, NDIS does not call a miniport driver's MiniportISR or MiniportHandleInterrupt functions.
Requirements
Target platform |
Desktop |
Version |
Not supported for NDIS 6.0 drivers in Windows Vista. Use MiniportInterruptDPC instead. Supported for NDIS 5.1 drivers in Windows Vista and Microsoft Windows XP. |
Header |
Ndis.h (include Ndis.h) |
IRQL |
<= DISPATCH_LEVEL |
See also