Winapi 未调用SnmpExtensionInit

Winapi 未调用SnmpExtensionInit,winapi,dll,snmp,dllexport,Winapi,Dll,Snmp,Dllexport,我正在尝试向Windows SNMP代理添加一个扩展,并遵循了可用的粗略文档。dll已经建立,两个条目已经放入注册表。重新启动SNMP服务似乎会加载DLL。调用DllMain的原因如下:DLL\u进程\u分离、DLL\u进程\u附加、DLL\u线程\u附加、DLL\u进程\u分离。但SnmpExtensionInit似乎从未被调用过。有什么想法吗?TIA.您能给出您的SnmpExtensionInit的声明吗。很抱歉,它是法语的,但请使用工具尝试您的DLL。此工具只需加载DLL并尝试调用Snmp

我正在尝试向Windows SNMP代理添加一个扩展,并遵循了可用的粗略文档。dll已经建立,两个条目已经放入注册表。重新启动SNMP服务似乎会加载DLL。调用DllMain的原因如下:DLL\u进程\u分离、DLL\u进程\u附加、DLL\u线程\u附加、DLL\u进程\u分离。但SnmpExtensionInit似乎从未被调用过。有什么想法吗?TIA.

您能给出您的
SnmpExtensionInit
的声明吗。很抱歉,它是法语的,但请使用工具尝试您的DLL。此工具只需加载DLL并尝试调用
SnmpExtensionInit


编辑(在您的评论之后)

中的“未检测到错误SNMP DLL!”
证明您的DLL未导出“SnmpExtensionInit”函数。您还可以使用验证

要在Windows DLL中正确导出函数,可以使用如下定义文件():

LIBRARY YOUR-DLL-NAME

DESCRIPTION 'SNMP Extension Agent for Windows NT.'

SEGMENTS
  _TEXT      PRELOAD
  INIT_TEXT  PRELOAD

HEAPSIZE  1024

EXPORTS
  SnmpExtensionInit
  SnmpExtensionTrap
  SnmpExtensionQuery
或者您可以更改您的函数déclarations(全部三个)


运行slxSNMPInfo c:\windows\system32\my.dll的BOOL WINAPI SnmpExtensionInit(在DWORD dwTimeZeroReference中,输出句柄*hPollForTrapEvent,输出AsnObjectIdentifier*supportedView)运行slxSNMPInfo c:\windows\system32\my.dll返回“未检测到错误SNMP dll!”如果我这样做,我会得到不一致的函数签名。有没有关于这方面的最新文档,因为我能找到的任何东西都至少有5-6年的历史?我应该使用什么snmp.h?我在各种Windows资源工具包中找到了一些。我修改了我的代码和snmp.h中三个函数的声明,然后能够获得SLXNMPINfo至少可以识别我的DLL具有SnmpExtensionInit的正确签名。但是,当我运行它时,在它崩溃之前,我得到了以下输出:SlxSNMPInfo找到了以下OID:0-1.4194304.2432656.131072.0.1376256.2090337824.2089816064.2089816288.1.2118199664.0.0.0.0.2090337760.1023.0.2137980828.2137980828.2137982600.2147155968.2147225600.2147295232.1.0.0.127631360-6035.1048576.8192.65536.4096.7.16版本1.0版权所有2011-Jean-Paul Blanc/Silogix
__declspec(dllexport) BOOL SnmpExtensionInit (DWORD dwTimeZeroReference,
                                              HANDLE *hPollForTrapEvent,
                                              AsnObjectIdentifier *supportedView);