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