我正在为我们所有的打印机编写一个概述程序(我们是一家拥有大量行业打印机的打印公司)。与打印机通信的唯一方式是通过SNMP。由于我没有得到任何有关SNMP MIB的文档(这是相当糟糕的,因为我们使用自己构建的机器),所以我在过去几天中搜索了任何可用的OID字符串,这些字符串正在处理我期望的结果。到目前为止,其余的都是逆向工程。
我发现了许多有用的JobQueue,我几乎完成了动态链接库,我正在努力(与WinAPI wsnmp32.dll合作),但现在我被困在wsnmp32.dll上了。
现在来看我的问题:)作为您的信息和示例: 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有没有什么我理解不了的地方,所以我做错了?希望任何人能帮助我:)
诚挚的问候
发布于 2013-10-10 15:02:03
如果您确定实例在遍历结果中可见,但无法通过GET操作访问。有一些可能的原因,
要确认命中了哪些案例,只需在GET之后执行另一次遍历,看看该行是否存在。
https://stackoverflow.com/questions/19288527
复制相似问题