Я разработал собственный агент расширения snmp
для работы с Windows Snmp service
. Я реализовал в C++
, используя интерфейс, предоставленный snmp.h
от Microsoft, и создаю 64-битный dll
для использования в качестве агента расширения.
Чтобы установить эту dll в качестве агента расширения, я добавил реестр под HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ExtensionAgents
как:
MyAgent REG_SZ SOFTWARE\MyAgent\CurrentVersion
И под HKEY_LOCAL_MACHINE\SOFTWARE\MyAgent\CurrentVersion
я создал другой реестр, указывающий путь к dll as:
Pathname REG_EXPAND_SZ C:\Program Files\testing\MyAgent.dll
Когда я делал это в журналах системных событий, я получал, что The SNMP Service is ignoring extension agent dll C:\Program Files\testing\MyAgent.dll because it is missing or misconfigured.
Агент является агентом без прерываний. Он предоставляет функции SnmpExtensionInit
и SnmpExtensionQuery
из snmp.h
. Я не знаю, что запуталось. Мне нужен 32-битный DLL? Все источники на inte rnet очень старые и ссылаются на Windows NT
. Мне нужно настроить его на более новых операционных системах, таких как Windows 10
и Windows server 2016
. Любые предложения помогут.
Также есть похожие вопросы по SO для той же ошибки, но все они связаны с миграцией 32-битной библиотеки DLL. Я начинаю с 64 бит.