EnumPrinters()+错误RPC_S_SERVER_UNAVAILABLE(1722)

时间:2010-10-01 08:32:03

标签: winapi printing

我正在处理样本以获取连接到计算机的打印机列表。为此,我使用EnumPrinters()API来获取打印机。随机地给出错误RPC_S_SERVER_UNAVAILABLE(1722)。我试图在网上搜索,但我无法得到解决方案。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

你如何调用EnumPrinters(提示 - 发布代码)?

对于某些API调用模式,本地系统将依次RPC到目标服务器 - 这使用RPC,因此您可以返回RPC错误。您可以通过使用与EnumPrinters不同的参数的重量级调用来获取所需的信息。

来自the docs

  

使用a调用EnumPrinters时   2级(PRINTER_INFO_2)数据   结构,它执行OpenPrinter   呼叫每个远程连接。如果一个   远程连接已关闭,或者   远程服务器不再存在,或者   远程打印机不再存在了   函数必须等待RPC超时   因此OpenPrinter失败了   呼叫。这可能需要一段时间。