Registrando e desregistrando uma interrupção msi
Para se registrar para o suporte a MSI, um driver de miniporto chama a função NdisMRegisterInterruptEx para registrar uma interrupção msi. O driver aloca e inicializa uma estrutura NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS para especificar as características de interrupção e os pontos de entrada da função. O driver deve definir o membro MsiSupported da estrutura NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS como TRUE. Em seguida, o driver passa a estrutura para NdisMRegisterInterruptEx.
Você deve definir as seguintes funções para dar suporte a interrupções msi:
O driver de miniporto deve fornecer pontos de entrada para as funções de interrupção baseadas em linha (que são mostradas na lista a seguir), mesmo que o driver dê suporte aos pontos de entrada msi. Se o NDIS não conceder uma interrupção msi, ele poderá conceder uma interrupção normal como uma condição de fallback.
As funções de interrupção de linha incluem o seguinte:
Os drivers devem chamar a função NdisMDeregisterInterruptEx para liberar recursos que foram alocados anteriormente com NdisMRegisterInterruptEx.