Поделиться через


Метод IWbemClassObject::P utMethod (wbemcli.h)

Для создания метода используется IWbemClassObject::P utMethod . Этот вызов поддерживается только в том случае, если текущий объект является определением класса CIM. Обработка методов недоступна в указателях IWbemClassObject , указывающих на экземпляры CIM.

Пользователь не может создавать методы с именами, которые начинаются или заканчиваются символом подчеркивания. Он зарезервирован для системных классов и свойств.

Синтаксис

HRESULT PutMethod(
  [in] LPCWSTR          wszName,
  [in] long             lFlags,
  [in] IWbemClassObject *pInSignature,
  [in] IWbemClassObject *pOutSignature
);

Параметры

[in] wszName

Имя создаваемого метода.

[in] lFlags

Зарезервировано. Этот параметр должен иметь значение 0 (ноль).

[in] pInSignature

Указатель на копию системного класса __Parameters , которая содержит параметр in для метода . Этот параметр игнорируется, если задано значение NULL.

[in] pOutSignature

Указатель на копию системного класса __Parameters , которая содержит параметры out для объекта . Этот параметр игнорируется, если задано значение NULL.

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

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

Комментарии

Для метода параметры in и out описываются как свойства в объектах IWbemClassObject .

Например, рассмотрим следующий метод:

Class MyClass{
    [key] string KeyVal;
    sint32 PropVal;
    sint32 ExampleMethod([in] sint32 Param1, [in] uint32 Param2, 
        [out] string Param3);
    HRESULT ReturnValue;
};

В предыдущем примере класс имеет один метод. Чтобы создать метод программным способом, пользователь вызывает IWbemClassObject::P utMethod с параметром pInSignature , указывающим на копию системного класса __Parameters , которая содержит два свойства: Param1 и Param2. POutSignature указывает на копию системного класса __Parameters, которая содержит два свойства: Param3 и ReturnValue.

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

Параметр [in/out] можно определить, добавив одно и то же свойство к обоим объектам, на которые указывают параметры pInSignature и pOutSignature . В этом случае свойства используют одно и то же значение квалификатора идентификатора .

Каждое свойство в объекте класса __Parameters , отличном от ReturnValue , должно иметь квалификатор идентификатора , отсчитываемое от нуля числовое значение, определяющее порядок отображения параметров. В этом примере Param1 будет иметь значение 0, Param2 1 и Param3 2. Ни один из двух параметров не может иметь одинаковое значение идентификатора , и значение идентификатора не может быть пропущено. При возникновении любого из условий IWbemClassObject::P utMethod возвращает WBEM_E_NONCONSECUTIVE_PARAMETER_IDS.

Примечание Вызывающий объект должен вызывать IWbemClassObject::Release для указателей pInSignature и pOutSignature , если эти объекты больше не требуются.
 

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Минимальная версия сервера Windows Server 2008
Целевая платформа Windows
Header wbemcli.h (включая Wbemidl.h)
Библиотека WbemUuid.lib
DLL CIMWin32.dll; Esscli.dll; Fastprox.dll; FrameDyn.dll; FrameDynOS.dll; Krnlprov.dll; Ncprov.dll; Wbemcore.dll; Wbemess.dll; Wmipiprt.dll

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

Создание метода

IWbemClassObject

IWbemClassObject::GetMethod