NDIS_WAIT_FOR_MUTEX 매크로(ndis.h)

NDIS_WAIT_FOR_MUTEX 매크로는 지정된 뮤텍스 개체가 신호 상태로 설정될 때까지 현재 스레드를 대기 상태로 전환합니다.

구문

void NDIS_WAIT_FOR_MUTEX(
   _M_
);

매개 변수

_M_

초기화된 NDIS_MUTEX 형식 뮤텍스 개체에 대한 포인터입니다. 호출자는 NDIS_INIT_MUTEX 매크로에 대한 이전 호출에서 뮤텍스 개체를 초기화했습니다. NDIS_MUTEX KMUTEX 형식의 래퍼입니다.

반환 값

작업이 성공적으로 완료되면 NDIS_WAIT_FOR_MUTEX STATUS_SUCCESS 반환합니다. 그렇지 않으면 적절한 NTSTATUS 오류 코드를 반환합니다.

설명

NDIS 네트워크 드라이버는 NDIS_WAIT_FOR_MUTEX 매크로를 사용하여 뮤텍스가 신호 상태로 전환될 때까지 기다려야 합니다.

드라이버는 발생된 IRQL 또는 임의의 스레드 컨텍스트 (즉, 드라이버 함수가 호출될 때 현재 스레드의 컨텍스트)에서 뮤텍스 개체에서 0이 아닌 시간 간격을 기다릴 수 없습니다.

NDIS_WAIT_FOR_MUTEX 뮤텍스 개체의 현재 상태를 검사하여 대기 작업을 즉시 충족할 수 있는지 확인합니다. 작업을 즉시 충족할 수 있는 경우 뮤텍스 개체에 필요한 업데이트가 수행됩니다. 그렇지 않으면 현재 스레드가 대기 중 상태이고 현재 프로세서에서 실행하기 위해 새 스레드가 선택됩니다.

이 매크로는 KeWaitForSingleObject 루틴에 대한 NDIS 래퍼입니다.

NDIS_WAIT_FOR_MUTEX 호출자는 IRQL == PASSIVE_LEVEL 및 비비타적 스레드 컨텍스트에서 실행되어야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
대상 플랫폼 유니버설
헤더 ndis.h
IRQL PASSIVE_LEVEL(설명 섹션 참조)
DDI 규정 준수 규칙 Irql_Synch_Function(ndis)

추가 정보

KeWaitForSingleObject

NDIS_INIT_MUTEX

NDIS_RELEASE_MUTEX