Bagikan melalui


Fungsi FltAllocateFileLock (fltkernel.h)

Rutinitas FltAllocateFileLock mengalokasikan dan menginisialisasi struktur FILE_LOCK baru.

Sintaks

PFILE_LOCK FLTAPI FltAllocateFileLock(
  [in, optional] PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE CompleteLockCallbackDataRoutine,
  [in, optional] PUNLOCK_ROUTINE                          UnlockRoutine
);

Parameter

[in, optional] CompleteLockCallbackDataRoutine

Arahkan ke rutinitas panggilan balik PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE-ketik untuk dipanggil saat permintaan IRP_MJ_LOCK_CONTROL selesai. Parameter ini bersifat opsional dan dapat berupa NULL.

[in, optional] UnlockRoutine

Penunjuk ke rutinitas panggilan balik PUNLOCK_ROUTINE-ketik untuk dipanggil ketika rentang byte tidak terkunci. Parameter ini bersifat opsional dan dapat berupa NULL.

Nilai kembali

FltAllocateFileLock mengembalikan pointer ke struktur FILE_LOCK yang baru dialokasikan.

Keterangan

FltAllocateFileLock mengalokasikan struktur FILE_LOCK baru dari kumpulan halaman dan menginisialisasinya.

Struktur FILE_LOCK yang dikembalikan dapat digunakan untuk mengunci rentang byte dalam file dengan memanggil FltProcessFileLock.

Ketika struktur FILE_LOCK tidak lagi diperlukan, struktur tersebut dapat batal diinisialisasi dengan memanggil FltUninitializeFileLock. Struktur FILE_LOCK yang tidak diinisialisasi kemudian dapat diinisialisasi untuk digunakan kembali dengan memanggil FltInitializeFileLock.

Untuk membebaskan struktur FILE_LOCK yang diinisialisasi, panggil FltFreeFileLock.

Ketika parameter CallbackData yang diteruskan ke FltProcessFileLock mewakili operasi I/O cepat, panggilan balik yang ditentukan dalam CompleteLockCallbackDataRoutine tidak dipanggil. Hanya ketika operasi I/O di CallbackData adalah IRP, dan CompleteLockCallbackDataRoutine bukan NULL, apakah rutinitas panggilan balik akan dipanggil.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP SP2
Server minimum yang didukung Windows Server 2003 SP1
Target Platform Universal
Header fltkernel.h (termasuk Fltkernel.h)
Pustaka FltMgr.lib
IRQL <= APC_LEVEL

Lihat juga

FILE_LOCK

FltCheckLockForReadAccess

FltCheckLockForWriteAccess

FltFreeFileLock

FltInitializeFileLock

FltProcessFileLock

FltUninitializeFileLock

FsRtlAllocateFileLock

IRP_MJ_LOCK_CONTROL

PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE

PUNLOCK_ROUTINE