Dll Windows 2012 R2 32位SNMP扩展代理

Dll Windows 2012 R2 32位SNMP扩展代理,dll,snmp,windows2012,Dll,Snmp,Windows2012,我需要将应用程序从Windows 2003迁移到Windows 2012 R2。还有一个SNMP扩展代理DLL(32位),也需要迁移 我已安装SNMP服务并尝试配置扩展代理 起初,我试着用与Windows 2003相同的方式来做: HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ExtensionAgents: "1"="SOFTWARE\\MyCompany\\MyAgent\\CurrentVe

我需要将应用程序从Windows 2003迁移到Windows 2012 R2。还有一个SNMP扩展代理DLL(32位),也需要迁移

我已安装SNMP服务并尝试配置扩展代理

起初,我试着用与Windows 2003相同的方式来做:
HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ExtensionAgents

"1"="SOFTWARE\\MyCompany\\MyAgent\\CurrentVersion"
HKEY\U LOCAL\U MACHINE\SOFTWARE\MyCompany\MyAgent\CurrentVersion
“路径名”=“C:\bin\myagent”

但是extenstion代理没有启动,我在系统事件日志中找到了以下日志:

SNMP服务正在忽略扩展代理dll C:\bin\myagent 因为它丢失或配置错误

文件
“myagent.dll”
已存在。所以我尝试向注册表项添加
“dll”
扩展名,结果相同

经过一些互联网研究,我发现32位应用程序的注册表项应该位于
Wow6432Node
sud树下。因此,我将配置移动到注册表树:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MyCompany\MyAgent\CurrentVersion 
并将扩展代理上的配置更改为指向正确的注册表子树。在此之后,系统事件日志中没有错误日志,但任何进程都不会加载DLL(由process Explorer检查)


有人有什么建议吗?(遗憾的是,重新编译到64位不是一个选项)。

我们的32位SNMP扩展代理DLL也有同样的问题,通过这种方式解决了这个问题:

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\OTES\NL_CUTDA\CurrentVersion]
REG_EXPAND_SZ : "Pathname"="%ProgramFiles(x86)%\OTES\NL_CUTDA\NL_CUTDA.dll"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SNMP\Parameters\ExtensionAgents]
REG_SZ : "nl_cutdamib"="SOFTWARE\\OTES\\NL_CUTDA\\CurrentVersion"
我认为您不必更改注册表子树的路径,因为
HKEY\u LOCAL\u MACHINE\Software
键被重定向到物理路径
HKEY\u LOCAL\u MACHINE\Software\Wow6432Node


我希望有帮助。您好,米兰。

您需要将其重新编译为64位,然后64位SNMP服务可以加载它。我已经这样做了。但没有效果。