Compartilhar via


Função SpawnInstance

Cria uma nova instância de uma classe.

Observação

Esta API é somente para uso interno. Ela não é destinada ao uso do código do desenvolvedor.

Sintaxe

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

Parâmetros

vFunc
[in] Esse parâmetro não está em uso.

ptr
[in] Um ponteiro para uma instância IWbemClassObject.

lFlags
[in] Reservado. Esse parâmetro deve ser 0.

ppNewInstance
[out] Recebe o ponteiro para a nova instância da classe. Se ocorrer um erro, um novo objeto não será retornado e ppNewInstance não será modificado.

Valor retornado

Os seguintes valores retornados por essa função são definidos no arquivo de cabeçalho WbemCli.h, ou você pode defini-los como constantes em seu código:

Constante Valor Descrição
WBEM_E_INCOMPLETE_CLASS 0x80041020 ptr não é uma definição de classe válida e não pode gerar novas instâncias. Ele está incompleto ou não foi registrado no Gerenciamento do Windows chamando PutClassWmi.
WBEM_E_OUT_OF_MEMORY 0x80041006 Não há memória disponível suficiente para concluir a operação.
WBEM_E_INVALID_PARAMETER 0x80041008 ppNewClass é null.
WBEM_S_NO_ERROR 0 A chamada de função foi bem-sucedida.

Comentários

Essa função encapsula uma chamada para o método IWbemClassObject::SpawnInstance.

ptr deve ser uma definição de classe obtida do Gerenciamento do Windows. (Observe que há suporte para gerar uma instância de uma instância, mas a instância retornada estará vazia.) Em seguida, use essa definição de classe para criar novas instâncias. Uma chamada para a função PutInstanceWmi será necessária se você pretende gravar a instância no Gerenciamento do Windows.

O novo objeto retornado na ppNewClass se torna automaticamente uma subclasse do objeto atual. Esse comportamento não pode ser substituído. Não há outro método pelo qual subclasses (classes derivadas) podem ser criadas.

Requisitos

Plataformas: confira Requisitos do sistema.

Header: WMINet_Utils.idl

Versões do .NET Framework: Disponível desde 4.7.2

Confira também