Функция SnmpStrToOid (winsnmp.h)

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

Функция SnmpStrToOid WinSNMP преобразует пунктирный формат числовой строки идентификатора объекта SNMP, например "1.2.3.4.5.6", во внутреннее двоичное представление.

Синтаксис

SNMPAPI_STATUS SNMPAPI_CALL SnmpStrToOid(
  [in]  LPCSTR   string,
  [out] smiLPOID dstOID
);

Параметры

[in] string

Указатель на строку идентификатора объекта, завершаемую null, для преобразования.

[out] dstOID

Указатель на структуру smiOID , которая получает преобразованное значение.

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение — это количество подидентификаторов в идентификаторе преобразованного объекта. Это число также является значением элемента len структуры smiOID, на которую указывает параметр dstOID .

Если функция завершается сбоем, возвращаемое значение будет SNMPAPI_FAILURE. Чтобы получить расширенные сведения об ошибке, вызовите SnmpGetLastError , указав значение NULL в параметре сеанса . Функция SnmpGetLastError может возвращать одну из следующих ошибок.

Код возврата Описание
SNMPAPI_NOT_INITIALIZED
Функция SnmpStartup не была успешно завершена.
SNMPAPI_ALLOC_ERROR
Произошла ошибка при выделении памяти.
SNMPAPI_OID_INVALID
Недопустимый строковый параметр. Дополнительные сведения см. в следующем разделе Примечаний.
SNMPAPI_OTHER_ERROR
Произошла неизвестная или неопределенная ошибка.

Комментарии

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

Функция SnmpStrToOid завершается сбоем и возвращает код ошибки SNMPAPI_OID_INVALID, если строковый параметр соответствует одному из следующих условий:

  • Не заканчивается значением NULL.
  • Не является текстовой формой допустимого идентификатора объекта.
  • Недостаточно длины; Все идентификаторы объектов должны иметь два подидентификатора.
  • Превышает значение MAXOBJIDSTRSIZE в 1408 байт.
Дополнительные сведения см. в разделах Основные понятия Управление данными WinSNMP и Освобождение дескрипторов WinSNMP.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winsnmp.h
Библиотека Wsnmp32.lib
DLL Wsnmp32.dll

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

SnmpFreeDescriptor

Функции WinSNMP

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

smiOID