다음을 통해 공유


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 구조를 초기화합니다.

FsRtlInitializeFileLock 이미 초기화된 FILE_LOCK 구조에 대해 FsRtlInitializeFileLock 호출하는 것은 프로그래밍 오류입니다. FsRtlUninitializeFileLock후속 호출로 구조가 초기화되지 않는 한 FltAllocateFileLock또는 .

초기화되면 FILE_LOCK 구조체를 사용하여 FsRtlProcessFileLock 호출하거나 FsRtlFastLock파일의 바이트 범위를 잠글 수 있습니다. FsRtlProcessFileLock 프로세스 잠금 IRP. FsRtlFastLock 비 IRP 잠금을 수행합니다.

FILE_LOCK 구조체가 더 이상 필요하지 않은 경우 FsRtlUninitializeFileLock호출하여 초기화되지 않을 수 있습니다. 초기화되지 않은 FILE_LOCK 구조체는 FsRtlInitializeFileLock호출하여 다시 사용하도록 초기화할 수 있습니다.

미니 필터는 FsRtlInitializeFileLock대신 FltInitializeFileLock 호출해야 합니다.

요구 사항

요구
대상 플랫폼 보편적
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport)

참고 항목

FILE_LOCK

FltInitializeFileLock

FltAllocateFileLock

FsRtlAreThereCurrentFileLocks

FsRtlFastLock

FsRtlProcessFileLock

FsRtlUninitializeFileLock

IRP_MJ_LOCK_CONTROL

IoCompleteRequest

PCOMPLETE_LOCK_IRP_ROUTINE

PUNLOCK_ROUTINE