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 siguientes valores es válido.

WBEM_FLAG_RETURN_IMMEDIATELY

Esta marca hace que sea una llamada semiincrónica. Para más información, vea Llamada 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, este parámetro no se usa. Si se especifica ppCallResult , debe establecerse 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 valor 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 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, Administración de Windows llama al método DeleteInstanceAsync para todos los proveedores responsables de 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 se llaman a los proveedores de las cuatro clases.

Administración de Windows llama a cada proveedor con una ruta de acceso de objeto que se modifica 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 a 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 se 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 a 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 de ClassD deben realizarse correctamente.

Requisitos

Requisito Value
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

Recuperación de un código de error