snmpSetPduData 函数 (winsnmp.h)
[SNMP 可用于“要求”部分中指定的操作系统。 它可能在后续版本中变更或不可用。 请改用 Windows 远程管理,这是 WS-Man 的 Microsoft 实现。]
WinSNMP SnmpSetPduData 函数更新指定 SNMP 协议数据单元中的选定数据字段 (PDU) 。
语法
SNMPAPI_STATUS SNMPAPI_CALL SnmpSetPduData(
[in] HSNMP_PDU PDU,
[in] const smiINT *PDU_type,
[in] const smiINT32 *request_id,
[in] const smiINT *non_repeaters,
[in] const smiINT *max_repetitions,
[in] const HSNMP_VBL *varbindlist
);
参数
[in] PDU
SNMP PDU 的句柄。
[in] PDU_type
指向变量的指针,该值用于更新指定 PDU 的PDU_type 字段。 此参数也可以为 NULL。
[in] request_id
指向变量的指针,该值用于更新指定 PDU 的 request_id 字段。 此参数也可以为 NULL。
[in] non_repeaters
如果 PDU_type 参数等于 SNMP_PDU_GETBULK,则此参数指向具有值的变量,以更新指定 PDU 的non_repeaters 字段。 对于其他 PDU 类型,Microsoft WinSNMP 实现会忽略此参数。 此参数也可以为 NULL。
[in] max_repetitions
如果 PDU_type 参数等于 SNMP_PDU_GETBULK,则此参数指向具有值的变量,以更新指定 PDU 的 max_repetitions 字段。 实现将忽略此参数用于其他 PDU 类型。 此参数也可以为 NULL。
[in] varbindlist
指向变量的指针,该值更新指定 PDU 的变量绑定列表字段的句柄。 此参数也可以为 NULL。
返回值
如果函数成功,则返回值SNMPAPI_SUCCESS。
如果函数失败,则返回值SNMPAPI_FAILURE。 若要获取扩展错误信息,请调用 SnmpGetLastError。 SnmpGetLastError 函数可能会返回以下错误之一。
返回代码 | 说明 |
---|---|
|
SnmpStartup 函数未成功完成。 |
|
内存分配期间出错。 |
|
PDU 类型无效。 |
|
变量绑定列表无效。 |
|
所有输入参数均为 NULL。 未执行 SNMP 操作。 |
|
发生未知或未定义错误。 |
注解
SnmpSetPduData 函数的所有参数都是必需的。 但是,除 PDU 参数之外的所有参数都可以为 NULL。 如果 WinSNMP 应用程序在参数中传递 NULL , SnmpSetPduData 不会更新 PDU 中的相应字段。 由于 SnmpSetPduData 将参数作为指向值的指针传递,因此应用程序仍可以使用 NULL 更新 PDU 字段。
一个 PDU 字段的值可以单独有效,但可能会与其他字段的值一起失效。 当应用程序调用 SnmpSendMsg 或 SnmpEncodeMsg 函数时,实现将验证 PDU 和其他消息元素。 实现拒绝无效的 PDU。
可以通过调用 SnmpSetPduData 函数更新的唯一陷阱 PDU 类型是 SNMPv2C 陷阱 PDU。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winsnmp.h |
Library | Wsnmp32.lib |
DLL | Wsnmp32.dll |