Что означает код ошибки Windows 1802 (ERROR_PRINTER_ALREADY_EXISTS)?

 
Предыдущий Следующий
ERROR_INVALID_PRINTER_NAME ERROR_INVALID_PRINTER_COMMAND

ERROR_PRINTER_ALREADY_EXISTS

AddPrinter создаёт объект принтера в подсистеме печати целевого сервера. Microsoft документирует, что вызов обычно завершается ошибкой, если объект с тем же именем уже существует. Особый случай предусмотрен для принтера, помеченного как ожидающий удаления: параметры создания тогда могут обновить существующий объект.

Это делает ошибку проблемой конфигурации и времени жизни объекта, а не признаком двукратного обнаружения физического принтера. Код развёртывания должен сравнить существующую очередь с требуемым состоянием и решить, следует ли её использовать, обновить, переименовать или удалить.

Согласуйте состояние вместо циклических повторов

  • Перечислите существующий принтер и получите его драйвер, порт, процессор печати, атрибуты и конфигурацию общей папки.
  • Проверьте, не создал ли очередь параллельно другой установщик или администратор.
  • Если удаление выполнялось непосредственно перед пересозданием, запишите состояние ожидания удаления и заданий в очереди.
  • Для поддерживаемых обновлений используйте SetPrinter вместо повторных вызовов AddPrinter с тем же именем объекта.

Microsoft: поведение AddPrinter · SetPrinter · Администрирование принтеров Samba через RPC spoolss


Нужно найти другой код? Найти другой код состояния или ошибки.