Структура smiVALUE (winsnmp.h)

[SNMP доступен для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Вместо этого используйте удаленное управление Windows, которое является реализацией WS-Man майкрософт.]

Структура 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-разрядную переменную адреса в Интернете.
SNMP_SYNTAX_CNTR32
Указывает переменную счетчика, которая увеличивается, пока не достигнет максимального значения (2^32) – 1.
SNMP_SYNTAX_GAUGE32
Указывает переменную датчика, представляющее собой неотрицательное целое число, которое может увеличиваться или уменьшаться, но никогда не превышать максимальное значение.
SNMP_SYNTAX_TIMETICKS
Указывает переменную счетчика, которая измеряет время в сотых секундах, пока не достигнет максимального значения (2^32) – 1. Это неотрицательное целое число, относительно определенного события таймера.
SNMP_SYNTAX_OPAQUE
Этот тип обеспечивает обратную совместимость и не должен использоваться для новых типов объектов. Он поддерживает возможность передачи произвольного синтаксиса абстрактного синтаксиса нотации 1 (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, включая типы дескрипторов smiOID или smiOCTETS .

sNumber

Тип: smiINT Задает целое число со знаком типа long.

uNumber

Тип: smiUINT32 Задает 32-разрядное длинное целое число без знака.

hNumber

Тип: smiCNTR64 Задает 64-разрядное целое число без знака.

строка

Тип: smiOCTETS Задает строку.

oid

Тип: smiOID Указывает идентификатор объекта (OID).

пустых

Тип: smiBYTE Указывает пустой элемент.

value.sNumber

value.uNumber

value.hNumber

value.string

value.oid

value.empty

Комментарии

Чтобы правильно разыменовать элемент значения, приложение WinSNMP должно проверка синтаксический элемент структуры smiVALUE. Элемент значения может содержать простое скалярное значение или не скалярное значение, например структуру дескриптора smiOCTETS или smiOID .

Если член синтаксиса указывает, что элемент значения является структурой дескриптора smiOCTETS или smiOID , приложение WinSNMP должно определить, следует ли освобождать ресурсы, выделенные для структуры. Реализация Microsoft WinSNMP выделяет и освобождает память для всех выходных структур smiOCTETS и smiOID . Приложение должно вызвать функцию SnmpFreeDescriptor , чтобы освободить память для элемента ptr этих структур.

Так как приложение WinSNMP выделяет память для дескрипторов ввода с переменной длиной, оно должно освободить память. Дополнительные сведения см. в разделе Основные понятия Управление данными WinSNMP.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть winsnmp.h

См. также раздел

SnmpCreateVbl

SnmpFreeDescriptor

SnmpGetVb

Общие сведения об API WinSNMP

Структуры WinSNMP

smiOCTETS

smiOID