IStream::UnlockRegion method (objidl.h)

The UnlockRegion method removes the access restriction on a range of bytes previously restricted with IStream::LockRegion.


HRESULT UnlockRegion(
  [in] ULARGE_INTEGER libOffset,
  [in] DWORD          dwLockType


[in] libOffset

Specifies the byte offset for the beginning of the range.

[in] cb

Specifies, in bytes, the length of the range to be restricted.

[in] dwLockType

Specifies the access restrictions previously placed on the range.

Return value

This method can return one of these values.

Return code Description
S_OK The byte range was unlocked.
E_PENDING Asynchronous Storage only: Part or all of the stream's data is currently unavailable.
STG_E_INVALIDFUNCTION Locking is not supported at all or the specific type of lock requested is not supported.
STG_E_LOCKVIOLATION The requested unlock operation cannot be granted.
STG_E_REVERTED The object has been invalidated by a revert operation above it in the transaction tree.


IStream::UnlockRegion unlocks a region previously locked with the IStream::LockRegion method. Locked regions must later be explicitly unlocked by calling IStream::UnlockRegion with exactly the same values for the libOffset, cb, and dwLockType parameters. The region must be unlocked before the stream is released. Two adjacent regions cannot be locked separately and then unlocked with a single unlock call.


Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps | UWP apps]
Minimum supported server Windows 2000 Server [desktop apps | UWP apps]
Target Platform Windows
Header objidl.h
Library Uuid.lib
DLL Ole32.dll

See also

IStream - Compound File Implementation