Metodo IEnumWbemClassObject::Clone (wbemcli.h)
Il metodo IEnumWbemClassObject::Clone esegue una copia logica dell'intero enumeratore, mantenendo la posizione corrente in un'enumerazione. Questo metodo esegue solo una copia "best effort". A causa della natura dinamica di molti oggetti CIM, è possibile che il nuovo enumeratore non enumera lo stesso set di oggetti dell'enumeratore di origine.
Quando l'enumerazione viene inizializzata con il flag WBEM_FLAG_FORWARD_ONLY , IEnumWbemClassObject::Clone non è supportato.
Le consegne asincrone in sospeso avviate da NextAsync non vengono clonate.
Sintassi
HRESULT Clone(
[out] IEnumWbemClassObject **ppEnum
);
Parametri
[out] ppEnum
Riceve un puntatore a un nuovo oggetto IEnumWbemClassObject . Il chiamante deve chiamare Release quando il puntatore dell'interfaccia non è più necessario. In caso di errore, non verrà restituito un nuovo oggetto.
Valore restituito
In caso di errore, è possibile chiamare la funzione COM GetErrorInfo per ottenere altre informazioni sull'errore. I codici di errore specifici di COM possono essere restituiti anche se i problemi di rete causano la perdita della connessione remota a Gestione Windows.
L'elenco seguente elenca il valore contenuto in un HRESULT.
Commenti
Poiché il callback al sink potrebbe non essere restituito allo stesso livello di autenticazione richiesto dal client, è consigliabile usare la comunicazione semisynchrono anziché asincrona. Se è necessaria la comunicazione asincrona, vedere Chiamata di un metodo.
Per altre informazioni sull'uso di metodi semisynchronously, vedere IEnumWbemClassObject e Chiamata di un metodo.
Esempio
Il codice seguente illustra come usare il metodo 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;
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | wbemcli.h (include Wbemidl.h) |
Libreria | Wbemuuid.lib |
DLL | Fastprox.dll |