Функция DeletePrinter

Функция DeletePrinter удаляет указанный объект принтера.

Синтаксис

BOOL DeletePrinter(
  _Inout_ HANDLE hPrinter
);

Параметры

hPrinter [вход, выход]

Обработка объекта принтера, который будет удален. Используйте функцию OpenPrinter или AddPrinter , чтобы получить дескриптор принтера.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение будет ненулевым.

Если функция выполняется неудачно, возвращается нулевое значение.

Комментарии

Примечание

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

Если для указанного принтера осталось обработать задания печати, DeletePrinter помечает принтер как ожидающий удаления, а затем удаляет его после печати всех заданий печати. Задания печати не могут быть добавлены на принтер, помеченный для ожидающего удаления.

Принтер, помеченный как ожидающий удаления, не может быть удержан, но его задания печати могут быть удержаны, возобновлены и перезапущены. Если принтер удерживается и есть задания для принтера, метод DeletePrinter завершается сбоем с ERROR_ACCESS_DENIED.

Обратите внимание, что DeletePrinter не закрывает переданный ему дескриптор. Таким образом, приложение по-прежнему должно вызывать ClosePrinter.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Winspool.h (включая Windows.h)
Библиотека
Winspool.lib
DLL
Spoolss.dll

См. также раздел

Вывод на печать

Функции API очереди печати принтера

AddPrinter

EnumPrinters

OpenPrinter