IEnumVARIANT::Clone 메서드(oaidl.h)
열거형의 현재 상태 복사본을 만듭니다.
구문
HRESULT Clone(
[out] IEnumVARIANT **ppEnum
);
매개 변수
[out] ppEnum
클론 열거자입니다.
반환 값
이 메서드는 이러한 값 중 하나를 반환할 수 있습니다.
반환 코드 | Description |
---|---|
|
성공. |
|
메모리가 부족하여 작업을 완료할 수 없습니다. |
설명
이 함수를 사용하면 열거형 시퀀스의 특정 지점을 기록한 다음 나중에 로 반환할 수 있습니다. 반환된 열거자는 복제 중인 인터페이스와 동일한 실제 인터페이스입니다.
정확히 동일한 변형 집합이 첫 번째로 열거된 것처럼 두 번째로 열거된다는 보장은 없습니다. 정확한 중복이 바람직하지만 결과는 열거되는 컬렉션에 따라 달라집니다. 일부 컬렉션에서 이 조건을 유지하는 것은 비실용적일 수 있습니다(예: 디렉터리에 있는 파일 열거).
예제
다음 코드는 IEnumVariant::Clone을 구현합니다. IEnumVariant 인터페이스의 전체 구현 예제는 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;
}
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | oaidl.h |