Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

UnlockFile function

Unlocks a region in an open file. Unlocking a region enables other processes to access the region.

For an alternate way to specify the region, use the UnlockFileEx function.

Syntax


BOOL WINAPI UnlockFile(
  _In_  HANDLE hFile,
  _In_  DWORD dwFileOffsetLow,
  _In_  DWORD dwFileOffsetHigh,
  _In_  DWORD nNumberOfBytesToUnlockLow,
  _In_  DWORD nNumberOfBytesToUnlockHigh
);

Parameters

hFile [in]

A handle to the file that contains a region locked with LockFile. The file handle must have been created with either the GENERIC_READ or GENERIC_WRITE access right. For more information, see File Security and Access Rights.

dwFileOffsetLow [in]

The low-order word of the starting byte offset in the file where the locked region begins.

dwFileOffsetHigh [in]

The high-order word of the starting byte offset in the file where the locked region begins.

nNumberOfBytesToUnlockLow [in]

The low-order word of the length of the byte range to be unlocked.

nNumberOfBytesToUnlockHigh [in]

The high-order word of the length of the byte range to be unlocked.

Return value

If the function succeeds, the return value is nonzero.

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

Remarks

This function always operates synchronously, but may not queue a completion entry when a completion port is associated with the file handle.

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 locks are unlocked by the operating system. However, the time it takes for the operating system to unlock these locks depends upon available system resources. Therefore, it is recommended that your process explicitly unlock all files it has locked when it terminates. If this is not done, access to these files may be denied if the operating system has not yet unlocked them.

In Windows 8 and Windows Server 2012, this function is supported by the following technologies.

TechnologySupported

Server Message Block (SMB) 3.0 protocol

Yes

SMB 3.0 Transparent Failover (TFO)

Yes

SMB 3.0 with Scale-out File Shares (SO)

Yes

Cluster Shared Volume File System (CsvFS)

Yes

Resilient File System (ReFS)

Yes

 

Requirements

Minimum supported client

Windows XP [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]

Header

FileAPI.h (include Windows.h);
WinBase.h on Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, and Windows XP (include Windows.h)

Library

Kernel32.lib

DLL

Kernel32.dll

See also

CreateFile
File Management Functions
LockFile
UnlockFileEx

 

 

Community Additions

Show:
© 2014 Microsoft