EnumPrinters () + ошибка RPC_S_SERVER_UNAVAILABLE (1722) - PullRequest
0 голосов
/ 01 октября 2010

Я работаю над образцом, чтобы получить список принтеров, подключенных к машине. Для этого я использую API EnumPrinters () для получения принтеров. Случайным образом выдает ошибку RPC_S_SERVER_UNAVAILABLE (1722). Я пытался искать в сети, но не смог найти решение.

Пожалуйста, помогите мне решить эту проблему.

1 Ответ

1 голос
/ 01 октября 2010

Как вы звоните EnumPrinters (подсказка - напишите код)?

В некоторых режимах вызова API локальная система по очереди выполняет RPC для целевых серверов - при этом используется RPC, поэтому вы можете вернуть ошибки RPC. Вы можете получить необходимую информацию с помощью менее тяжелого вызова, который использует разные параметры для EnumPrinters.

С Документы :

когда EnumPrinters вызывается с данные уровня 2 (PRINTER_INFO_2) структура, он выполняет OpenPrinter звоните на каждое удаленное соединение. Если удаленное соединение не работает, или удаленный сервер больше не существует, или удаленный принтер больше не существует, функция должна ждать истечения времени ожидания RPC и, следовательно, выход из строя OpenPrinter вызов. Это может занять некоторое время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...