IWbemClassObject ::SpawnDerivedClass, méthode (wbemcli.h)

Utilisez la méthode IWbemClassObject ::SpawnDerivedClass pour créer un objet de classe nouvellement dérivé de l’objet actif. L’objet actuel doit être une définition de classe qui devient la classe parente de l’objet généré. L’objet retourné devient une sous-classe de l’objet actuel.

Syntaxe

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

Paramètres

[in] lFlags

Réservé. Ce paramètre doit être 0.

[out] ppNewClass

Impossible d’avoir la valeur NULL. Cela reçoit le pointeur vers le nouvel objet de définition de classe. L’appelant doit appeler IWbemClassObject ::Release lorsque l’objet n’est plus requis, généralement après avoir appelé IWbemServices ::P utClass pour écrire la définition de classe. En cas d’erreur, un nouvel objet n’est pas retourné et ppNewClass n’est pas modifié.

Valeur retournée

Cette méthode retourne une valeur HRESULT qui indique le statut de l'appel de méthode. La liste suivante répertorie la valeur contenue dans un HRESULT. Pour connaître les valeurs HRESULT générales, consultez Codes d’erreur système.

Remarques

Le nouvel objet retourné dans ppNewClass devient automatiquement une sous-classe de l’objet actif. Ce comportement ne peut pas être substitué. Il n’existe aucune autre méthode par laquelle les sous-classes (classes dérivées) peuvent être créées.

Vous ne pouvez pas créer une classe dérivée à partir d’une classe locale de votre propre processus client. La classe parente (classe de base) doit être créée et inscrite auprès de Windows Management à l’aide de IWbemServices ::P utClass, puis récupérée à l’aide de IWbemServices ::GetObject avant que cette méthode puisse être utilisée pour créer une classe dérivée.

Pour créer une hiérarchie de classes, vous devez créer la classe initiale avec IWbemServices ::P utClass, la récupérer à l’aide d’IWbemServices ::GetObject et utiliser l’objet récupéré pour créer la classe nouvellement dérivée. Ensuite, cette classe nouvellement dérivée doit être créée à l’aide de IWbemServices ::P utClass. Pour créer d’autres classes dérivées, vous devez appeler IWbemServices ::GetObject, puis appeler IWbemClassObject ::SpawnDerivedClass, et ainsi de suite, dans un cycle pour chaque nouveau niveau de dérivation. Vous devez suivre cette procédure pour éviter les erreurs de version et les conflits d’accès concurrentiel. Pour plus d’informations sur la création d’une classe sans parent, consultez Création d’une classe.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête wbemcli.h (inclure Wbemidl.h)
Bibliothèque WbemUuid.lib
DLL CIMWin32.dll ; Esscli.dll ; Fastprox.dll ; FrameDyn.dll ; FrameDynOS.dll ; Krnlprov.dll ; Ncprov.dll ; Wbemcore.dll ; Wbemess.dll ; Wmipiprt.dll

Voir aussi

IWbemClassObject

IWbemServices::GetObject

IWbemServices::PutClass