Compartilhar via


Método IWbemClassObject::SpawnDerivedClass (wbemcli.h)

Use o método IWbemClassObject::SpawnDerivedClass para criar um objeto de classe recém-derivado do objeto atual. O objeto atual deve ser uma definição de classe que se torne a classe pai do objeto gerado. O objeto retornado se torna uma subclasse do objeto atual.

Sintaxe

HRESULT SpawnDerivedClass(
  [in]  long             lFlags,
  [out] IWbemClassObject **ppNewClass
);

Parâmetros

[in] lFlags

Reservado. Esse parâmetro deve ser 0.

[out] ppNewClass

Não pode ser NULL. Isso recebe o ponteiro para o novo objeto de definição de classe. O chamador deve invocar IWbemClassObject::Release quando o objeto não for mais necessário, normalmente depois de ter invocado IWbemServices::P utClass para gravar a definição de classe. Em caso de erro, um novo objeto não é retornado e ppNewClass não é modificado.

Retornar valor

Esse método retorna um HRESULT que indica o status da chamada de método. A lista a seguir lista o valor contido em um HRESULT. Para obter valores gerais de HRESULT , consulte Códigos de erro do sistema.

Comentários

O novo objeto retornado em 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.

Não é possível criar uma classe derivada de uma classe local para seu próprio processo de cliente. A classe pai (classe base) deve ser criada e registrada com o Gerenciamento do Windows usando IWbemServices::P utClass e, em seguida, recuperada usando IWbemServices::GetObject antes que esse método possa ser usado para criar uma classe derivada.

Para criar uma hierarquia de classe, você deve criar a classe inicial com IWbemServices::P utClass, recuperá-la usando IWbemServices::GetObject e usar o objeto recuperado para criar a classe derivada recentemente. Em seguida, essa classe recém-derivada deve ser criada usando IWbemServices::P utClass. Para criar outras classes derivadas, você deve chamar IWbemServices::GetObject, chamar IWbemClassObject::SpawnDerivedClass e assim por diante, em um ciclo para cada novo nível de derivação. Você deve seguir este procedimento para evitar erros de versão e conflitos de simultaneidade. Para obter mais informações sobre como criar uma classe sem pai, consulte Criando uma classe.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho wbemcli.h (include Wbemidl.h)
Biblioteca WbemUuid.lib
DLL CIMWin32.dll; Esscli.dll; Fastprox.dll; FrameDyn.dll; FrameDynOS.dll; Krnlprov.dll; Ncprov.dll; Wbemcore.dll; Wbemess.dll; Wmipiprt.dll

Confira também

IWbemClassObject

IWbemServices::GetObject

IWbemServices::PutClass