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을 호출하여 초기화할 수 있습니다. 그런 다음, 초기화되지 않은 FILE_LOCK 구조체는 FltInitializeFileLock을 호출하여 재사용을 위해 초기화할 수 있습니다.

초기화된 FILE_LOCK 구조를 해제하려면 FltFreeFileLock을 호출합니다.

FltProcessFileLock에 전달된 CallbackData 매개 변수가 빠른 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