IEnumWbemClassObject::Clone-Methode (wbemcli.h)
Die IEnumWbemClassObject::Clone-Methode erstellt eine logische Kopie des gesamten Enumerators und behält dessen aktuelle Position in einer Enumeration bei. Diese Methode erstellt nur eine „Best Effort“-Kopie. Aufgrund der dynamischen Natur vieler CIM-Objekte ist es möglich, dass der neue Enumerator nicht denselben Satz von Objekten aufzählt wie der Quellenumerator.
Wenn die Enumeration mit dem flag WBEM_FLAG_FORWARD_ONLY initialisiert wird, wird IEnumWbemClassObject::Clone nicht unterstützt.
Alle ausstehenden asynchronen Lieferungen, die von NextAsync gestartet werden, werden nicht geklont.
Syntax
HRESULT Clone(
[out] IEnumWbemClassObject **ppEnum
);
Parameter
[out] ppEnum
Empfängt einen Zeiger auf ein neues IEnumWbemClassObject-Objekt . Der Aufrufer muss Release aufrufen, wenn der Schnittstellenzeiger nicht mehr benötigt wird. Bei Einem Fehler wird kein neues Objekt zurückgegeben.
Rückgabewert
Bei Fehler können Sie die COM-Funktion GetErrorInfo aufrufen, um weitere Fehlerinformationen abzurufen. COM-spezifische Fehlercodes können auch zurückgegeben werden, wenn Netzwerkprobleme dazu führen, dass die Remoteverbindung mit der Windows-Verwaltung verloren geht.
Die folgende Liste listet den Wert auf, der in einem HRESULT enthalten ist.
Hinweise
Da der Rückruf an die Senke möglicherweise nicht auf der gleichen Authentifizierungsebene zurückgegeben wird, wie es für den Client erforderlich ist, wird empfohlen, die semisynchrone Kommunikation anstelle der asynchronen Kommunikation zu verwenden. Wenn Sie eine asynchrone Kommunikation benötigen, finden Sie weitere Informationen unter Aufrufen einer Methode.
Weitere Informationen zur semisynchronen Verwendung von Methoden finden Sie unter IEnumWbemClassObject und Aufrufen einer Methode.
Beispiele
Der folgende Code zeigt die Verwendung der IEnumWbemClassObject::Clone-Methode .
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;
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | wbemcli.h (include Wbemidl.h) |
Bibliothek | Wbemuuid.lib |
DLL | Fastprox.dll |