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을 호출합니다.

FltProcessFileLock에 전달된 CallbackData 매개 변수가 빠른 I/O 작업을 나타내는 경우 CompleteLockCallbackDataRoutine에 지정된 콜백이 호출되지 않습니다. CallbackData의 I/O 작업이 IRP이고 CompleteLockCallbackDataRoutine이 NULL이 아닌 경우에만 콜백 루틴이 호출됩니다.

요구 사항

   
지원되는 최소 클라이언트 SP2가 있는 Windows XP 또는 SP1이 있는 Windows Server 2003부터 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 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