smiVALUE 结构 (winsnmp.h)

[SNMP 可用于“要求”部分中指定的操作系统。 它可能在后续版本中变更或不可用。 请改用 Windows 远程管理,这是 WS-Man 的 Microsoft 实现。]

WinSNMP smiVALUE 结构描述与变量绑定条目中的变量名称关联的值。

smiVALUE 结构的语法成员包含 WinSNMP 数据类型,该数据类型指示成员中的数据类型。 结构 的值 成员是所有可能的 WinSNMP 数据类型的并集。

语法

typedef struct {
  smiUINT32 syntax;
  union {
    smiINT    sNumber;
    smiUINT32 uNumber;
    smiCNTR64 hNumber;
    smiOCTETS string;
    smiOID    oid;
    smiBYTE   empty;
  } value;
} smiVALUE, *smiLPVALUE;

成员

syntax

类型: smiUINT32

指定一个无符号长整数,该整数指示 成员的语法数据类型。 此成员只能是下表中列出的类型之一。 有关详细信息,请参阅 WinSNMP 数据类型 和 RFC 1902“简单网络管理协议版本 2 的管理信息的结构 (SNMPv2) ”。

语法数据类型 含义
SNMP_SYNTAX_INT
指示 32 位有符号整数变量。
SNMP_SYNTAX_OCTETS
指示二进制或文本数据的八进制字符串变量。
SNMP_SYNTAX_NULL
指示 NULL 值。
SNMP_SYNTAX_OID
指示一个对象标识符变量,该变量是分配的名称,最多包含 128 个子级。
SNMP_SYNTAX_INT32
指示 32 位有符号整数变量。
SNMP_SYNTAX_IPADDR
指示 32 位 Internet 地址变量。
SNMP_SYNTAX_CNTR32
指示计数器变量在达到最大值 2^32 () - 1 之前增加。
SNMP_SYNTAX_GAUGE32
指示仪表变量,该变量是一个非负整数,可以增加或减少,但永远不会超过最大值。
SNMP_SYNTAX_TIMETICKS
指示一个计数器变量,该变量度量以百分之一秒为单位的时间,直到其达到最大值 (2^32) – 1。 它是相对于特定计时器事件的非负整数。
SNMP_SYNTAX_OPAQUE
此类型提供向后兼容性,不应用于新的对象类型。 它支持将任意抽象语法表示法 One (ASN.1) 语法传递的功能。
SNMP_SYNTAX_CNTR64
指示计数器变量在达到最大值 (2^64) - 1 之前增加。
SNMP_SYNTAX_UINT32
指示 32 位无符号整数变量。
SNMP_SYNTAX_NOSUCHOBJECT
指示代理不支持与变量对应的对象类型。
SNMP_SYNTAX_NOSUCHINSTANCE
指示操作的对象实例不存在。
SNMP_SYNTAX_ENDOFMIBVIEW
指示 WinSNMP 应用程序正在尝试引用超出代理支持的 MIB 树末尾的对象标识符。
 

最后三种语法类型描述了 SNMP 版本 2C (SNMPv2C) 框架下的异常情况。

value

指定所有可能的 WinSNMP 语法数据类型的并集,包括 smiOIDsmiOCTETS 描述符类型。

sNumber

类型: smiINT 指定有符号的长整数值。

uNumber

类型: smiUINT32 指定 32 位无符号长整数值。

hNumber

类型: smiCNTR64 指定 64 位无符号整数值

字符串

类型: smiOCTETS 指定字符串。

oid

类型: smiOID 指定 OID) (对象标识符。

empty

类型: smiBYTE 指定空成员。

value.sNumber

value.uNumber

value.hNumber

value.string

value.oid

value.empty

注解

WinSNMP 应用程序必须检查 smiVALUE 结构的语法成员才能正确取消引用成员。 成员可以包含简单的标量值或非标量值,如 smiOCTETSsmiOID 描述符结构。

如果 语法 成员指示 成员是 smiOCTETSsmiOID 描述符结构,则 WinSNMP 应用程序必须确定是否释放为结构分配的资源。 Microsoft WinSNMP 实现为所有输出 smiOCTETSsmiOID 结构分配和解除分配内存。 应用程序必须调用 SnmpFreeDescriptor 函数来释放这些结构的 ptr 成员的内存。

由于 WinSNMP 应用程序为具有可变长度的输入描述符分配内存,因此它必须释放该内存。 有关详细信息,请参阅 WinSNMP 数据管理概念

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 winsnmp.h

另请参阅

SnmpCreateVbl

SnmpFreeDescriptor

SnmpGetVb

WinSNMP API 概述

WinSNMP 结构

smiOCTETS

smiOID