Метод 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 , содержащего параметры метода. Этот параметр игнорируется, если задано значение 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 (include 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