IEnumWbemClassObject::Clone 方法 (wbemcli.h)

IEnumWbemClassObject::Clone 方法创建整个枚举器的逻辑副本,并保留其在枚举中的当前位置。 此方法仅制作“最佳努力”的副本。 由于许多 CIM 对象的动态特性,新枚举器枚举的对象集可能与源枚举器不同。

注意  

使用 WBEM_FLAG_FORWARD_ONLY 标志初始化枚举时,不支持 IEnumWbemClassObject::Clone

不会克隆 由 NextAsync 启动的任何挂起的异步交付。

 

语法

HRESULT Clone(
  [out] IEnumWbemClassObject **ppEnum
);

参数

[out] ppEnum

接收指向新 IEnumWbemClassObject 对象的指针。 当不再需要接口指针时,调用方必须调用 Release 。 出现错误时,不会返回新 对象。

返回值

出现错误时,可以调用 COM 函数 GetErrorInfo 以获取更多错误信息。 如果网络问题导致你失去与 Windows 管理的远程连接,也可能会返回特定于 COM 的错误代码。

以下列表列出了 HRESULT 中包含的值。

注解

由于对接收器的回调可能不会在客户端要求的相同身份验证级别返回,因此建议使用半同步通信而不是异步通信。 如果需要异步通信,请参阅 调用方法

有关半同步使用方法的详细信息,请参阅 IEnumWbemClassObject调用方法

示例

以下代码演示如何使用 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;
}

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 wbemcli.h (包括 Wbemidl.h)
Library Wbemuuid.lib
DLL Fastprox.dll