PCI_MSIX_SET_ENTRY callback function (wdm.h)

The SetTableEntry routine sets the message ID for a table entry in the MSI-X hardware interrupt table.

Syntax

PCI_MSIX_SET_ENTRY PciMsixSetEntry;

NTSTATUS PciMsixSetEntry(
  [in] PVOID Context,
  [in] ULONG TableEntry,
  [in] ULONG MessageNumber
)
{...}

Parameters

[in] Context

A pointer to interface-specific context information. The caller passes the value that is passed as the Context member of the PCI_MSIX_TABLE_CONFIG_INTERFACE structure for the interface.

[in] TableEntry

The index of the table entry in the MSI-X hardware interrupt table.

[in] MessageNumber

The message ID for the interrupt. This value is also the index for the interrupt's entry in the MessageInfo member of the IO_INTERRUPT_MESSAGE_INFO structure that describes the driver's message-signaled interrupts. The IoConnectInterruptEx function supplies a pointer to this structure.

Return value

The SetTableEntry routine might return one of the following NTSTATUS values:

Return code Description
STATUS_SUCCESS
The operation completed successfully.
STATUS_INVALID_PARAMETER
The device does not use MSI-X, or the TableEntry or MessageNumber parameters do not correspond to interrupt resources that are assigned to the device.

Remarks

By default, the operating system assigns the index of the table entry as the message ID for the interrupt. If there are more table entries than messages, the system sets the remaining table entries to correspond to message zero. The driver can use the SetTableEntry routine to assign a different message ID.

Requirements

Requirement Value
Minimum supported client Available in Windows Vista with Service Pack 1 (SP1), Windows Server 2008, and later versions of the Windows operating system.
Target Platform Desktop
Header wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
IRQL <= DIRQL

See also

IO_INTERRUPT_MESSAGE_INFO

IoConnectInterruptEx

PCI_MSIX_TABLE_CONFIG_INTERFACE