Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O Windows Vista Service Pack 1 (SP1), o Windows Server 2008 e sistemas operativos posteriores suportam a modificação dinâmica das propriedades das mensagens de interrupção MSI-X. (A especificação PCI 3.0 definiu MSI-X.) O driver de barramento PCI expõe a interface GUID_MSIX_TABLE_CONFIG_INTERFACE para permitir que os drivers para dispositivos PCI modifiquem as configurações na tabela de interrupção de hardware do barramento.
Os drivers usam a interface enviando uma solicitação de IRP_MN_QUERY_INTERFACE para o driver de barramento, com o parâmetro InterfaceType igual a GUID_MSIX_TABLE_CONFIG_INTERFACE. O condutor de barramento fornece um ponteiro para uma estrutura PCI_MSIX_TABLE_CONFIG_INTERFACE, que fornece ponteiros para três rotinas que modificam a tabela de interrupção:
SetTableEntry atribui um ID de mensagem à entrada da tabela de hardware.
MaskTableEntry mascara a interrupção correspondente a uma entrada de tabela de hardware.
UnmaskTableEntry desmascara a interrupção correspondente a uma entrada de tabela de hardware.
Por padrão, a tabela de interrupção é configurada para que a primeira entrada tenha ID de mensagem zero, a segunda entrada tenha ID de mensagem um e assim por diante. Se o número de entradas de tabela exceder o número de mensagens, cada entrada de tabela adicional receberá ID de mensagem zero. (O ID da mensagem é o índice para a entrada da interrupção no membro MessageInfo da estrutura IO_INTERRUPT_MESSAGE_INFO que descreve as interrupções sinalizadas por mensagem do driver. A rotina IoConnectInterruptEx fornece um ponteiro para essa estrutura.)