IWbemClassObject::P utMethod 方法 (wbemcli.h)

IWbemClassObject::P utMethod 用于创建方法。 仅当当前对象是 CIM 类定义时,才支持此调用。 无法通过指向 CIM 实例的 IWbemClassObject 指针进行方法操作。

用户无法创建名称以下划线开头或结尾的方法。 此为系统类和属性保留。

语法

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

参数

[in] wszName

创建的方法名称。

[in] lFlags

保留。 此参数必须为 0 (零) 。

[in] pInSignature

指向包含 方法的 in 参数的 __Parameters 系统类的副本的指针。 如果设置为 NULL,则忽略此参数。

[in] pOutSignature

指向包含对象的 out 参数的 __Parameters 系统类的副本的指针。 如果设置为 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;
};

在上一个示例中, 类有一个 方法。 若要以编程方式创建方法,用户使用 pInSignature 参数调用 IWbemClassObject::P utMethod,该参数指向包含两个属性的系统类__Parameters的副本:Param1Param2pOutSignature 指向包含两个属性的系统类__Parameters的副本:Param3ReturnValue

pOutSignature 指向的 对象的 ReturnValue 属性确定方法返回类型。 如果 pOutSignature 设置为 NULL,则假定返回类型为 VOID。

[in/out] 参数可以通过向 pInSignaturepOutSignature 参数指向的两个对象添加相同的属性来定义。 在这种情况下,属性共享相同的 ID 限定符值。

除 ReturnValue 以外的 __Parameters 类对象中的每个属性都必须具有 ID 限定符,这是一个从零开始的数值,用于标识参数的出现顺序。 在此示例中, Param1 为 0、 Param2 1 和 Param3 2。 不能有两个参数具有相同的 ID 值,也不能跳过任何 ID 值。 如果出现任一条件, IWbemClassObject::P utMethod 将返回 WBEM_E_NONCONSECUTIVE_PARAMETER_IDS

注意当不再需要这些对象时,调用方必须在 pInSignaturepOutSignature 指针上调用 IWbemClassObject::Release
 

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 wbemcli.h (包括 Wbemidl.h)
Library 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