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

 
Предыдущий Следующий
ERROR_INVALID_PRIORITY ERROR_PRINTER_ALREADY_EXISTS

ERROR_INVALID_PRINTER_NAME

API Winspool используют имена принтеров для разных целей: локального объекта принтера, подключения к удалённому принтеру или принтера, опубликованного сервером печати. Строка, правдоподобно выглядящая в пользовательском интерфейсе, не обязательно допустима для API и серверного контекста, которые её получают.

При создании очереди AddPrinter берёт имя принтера из PRINTER_INFO_2 и создаёт этот объект на сервере, отдельно указанном параметром pName. Удалённое администрирование добавляет ещё один уровень, поскольку запрос передаётся серверу печати через протокол печати.

Запишите неизменённое имя

  • До сокращения отображаемого имени запишите точное UTF-16-имя принтера и аргумент сервера.
  • Отличайте имя очереди от имени общей папки, порта и драйвера; это отдельные поля PRINTER_INFO_2.
  • Если ошибка возникает удалённо, проверьте перечисление принтеров на том же сервере, а не преобразовывайте имя в предполагаемый UNC-путь.
  • Сравните ошибочное значение с именами, возвращаемыми EnumPrinters или удалённым сервером печати.

Требования AddPrinter и PRINTER_INFO_2 · Функции API диспетчера очереди печати · Обзор MS-RPRN


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