Jungo WinDriver  
Official Documentation

◆ KP_PCI_IntAtDpcMSI()

DWORD __cdecl KP_PCI_IntAtDpcMSI ( PVOID  pIntContext,
DWORD  dwCount,
ULONG  dwLastMessage,
DWORD  dwReserved 
)

Deferred processing Message-Signaled Interrupts (MSI) / Extended Message-Signaled Interrupts (MSI-X) handler routine.

This function is called once the high-priority MSI/MSI-X handling is completed, provided that KP_IntAtIrqlMSI [B.8.10] returned TRUE.

Parameters
[in,out]pIntContextInterrupt context data that was set by KP_IntEnable(), passed to KP_IntAtIrqlMSI(), and will be passed to KP_IntDisable().
[in]dwCountThe number of times KP_IntAtIrqlMSI() returned TRUE since the last DPC call. If dwCount is 1, KP_IntAtIrqlMSI() requested a DPC only once since the last DPC call. If the value is greater than 1, KP_IntAtIrqlMSI() has already requested a DPC a few times, but the interval was too short, therefore KP_IntAtDpcMSI() was not called for each DPC request.
[in]dwLastMessageThe message data for the last received interrupt.
[in]dwReservedReserved for future use. Do not use this parameter.
Returns
Returns the number of times to notify user mode (i.e., return from WD_IntWait() — see the WinDriver PCI Low-Level API Reference).
Remarks
Most of the MSI/MSI-X handling should be implemented within this function, as opposed to the high-priority KP_IntAtIrqlMSI() interrupt handler. If KP_IntAtDpcMSI returns with a value greater than zero, WD_IntWait() returns and the user-mode interrupt handler will be called in the amount of times set in the return value of KP_IntAtDpcMSI. If you do not want the user-mode interrupt handler to execute, KP_IntAtDpcMSI should return zero.

Definition at line 688 of file kp_pci.c.