// ntifs.h
NTSTATUS FsRtlFastUnlockSingle(
[in] PFILE_LOCK FileLock,
[in] PFILE_OBJECT FileObject,
[in] LARGE_INTEGER *FileOffset,
[in] PLARGE_INTEGER Length,
[in] PEPROCESS ProcessId,
[in] ULONG Key,
[in, optional] PVOID Context,
[in] BOOLEAN AlreadySynchronized
);
View the official Windows Driver Kit DDI referenceNo description available.
The FsRtlFastUnlockSingle routine releases a byte-range lock that was acquired by the specified process, with the specified key value, file offset, and length, for a file.
FileLock [in]A pointer to the FILE_LOCK structure for the file. This structure must have been initialized by a previous call to FsRtlAllocateFileLock or FsRtlInitializeFileLock.
FileObject [in]A pointer to the file object for the file.
FileOffset [in]A pointer to a variable that specifies the starting byte offset within the file of the range to be unlocked. The memory pointed to must not be pageable.
Length [in]A pointer to a variable that specifies the length, in bytes, of the range to be unlocked. The memory pointed to must not be pageable.
ProcessId [in]A pointer to the process ID for the process.
Key [in]The key for the byte-range lock.
Context [in, optional]An optional context pointer to be used when completing IRPs.
AlreadySynchronized [in]This parameter is obsolete, but is retained for compatibility with legacy drivers.
The FsRtlFastUnlockSingle routine returns STATUS_SUCCESS or an error status code such as STATUS_RANGE_NOT_LOCKED.