다음을 통해 공유


IEnumWbemClassObject::Clone 메서드(wbemcli.h)

IEnumWbemClassObject::Clone 메서드는 전체 열거자의 논리적 복사본을 만들어 현재 위치를 열거형에 유지합니다. 이 메서드는 “최상” 복사본만 만듭니다. 많은 CIM 개체의 동적 특성으로 인해 새 열거자가 소스 열거자와 동일한 개체 세트를 열거하지 않을 수 있습니다.

참고  

WBEM_FLAG_FORWARD_ONLY 플래그를 사용하여 열거형을 초기화하면 IEnumWbemClassObject::Clone이 지원되지 않습니다.

NextAsync에서 시작된 보류 중인 비동기 배달은 복제되지 않습니다.

 

구문

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

매개 변수

[out] ppEnum

IEnumWbemClassObject 개체에 대한 포인터를 받습니다. 인터페이스 포인터가 더 이상 필요하지 않은 경우 호출자는 Release 를 호출해야 합니다. 오류가 발생하면 새 개체의 반환이 없습니다.

반환 값

오류가 발생하면 COM 함수 GetErrorInfo 를 호출하여 더 많은 오류 정보를 얻을 수 있습니다. 네트워크 문제로 인해 Windows Management에 대한 원격 연결이 끊어지는 경우에도 COM 관련 오류 코드가 반환될 수 있습니다.

다음 목록에는 HRESULT에 포함된 값이 나열되어 있습니다.

설명

싱크에 대한 콜백은 클라이언트가 요구하는 것과 동일한 인증 수준에서 반환되지 않을 수 있으므로 비동기 통신 대신 반동기 통신을 사용하는 것이 좋습니다. 비동기 통신이 필요한 경우 메서드 호출을 참조하세요.

메서드를 반동적으로 사용하는 방법에 대한 자세한 내용은 IEnumWbemClassObject메서드 호출을 참조하세요.

예제

다음 코드에서는 IEnumWbemClassObject::Clone 메서드를 사용하는 방법을 보여줍니다.

BOOL CloneEnum(IEnumWbemClassObject *pSrc)
{
    IEnumWbemClassObject *pCopy = 0;

    HRESULT hRes = pSrc->Clone(&pCopy);

    if (hRes != WBEM_S_NO_ERROR)       // Failed to clone it.
        return FALSE;

    // Use the copy of the enumerator.
    // ...

    pCopy->Release();

    return TRUE;
}

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 wbemcli.h(Wbemidl.h 포함)
라이브러리 Wbemuuid.lib
DLL Fastprox.dll