Método IWbemServices::ExecMethod (wbemcli.h)
O método IWbemServices::ExecMethod executa um método exportado por um objeto CIM. A chamada de método é encaminhada para o provedor apropriado em que ela é executada. Informações e status são retornados ao chamador, que é bloqueado até que a chamada seja concluída.
Os métodos não são implementados diretamente pelo Gerenciamento do Windows, mas são exportados por provedores de método. Para qualquer classe CIM específica, os métodos disponíveis e seus parâmetros devem ser especificados na documentação do provedor em questão.
Para obter mais informações sobre como executar métodos, consulte Chamando um método.
Sintaxe
HRESULT ExecMethod(
[in] const BSTR strObjectPath,
[in] const BSTR strMethodName,
[in] long lFlags,
[in] IWbemContext *pCtx,
[in] IWbemClassObject *pInParams,
[out] IWbemClassObject **ppOutParams,
[out] IWbemCallResult **ppCallResult
);
Parâmetros
[in] strObjectPath
BSTR válido que contém o caminho do objeto para o qual o método é executado.
[in] strMethodName
Nome do método para o objeto.
[in] lFlags
Esse parâmetro pode ser definido como 0 para torná-lo uma chamada síncrona. Para tornar essa uma chamada semissíncrona, defina lFlags como WBEM_FLAG_RETURN_IMMEDIATELY, forneça um ponteiro válido para o parâmetro ppCallResult e essa chamada retornará imediatamente. 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 executa o método . Os valores no objeto de contexto devem ser especificados na documentação do provedor em questão. Para obter mais informações sobre esse parâmetro, consulte Fazendo chamadas para WMI.
[in] pInParams
Poderá ser NULL se nenhum parâmetro for necessário para executar o método. Caso contrário, isso apontará para um IWbemClassObject que contém as propriedades que atuam como parâmetros de entrada para a execução do método. O conteúdo do objeto é específico do método e faz parte da especificação do provedor em questão. Para obter mais informações sobre como construir parâmetros de entrada, consulte Creating Parameters Objects in C++.
[out] ppOutParams
Se não for NULL, receberá um ponteiro para os parâmetros de saída e os valores retornados para a execução do método. O conteúdo desse objeto é específico do método e faz parte da especificação do provedor em questão. O chamador deve chamar Release no objeto retornado quando ele não for mais necessário.
[out] ppCallResult
Se FOR NULL, isso não será usado. Se ppCallResult for especificado, ele deverá ser definido para apontar para NULL na entrada. Nesse caso, a chamada retorna imediatamente com WBEM_S_NO_ERROR. O parâmetro ppCallResult recebe um ponteiro para um novo objeto IWbemCallResult , que deve ser sondado para obter o resultado da execução do método usando o método GetCallStatus . Os parâmetros out para a chamada estão disponíveis chamando IWbemCallResult::GetResultObject.
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
Se ppOutParams não for NULL, o cliente poderá determinar o tipo de valor retornado do método examinando a propriedade ReturnValue do objeto apontado por ppOutParams.
Requisitos
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 |