Fungsi IoAcquireVpbSpinLock (ntifs.h)
Rutinitas IoAcquireVpbSpinLock memperoleh kunci putar Blok Parameter Volume (VPB).
Sintaks
void IoAcquireVpbSpinLock(
[out] PKIRQL Irql
);
Parameter
[out] Irql
Arahkan ke variabel yang dialokasikan penelepon untuk menyimpan IRQL saat ini untuk panggilan berikutnya ke IoReleaseVpbSpinLock. Biasanya Irql disimpan di tumpukan sebagai variabel lokal.
Nilai kembali
Tidak ada
Keterangan
Sistem file memanggil IoAcquireVpbSpinLock untuk memperoleh kunci putar VPB. Kunci spin global ini harus diperoleh sebelum mengakses salah satu bidang VPB berikut:
Bendera (khususnya, VPB_MOUNTED)
DeviceObject
RealDevice
ReferenceCount
Setiap panggilan yang berhasil ke IoAcquireVpbSpinLock harus dicocokkan dengan panggilan berikutnya ke IoReleaseVpbSpinLock. Untuk mencegah kebuntuan, pemegang kunci spin VPB harus segera melepaskannya ketika tidak lagi diperlukan.
Sebelum menggunakan IoAcquireVpbSpinLock dan IoReleaseVpbSpinLock, penulis driver sangat didorong untuk mempelajari cara rutinitas ini digunakan dalam sampel FASTFAT.
Setelah memanggil IoAcquireVpbSpinLock, pemanggil dijalankan di IRQL DISPATCH_LEVEL. Memanggil IoReleaseVpbSpinLock memulihkan IRQL asli pemanggil.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | ntifs.h (termasuk Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |
Aturan kepatuhan DDI | HwStorPortProhibitedDDIs(storport) |