Функция FltAllocateFileLock (fltkernel.h)
Подпрограмма fltAllocateFile Lock
Синтаксис
PFILE_LOCK FLTAPI FltAllocateFileLock(
[in, optional] PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE CompleteLockCallbackDataRoutine,
[in, optional] PUNLOCK_ROUTINE UnlockRoutine
);
Параметры
[in, optional] CompleteLockCallbackDataRoutine
Указатель на процедуру обратного вызова с типизированным типом PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINEпри завершении запроса IRP_MJ_LOCK_CONTROL. Этот параметр является необязательным и может иметь значение NULL.
[in, optional] UnlockRoutine
Указатель на процедуру обратного вызова с типизированным типом PUNLOCK_ROUTINEпри разблокировке диапазона байтов. Этот параметр является необязательным и может иметь значение NULL.
Возвращаемое значение
FltAllocateFileLock возвращает указатель на только что выделенную структуру FILE_LOCK.
Замечания
FltAllocateFileLock выделяет новую структуру FILE_LOCK из страничного пула и инициализирует ее.
Возвращаемая FILE_LOCK структура может использоваться для блокировки диапазона байтов в файле путем вызова FltProcessFileLock.
Если структура FILE_LOCK больше не нужна, она может быть неинициализирована путем вызова FltUninitializeFileLock. Затем неинициализированную структуру FILE_LOCK можно инициализировать для повторного использования путем вызова FltInitializeFileLock.
Чтобы освободить инициализированную структуру FILE_LOCK, вызовите FltFreeFileLock.
Если параметр CallbackData, переданный FltProcessFileLock представляет быструю операцию ввода-вывода, обратный вызов, указанный в CompleteLockCallbackDataRoutine не вызывается. Только если операция ввода-вывода в CallbackData является IRP, и CompleteLockCallbackDataRoutine не null, будет вызываться подпрограмма обратного вызова.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP с пакетом обновления 2 (SP2) |
минимальный поддерживаемый сервер | Windows Server 2003 с пакетом обновления 1 (SP1) |
целевая платформа | Всеобщий |
заголовка | fltkernel.h (include Fltkernel.h) |
библиотеки |
FltMgr.lib |
IRQL | <= APC_LEVEL |