我正在为所有打印机制作概述程序(我们是一家拥有大量行业打印机的印刷公司)。 与打印机通信的唯一方法是通过SNMP。由于我没有得到SNMP MIB的任何文档(这是非常糟糕的,因为我们使用自己的内置机器)我在最近几天搜索了任何可用的OID字符串,这些字符串正在使用我期望的结果。 其余的都是逆向工程。
我发现了许多有用的OID,我差不多完成了DLL,我正在研究(与WinAPI wsnmp32.dll合作),但现在我被困在了JobQueue OID上。
所以现在我的问题:) 以您的信息为例: JobQueue的ID是1202,作业ID是5495.如果我想获得应该在这个作业中打印的页面,我必须调用OID: .1.3.6.1.4.1.2699.1.1.1.3.1.1.7.1202.5495
到目前为止一切顺利。如果我用snmpget做这个,我得到一个“没有这样的实例”的回报。但肯定有一个例子。 我知道这肯定,因为我之前在实例上调用snmpgetnext(使用OID .1.3.6.1.4.1.2699.1.1.1.3.1.1.7.1202.5494),我得到一个9002的整数值,这是正确的,因为这是必须在此作业中打印的页数。 该实例正在工作并返回一个值...但仅当我之前在实例上调用snmpgetnext时。直接在5495上调用snmpget将无法正常工作。
我是否有任何关于调用snmpget的理解,所以我做错了? 希望任何人都可以帮助我:)。
祝你好运
答案 0 :(得分:1)
如果您确定实例在WALK结果中可见,但无法通过GET操作访问。有可能的原因,
要确认您点击了哪些案例,只需执行另一次WALK以查看GET后该行是否存在。