Dela via


Funktionen SpawnInstance

Skapar en ny instans av en klass.

Anteckning

Det här API:et är endast för internt bruk. Det är inte avsett att användas från utvecklarkod.

Syntax

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

Parametrar

vFunc
[in] Den här parametern används inte.

ptr
[in] En pekare till en IWbemClassObject-instans .

lFlags
[in] Reserverade. Den här parametern måste vara 0.

ppNewInstance
[ut] Tar emot pekaren till den nya instansen av klassen. Om ett fel inträffar returneras inte ett nytt objekt och ppNewInstance lämnas oförändrad.

Returvärde

Följande värden som returneras av den här funktionen definieras i wbemCli.h-huvudfilen , eller så kan du definiera dem som konstanter i koden:

Konstant Värde Beskrivning
WBEM_E_INCOMPLETE_CLASS 0x80041020 ptr är inte en giltig klassdefinition och kan inte skapa nya instanser. Antingen är den ofullständig eller så har den inte registrerats med Windows Management genom att anropa PutClassWmi.
WBEM_E_OUT_OF_MEMORY 0x80041006 Det finns inte tillräckligt med minne för att slutföra åtgärden.
WBEM_E_INVALID_PARAMETER 0x80041008 ppNewClass är null.
WBEM_S_NO_ERROR 0 Funktionsanropet lyckades.

Kommentarer

Den här funktionen omsluter ett anrop till metoden IWbemClassObject::SpawnInstance .

ptr måste vara en klassdefinition som hämtas från Windows Management. (Observera att det finns stöd för att skapa en instans från en instans men att den returnerade instansen är tom.) Sedan använder du den här klassdefinitionen för att skapa nya instanser. Ett anrop till funktionen PutInstanceWmi krävs om du tänker skriva instansen till Windows Management.

Det nya objektet som returneras i ppNewClass blir automatiskt en underklass till det aktuella objektet. Det här beteendet kan inte åsidosättas. Det finns ingen annan metod som gör att underklasser (härledda klasser) kan skapas.

Krav

Plattformar: Se Systemkrav.

Huvudet: WMINet_Utils.idl

.NET Framework versioner: Tillgänglig sedan 4.7.2

Se även