INtime SDK Help
MSI_PARAM, MSI_PARAM_EX structures

These structures must be filled out before a call to SetRtInterruptHandlerEx when handling an MSI interrupt source.

Syntax

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);

Fields

PciAddress
An encoded PCI address for the device generating the MSI to be handled. This value may be created from an initialized PCI_DEV structure by using the MKPCIADDR macro.
MsiVectors
For a device which generates multiple MSIs, set this field to a handle for an interrupt vectors object returned from AllocateRtInterrupts. Otherwise set this to zero.
MsiIndex
The zero-based index of the MSI interrupter on the device which this handler is to be installed for. For a single-MSI device set this to zero.
Param
A user-defined context parameter which is passed to the interrupt handler.
ReservedZero
Unused: must be initialized to zero.

Remarks

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.

See Also

Interrupts