Поделиться через


Функция FltAllocateFileLock (fltkernel.h)

Подпрограмма fltAllocateFile Lock выделяет и инициализирует новую структуру FILE_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

См. также

FILE_LOCK

FltCheckLockForReadAccess

FltCheckLockForWriteAccess

FltFreeFileLock

FltInitializeFileLock

FltProcessFileLock

FltUninitializeFileLock

FsRtlAllocateFileLock

IRP_MJ_LOCK_CONTROL

PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE

PUNLOCK_ROUTINE