Fungsi FsRtlGetNextFileLock (ntifs.h)

Rutinitas FsRtlGetNextFileLock digunakan untuk menghitung kunci rentang byte yang saat ini ada untuk file tertentu.

Sintaks

PFILE_LOCK_INFO FsRtlGetNextFileLock(
  [in] PFILE_LOCK FileLock,
  [in] BOOLEAN    Restart
);

Parameter

[in] FileLock

Arahkan ke struktur FILE_LOCK untuk file. Struktur ini harus diinisialisasi oleh panggilan sebelumnya ke FsRtlAllocateFileLock atau FsRtlInitializeFileLock.

[in] Restart

Atur ke TRUE jika enumerasi dimulai di awal daftar kunci rentang byte. Atur ke FALSE jika melanjutkan enumerasi dari panggilan sebelumnya.

Untuk menghitung semua kunci rentang byte untuk file tertentu, gunakan FsRtlGetNextFileLock sebagai berikut:

for (p = FsRtlGetNextFileLock( FileLock, TRUE );
     p != NULL;
     p = FsRtlGetNextFileLock( FileLock, FALSE )) {
        // Process the lock information pointed to by p
}

Nilai kembali

FsRtlGetNextFileLock mengembalikan penunjuk ke struktur FILE_LOCK_INFO untuk kunci rentang byte berikutnya, jika ada. Jika tidak ada lagi kunci rentang byte untuk file ini, FsRtlGetNextFileLock mengembalikan NULL.

Keterangan

Kunci rentang byte tidak dijumlahkan dalam urutan tertentu.

Perhatikan bahwa karena status enumerasi saat ini disimpan dalam struktur FILE_LOCK, pemanggil harus berhati-hati untuk menyinkronkan panggilan ke FsRtlGetNextFileLock, dan untuk menghindari memodifikasi salah satu struktur yang dikembalikannya. Jika beberapa utas mencoba menggunakan FsRtlGetNextFileLock pada saat yang sama, hasilnya tidak akan dapat diprediksi, dan enumerasi tidak akan selesai dengan andal.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Header ntifs.h (termasuk Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
Aturan kepatuhan DDI HwStorPortProhibitedDDIs(storport)

Lihat juga

FsRtlAreThereCurrentFileLocks

FsRtlCheckLockForReadAccess

FsRtlCheckLockForWriteAccess

FsRtlFastCheckLockForRead

FsRtlFastCheckLockForWrite

FsRtlFastLock

FsRtlFastUnlockAll

FsRtlFastUnlockAllByKey

FsRtlFastUnlockSingle

FsRtlInitializeFileLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock