Méthode IWbemServices ::D eleteInstance (wbemcli.h)
La méthode IWbemServices ::D eleteInstance supprime un instance d’une classe existante dans l’espace de noms actuel.
Syntaxe
HRESULT DeleteInstance(
[in] const BSTR strObjectPath,
[in] long lFlags,
[in] IWbemContext *pCtx,
[out] IWbemCallResult **ppCallResult
);
Paramètres
[in] strObjectPath
BSTR valide contenant le chemin d’accès de l’objet au instance à supprimer.
[in] lFlags
L’une des valeurs suivantes est valide.
WBEM_FLAG_RETURN_IMMEDIATELY
Cet indicateur fait qu’il s’agit d’un appel semi-synchronisé. Pour plus d’informations, consultez Appel d’une méthode.
[in] pCtx
Généralement NULL. Sinon, il s’agit d’un pointeur vers un objet IWbemContext qui peut être utilisé par le fournisseur qui supprime le instance. Les valeurs de l’objet de contexte doivent être spécifiées dans la documentation du fournisseur en question.
[out] ppCallResult
Si la valeur est NULL, ce paramètre n’est pas utilisé. Si ppCallResult est spécifié, il doit être défini pour pointer sur NULL lors de l’entrée. Si le paramètre lFlags contient WBEM_FLAG_RETURN_IMMEDIATELY, cet appel retourne immédiatement avec WBEM_S_NO_ERROR. Le paramètre ppCallResult reçoit un pointeur vers un nouvel objet IWbemCallResult , qui peut ensuite être interrogé pour obtenir le résultat à l’aide de la méthode GetCallStatus .
Valeur retournée
Cette méthode retourne une valeur HRESULT qui indique l’état de l’appel de méthode. La liste suivante répertorie la valeur contenue dans un HRESULT.
En cas d’échec, vous pouvez obtenir toutes les informations disponibles à partir de la fonction COM GetErrorInfo.
Des codes d’erreur spécifiques à COM peuvent également être retournés si des problèmes réseau vous font perdre la connexion à distance à Windows Management.
Remarques
La méthode IWbemServices ::D eleteInstance est appelée pour supprimer un instance existant dans l’espace de noms actuel. Les instances d’autres espaces de noms ne peuvent pas être supprimées. Lorsque DeleteInstance est appelé pour supprimer un instance qui appartient à une classe d’une hiérarchie, Windows Management appelle la méthode DeleteInstanceAsync pour tous les fournisseurs responsables des classes non abstraites dans la hiérarchie. Autrement dit, si le paramètre strObjectPath identifie une instance de ClassB, et si ClassB dérive de ClassA, une classe non abstraite, et est la classe parente de ClassC et ClassD, également des classes non abstraites, les fournisseurs des quatre classes sont appelés.
Windows Management appelle chaque fournisseur avec un chemin d’objet qui est modifié pour pointer vers sa classe. Par exemple, si strObjectPath pour l’appel d’origine est défini sur « ClassB.k=1 », l’appel au fournisseur de ClassA affecterait à strObjectPath la valeur « ClassA.k=1 ».
La réussite d’un appel DeleteInstance dépend uniquement de la réussite d’un appel DeleteInstanceAsync au fournisseur de la classe non abstraite la plus haute. Une classe non abstraite a une classe abstraite comme parent. Si le fournisseur de l’une de ces classes réussit, l’opération réussit ; si toutes ces classes échouent, l’opération échoue.
Par exemple, supposons que ClassX est la classe de base de la hiérarchie suivante :
- ClassA dérive de ClassX.
- ClassB dérive de ClassA.
- ClassC et ClassD dérivent de ClassB.
Si ClassX, ClassA et ClassB sont tous abstraits et que le paramètre strObjectPath dans DeleteInstance pointe à nouveau vers une instance de ClassB, le fournisseur pour ClassC ou le fournisseur pour ClassD doit réussir.
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 | Fastprox.dll ; Esscli.dll ; FrameDyn.dll ; FrameDynOS.dll ; Ntevt.dll ; Stdprov.dll ; Viewprov.dll ; Wbemcomn.dll ; Wbemcore.dll ; Wbemess.dll ; Wbemsvc.dll ; Wmipicmp.dll ; Wmidcprv.dll ; Wmipjobj.dll ; Wmiprvsd.dll |
Voir aussi
Description d’un chemin d’accès à un objet d’instance