SpawnInstance 関数

クラスの新しいインスタンスが作成されます。

Note

この API は、内部でだけ使用します。 開発者コードで使用するためのものではありません。

構文

HRESULT SpawnInstance (
   [in] int                  vFunc,
   [in] IWbemClassObject*    ptr,
   [in] LONG                 lFlags,
   [out] IWbemClassObject**  ppNewInstance);

パラメーター

vFunc
[in] このパラメーターは使用されません。

ptr
[in] IWbemClassObject インスタンスへのポインター。

lFlags
[in] 予約されています。 このパラメーターは、0 にする必要があります。

ppNewInstance
[out] クラスの新しいインスタンスへのポインターを受け取ります。 エラーが発生した場合、新しいオブジェクトは返されず、ppNewInstance は未変更のままになります。

戻り値

この関数によって返される次の値は、WbemCli.h ヘッダー ファイル内で定義されています。または、コード内で定数として定義することもできます。

定数 説明
WBEM_E_INCOMPLETE_CLASS 0x80041020 ptr は有効なクラス定義ではなく、新しいインスタンスを生成できません。 これは不完全であるか、PutClassWmi を呼び出すことで Windows 管理に登録されたものではありません。
WBEM_E_OUT_OF_MEMORY 0x80041006 メモリ不足のため、操作を完了できません。
WBEM_E_INVALID_PARAMETER 0x80041008 ppNewClassnullです。
WBEM_S_NO_ERROR 0 関数呼び出しは成功しました。

解説

この関数では、IWbemClassObject::SpawnInstance メソッドの呼び出しがラップされます。

ptr は、Windows 管理から取得されたクラス定義である必要があります。 (インスタンスからインスタンスを生成することはサポートされていますが、返されたインスタンスは空であることに注意してください。)次に、このクラス定義を使用して、新しいインスタンスを作成します。 Windows 管理にインスタンスを書き込む場合は、PutInstanceWmi 関数を呼び出す必要があります。

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

必要条件

:システム要件」を参照してください。

ヘッダー: WMINet_Utils.idl

.NET Framework のバージョン: 4.7.2 以降で使用可能

関連項目