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 Management へのリモート接続が失われると、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