我正在为我们所有的打印机(我们是一家拥有大量工业打印机的打印公司)制定一个概览程序。与打印机通信的唯一方法是通过 SNMP。因为我没有得到任何 SNMP MIB 的文档(这很差,因为我们使用的是我们自己构建的机器),所以我在过去几天搜索了任何可用的 OID 字符串,这些字符串与我期望的结果一致。到目前为止,其余的都是逆向工程。
我发现了许多有用的 OID,并且我几乎完成了 DLL,我正在研究(与 WinAPI wsnmp32.dll 合作),但现在我被困在 JobQueue OID 上。
所以现在我的问题 :) 以您的信息为例:JobQueue 的 ID 是 1202,Job 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 我有什么误解,所以我做错了吗?希望任何人都可以帮助我:)
此致