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