NdisMSynchronizeWithInterruptEx 함수(ndis.h)
미니포트 드라이버는 NdisMSynchronizeWithInterruptEx 함수를 호출하여 미니포트 드라이버 제공 함수의 실행을 MiniportInterrupt 함수와 동기화합니다.
구문
BOOLEAN NdisMSynchronizeWithInterruptEx(
[in] NDIS_HANDLE NdisInterruptHandle,
[in] ULONG MessageId,
[in] MINIPORT_SYNCHRONIZE_INTERRUPT_HANDLER SynchronizeFunction,
[in] PVOID SynchronizeFunction,
[in] PVOID SynchronizeContext
);
매개 변수
[in] NdisInterruptHandle
NdisMRegisterInterruptEx 함수에 대한 이전 호출에서 미니포트 드라이버가 가져온 인터럽트 핸들입니다.
[in] MessageId
드라이버가 동기화해야 하는 메시지 신호 인터럽트입니다. NDIS가 드라이버에 대해 신호 인터럽트 메시지를 부여하지 않은 경우 NDIS는 이 매개 변수를 무시합니다. MessageId 는 IO_INTERRUPT_MESSAGE_INFO 구조 내 의 IO_INTERRUPT_MESSAGE_INFO_ENTRY 구조체에 대한 인덱 스입니다. 드라이버가 NdisMRegisterInterruptEx 함수를 사용하여 MSI에 성공적으로 등록하면 NDIS는 MessageInfoTable 멤버의 연결된 IO_INTERRUPT_MESSAGE_INFO 구조에 대한 포인터를 전달합니다.
[in] SynchronizeFunction
드라이버의 MiniportSynchronizeInterrupt 함수의 진입점입니다.
[in] SynchronizeFunction
드라이버의 MiniportSynchronizeInterrupt 함수의 진입점입니다.
[in] SynchronizeContext
SynchronizeContext의 MiniportSynchronizeInterrupt 함수에 전달되는 미니포트 드라이버 결정 컨텍스트 영역에 대한 포인터입니다.
반환 값
NdisMSynchronizeWithInterruptEx 는 MiniportSynchronizeInterrupt 가 반환하는 부울 값을 반환합니다.
설명
NdisMRegisterInterruptEx에 인터럽트를 등록하는 미니포트 드라이버는 NdisMSynchronizeWithInterruptEx를 사용합니다. MiniportSynchronizeInterrupt 함수가 반환하는 값은 NdisMSynchronizeWithInterruptEx에서도 반환됩니다. 이 전파된 값은 호출자에게 상태를 제공합니다.
DIRQL에서 실행되는 다른 드라이버 함수와 리소스를 공유하는 미니포트 드라이버 함수는 NdisMSynchronizeWithInterruptEx 를 사용하여 해당 리소스에 대한 액세스를 동기화해야 합니다. MiniportSynchronizeInterrupt 함수도 DIRQL에서 실행되며 공유 리소스는 시스템 할당 스핀 잠금으로 보호됩니다. 따라서 공유 리소스는 MiniportInterrupt 함수 및 호출자에 의해 동시 액세스로부터 보호됩니다.
NdisMSynchronizeWithInterruptEx 는 시스템 스핀 잠금을 해제하고 컨트롤을 반환하기 전에 호출자의 원래 IRQL을 복원합니다.
NDIS 스핀 잠금 획득 및 해제에 대한 자세한 내용은 네트워크 드라이버의 동기화 및 알림을 참조하세요.
요구 사항
| 지원되는 최소 클라이언트 | NDIS 6.0 이상에서 지원됩니다. |
| 대상 플랫폼 | 유니버설 |
| 헤더 | ndis.h(Ndis.h, Video.h 포함) |
| 라이브러리 | Ndis.lib |
| IRQL | <= DIRQL |
| DDI 규정 준수 규칙 | NdisMDeregisterInterruptEx(ndis) |
참조
피드백
다음에 대한 사용자 의견 제출 및 보기