Jungo WinDriver  
Official Documentation

◆ KP_PCI_IntAtIrqlMSI()

BOOL __cdecl KP_PCI_IntAtIrqlMSI ( PVOID  pIntContext,
ULONG  dwLastMessage,
DWORD  dwReserved 
)

High-priority Message-Signaled Interrupts (MSI) / Extended Message-Signaled Interrupts (MSI-X) handler routine, which is run at high interrupt request level.

This function is called upon the arrival of an MSI/MSI-X that has been enabled using a Kernel PlugIn — see the description of WDC_IntEnable() or the low-level InterruptEnable() and WD_IntEnable() functions (see WinDriver PCI Low-Level API Reference).

Parameters
[in,out]pIntContextPointer to interrupt context data that was set by KP_IntEnable() and will also be passed to KP_IntAtDpcMSI() (if executed) and KP_IntDisable()
[in]dwLastMessageThe message data for the last received interrupt. @param [in] dwReserved: Reserved for future use. Do not use this parameter.
Returns
TRUE if deferred MSI/MSI-X processing (DPC) is required; otherwise FALSE.
Remarks
Code running at IRQL will only be interrupted by higher priority interrupts. Code running at high IRQL is limited in the following ways: It may only access non-pageable memory. It may only call the following functions (or wrapper functions that call these functions): WDC_xxx() read/write address or configuration space functions. WDC_MultiTransfer(), or the low-level WD_Transfer(), WD_MultiTransfer(), or WD_DebugAdd() functions (see the WinDriver PCI Low-Level API Reference). Specific kernel OS functions (such as WDK functions) that can be called from high interrupt request level. Note that the use of such functions may break the code's portability to other operating systems. It may not call malloc(), free(), or any WDC_xxx or WD_xxx API other than those listed above. The code performed at high interrupt request level should be minimal, since it is operating at a high priority. The rest of your code should be written in KP_IntAtDpcMSI, which runs at the deferred DISPATCH level and is not subject to the above restrictions.

Definition at line 643 of file kp_pci.c.