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는 드라이버가 메시지 신호 인터럽트 지원을 지원하는 경우에도 발생할 수 있는 줄 기반 인터럽트(line-based interrupt)를 드라이버에 부여했습니다. 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 포함) |