Función SpawnDerivedClass
Crea un objeto de clase recién derivado a partir de un objeto específico.
Nota
Esta API es solo para uso interno. No está pensada para usarla desde código del desarrollador.
Sintaxis
HRESULT SpawnDerivedClass (
[in] int vFunc,
[in] IWbemClassObject* ptr,
[in] LONG lFlags,
[out] IWbemClassObject** ppNewClass);
Parámetros
vFunc
[in] Este parámetro no se usa.
ptr
[in] Puntero a una instancia de IWbemClassObject.
lFlags
[in] Reservado. Este parámetro debe ser 0.
ppNewClass
[out] Recibe el puntero al nuevo objeto de definición de clase. Si se produce un error, no se devuelve un nuevo objeto y ppNewClass
se deja sin modificar. Su valor no puede ser null
.
Valor devuelto
Los siguientes valores que devuelve esta función se definen en el archivo de encabezado WbemCli.h, aunque también puede definirlos como constantes en el código. Puede consultarlos a continuación:
Constante | Value | Descripción |
---|---|---|
WBEM_E_FAILED |
0x80041001 | Se ha producido un error general. |
WBEM_E_INVALID_OPERATION |
0x80041016 | Se ha solicitado una operación no válida, como la generación de una clase desde una instancia. |
WBEM_E_INCOMPLETE_CLASS |
La clase de origen no se definió ni registró completamente con Windows Management, por lo que no se permite una nueva clase derivada. | |
WBEM_E_OUT_OF_MEMORY |
0x80041006 | Memoria insuficiente para completar la operación. |
WBEM_E_INVALID_PARAMETER |
0x80041008 | ppNewClass es null . |
WBEM_S_NO_ERROR |
0 | Si se devuelve este valor, significará que la llamada a la función se realizó correctamente. |
Comentarios
Esta función ajusta una llamada al método IWbemClassObject::SpawnDerivedClass.
ptr
debe ser una definición de clase que se convierta en la clase primaria del objeto generado. El objeto devuelto se convierte en una subclase del objeto actual.
El nuevo objeto devuelto en ppNewClass
se convierte automáticamente en una subclase del objeto actual. Este comportamiento no se puede invalidar. No hay ningún otro método con el que se puedan crear subclases (clases derivadas).
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: WMINet_Utils.idl
Versiones de .NET Framework: está disponible desde la versión 4.7.2