Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

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

Syntax

HRESULT UnlockRegion( 
  ULARGE_INTEGER 
libOffset, 
  ULARGE_INTEGER
 cb, 
  DWORD
 dwLockType 
);

Parameters

libOffset

[in] Byte offset for the beginning of the range.

cb

[in] Length, in bytes,of the range to be restricted.

dwLockType

[in] Access restrictions previously placed on the range.

Return Value

The following table shows the return values for this method.

Value 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 cannot be granted.

STG_E_REVERTED

The object has been invalidated by a revert operation above it in the transaction tree.

Remarks

IStream::UnlockRegionunlocks a region previously locked with the IStream::LockRegionmethod. Locked regions must later be explicitly unlocked by calling IStream::UnlockRegionwith 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.

To determine whether the platform supports this interface, see Determining Supported COM APIs.

Requirements

Header objidl.h, objidl.idl
Library ole32.lib, uuid.lib
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later