FsRtlInitializeFileLock function (ntifs.h)
The FsRtlInitializeFileLock routine initializes a FILE_LOCK structure.
void FsRtlInitializeFileLock(
[in] PFILE_LOCK FileLock,
[in, optional] PCOMPLETE_LOCK_IRP_ROUTINE CompleteLockIrpRoutine,
[in, optional] PUNLOCK_ROUTINE UnlockRoutine
);
[in] FileLock
Pointer to an uninitialized FILE_LOCK structure.
[in, optional] CompleteLockIrpRoutine
Pointer to a PCOMPLETE_LOCK_IRP_ROUTINE-typed callback routine to be called when an IRP_MJ_LOCK_CONTROL request is completed. This parameter is optional and can be NULL.
[in, optional] UnlockRoutine
Pointer to a PUNLOCK_ROUTINE-typed callback routine to be called when the byte range is unlocked. This parameter is optional and can be NULL.
None
FsRtlInitializeFileLock initializes an uninitialized FILE_LOCK structure.
It is a programming error to call FsRtlInitializeFileLock for a FILE_LOCK structure that has already been initialized by FsRtlInitializeFileLock or FltAllocateFileLock, unless the structure has been uninitialized by a subsequent call to FsRtlUninitializeFileLock.
Once initialized, the FILE_LOCK structure can be used to lock a byte range in a file by calling FsRtlProcessFileLock orFsRtlFastLock. FsRtlProcessFileLock processes lock IRPs. FsRtlFastLock performs non-IRP locking.
When the FILE_LOCK structure is no longer needed, it can be uninitialized by calling FsRtlUninitializeFileLock. The uninitialized FILE_LOCK structure can then be initialized for reuse by calling FsRtlInitializeFileLock.
Minifilters must call FltInitializeFileLock instead of FsRtlInitializeFileLock.
Requirement | Value |
---|---|
Target Platform | Universal |
Header | ntifs.h (include Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
DDI compliance rules | HwStorPortProhibitedDDIs(storport) |