IEnumVARIANT::Metode kloning (oaidl.h)
Membuat salinan status enumerasi saat ini.
Sintaks
HRESULT Clone(
[out] IEnumVARIANT **ppEnum
);
Parameter
[out] ppEnum
Enumerator kloning.
Nilai kembali
Metode ini dapat mengembalikan salah satu nilai ini.
Menampilkan kode | Deskripsi |
---|---|
|
Berhasil. |
|
Tidak cukup memori untuk menyelesaikan operasi. |
Keterangan
Dengan menggunakan fungsi ini, titik tertentu dalam urutan enumerasi dapat direkam, lalu dikembalikan ke di lain waktu. Enumerator yang dikembalikan adalah antarmuka aktual yang sama dengan yang sedang dikloning.
Tidak ada jaminan bahwa set varian yang sama persis akan dijumlahkan untuk kedua kalinya seperti yang dijumlahkan yang pertama. Meskipun duplikat yang tepat diinginkan, hasilnya tergantung pada koleksi yang dijumlahkan. Anda mungkin menemukan bahwa tidak praktis bagi beberapa koleksi untuk mempertahankan kondisi ini (misalnya, enumerasi file dalam direktori).
Contoh
Kode berikut mengimplementasikan IEnumVariant::Clone. Contoh lengkap implementasi antarmuka IEnumVariant tersedia dalam sampel Com Fundamentals Lines (Enumvar.cpp).
STDMETHODIMP
CEnumVariant::Clone(IEnumVARIANT ** ppenum)
{
CEnumVariant * penum = NULL;
HRESULT hr;
if (ppenum == NULL)
return E_INVALIDARG;
*ppenum = NULL;
hr = CEnumVariant::Create(m_psa, m_cElements, &penum);
if (FAILED(hr))
goto error;
penum->AddRef();
penum->m_lCurrent = m_lCurrent;
*ppenum = penum;
return NOERROR;
error:
if (penum)
penum->Release();
return hr;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | oaidl.h |