共用方式為


IEnumVARIANT::Clone 方法 (oaidl.h)

建立列舉目前狀態的複本。

語法

HRESULT Clone(
  [out] IEnumVARIANT **ppEnum
);

參數

[out] ppEnum

複製列舉值。

傳回值

這個方法可以傳回下列其中一個值。

傳回碼 描述
S_OK
成功。
E_OUTOFMEMORY
記憶體不足,無法完成作業。

備註

使用此函式,可以記錄列舉序列中的特定點,稍後再傳回至 。 傳回的列舉值與所複製的介面相同。

不保證第二次列舉時,會列舉完全相同的一組變體。 雖然需要確切的重複專案,但結果取決於所列舉的集合。 您可能會發現某些集合無法維護此條件 (,例如目錄) 中的檔案列舉。

範例

下列程式代碼會實作 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

另請參閱

IEnumVARIANT