IoAcquireVpbSpinLock 함수(ntifs.h)
IoAcquireVpbSpinLock 루틴은 VPB(볼륨 매개 변수 블록) 스핀 잠금을 획득합니다.
통사론
void IoAcquireVpbSpinLock(
[out] PKIRQL Irql
);
매개 변수
[out] Irql
IoReleaseVpbSpinLock대한 후속 호출을 위해 현재 IRQL을 저장할 호출자 할당 변수에 대한 포인터입니다. 일반적으로 Irql 스택에 로컬 변수로 저장됩니다.
반환 값
없음
발언
파일 시스템은 IoAcquireVpbSpinLock 호출하여 VPB 스핀 잠금을 획득합니다. VPB의 다음 필드에 액세스하기 전에 이 전역 스핀 잠금을 획득해야 합니다.
플래그(특히 VPB_MOUNTED)
DeviceObject
RealDevice
ReferenceCount
IoAcquireVpbSpinLock 대한 모든 성공적인 호출은 IoReleaseVpbSpinLock대한 후속 호출과 일치해야 합니다. 교착 상태를 방지하기 위해 VPB 스핀 잠금의 보유자는 더 이상 필요하지 않을 때 즉시 해제해야 합니다.
IoAcquireVpbSpinLock 및 IoReleaseVpbSpinLock사용하기 전에 드라이버 작성자는 FASTFAT 샘플에서 이러한 루틴이 사용되는 방식을 연구하는 것이 좋습니다.
IoAcquireVpbSpinLock호출한 후 호출자는 IRQL DISPATCH_LEVEL 실행됩니다. IoReleaseVpbSpinLock 호출하면 호출자의 원래 IRQL이 복원됩니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | ntifs.h(Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs(storport) |