IEnumVARIANT::Clone-Methode (oaidl.h)
Erstellt eine Kopie des aktuellen Enumerationsstatus.
Syntax
HRESULT Clone(
[out] IEnumVARIANT **ppEnum
);
Parameter
[out] ppEnum
Der Klon-Enumerator.
Rückgabewert
Diese Methode kann einen dieser Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Erfolg. |
|
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen. |
Hinweise
Mit dieser Funktion kann ein bestimmter Punkt in der Enumerationssequenz aufgezeichnet und zu einem späteren Zeitpunkt zurückgegeben werden. Der zurückgegebene Enumerator hat dieselbe tatsächliche Schnittstelle wie die, die geklont wird.
Es gibt keine Garantie dafür, dass genau die gleiche Gruppe von Varianten beim zweiten Mal aufgezählt wird, wie die erste aufgezählt wurde. Obwohl ein exaktes Duplikat wünschenswert ist, hängt das Ergebnis von der Auflistung ab, die aufgelistet wird. Möglicherweise stellen Sie fest, dass es für einige Sammlungen unpraktisch ist, diese Bedingung beizubehalten (z. B. eine Enumeration der Dateien in einem Verzeichnis).
Beispiele
Der folgende Code implementiert IEnumVariant::Clone. Eine vollständige Beispielimplementierung der IEnumVariant-Schnittstelle finden Sie im Beispiel com Fundamentals Lines (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;
}
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | oaidl.h |