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 |