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 함수가 있는 경우 이 인터럽트와 연결됩니다. 드라이버가 메시지 인터럽트 를 지원하지 않는 경우 이 멤버를 NULL로 설정합니다.

MessageInterruptDpcHandler

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

DisableMessageInterruptHandler

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

EnableMessageInterruptHandler

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

InterruptType

NDIS_INTERRUPT_TYPE 형식의 변수입니다. NDIS는 미니포트 드라이버에 부여한 인터럽트 종류를 나타내도록 이 변수를 설정합니다. 드라이버가 MSI를 지원하는 경우 NdisMRegisterInterruptEx가 NDIS_STATUS_SUCCESS 반환하는 경우 이 값을 검사 합니다. InterruptTypeNDIS_CONNECT_LINE_BASED 설정된 경우 NDIS는 드라이버가 메시지 신호 인터럽트 지원을 지원하는 경우에도 발생할 수 있는 줄 기반 인터럽트(line-based interrupt)를 드라이버에 부여했습니다. 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