Java Windows SNMP扩展代理-snmp4j

Java Windows SNMP扩展代理-snmp4j,java,windows,snmp,mib,snmp4j,Java,Windows,Snmp,Mib,Snmp4j,我目前有一个使用snmp4j构建的代理,它实现了一些自定义mib。我想做的是在windows下运行这个snmp4j代理,作为windows snmp服务的snmp扩展代理。原因是我需要这个新的snmp4j代理来处理来自自定义MIB的snmp信息请求,需要windows snmp服务来处理mib2信息请求。如果有人对windows snmp扩展代理和snmp4j有任何经验,并能给我一些关于如何实现这一点的提示,或者如果有可能使用snmp4j,我将非常感激。谢谢Microsoft将SNMP代理设计为

我目前有一个使用snmp4j构建的代理,它实现了一些自定义mib。我想做的是在windows下运行这个snmp4j代理,作为windows snmp服务的snmp扩展代理。原因是我需要这个新的snmp4j代理来处理来自自定义MIB的snmp信息请求,需要windows snmp服务来处理mib2信息请求。如果有人对windows snmp扩展代理和snmp4j有任何经验,并能给我一些关于如何实现这一点的提示,或者如果有可能使用snmp4j,我将非常感激。谢谢

Microsoft将SNMP代理设计为一项服务。该服务完成协议级别(ASN.1/BER编码和解码)的所有脏活。为了开发扩展代理,我们必须在Windows SNMP服务的基础上实现扩展代理DLL

为了创建扩展代理,您需要创建Win32 DLL,并在此DLL中定义、实现和导出以下函数:

BOOL SNMP_FUNC_TYPE SnmpExtensionInit(DWORD dwUptimeReference,
                    HANDLE *phSubagentTrapEvent,
                    AsnObjectIdentifier *pFirstSupportedRegion)

BOOL SNMP_FUNC_TYPE SnmpExtensionQuery(BYTE bPduType, 
                    SnmpVarBindList *pVarBindList, 
                    AsnInteger32 *pErrorStatus, 
                    AsnInteger32 *pErrorIndex)

// trap handler
BOOL SNMP_FUNC_TYPE SnmpExtensionTrap(AsnObjectIdentifier *pEnterpriseOid, 
                    AsnInteger32 *pGenericTrapId, 
                    AsnInteger32 *pSpecificTrapId, 
                    AsnTimeticks *pTimeStamp, 
                    SnmpVarBindList *pVarBindList)
不幸的是,您无法使用SNMP4J库实现MS SNMP代理扩展