Метод IWbemServices::ExecMethod (wbemcli.h)

Метод IWbemServices::ExecMethod выполняет метод, экспортируемый объектом CIM. Вызов метода пересылается соответствующему поставщику, где он выполняется. Сведения и состояние возвращаются вызывающей, которая блокируется до завершения вызова.

Методы не реализуются непосредственно службой управления Windows, но экспортируются поставщиками методов. Для любого заданного класса CIM доступные методы и их параметры должны быть указаны в документации для соответствующего поставщика.

Дополнительные сведения о выполнении методов см. в разделе Вызов метода.

Синтаксис

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
);

Параметры

[in] strObjectPath

Допустимая строка BSTR, содержащая путь к объекту объекта, для которого выполняется метод.

[in] strMethodName

Имя метода для объекта .

[in] lFlags

Для этого параметра можно задать значение 0, чтобы сделать этот вызов синхронным. Чтобы сделать этот вызов полусинхронным, задайте для lFlagsзначение WBEM_FLAG_RETURN_IMMEDIATELY, укажите допустимый указатель для параметра ppCallResult , и этот вызов возвращается немедленно. Дополнительные сведения см. в разделе Вызов метода.

[in] pCtx

Как правило, значение NULL; В противном случае это указатель на объект IWbemContext , который может использоваться поставщиком, выполняющим метод . Значения в объекте контекста должны быть указаны в документации для соответствующего поставщика. Дополнительные сведения об этом параметре см. в разделе Выполнение вызовов WMI.

[in] pInParams

Может иметь значение NULL , если для выполнения метода не требуются встроенные параметры. В противном случае это указывает на IWbemClassObject , содержащий свойства, действующие в качестве входящих параметров для выполнения метода. Содержимое объекта зависит от метода и является частью спецификации для соответствующего поставщика. Дополнительные сведения о создании входных параметров см. в разделе Создание объектов параметров в C++.

[out] ppOutParams

Если значение не равно NULL, получает указатель на исходящие параметры и возвращаемые значения для выполнения метода. Содержимое этого объекта зависит от метода и является частью спецификации для соответствующего поставщика. Вызывающий объект должен вызывать Release для возвращаемого объекта, если он больше не требуется.

[out] ppCallResult

Значение NULL не используется. Если указан параметр ppCallResult , ему необходимо задать значение NULL для записи. В этом случае вызов возвращается немедленно с WBEM_S_NO_ERROR. Параметр ppCallResult получает указатель на новый объект IWbemCallResult , который необходимо опрашивать, чтобы получить результат выполнения метода с помощью метода GetCallStatus . Параметры out для вызова доступны путем вызова IWbemCallResult::GetResultObject.

Возвращаемое значение

Этот метод возвращает HRESULT , указывающий состояние вызова метода. В следующем списке перечислены значения, содержащиеся в HRESULT.

В случае сбоя можно получить любые доступные сведения из функции COM GetErrorInfo.

Коды ошибок COM также могут возвращаться, если проблемы с сетью приводят к потере удаленного подключения к управлению Windows.

Комментарии

Если ppOutParams не равно NULL, клиент может определить тип возвращаемого значения метода, проверив свойство ReturnValue объекта, на который указывает ppOutParams.

Требования

   
Минимальная версия клиента Windows Vista
Минимальная версия сервера Windows Server 2008
Целевая платформа Windows
Header wbemcli.h (включая Wbemidl.h)
Библиотека 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

См. также раздел

Вызов метода

IWbemCallResult::GetResultObject

IWbemServices

IWbemServices::ExecMethodAsync