MiniportHandleInterrupt routine

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

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

MiniportDisableInterrupt
MiniportEnableInterrupt
MiniportInitialize
MiniportISR
MiniportSend
MiniportSendPackets
MiniportWanSend
NdisAdjustBufferLength
NdisAllocateBuffer
NdisAllocateMemoryWithTag
NdisAllocatePacket
NdisMArcIndicateReceive
NdisMDeregisterInterrupt
NdisMEthIndicateReceive
NdisMFddiIndicateReceive
NdisMIndicateReceivePacket
NdisMRegisterInterrupt
NdisMSynchronizeWithInterrupt
NdisMTrIndicateReceive
NdisMWanIndicateReceive
NDIS_PACKET
NDIS_PACKET_OOB_DATA

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft