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