SafeArrayUnlock Function

Decrements the lock count of an array so it can be freed or resized.

HRESULT SafeArrayUnlock(  
  SAFEARRAY *psa  
);
psa

Pointer to an array descriptor created by SafeArrayCreate.

The return value obtained from the returned HRESULT is one of the following.

Value

Meaning

S_OK

Success.

E_INVALIDARG

The psa parameter is not a valid safe array descriptor.

E_UNEXPECTED

The array could not be unlocked.

This function is called after access to the data in an array is finished.

All public static members of the SAFEARRAY data type are thread safe. Instance members are not guaranteed to be thread safe.

For example, consider an application that uses the SafeArrayLock Function and SafeArrayUnlock functions. If these functions are called concurrently from different threads on the same SAFEARRAY data type instance, an inconsistent lock count may be created. This will eventually cause the SafeArrayUnlock function to return E_UNEXPECTED. You can prevent this by providing your own synchronization code.

Show:
© 2014 Microsoft. All rights reserved.