Windows Vista Service Pack 1 (SP1)、Windows Server 2008 以降のオペレーティング システムでは、MSI-X 割り込みメッセージのプロパティの動的な変更がサポートされています。 (PCI 3.0 仕様で定義された MSI-X)。PCI バス ドライバーは、GUID_MSIX_TABLE_CONFIG_INTERFACE インターフェイスを公開して、PCI デバイスのドライバーがバス ハードウェア割り込みテーブルの設定を変更できるようにします。
ドライバーは、 IRP_MN_QUERY_INTERFACE要求を バス ドライバーに送信し、 InterfaceType パラメーターが GUID_MSIX_TABLE_CONFIG_INTERFACE と等しいインターフェイスを使用します。 バスドライバーは、PCI_MSIX_TABLE_CONFIG_INTERFACE構造体へのポインターを提供し、この構造体は割り込みテーブルを変更する3つのルーチンへのポインターを提供します。
SetTableEntry は、ハードウェア テーブル エントリにメッセージ ID を割り当てます。
MaskTableEntry は、ハードウェア テーブル エントリに対応する割り込みをマスクします。
UnmaskTableEntry は、ハードウェア テーブル エントリに対応する割り込みをマスク解除します。
既定では、割り込みテーブルは、最初のエントリにメッセージ ID が 0、2 番目のエントリにメッセージ ID が 1 になるように構成されます。 表項目の数がメッセージ数を超える場合は、追加の表項目ごとにメッセージ ID 0 が割り当てられます。 (メッセージ ID は、ドライバーのメッセージシグナル割り込みを記述するIO_INTERRUPT_MESSAGE_INFO構造体の MessageInfo メンバー内の割り込みのエントリのインデックスです。IoConnectInterruptEx ルーチンは、この構造体へのポインターを提供します。