/************************************************************* Required NDIS procedure Responsible for hardware interrupt handling *************************************************************/ static VOID ParaNdis5_MiniportISR(OUT PBOOLEAN InterruptRecognized, OUT PBOOLEAN QueueMiniportHandleInterrupt, IN NDIS_HANDLE MiniportAdapterContext) { PARANDIS_ADAPTER *pContext = (PARANDIS_ADAPTER *)MiniportAdapterContext; BOOLEAN b; *QueueMiniportHandleInterrupt = FALSE; b = ParaNdis_OnLegacyInterrupt(pContext, QueueMiniportHandleInterrupt); *InterruptRecognized = b; DEBUG_EXIT_STATUS(7, (ULONG)b); }
/********************************************************** NDIS-required procedure for hardware interrupt handling Parameters: IN PVOID MiniportInterruptContext (actually Adapter context) OUT PBOOLEAN QueueDefaultInterruptDpc - set to TRUE for default DPC spawning OUT PULONG TargetProcessors Return value: TRUE if recognized ***********************************************************/ static BOOLEAN MiniportInterrupt( IN PVOID MiniportInterruptContext, OUT PBOOLEAN QueueDefaultInterruptDpc, OUT PULONG TargetProcessors ) { PARANDIS_ADAPTER *pContext = (PARANDIS_ADAPTER *)MiniportInterruptContext; BOOLEAN b; b = ParaNdis_OnLegacyInterrupt(pContext, QueueDefaultInterruptDpc); *TargetProcessors = 0; pContext->ulIrqReceived += b; return b; }