Platform SDK: Files and I/O

UnlockFileEx

The UnlockFileEx function unlocks a previously locked byte range in an open file.

BOOL UnlockFileEx(
  HANDLE hFile,                     // handle to file
  DWORD dwReserved,                 // reserved
  DWORD nNumberOfBytesToUnlockLow,  // low-order part of length
  DWORD nNumberOfBytesToUnlockHigh, // high-order part of length
  LPOVERLAPPED lpOverlapped         // unlock region start
);

Parameters

hFile
[in] Handle to a file that is to have an existing locked region unlocked. The handle must have been created with either GENERIC_READ or GENERIC_WRITE access to the file.
dwReserved
Reserved parameter; must be zero.
nNumberOfBytesToUnlockLow
[in] Specifies the low-order part of the length of the byte range to unlock.
nNumberOfBytesToUnlockHigh
[in] Specifies the high-order part of the length of the byte range to unlock.
lpOverlapped
[in] Pointer to an OVERLAPPED structure that the function uses with the unlocking request. This structure contains the file offset of the beginning of the unlock range.

Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero or NULL. To get extended error information, call GetLastError.

Remarks

Unlocking a region of a file releases a previously acquired lock on the file. The region to unlock must correspond exactly to an existing locked region. Two adjacent regions of a file cannot be locked separately and then unlocked using a single region that spans both locked regions.

If a process terminates with a portion of a file locked or closes a file that has outstanding locks, the behavior is not specified.

Requirements

  Windows NT/2000: Requires Windows NT 3.1 or later.
  Windows 95/98: Unsupported.
  Header: Declared in Winbase.h; include Windows.h.
  Library: Use Kernel32.lib.

See Also

File I/O Overview, File I/O Functions, CreateFile, LockFile, LockFileEx, OVERLAPPED, UnlockFile