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 | ppNewClass が null です。 |
WBEM_S_NO_ERROR |
0 | 関数呼び出しは成功しました。 |
解説
この関数では、IWbemClassObject::SpawnInstance メソッドの呼び出しがラップされます。
ptr
は、Windows 管理から取得されたクラス定義である必要があります。 (インスタンスからインスタンスを生成することはサポートされていますが、返されたインスタンスは空であることに注意してください。)次に、このクラス定義を使用して、新しいインスタンスを作成します。 Windows 管理にインスタンスを書き込む場合は、PutInstanceWmi 関数を呼び出す必要があります。
ppNewClass
で返された新しいオブジェクトは、自動的に現在のオブジェクトのサブクラスになります。 この動作はオーバーライドできません。 サブクラス (派生クラス) を作成する方法は他にありません。
必要条件
:「システム要件」を参照してください。
ヘッダー: WMINet_Utils.idl
.NET Framework のバージョン: 4.7.2 以降で使用可能
関連項目
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示