Fungsi VariantCopy (oleauto.h)
Membebaskan varian tujuan dan membuat salinan varian sumber.
Sintaks
HRESULT VariantCopy(
[out] VARIANTARG *pvargDest,
[in] const VARIANTARG *pvargSrc
);
Parameter
[out] pvargDest
Varian tujuan.
[in] pvargSrc
Varian sumber.
Menampilkan nilai
Fungsi ini dapat mengembalikan salah satu nilai ini.
Menampilkan kode | Deskripsi |
---|---|
|
Berhasil. |
|
Varian berisi array yang dikunci. |
|
Jenis varian bukan tipe varian yang valid. |
|
Salah satu argumen tidak valid. |
|
Tidak cukup memori untuk menyelesaikan operasi. |
Keterangan
Pertama, bebaskan memori apa pun yang dimiliki oleh pvargDest, seperti VariantClear (pvargDest harus menunjuk ke varian yang diinisialisasi yang valid, dan tidak hanya ke lokasi memori yang tidak diinisialisasi). Kemudian pvargDest menerima salinan yang tepat dari isi pvargSrc.
Jika pvargSrc adalah VT_BSTR, salinan string dibuat. Jika pvargSrc adalah VT_ARRAY, seluruh array akan disalin. Jika pvargSrc adalah VT_DISPATCH atau VT_UNKNOWN, AddRef dipanggil untuk menambah jumlah referensi objek.
Jika varian yang akan disalin adalah objek COM yang diteruskan oleh referensi, vtfield pvargSrcparameter VT_DISPATCH | VT_BYREF atau VT_UNKNOWN | VT_BYREF. Dalam hal ini, VariantCopy tidak menaikkan jumlah referensi pada objek yang direferensikan. Karena varian yang sedang disalin adalah penunjuk ke referensi ke objek, VariantCopy tidak memiliki cara untuk menentukan apakah perlu untuk menaikkan jumlah referensi objek. Oleh karena itu, pemanggil bertanggung jawab untuk memanggil IUnknown::AddRef pada objek atau tidak, yang sesuai.
Persyaratan
Target Platform | Windows |
Header | oleauto.h |
Pustaka | OleAut32.lib |
DLL | OleAut32.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk