Поделиться через


Метод IEnumWbemClassObject::Clone (wbemcli.h)

Метод IEnumWbemClassObject::Clone создает логическую копию всего перечислителя, сохраняя его текущую позицию в перечислении. Этот метод создает только "наилучшее" копирование. Из-за динамической природы многих объектов CIM возможно, что новый перечислитель не перечисляет тот же набор объектов, что и перечислитель источника.

Примечание  

При инициализации перечисления с флагом WBEM_FLAG_FORWARD_ONLYIEnumWbemClassObject::Clone не поддерживается.

Все ожидающие асинхронные поставки, начатые NextAsync , не клонируются.

 

Синтаксис

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

Параметры

[out] ppEnum

Получает указатель на новый объект IEnumWbemClassObject . Вызывающий объект должен вызывать Release , если указатель интерфейса больше не требуется. При ошибке возврат нового объекта не будет.

Возвращаемое значение

При возникновении ошибки можно вызвать функцию COM GetErrorInfo , чтобы получить дополнительные сведения об ошибке. Коды ошибок COM также могут быть возвращены, если проблемы с сетью приводят к потере удаленного подключения к управлению Windows.

В следующем списке перечислены значения, содержащиеся в 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
Header wbemcli.h (включая Wbemidl.h)
Библиотека Wbemuuid.lib
DLL Fastprox.dll