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 :

  1. ClassA dérive de ClassX.
  2. ClassB dérive de ClassA.
  3. ClassC et ClassD dérivent de ClassB.
Si ClassX est la seule classe abstraite de la hiérarchie et que le paramètre strObjectPath dans DeleteInstance pointe vers un instance de ClassB, seul le fournisseur de ClassA doit réussir son appel DeleteInstanceAsync.

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

IWbemCallResult

IWbemServices

IWbemServices ::D eleteInstanceAsync

Récupération d’un code d’erreur