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