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.
See Also
IStream
- Compound File Implementation, LOCKTYPE, IStream::LockRegion