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.
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 |