Compartilhar via


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

O método IEnumWbemClassObject::Clone faz uma cópia lógica de todo o enumerador, mantendo sua posição atual em uma enumeração. Esse método faz apenas uma cópia de "melhor esforço". Devido à natureza dinâmica de muitos objetos CIM, é possível que o novo enumerador não enumere o mesmo conjunto de objetos que o enumerador de origem.

Observação  

Quando a enumeração é inicializada com o sinalizador WBEM_FLAG_FORWARD_ONLY , não há suporte para IEnumWbemClassObject::Clone .

As entregas assíncronas pendentes iniciadas pelo NextAsync não são clonadas.

 

Sintaxe

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

Parâmetros

[out] ppEnum

Recebe um ponteiro para um novo objeto IEnumWbemClassObject . O chamador deve chamar Release quando o ponteiro da interface não for mais necessário. Em caso de erro, não haverá um retorno de um novo objeto.

Retornar valor

Em caso de erro, você pode chamar a função COM GetErrorInfo para obter mais informações de erro. Códigos de erro específicos do COM também poderão ser retornados se problemas de rede fizerem com que você perca a conexão remota com o Gerenciamento do Windows.

A lista a seguir lista o valor contido em um HRESULT.

Comentários

Como o retorno de chamada para o coletor pode não ser retornado no mesmo nível de autenticação exigido pelo cliente, é recomendável que você use a comunicação semissíncrona em vez de assíncrona. Se você precisar de comunicação assíncrona, consulte Chamando um método.

Para obter mais informações sobre como usar métodos de forma semissíncrona, consulte IEnumWbemClassObject e Chamando um método.

Exemplos

O código a seguir mostra como usar o 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 Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho wbemcli.h (include Wbemidl.h)
Biblioteca Wbemuuid.lib
DLL Fastprox.dll