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)

추가 정보

IO_INTERRUPT_MESSAGE_INFO

IO_INTERRUPT_MESSAGE_INFO_ENTRY

MiniportInterrupt

MiniportSynchronizeInterrupt

NdisMRegisterInterruptEx