FltAllocateFileLock 函数 (fltkernel.h)

FltAllocateFileLock 例程分配并初始化新的 FILE_LOCK 结构。

语法

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

参数

[in, optional] CompleteLockCallbackDataRoutine

指向 IRP_MJ_LOCK_CONTROL 请求完成时要调用的 PFLT_COMPLETE_LOCK_CALLBACK_DATA_ROUTINE类型回调例程的指针。 此参数是可选的,可以是 NULL。

[in, optional] UnlockRoutine

指向在解锁字节范围时要调用的 PUNLOCK_ROUTINE类型回调例程的指针。 此参数是可选的,可以是 NULL。

返回值

FltAllocateFileLock 返回指向新分配 FILE_LOCK 结构的指针。

言论

FltAllocateFileLock 从分页池分配新的 FILE_LOCK 结构并初始化它。

返回的 FILE_LOCK 结构可用于通过调用 FltProcessFileLock锁定文件中的字节范围。

不再需要 FILE_LOCK 结构时,可以通过调用 FltUninitializeFileLock来取消初始化结构。 然后,可以通过调用 FltInitializeFileLock来初始化未初始化 FILE_LOCK 结构以供重复使用。

若要释放初始化 FILE_LOCK 结构,请调用 FltFreeFileLock

传递给 FltProcessFileLockCallbackData 参数表示快速 I/O 操作时,不会调用 CompleteLockCallbackDataRoutine 中指定的回调。 仅当 CallbackData 中的 I/O 操作为 IRP,并且 CompleteLockCallbackDataRoutine 为 NULL 时,才会调用回调例程。

要求

要求 价值
最低支持的客户端 Windows XP SP2
支持的最低服务器 Windows Server 2003 SP1
目标平台 普遍
标头 fltkernel.h (包括 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