IEnumVARIANT::Clone 方法 (oaidl.h)
建立列舉目前狀態的複本。
語法
HRESULT Clone(
[out] IEnumVARIANT **ppEnum
);
參數
[out] ppEnum
複製列舉值。
傳回值
這個方法可以傳回下列其中一個值。
傳回碼 | 描述 |
---|---|
|
成功。 |
|
記憶體不足,無法完成作業。 |
備註
使用此函式,可以記錄列舉序列中的特定點,稍後再傳回至 。 傳回的列舉值與所複製的介面相同。
不保證第二次列舉時,會列舉完全相同的一組變體。 雖然需要確切的重複專案,但結果取決於所列舉的集合。 您可能會發現某些集合無法維護此條件 (,例如目錄) 中的檔案列舉。
範例
下列程式代碼會實作 IEnumVariant::Clone。 COM 基本概念行範例範例 (Enumvar.cpp) 提供 IEnumVariant 介面的完整實作。
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;
}
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | oaidl.h |