Регистрация и отмена регистрации прерывания MSI
Чтобы зарегистрироваться для поддержки MSI, драйвер мини-порта вызывает функцию NdisMRegisterInterruptEx , чтобы зарегистрировать прерывание MSI. Драйвер выделяет и инициализирует структуру NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS для указания характеристик прерываний и точек входа в функции. Драйвер должен задать для элемента MsiSupported структуры NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS значение TRUE. Затем драйвер передает структуру в NdisMRegisterInterruptEx.
Для поддержки прерываний MSI необходимо определить следующие функции:
Драйвер мини-порта должен предоставлять точки входа для функций прерываний на основе строк (которые показаны в следующем списке), даже если драйвер поддерживает точки входа MSI. Если NDIS не предоставляет прерывание MSI, он может предоставить обычное прерывание в качестве резервного условия.
К функциям прерывания строки относятся следующие:
Драйверы должны вызывать функцию NdisMDeregisterInterruptEx для освобождения ресурсов, которые ранее были выделены с помощью NdisMRegisterInterruptEx.