These structures must be filled out before a call to SetRtInterruptHandlerEx when handling an MSI interrupt source.
typedef struct {
DWORD PciAddress;
DWORD ReservedZero;
LPVOID Param;
} MSI_PARAM;
typedef struct {
DWORD PciAddress;
WORD MsiVectors;
BYTE MsiIndex;
BYTE ReservedZero;
LPVOID Param;
} MSI_PARAM_EX;
WORD MKPCIADDR(PCI_DEV *pci);
PciAddress
MsiVectors
MsiIndex
Param
ReservedZero
The MSI_PARAM structure may be used only for devices which generate a single MSI. All unused and reserved fields must be set to zero prior to a call to SetRtInterruptHandlerEx.
The MSI_PARAM_EX structure may be used for single- or multiple-MSI devices.