Método IWbemServices::D eleteInstance (wbemcli.h)

El método IWbemServices::D eleteInstance elimina una instancia de una clase existente en el espacio de nombres actual.

Sintaxis

HRESULT DeleteInstance(
  [in]  const BSTR      strObjectPath,
  [in]  long            lFlags,
  [in]  IWbemContext    *pCtx,
  [out] IWbemCallResult **ppCallResult
);

Parámetros

[in] strObjectPath

BSTR válido que contiene la ruta de acceso del objeto a la instancia que se va a eliminar.

[in] lFlags

Uno de los valores siguientes es válido.

WBEM_FLAG_RETURN_IMMEDIATELY

Esta marca hace que sea una llamada semiincrónica. Para obtener más información, vea Llamar a un método.

[in] pCtx

Normalmente NULL. De lo contrario, se trata de un puntero a un objeto IWbemContext que puede usar el proveedor que está eliminando la instancia. Los valores del objeto de contexto deben especificarse en la documentación del proveedor en cuestión.

[out] ppCallResult

Si es NULL, no se usa este parámetro. Si se especifica ppCallResult , se debe establecer para que apunte a NULL en la entrada. Si el parámetro lFlags contiene WBEM_FLAG_RETURN_IMMEDIATELY, esta llamada devuelve inmediatamente con WBEM_S_NO_ERROR. El parámetro ppCallResult recibe un puntero a un nuevo objeto IWbemCallResult , que luego se puede sondear para obtener el resultado mediante el método GetCallStatus .

Valor devuelto

Este método devuelve un HRESULT que indica el estado de la llamada al método. En la lista siguiente se muestra el valor contenido en un HRESULT.

Si se produce un error, puede obtener cualquier información disponible de la función COM GetErrorInfo.

También se pueden devolver códigos de error específicos de COM si los problemas de red hacen que pierda la conexión remota a la administración de Windows.

Comentarios

Se llama al método IWbemServices::D eleteInstance para eliminar una instancia existente en el espacio de nombres actual. No se pueden eliminar instancias de otros espacios de nombres. Cuando se llama a DeleteInstance para eliminar una instancia que pertenece a una clase de una jerarquía, Windows Management llama al método DeleteInstanceAsync para todos los proveedores responsables de las clases no abstractas de la jerarquía. Es decir, si el parámetro strObjectPath identifica una instancia de ClassB y ClassB deriva de ClassA, una clase no abstracta y es la clase primaria de ClassC y ClassD, también clases no abstractas, se llama a los proveedores para las cuatro clases.

Administración de Windows llama a cada proveedor con una ruta de acceso de objeto modificada para que apunte a su clase. Por ejemplo, si strObjectPath para la llamada original se establece en "ClassB.k=1", la llamada al proveedor de ClassA establecería strObjectPath en "ClassA.k=1".

El éxito de una llamada DeleteInstance solo depende del éxito de una llamada DeleteInstanceAsync al proveedor de la clase no abstracta superior. Una clase no abstracta tiene una clase abstracta como su elemento primario. Si el proveedor de cualquiera de estas clases se realiza correctamente, la operación se realiza correctamente; Si se produce un error en todas estas clases, se produce un error en la operación.

Por ejemplo, supongamos que ClassX es la clase base para la siguiente jerarquía:

  1. ClassA deriva de ClassX.
  2. ClassB deriva de ClassA.
  3. ClassC y ClassD derivan de ClassB.
Si ClassX es la única clase abstracta de la jerarquía y el parámetro strObjectPath de DeleteInstance apunta a una instancia de ClassB, solo el proveedor de ClassA debe realizarse correctamente en su llamada DeleteInstanceAsync .

Si ClassX, ClassA y ClassB son abstractos y el parámetro strObjectPath de DeleteInstance apunta de nuevo a una instancia de ClassB, el proveedor de ClassC o el proveedor para ClassD deben ser correctos.

Requisitos

   
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado wbemcli.h (include Wbemidl.h)
Library Wbemuuid.lib
Archivo 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

Consulte también

Descripción de una ruta de acceso de objeto de instancia

IWbemCallResult

IWbemServices

IWbemServices::D eleteInstanceAsync

Recuperar un código de error