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 반환하는 경우 이 값을 확인해야 합니다. InterruptType이 NDIS_CONNECT_LINE_BASED 설정된 경우 NDIS는 드라이버에 줄 기반 인터럽트(드라이버가 메시지 신호 인터럽트 지원)를 지원하는 경우에도 발생할 수 있는 줄 기반 인터럽트 권한을 부여합니다. InterruptType이 NDIS_CONNECT_MESSAGE_BASED 설정된 경우 NDIS는 드라이버에 메시지 신호 인터럽트 권한을 부여합니다. 이 경우 드라이버는 MessageInfoTable에 액세스하여 인터럽트 정보를 가져올 수 있습니다.
MessageInfoTable
IO_INTERRUPT_MESSAGE_INFO 구조체에 대한 NDIS 제공 포인터입니다.
- 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 포함) |
참고 항목
MiniportDisableMessageInterrupt
피드백
다음에 대한 사용자 의견 제출 및 보기