IStream::UnlockRegion

Removes the access restriction on a range of bytes previously restricted with IStream::LockRegion.

HRESULT UnlockRegion(
  ULARGE_INTEGER libOffset,
                      //Specifies the byte offset for the beginning 
                      // of the range
  ULARGE_INTEGER cb,  //Specifies the length of the range in bytes
  DWORD dwLockType    //Specifies the access restriction previously 
                      // placed on the range
);
 

Parameters

libOffset
[in] Specifies the byte offset for the beginning of the range.
cb
[in] Specifies, in bytes, the length of the range to be restricted.
dwLockType
[in] Specifies the access restrictions previously placed on the range.

Return Values

S_OK
The byte range was unlocked.
E_PENDING
Asynchronous Storage only: Part or all of the stream's data is currently unavailable. For more information see IFillLockBytes and Asynchronous Storage.
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 cannot be granted.
STG_E_REVERTED
The object has been invalidated by a revert operation above it in the transaction tree.

Remarks

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.

QuickInfo

  Windows NT: Use version 3.1 or later.
  Windows: Use Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in objidl.h.

See Also

IStream - Compound File Implementation, LOCKTYPE, IStream::LockRegion