структура NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS (ndis.h)

Драйвер мини-порта NDIS определяет характеристики прерывания в структуре NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS и передает структуру вФункция NdisMRegisterInterruptEx.

Синтаксис

typedef struct _NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS {
  NDIS_OBJECT_HEADER                     Header;
  MINIPORT_ISR_HANDLER                   InterruptHandler;
  MINIPORT_INTERRUPT_DPC_HANDLER         InterruptDpcHandler;
  MINIPORT_DISABLE_INTERRUPT_HANDLER     DisableInterruptHandler;
  MINIPORT_ENABLE_INTERRUPT_HANDLER      EnableInterruptHandler;
  BOOLEAN                                MsiSupported;
  BOOLEAN                                MsiSyncWithAllMessages;
  MINIPORT_MSI_ISR_HANDLER               MessageInterruptHandler;
  MINIPORT_MSI_INTERRUPT_DPC_HANDLER     MessageInterruptDpcHandler;
  MINIPORT_DISABLE_MSI_INTERRUPT_HANDLER DisableMessageInterruptHandler;
  MINIPORT_ENABLE_MSI_INTERRUPT_HANDLER  EnableMessageInterruptHandler;
  NDIS_INTERRUPT_TYPE                    InterruptType;
  PIO_INTERRUPT_MESSAGE_INFO             MessageInfoTable;
} NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS, *PNDIS_MINIPORT_INTERRUPT_CHARACTERISTICS;

Члены

Header

Структура NDIS_OBJECT_HEADER для структуры NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS. Задайте для элемента Type структуры, указанной в заголовке , значение NDIS_OBJECT_TYPE_MINIPORT_INTERRUPT, для элемента Revision — NDIS_MINIPORT_INTERRUPT_REVISION_1, а для элемента Size — значение NDIS_SIZEOF_MINIPORT_INTERRUPT_CHARACTERISTICS_REVISION_1.

InterruptHandler

Точка входа для функции MiniportInterrupt , связанной с этим прерыванием.

InterruptDpcHandler

Точка входа для функции MiniportInterruptDPC , связанной с этим прерыванием.

DisableInterruptHandler

Точка входа дляФункция MiniportDisableInterruptEx.

EnableInterruptHandler

Точка входа дляФункция MiniportEnableInterruptEx.

MsiSupported

Установите для этого члена значение TRUE, если драйвер мини-порта поддерживает функции службы прерываний с сигналом сообщений (MSI). Драйвер мини-порта должен предоставлять точки входа для функций службы MSI.

Если задать для этого значения значение FALSE , msi не поддерживается. Для точек входа функции службы MSI должно быть задано значение NULL.

MsiSyncWithAllMessages

Установите для этого элемента значение TRUE , если драйвер мини-порта должен сериализовать все функции службы MSI.

Установка этого значения true может снизить производительность прерываний. Это более эффективно для нескольких функций службы прерываний, которые обрабатывают различные сообщения для параллельного выполнения.

MessageInterruptHandler

Точка входа дляФункция MiniportMessageInterrupt, если она существует, связанная с этим прерыванием. Если драйвер не поддерживает прерывания сообщений, присвойте этому члену значение NULL.

MessageInterruptDpcHandler

Точка входа дляФункция MiniportMessageInterruptDPC, если она имеется, связанная с этим прерыванием. Если драйвер не поддерживает прерывания с сигналом сообщения, задайте для этого элемента значение NULL.

DisableMessageInterruptHandler

Точка входа дляФункция MiniportDisableMessageInterrupt, если она есть. Если драйвер не поддерживает прерывания с сигналом сообщения, задайте для этого элемента значение NULL.

EnableMessageInterruptHandler

Точка входа дляФункция MiniportEnableMessageInterrupt, если она есть. Если драйвер не поддерживает прерывания с сигналом сообщения, задайте для этого элемента значение NULL.

InterruptType

Переменная типа NDIS_INTERRUPT_TYPE. NDIS задает эту переменную, чтобы указать, какой тип прерывания был предоставлен драйверу мини-порта. Если драйвер поддерживает MSI, он должен проверка это значение, если NdisMRegisterInterruptEx возвращает NDIS_STATUS_SUCCESS. Если параметр InterruptType имеет значение NDIS_CONNECT_LINE_BASED, то NDIS предоставил драйверу прерывание на основе строки, которое может произойти, даже если драйвер поддерживает прерывания с сигналом сообщения. Если параметр InterruptType имеет значение NDIS_CONNECT_MESSAGE_BASED, NDIS предоставил драйверу прерывание по сигналу сообщения. В этом случае драйвер может получить доступ к MessageInfoTable для получения сведений о прерывании.

MessageInfoTable

Указатель на объект, предоставленный NDIS структура IO_INTERRUPT_MESSAGE_INFO .

  • Если параметр InterruptType имеет NDIS_CONNECT_MESSAGE_BASED, NDIS инициализирует структуру IO_INTERRUPT_MESSAGE_INFO со сведениями о прерывании и задает messageInfoTable в виде указателя на структуру. Драйверы мини-портов не должны изменять структуру.
  • Если параметр InterruptType имеет значение NDIS_CONNECT_LINE_BASED, параметр MessageInfoTable должен иметь значение NULL.

Комментарии

Драйвер мини-порта вызывает функцию NdisMRegisterInterruptEx для регистрации прерывания. Драйвер выделяет и инициализирует структуру NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS для указания характеристик прерываний и точек входа обработчика и передает структуру в NdisMRegisterInterruptEx.

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.0 и более поздних версиях.
Верхняя часть ndis.h (включая Ndis.h)

См. также раздел

IO_INTERRUPT_MESSAGE_INFO

MiniportDisableInterruptEx

MiniportDisableMessageInterrupt

MiniportEnableInterruptEx

MiniportEnableMessageInterrupt

MiniportInterrupt

MiniportInterruptDPC

MiniportMessageInterrupt

MiniportMessageInterruptDPC

NDIS_OBJECT_HEADER

NdisMRegisterInterruptEx