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 |
---|---|
|
The operation completed successfully. |
|
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 |