Freigeben über


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.

Hinweis  

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