다음을 통해 공유


KeSrcuReadUnlock 함수(wdm.h)

KeSrcuReadUnlock 루틴은 지정된 SRCU(Sleepable Read-Copy-Update) 파티션의 읽기 쪽 RCU 중요 섹션을 종료합니다.

Syntax

VOID KeSrcuReadUnlock(
  [in] PKE_SRCU      Rcu,
  [in] PKE_SRCU_LOCK Lock
);

매개 변수

[in] Rcu

해당 KeSrcuReadLock 호출에 사용된 SRCU 인스턴스에 대한 포인터입니다.

[in] Lock

해당 KeSrcuReadLock 호출로 채워진 KE_SRCU_LOCK 구조체에 대한 포인터입니다.

반환 값

None

비고

KeSrcuReadUnlockKeSrcuReadLock으로 입력된 읽기 쪽 중요 섹션을 종료합니다. 이 함수는 해당 KeSrcuReadLock을 호출한 동일한 스레드에서 호출되어야 합니다.

스레드가 여전히 동일한 프로세서에 있는 경우 모든 IRQL에서 이 함수를 호출할 수 있습니다. 스레드가 다른 프로세서로 마이그레이션된 경우 IPI(프로세서 간 인터럽트) 요구 사항으로 인해 최대 유효 IRQL이 DISPATCH_LEVEL.

인터럽트 사용 안 함으로 이 함수를 호출할 수 있습니다.

KeSrcuReadLock을 호출한 후 호출 스레드가 다른 프로세서로 마이그레이션된 경우 이 함수는 다음을 수행합니다.

  1. 프로세서 변경을 검색합니다.
  2. 원래 프로세서에 IPI(프로세서 간 인터럽트)를 보냅니다.
  3. 원래 프로세서에서 원격으로 잠금 해제 작업을 완료합니다.

이 호출 후에는 보호된 데이터에 더 이상 액세스하지 않아야 합니다.

요구 사항

요구 사항 가치
대상 플랫폼 보편적
Header wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 모든 수준(설명 참조)

참고하십시오

KE_SRCU_LOCK

KeSrcuAllocate

KeSrcuFree

KeSrcuReadLock

KeSrcuSynchronize