PutMethod 函数

创建方法。

注意

此 API 仅供内部使用。 不应从开发人员代码中使用。

语法

HRESULT PutMethod (
   [in] int                vFunc,
   [in] IWbemClassObject*  ptr,
   [in] LPCWSTR            wszName,
   [in] LONG               lFlags,
   [in] IWbemClassObject*  pInSignature,
   [in] IWbemClassObject*  pOutSignature
);

参数

vFunc
[in] 未使用此参数。

ptr
[in] 指向 IWbemClassObject 实例的指针。

wszName
[in] 要创建的方法的名称。

lFlags
[in] 保留。 此参数必须为 0。

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

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

返回值

此函数返回的以下值是在 WbemCli.h 头文件中定义的,你也可以在代码中将这些值定义为常数:

常数 Value 说明
WBEM_E_INVALID_PARAMETER 0x80041008 一个或多个参数无效。
WBEM_E_INVALID_DUPLICATE_PARAMETER 0x80041043 pInSignature 和 pOutSignature 对象中指定的 [in, out] 方法参数具有不同的限定符。
WBEM_E_MISSING_PARAMETER_ID 0x80041036 方法参数缺少 ID 限定符的规范。
WBEM_E_NONCONSECUTIVE_PARAMETER_IDS 0x80041038 分配到方法参数的 ID 序列不是连续的,或者不从 0 开始。
WBEM_E_PARAMETER_ID_ON_RETVAL 0x80041039 方法的返回值有 ID 限定符。
WBEM_E_PROPAGATED_METHOD 0x80041034 尝试重用父类中的现有方法名称,而签名不匹配。
WBEM_S_NO_ERROR 0 函数调用成功。

注解

此函数包装对 IWbemClassObject::PutMethod 方法的调用。

仅当 ptr 是 CIM 类定义时才支持此方法调用。 无法通过指向 CIM 实例的 IWbemClassObject 指针进行方法操作。

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

对于方法,inout 参数被描述为 IWbemClassObject 对象中的属性。

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

ReturnValue 以外的 __Parameters 类对象中的每个属性都必须有一个 ID 限定符,这是一个从零开始的数值,用于标识参数出现的顺序。 不能有两个参数具有相同的 ID 值,也不能跳过任何 ID 值。 如果出现任何一种情况,PutMethod 函数将返回 WBEM_E_NONCONSECUTIVE_PARAMETER_IDS

示例

有关示例,请参阅 IWbemClassObject::PutMethod 方法。

要求

平台:请参阅系统要求

标头:WMINet_Utils.idl

.NET Framework 版本:自 4.7.2 起可用

另请参阅