IEnumWbemClassObject ::Clone, méthode (wbemcli.h)

La méthode IEnumWbemClassObject ::Clone effectue une copie logique de l’énumérateur entier, en conservant sa position actuelle dans une énumération. Cette méthode ne fait qu’une copie de type « meilleur effort ». En raison de la nature dynamique de nombreux objets CIM, il est possible que le nouvel énumérateur n’énumère pas le même ensemble d’objets que l’énumérateur source.

Remarque  

Lorsque l’énumération est initialisée avec l’indicateur WBEM_FLAG_FORWARD_ONLY , IEnumWbemClassObject ::Clone n’est pas pris en charge.

Les remises asynchrones en attente commencées par NextAsync ne sont pas clonées.

 

Syntaxe

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

Paramètres

[out] ppEnum

Reçoit un pointeur vers un nouvel objet IEnumWbemClassObject . L’appelant doit appeler Release lorsque le pointeur d’interface n’est plus nécessaire. En cas d’erreur, il n’y aura pas de retour d’un nouvel objet.

Valeur retournée

En cas d’erreur, vous pouvez appeler la fonction COM GetErrorInfo pour obtenir plus d’informations sur l’erreur. Des codes d’erreur spécifiques à COM peuvent également être retournés si des problèmes réseau vous font perdre la connexion à distance à Windows Management.

La liste suivante répertorie la valeur contenue dans un HRESULT.

Remarques

Étant donné que le rappel au récepteur peut ne pas être retourné au même niveau d’authentification que celui requis par le client, il est recommandé d’utiliser la communication semi-synchrone au lieu d’asynchrone. Si vous avez besoin d’une communication asynchrone, consultez Appel d’une méthode.

Pour plus d’informations sur l’utilisation semi-synchronisée des méthodes, consultez IEnumWbemClassObject et Appel d’une méthode.

Exemples

Le code suivant montre comment utiliser la méthode 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;
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête wbemcli.h (inclure Wbemidl.h)
Bibliothèque Wbemuuid.lib
DLL Fastprox.dll