Compartilhar via


Função SpawnDerivedClass

Cria um objeto de classe derivada recentemente por meio de um objeto especificado.

Observação

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

Sintaxe

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

Parâmetros

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

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

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

ppNewClass
[out] Recebe o ponteiro para o novo objeto de definição de classe. Se ocorrer um erro, um novo objeto não será retornado e ppNewClass não será modificado. O valor dele não pode ser null.

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_FAILED 0x80041001 Houve uma falha geral.
WBEM_E_INVALID_OPERATION 0x80041016 Uma operação inválida, como a geração de uma classe a partir de uma instância, foi solicitada.
WBEM_E_INCOMPLETE_CLASS A classe de origem não foi completamente definida ou registrada no Gerenciamento do Windows, portanto, uma nova classe derivada não é permitida.
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::SpawnDerivedClass.

ptr deve ser uma definição de classe que se torna a classe pai do objeto gerado. O objeto retornado se torna uma subclasse do objeto atual.

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