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

O método IWbemServices::D eleteInstance exclui uma instância de uma classe existente no namespace atual.

Sintaxe

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

Parâmetros

[in] strObjectPath

BSTR válido que contém o caminho do objeto para a instância a ser excluída.

[in] lFlags

Um dos valores a seguir é válido.

WBEM_FLAG_RETURN_IMMEDIATELY

Esse sinalizador faz com que essa seja uma chamada semissíncrona. Para obter mais informações, confira Como chamar um método.

[in] pCtx

Normalmente NULL. Caso contrário, esse é um ponteiro para um objeto IWbemContext que pode ser usado pelo provedor que está excluindo a instância. Os valores no objeto de contexto devem ser especificados na documentação do provedor em questão.

[out] ppCallResult

Se FOR NULL, esse parâmetro não será usado. Se ppCallResult for especificado, ele deverá ser definido para apontar para NULL na entrada. Se o parâmetro lFlags contiver WBEM_FLAG_RETURN_IMMEDIATELY, essa chamada retornará imediatamente com WBEM_S_NO_ERROR. O parâmetro ppCallResult recebe um ponteiro para um novo objeto IWbemCallResult , que pode ser sondado para obter o resultado usando o método GetCallStatus .

Retornar valor

Esse método retorna um HRESULT que indica o status da chamada de método. A lista a seguir lista o valor contido em um HRESULT.

Em caso de falha, você pode obter todas as informações disponíveis da função COM GetErrorInfo.

Códigos de erro específicos de COM também poderão ser retornados se problemas de rede fizerem com que você perca a conexão remota com o Gerenciamento do Windows.

Comentários

O método IWbemServices::D eleteInstance é chamado para excluir uma instância existente no namespace atual. Instâncias em outros namespaces não podem ser excluídas. Quando DeleteInstance é chamado para excluir uma instância que pertence a uma classe em uma hierarquia, o Gerenciamento do Windows chama o método DeleteInstanceAsync para todos os provedores responsáveis por classes não abstratas na hierarquia. Ou seja, se o parâmetro strObjectPath identificar uma instância de ClassB e ClassB derivar de ClassA, uma classe não abstrata e for a classe pai de ClassC e ClassD, também classes não abstratas, os provedores para todas as quatro classes serão chamados.

O Gerenciamento do Windows chama cada provedor com um caminho de objeto que é modificado para apontar para sua classe. Por exemplo, se strObjectPath para a chamada original for definido como "ClassB.k=1", a chamada para o provedor de ClassA definirá strObjectPath como "ClassA.k=1".

O sucesso de uma chamada DeleteInstance depende apenas do sucesso de uma chamada DeleteInstanceAsync para o provedor da classe não abstrata mais alta. Uma classe não abstrata tem uma classe abstrata como pai. Se o provedor de qualquer uma dessas classes for bem-sucedido, a operação terá êxito; se todas essas classes falharem, a operação falhará.

Por exemplo, suponha que ClassX seja a classe base para a seguinte hierarquia:

  1. ClassA deriva de ClassX.
  2. ClassB deriva de ClassA.
  3. ClassC e ClassD derivam de ClassB.
Se ClassX for a única classe abstrata na hierarquia e o parâmetro strObjectPath em DeleteInstance apontar para uma instância do ClassB, somente o provedor de ClassA precisará ter êxito em sua chamada DeleteInstanceAsync .

Se ClassX, ClassA e ClassB forem abstratos e o parâmetro strObjectPath em DeleteInstance apontar novamente para uma instância do ClassB, o provedor para ClassC ou o provedor para ClassD deverá ter êxito.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho wbemcli.h (include Wbemidl.h)
Biblioteca 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

Confira também

Descrever um caminho de objeto de instância

IWbemCallResult

IWbemServices

IWbemServices::D eleteInstanceAsync

Como recuperar um código de erro