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 |