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 |