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
비고
KeSrcuReadUnlock 은 KeSrcuReadLock으로 입력된 읽기 쪽 중요 섹션을 종료합니다. 이 함수는 해당 KeSrcuReadLock을 호출한 동일한 스레드에서 호출되어야 합니다.
스레드가 여전히 동일한 프로세서에 있는 경우 모든 IRQL에서 이 함수를 호출할 수 있습니다. 스레드가 다른 프로세서로 마이그레이션된 경우 IPI(프로세서 간 인터럽트) 요구 사항으로 인해 최대 유효 IRQL이 DISPATCH_LEVEL.
인터럽트 사용 안 함으로 이 함수를 호출할 수 있습니다.
KeSrcuReadLock을 호출한 후 호출 스레드가 다른 프로세서로 마이그레이션된 경우 이 함수는 다음을 수행합니다.
- 프로세서 변경을 검색합니다.
- 원래 프로세서에 IPI(프로세서 간 인터럽트)를 보냅니다.
- 원래 프로세서에서 원격으로 잠금 해제 작업을 완료합니다.
이 호출 후에는 보호된 데이터에 더 이상 액세스하지 않아야 합니다.
요구 사항
| 요구 사항 | 가치 |
|---|---|
| 대상 플랫폼 | 보편적 |
| Header | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
| Library | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | 모든 수준(설명 참조) |