共用方式為


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