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 스핀 잠금의 소유자가 더 이상 필요하지 않을 때 즉시 해제해야 합니다.

IoAcquireVpbSpinLockIoReleaseVpbSpinLock을 사용하기 전에 드라이버 작성기는 FASTFAT 샘플에서 이러한 루틴이 사용되는 방식을 연구하는 것이 좋습니다.

IoAcquireVpbSpinLock을 호출한 후 호출자는 IRQL DISPATCH_LEVEL 실행됩니다. IoReleaseVpbSpinLock을 호출하면 호출자의 원래 IRQL이 복원됩니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport)

추가 정보

IoReleaseVpbSpinLock