Поделиться через


Функция SafeArrayUnlock (oleauto.h)

Уменьшает число блокировок массива, чтобы его можно было освободить или изменить.

Синтаксис

HRESULT SafeArrayUnlock(
  [in] SAFEARRAY *psa
);

Параметры

[in] psa

Дескриптор массива, созданный safeArrayCreate.

Возвращаемое значение

Эта функция может возвращать одно из этих значений.

Код возврата Описание
S_OK
Успешно.
E_INVALIDARG
Аргумент psa недопустим.
E_UNEXPECTED
Не удалось разблокировать массив.

Комментарии

Эта функция вызывается после завершения доступа к данным в массиве.

Потокобезопасность

Все общедоступные статические члены типа данных SAFEARRAY являются потокобезопасны. Члены экземпляра не гарантируют потокобезопасность.

Например, рассмотрим приложение, использующее функции SafeArrayLock и SafeArrayUnlock. Если эти функции вызываются одновременно из разных потоков в одном экземпляре типа данных SAFEARRAY , может быть создано несогласованное число блокировок. В конечном итоге функция SafeArrayUnlock вернет E_UNEXPECTED. Это можно предотвратить, предоставив собственный код синхронизации.

Требования

Требование Значение
Целевая платформа Windows
Header oleauto.h
Библиотека OleAut32.lib
DLL OleAut32.dll