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) |