다음을 통해 공유


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_MINIPORT_INTERRUPT_CHARACTERISTICS 구조체의 NDIS_OBJECT_HEADER 구조체입니다. Header 지정하는 구조체의 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

미니포트 드라이버가 MSI(메시지 신호 인터럽트) 서비스 함수를 지원하는 경우 이 멤버를 TRUE 설정합니다. 미니포트 드라이버는 MSI 서비스 함수에 대한 진입점을 제공해야 합니다.

이 값을 FALSE 설정하면 MSI가 지원되지 않음을 나타냅니다. MSI 서비스 함수 진입점은 NULL 설정해야 합니다.

MsiSyncWithAllMessages

미니포트 드라이버가 모든 MSI 서비스 함수를 직렬화해야 하는 경우 이 멤버를 TRUE 설정합니다.

이 값을 TRUE 설정하면 인터럽트 성능이 저하됩니다. 여러 메시지를 처리하는 여러 인터럽트 서비스 함수가 동시에 실행되는 것이 더 효율적입니다.

MessageInterruptHandler

에 대한 진입점 MiniportMessageInterrupt 함수가 있는 경우 이 인터럽트와 연결된 함수입니다. 드라이버가 메시지 인터럽트(interrupts)를 지원하지 않는 경우 이 멤버를 NULL 설정합니다.

MessageInterruptDpcHandler

에 대한 진입점 MiniportMessageInterruptDPC 이 인터럽트와 연결된 함수(있는 경우)입니다. 드라이버가 메시지 신호 인터럽트(interrupts)를 지원하지 않는 경우 이 멤버를 NULL 설정합니다.

DisableMessageInterruptHandler

에 대한 진입점 MiniportDisableMessageInterrupt 함수(있는 경우)입니다. 드라이버가 메시지 신호 인터럽트(인터럽트)를 지원하지 않는 경우 이 멤버를 NULL 설정합니다.

EnableMessageInterruptHandler

에 대한 진입점 MiniportEnableMessageInterrupt 함수(있는 경우)입니다. 드라이버가 메시지 신호 인터럽트(interrupts)를 지원하지 않는 경우 이 멤버를 NULL 설정합니다.

InterruptType

NDIS_INTERRUPT_TYPE형식의 변수입니다. NDIS는 미니포트 드라이버에 부여한 인터럽트 종류를 나타내도록 이 변수를 설정합니다. 드라이버가 MSI를 지원하는 경우 NdisMRegisterInterruptEx NDIS_STATUS_SUCCESS 반환하는 경우 이 값을 확인해야 합니다. InterruptTypeNDIS_CONNECT_LINE_BASED설정된 경우 NDIS는 드라이버가 메시지 신호 인터럽트를 지원하는 경우에도 발생할 수 있는 줄 기반 인터럽트를 드라이버에 부여했습니다. InterruptTypeNDIS_CONNECT_MESSAGE_BASED설정된 경우 NDIS는 드라이버에 메시지 신호 인터럽트를 부여합니다. 이 경우 드라이버는 MessageInfoTable 액세스하여 인터럽트 정보를 가져올 수 있습니다.

MessageInfoTable

NDIS 제공 포인터 IO_INTERRUPT_MESSAGE_INFO 구조체입니다.

  • InterruptTypeNDIS_CONNECT_MESSAGE_BASED경우 NDIS는 인터럽트에 대한 정보를 사용하여 IO_INTERRUPT_MESSAGE_INFO 구조를 초기화하고 MessageInfoTable 구조체에 대한 포인터로 설정합니다. 미니포트 드라이버는 구조를 수정하지 않아야 합니다.
  • InterruptTypeNDIS_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