创建方法。
注释
此 API 仅供内部使用。 它不适用于开发人员代码。
Syntax
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]指向包含方法参数的 __Parameters 系统类in的副本的指针。 如果设置为 null,则忽略此参数。
pSignatureOut[in]指向包含方法参数的 __Parameters 系统类out的副本的指针。 如果设置为 null,则忽略此参数。
返回值
此函数返回的以下值在 WbemCli.h 头文件中定义,也可以将其定义为代码中的常量:
| 恒定 | 价值 | Description |
|---|---|---|
WBEM_E_INVALID_PARAMETER |
0x80041008 | 一个或多个参数无效。 |
WBEM_E_INVALID_DUPLICATE_PARAMETER |
0x80041043 |
[in, out]
pInSignature 和 pOutSignature 对象中指定的方法参数具有不同的限定符。 |
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::P utMethod 方法的调用。
仅当 CIM 类定义为 CIM 类定义时 ptr ,才支持此方法调用。 指向 CIM 实例的 IWbemClassObject 指针不提供方法作。
用户无法创建名称以下划线开头或结尾的方法。 这是为系统类和属性保留的。
对于方法,参数inout描述为 IWbemClassObject 对象中的属性。
可以通过将同一 [in/out] 属性添加到指向 pInSignature 的对象和 pOutSignature 参数来定义参数。 在这种情况下,属性共享相同的 ID 限定符值。
__Parameters 类对象 中的每个属性都必须 ReturnValue 具有 ID 限定符,它是一个从零开始的数值,用于标识参数的显示顺序。 没有两个 ID 参数可以具有相同的值,也不能 ID 跳过任何值。 如果任一条件发生,函数 PutMethod 将 WBEM_E_NONCONSECUTIVE_PARAMETER_IDS返回 。
Example
有关示例,请参阅 IWbemClassObject::P utMethod 方法。
要求
平台:请参阅系统要求。
页眉: WMINet_Utils.idl
.NET Framework 版本: 自 4.7.2 起可用