FsRtlInitializeFileLock 함수(ntifs.h)
FsRtlInitializeFileLock 루틴은 FILE_LOCK 구조를 초기화합니다.
구문
void FsRtlInitializeFileLock(
[in] PFILE_LOCK FileLock,
[in, optional] PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine,
[in, optional] PUNLOCK_ROUTINE UnlockRoutine
);
매개 변수
[in] FileLock
초기화되지 않은 FILE_LOCK 구조체에 대한 포인터입니다.
[in, optional] CompleteLockIrpRoutine
IRP_MJ_LOCK_CONTROL 요청이 완료될 때 호출할 PCOMPLETE_LOCK_IRP_ROUTINE 형식 콜백 루틴에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.
[in, optional] UnlockRoutine
바이트 범위가 잠금 해제될 때 호출할 PUNLOCK_ROUTINE 형식 콜백 루틴에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.
반환 값
없음
설명
FsRtlInitializeFileLock 은 초기화되지 않은 FILE_LOCK 구조를 초기화합니다.
FsRtlUninitializeFileLock에 대한 후속 호출로 구조가 초기화되지 않은 경우 FsRtlInitializeFileLock 또는 FsRtlAllocateFileLock에 의해 이미 초기화된 FILE_LOCK 구조에 대해 FsRtlInitializeFileLock을 호출하는 것은 프로그래밍 오류입니다.
초기화되면 FILE_LOCK 구조를 사용하여 FsRtlProcessFileLock 또는 FsRtlFastLock을 호출하여 파일의 바이트 범위를 잠글 수 있습니다. FsRtlProcessFileLock 프로세스는 잠금 IRP를 처리합니다. FsRtlFastLock 은 비 IRP 잠금을 수행합니다.
FILE_LOCK 구조체가 더 이상 필요하지 않은 경우 FsRtlUninitializeFileLock을 호출하여 초기화되지 않을 수 있습니다. 그런 다음 FsRtlInitializeFileLock을 호출하여 초기화되지 않은 FILE_LOCK 구조를 다시 사용하도록 초기화할 수 있습니다.
미니 필터는 FsRtlInitializeFileLock 대신 FltInitializeFileLock을 호출해야 합니다.
요구 사항
| 대상 플랫폼 | 유니버설 |
| 헤더 | ntifs.h(Ntifs.h 포함) |
| 라이브러리 | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | <= APC_LEVEL |
| DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs(storport) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기