Метод 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.
Требования
Минимальная версия клиента | 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 |