Функция SnmpOidCompare (winsnmp.h)
[SNMP доступен для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Вместо этого используйте удаленное управление Windows, которое является реализацией WS-Man майкрософт.]
Функция WinSNMP SnmpOidCompare лексикографически сравнивает два идентификатора объекта SNMP до длины, заданной параметром maxlen .
Синтаксис
SNMPAPI_STATUS SNMPAPI_CALL SnmpOidCompare(
[in] smiLPCOID xOID,
[in] smiLPCOID yOID,
[in] smiUINT32 maxlen,
[out] smiLPINT result
);
Параметры
[in] xOID
Указатель на первый сравниваемый идентификатор объекта smiOID . Длина идентификатора объекта может быть равна нулю.
[in] yOID
Указатель на второй идентификатор объекта smiOID для сравнения. Длина идентификатора объекта может быть равна нулю.
[in] maxlen
Если значение не равно нулю, указывает количество сравниваемых подидентификаторов. Этот параметр должен быть меньше MAXOBJIDSIZE: 128 подидентификаторов, максимальное число компонентов в идентификаторе объекта. Дополнительные сведения см. в следующем разделе Примечаний.
[out] result
Указатель на целочисленную переменную для получения результата сравнения. Переменная может получить один из следующих результатов.
Результат | Значение |
---|---|
|
xOID больше yOID |
|
xOID равно yOID |
|
xOID меньше yOID |
Дополнительные условия сравнения см. в следующем разделе о примечаниях.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет SNMPAPI_SUCCESS.
Если функция завершается сбоем, возвращаемое значение SNMPAPI_FAILURE. Чтобы получить расширенные сведения об ошибке, вызовите SnmpGetLastError , указав значение NULL в параметре сеанса . Функция SnmpGetLastError может возвращать одну из следующих ошибок.
Код возврата | Описание |
---|---|
|
Не удалось выполнить функцию SnmpStartup . |
|
Ошибка при выделении памяти. |
|
Один или оба параметра xOID и yOID недопустимы. |
|
Недопустимый параметр maxlen . Размер параметра больше MAXOBJIDSIZE. |
|
Произошла неизвестная или неопределенная ошибка. |
Комментарии
Приложение WinSNMP может вызвать функцию SnmpOidCompare , чтобы определить, имеют ли два идентификатора объектов общие префиксы.
Если параметр maxlen не равен нулю и не больше MAXOBJIDSIZE, значение maxlen задает верхний предел для сравниваемого числа подидентификаторов. Максимальное число подидентификаторов, которое функция SnmpOidCompare сравнивает по умолчанию с наименьшим числом — параметром maxlen или элементом len одной из структур smiOID , на которые указывают параметры xOID и yOID .
Если параметр maxlen равен нулю, максимальное число подидентификаторов, сравниваемых функцией SnmpOidCompare , по умолчанию соответствует числу меньшего числа элементов len двух структур smioid .
Значение параметра result указывает, что xOID равно yOID, если две структуры smiOID лексикографически равны и происходит одно из следующих действий:
- SnmpOidCompare сравнивает максимальное число подидентификаторов.
- SnmpOidCompare сравнивает максимальное число подидентификаторов, а члены len обеих структур smiOID равны, но меньше, чем параметр maxlen .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | winsnmp.h |
Библиотека | Wsnmp32.lib |
DLL | Wsnmp32.dll |