Compartir a través de


Método IEnumWbemClassObject::Clone (wbemcli.h)

El método IEnumWbemClassObject::Clone realiza una copia lógica de todo el enumerador, conservando su posición actual en una enumeración. No es posible garantizar los resultados de las copias que se crean mediante este método. Debido a la naturaleza dinámica de muchos objetos CIM, es posible que el nuevo enumerador no enumere el mismo conjunto de objetos que el enumerador de origen.

Nota  

Cuando la enumeración se inicializa con la marca WBEM_FLAG_FORWARD_ONLY , no se admite IEnumWbemClassObject::Clone .

Las entregas asincrónicas pendientes iniciadas por NextAsync no se clonan.

 

Sintaxis

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

Parámetros

[out] ppEnum

Recibe un puntero a un nuevo objeto IEnumWbemClassObject . El autor de la llamada debe llamar a Release cuando el puntero de interfaz ya no es necesario. Si se produce un error, no se devolverá un nuevo objeto.

Valor devuelto

En caso de error, puede llamar a la función COM GetErrorInfo para obtener más información de error. También se pueden devolver códigos de error específicos de COM si los problemas de red hacen que pierda la conexión remota a administración de Windows.

En la lista siguiente se muestra el valor contenido en un HRESULT.

Comentarios

Dado que es posible que la devolución de llamada al receptor no se devuelva en el mismo nivel de autenticación que requiere el cliente, se recomienda usar la comunicación semiincrónica en lugar de asincrónica. Si necesita comunicación asincrónica, consulte Llamar a un método.

Para obtener más información sobre el uso de métodos de forma semiincrónica, vea IEnumWbemClassObject y Llamada a un método.

Ejemplos

En el código siguiente se muestra cómo usar el método 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;
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado wbemcli.h (include Wbemidl.h)
Library Wbemuuid.lib
Archivo DLL Fastprox.dll