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 또는 FltAllocateFileLock에 의해 이미 초기화된 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) |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기