다음을 통해 공유


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 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