SafeArrayUnlock 関数 (oleauto.h)
解放またはサイズ変更できるように、配列のロック数をデクリメントします。
構文
HRESULT SafeArrayUnlock(
[in] SAFEARRAY *psa
);
パラメーター
[in] psa
SafeArrayCreate によって作成された配列記述子。
戻り値
この関数は、これらの値のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
引数 psa が無効です。 |
|
配列のロックを解除できませんでした。 |
注釈
この関数は、配列内のデータへのアクセスが完了した後に呼び出されます。
スレッド セーフ
SAFEARRAY データ型のすべてのパブリック静的メンバーはスレッド セーフです。 インスタンス メンバーがスレッド セーフであるとは限りません。
たとえば、 SafeArrayLock 関数と SafeArrayUnlock 関数を使用するアプリケーションを考えてみましょう。 これらの関数が同じ SAFEARRAY データ型 インスタンス上の異なるスレッドから同時に呼び出される場合は、一貫性のないロックカウントが作成される可能性があります。 これにより、最終的に SafeArrayUnlock 関数がE_UNEXPECTEDを返します。 これを防ぐには、独自の同期コードを指定します。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | oleauto.h |
Library | OleAut32.lib |
[DLL] | OleAut32.dll |