Fungsi SafeArrayPutElement (oleauto.h)

Menyimpan elemen data di lokasi yang ditentukan dalam array.

Sintaks

HRESULT SafeArrayPutElement(
  [in] SAFEARRAY *psa,
  [in] LONG      *rgIndices,
  [in] void      *pv
);

Parameter

[in] psa

Deskriptor array yang dibuat oleh SafeArrayCreate.

[in] rgIndices

Vektor indeks untuk setiap dimensi array. Dimensi paling kanan (paling tidak signifikan) adalah rgIndices[0]. Dimensi paling kiri disimpan di rgIndices[psa->cDims – 1].

[in] pv

Data yang akan ditetapkan ke array. Jenis varian VT_DISPATCH, VT_UNKNOWN, dan VT_BSTR adalah pointer, dan tidak memerlukan tingkat tidak langsung lainnya.

Nilai kembali

Fungsi ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
S_OK
Berhasil.
DISP_E_BADINDEX
Indeks yang ditentukan tidak valid.
E_INVALIDARG
Salah satu argumen tidak valid.
E_OUTOFMEMORY
Memori tidak dapat dialokasikan untuk elemen .

Keterangan

Fungsi ini secara otomatis memanggil SafeArrayLock dan SafeArrayUnlock sebelum dan sesudah menetapkan elemen . Jika elemen data adalah string, objek, atau varian, fungsi menyalinnya dengan benar saat array aman dihancurkan. Jika elemen yang ada adalah string, objek, atau varian, elemen tersebut dibersihkan dengan benar. Jika elemen data adalah VT_DISPATCH atau VT_UNKNOWN, AddRef dipanggil untuk menambah jumlah referensi objek.

Catatan Beberapa kunci dapat berada di array. Elemen dapat dimasukkan ke dalam array saat array dikunci oleh operasi lain.
 
Untuk contoh yang menunjukkan panggilan SafeArrayPutElement, lihat sampel Com Fundamentals Lines (CLines::Add in Lines.cpp).

Persyaratan

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