Bagikan melalui


Fungsi SafeArrayLock (oleauto.h)

Menambah jumlah kunci array, dan menempatkan penunjuk ke data array di pvData deskriptor array.

Sintaks

HRESULT SafeArrayLock(
  [in] SAFEARRAY *psa
);

Parameter

[in] psa

Deskriptor array yang dibuat oleh SafeArrayCreate.

Nilai kembali

Fungsi ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
S_OK
Berhasil.
E_INVALIDARG
Argumen psa tidak valid.
E_UNEXPECTED
Array tidak dapat dikunci.

Keterangan

Penunjuk dalam deskriptor array valid hingga fungsi SafeArrayUnlock dipanggil. Panggilan ke SafeArrayLock dapat disarangkan, dalam hal ini diperlukan jumlah panggilan yang sama ke SafeArrayUnlock .

Array tidak dapat dihapus saat dikunci.

Keamanan Thread

Semua anggota statis publik (Dibagikan dalam Visual Basic) dari jenis data SAFEARRAY aman. Anggota instans tidak dijamin aman untuk utas.

Misalnya, pertimbangkan aplikasi yang menggunakan fungsi SafeArrayLock dan SafeArrayUnlock . Jika fungsi-fungsi ini dipanggil secara bersamaan dari utas yang berbeda pada instans jenis data SAFEARRAY yang sama, jumlah kunci yang tidak konsisten dapat dibuat. Ini pada akhirnya akan menyebabkan fungsi SafeArrayUnlock mengembalikan E_UNEXPECTED. Anda dapat mencegahnya dengan menyediakan kode sinkronisasi Anda sendiri.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header oleauto.h
Pustaka OleAut32.lib
DLL OleAut32.dll