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

O método IWbemServices::D eleteInstanceAsync exclui de forma assíncrona uma instância de uma classe existente no namespace atual. A confirmação ou falha da operação é relatada por meio da interface IWbemObjectSink implementada pelo chamador.

Sintaxe

HRESULT DeleteInstanceAsync(
  [in] const BSTR      strObjectPath,
  [in] long            lFlags,
  [in] IWbemContext    *pCtx,
  [in] IWbemObjectSink *pResponseHandler
);

Parâmetros

[in] strObjectPath

BSTR válido que contém o caminho do objeto a ser excluído.

[in] lFlags

WBEM_FLAG_SEND_STATUS registra no Gerenciamento do Windows uma solicitação para receber relatórios intermediários status por meio da implementação do cliente de IWbemObjectSink::SetStatus. A implementação do provedor deve dar suporte a relatórios de status intermediários para que esse sinalizador altere o comportamento. Observe que o sinalizador WBEM_FLAG_USE_AMENDED_QUALIFIERS não pode ser usado aqui.

[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.

[in] pResponseHandler

Ponteiro para a implementação do chamador de IWbemObjectSink. Esse manipulador recebe a status da operação de exclusão conforme ela fica disponível por meio do método SetStatus. Se algum código de erro for retornado, o ponteiro IWbemObjectSink fornecido não será usado. Se WBEM_S_NO_ERROR for retornado, a implementação IWbemObjectSink do usuário será chamada para indicar o resultado da operação. O Gerenciamento do Windows chama apenas AddRef no ponteiro nos casos em que WBEM_S_NO_ERROR retorna. Nos casos em que um código de erro retorna, a contagem de referência é a mesma que na entrada. Para obter mais informações, confira Como chamar um método.

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.

Se DeleteInstanceAsync retornar WBEM_S_NO_ERROR, o WMI aguardará um resultado do método SetStatus do manipulador de resposta. O WMI aguarda indefinidamente em uma conexão local ou até que ocorra um tempo limite de conexão remota.

Outras condições de erro são relatadas de forma assíncrona para o coletor de objeto fornecido pelo parâmetro pResponseHandler .

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

Nota Os clientes que chamam DeleteInstanceAsync sempre devem esperar que os resultados da chamada sejam relatados usando o método IWbemObjectSink::Indicate .
 
Nota Quando a instância apontada por strObjectPath pertence a uma classe que é membro de uma hierarquia de classe, o sucesso de DeleteInstanceAsync depende do provedor não abstrato mais alto. Para obter uma explicação detalhada das dependências envolvidas que determinam o sucesso desta operação, consulte Comentários em IWbemServices::D eleteInstance.
 

Comentários

Um provedor de instância pode relatar êxito ou falha com o código de retorno de DeleteInstanceAsync ou por meio de uma chamada para SetStatus feita por meio de pResponseHandler. Se enviado para SetStatus, o código de retorno enviado para o coletor por meio de pResponseHandler terá precedência. Como o retorno de chamada pode não ser retornado no mesmo nível de autenticação exigido pelo cliente, é recomendável que você use a comunicação semissíncrona em vez de assíncrona. Se você precisar de comunicação assíncrona, consulte Chamando um método.

Para obter mais informações sobre como usar métodos de forma semissíncrona, consulte IWbemServices::D eleteInstance e Chamando um método.

Requisitos

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

Como chamar um método

Descrever um caminho de objeto de instância

IWbemServices

IWbemServices::DeleteInstance