IWbemClassObject::SpawnDerivedClass メソッド (wbemcli.h)

現在のオブジェクトから新しく派生したクラス オブジェクトを作成するには、 IWbemClassObject::SpawnDerivedClass メソッドを使用します。 現在のオブジェクトは、生成されたオブジェクトの親クラスとなるクラス定義である必要があります。 返されたオブジェクトは、現在のオブジェクトのサブクラスになります。

構文

HRESULT SpawnDerivedClass(
  [in]  long             lFlags,
  [out] IWbemClassObject **ppNewClass
);

パラメーター

[in] lFlags

予約済み。 このパラメーターは、0 にする必要があります。

[out] ppNewClass

NULL にすることはできません。 これは、新しいクラス定義オブジェクトへのポインターを受け取ります。 呼び出し元は、オブジェクトが不要になったときに IWbemClassObject::Release を呼び出す必要があります。通常は、クラス定義を記述するために IWbemServices::P utClass を呼び出した後です。 エラーが発生した場合、新しいオブジェクトは返されず、 ppNewClass は変更されません。

戻り値

このメソッドは、メソッド呼び出しの状態を示す HRESULT を返します。 次の一覧は、 HRESULT に含まれる値の一覧です。 一般的な HRESULT 値については、「 システム エラー コード」を参照してください。

注釈

ppNewClass で返される新しいオブジェクトは、自動的に現在のオブジェクトのサブクラスになります。 この動作はオーバーライドできません。 サブクラス (派生クラス) を作成する方法は他にありません。

自分のクライアント プロセスに対してローカルなクラスから派生クラスを作成することはできません。 親クラス (基底クラス) を作成し、 IWbemServices::P utClass を使用して Windows Management に登録し、 IWbemServices::GetObject を使用して取得してから、このメソッドを使用して派生クラスを作成する必要があります。

クラス階層を作成するには、 IWbemServices::P utClass を使用して初期クラスを作成し、 IWbemServices::GetObject を使用して取得し、取得したオブジェクトを使用して新しい派生クラスを作成する必要があります。 その後、この新しく派生したクラスは 、IWbemServices::P utClass を使用して作成する必要があります。 他の派生クラスを作成するには、 IWbemServices::GetObject を呼び出してから、新しい派生レベルごとにサイクルで IWbemClassObject::SpawnDerivedClass などを呼び出す必要があります。 バージョン エラーとコンカレンシーの競合を防ぐには、この手順に従う必要があります。 親のないクラスの作成の詳細については、「クラスの 作成」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー wbemcli.h (Wbemidl.h を含む)
Library WbemUuid.lib
[DLL] CIMWin32.dll;Esscli.dll;Fastprox.dll。FrameDyn.dll;FrameDynOS.dll;Krnlprov.dll;Ncprov.dll;Wbemcore.dll;Wbemess.dll;Wmipiprt.dll

こちらもご覧ください

IWbemClassObject

IWbemServices::GetObject

IWbemServices::PutClass