SafeArrayLock 函式 (oleauto.h)
遞增數位的鎖定計數,並將數位數據的指標放在陣列描述元的 pvData 中。
語法
HRESULT SafeArrayLock(
[in] SAFEARRAY *psa
);
參數
[in] psa
SafeArrayCreate 所建立的陣列描述項。
傳回值
此函式可以傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
|
成功。 |
|
自變數 是 無效的。 |
|
陣列無法鎖定。 |
備註
數位描述元中的指標有效,直到呼叫 SafeArrayUnlock 函式為止。 SafeArrayLock 的呼叫可以是巢狀的,在此情況下,需要有相等數目的 SafeArrayUnlock 呼叫。
陣列在鎖定時無法刪除。
執行緒安全性
在 Visual Basic 中共用的所有公用靜態 () SAFEARRAY 數據類型 的成員都是安全線程。 實例成員不保證是安全線程。
例如,請考慮使用 SafeArrayLock 和 SafeArrayUnlock 函式的應用程式。 如果從相同 SAFEARRAY 數據類型 實例上的不同線程同時呼叫這些函式,可能會建立不一致的鎖定計數。 這最終會導致 SafeArrayUnlock 函式傳回E_UNEXPECTED。 您可以藉由提供自己的同步程式代碼來防止這種情況。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | oleauto.h |
程式庫 | OleAut32.lib |
Dll | OleAut32.dll |