Bagikan melalui


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)

Lihat juga

IoReleaseVpbSpinLock