Méthode IEnumVARIANT ::Clone (oaidl.h)
Crée une copie de l’état actuel de l’énumération.
Syntaxe
HRESULT Clone(
[out] IEnumVARIANT **ppEnum
);
Paramètres
[out] ppEnum
Énumérateur clone.
Valeur retournée
Cette méthode peut retourner l’une de ces valeurs.
Code de retour | Description |
---|---|
|
Réussite. |
|
Mémoire insuffisante pour terminer l’opération. |
Remarques
À l’aide de cette fonction, un point particulier de la séquence d’énumération peut être enregistré, puis retourné ultérieurement. L’énumérateur retourné est de la même interface réelle que celle qui est clonée.
Il n’est pas garanti que le même ensemble de variantes sera énuméré la deuxième fois que la première. Bien qu’un doublon exact soit souhaitable, le résultat dépend de la collection énumérée. Vous constaterez peut-être qu’il n’est pas pratique pour certaines collections de conserver cette condition (par exemple, une énumération des fichiers dans un répertoire).
Exemples
Le code suivant implémente IEnumVariant ::Clone. Un exemple d’implémentation complet de l’interface IEnumVariant est disponible dans l’exemple LIGNES DE BASE COM (Enumvar.cpp).
STDMETHODIMP
CEnumVariant::Clone(IEnumVARIANT ** ppenum)
{
CEnumVariant * penum = NULL;
HRESULT hr;
if (ppenum == NULL)
return E_INVALIDARG;
*ppenum = NULL;
hr = CEnumVariant::Create(m_psa, m_cElements, &penum);
if (FAILED(hr))
goto error;
penum->AddRef();
penum->m_lCurrent = m_lCurrent;
*ppenum = penum;
return NOERROR;
error:
if (penum)
penum->Release();
return hr;
}
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | oaidl.h |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour