Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Windows Vista Service Pack 1 (SP1), Windows Server 2008, y sistemas operativos posteriores permiten la modificación dinámica de las propiedades de los mensajes de interrupción MSI-X. (La especificación PCI 3.0 definió la MSI-X). El controlador de bus PCI expone la interfaz GUID_MSIX_TABLE_CONFIG_INTERFACE para permitir que los controladores de los dispositivos PCI modifiquen las configuraciones en la tabla de interrupciones de hardware del bus.
Los controladores usan la interfaz mediante el envío de una solicitud de IRP_MN_QUERY_INTERFACE al controlador de bus, con el parámetro InterfaceType igual a GUID_MSIX_TABLE_CONFIG_INTERFACE. El controlador de bus proporciona un puntero a una estructura de PCI_MSIX_TABLE_CONFIG_INTERFACE , que proporciona punteros a tres rutinas que modifican la tabla de interrupciones:
SetTableEntry asigna un identificador de mensaje a la entrada de la tabla de hardware.
MaskTableEntry enmascara la interrupción correspondiente a una entrada de tabla de hardware.
UnmaskTableEntry desenmascara la interrupción correspondiente a una entrada de tabla de hardware.
De forma predeterminada, la tabla de interrupción está configurada para que la primera entrada tenga el identificador de mensaje cero, la segunda entrada tiene el identificador de mensaje uno, etc. Si el número de entradas de tabla supera el número de mensajes, a cada entrada de tabla adicional se le asigna el identificador de mensaje cero. (El identificador del mensaje es el índice de la entrada de la interrupción en el miembro MessageInfo de la estructura IO_INTERRUPT_MESSAGE_INFO que describe las interrupciones señaladas por el mensaje del controlador. La rutina IoConnectInterruptEx proporciona un puntero a esta estructura).