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_ENTRY 구조체 IO_INTERRUPT_MESSAGE_INFO 구조체입니다. 드라이버가 NdisMRegisterInterruptEx 함수를 사용하여 MSI에 성공적으로 등록하면 NDIS는 MessageInfoTable 멤버의 연결된 IO_INTERRUPT_MESSAGE_INFO 구조에 대한 포인터를 전달합니다.
[in] SynchronizeFunction
드라이버의 진입점 MiniportSynchronizeInterrupt 함수입니다.
[in] SynchronizeFunction
드라이버의 진입점 MiniportSynchronizeInterrupt 함수입니다.
[in] SynchronizeContext
SynchronizeContextMiniportSynchronizeInterrupt 함수에 전달되는 미니포트 드라이버 결정 컨텍스트 영역에 대한 포인터입니다.
반환 값
NdisMSynchronizeWithInterruptExMiniportSynchronizeInterrupt 반환하는 부울 값을 반환합니다.
발언
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) |