Поделиться через


Функция DeletePrinterDriver

Функция DeletePrinterDriver удаляет указанное имя драйвера принтера из списка поддерживаемых драйверов на сервере.

Чтобы удалить файлы, связанные с драйвером, помимо удаления указанного имени драйвера принтера из списка поддерживаемых драйверов для сервера, используйте функцию DeletePrinterDriverEx .

DeletePrinterDriver удаляет драйвер, только если для указанной среды не используется ни его версия. DeletePrinterDriverEx может удалять определенные версии драйвера.

Синтаксис

BOOL DeletePrinterDriver(
  _In_ LPTSTR pName,
  _In_ LPTSTR pEnvironment,
  _In_ LPTSTR pDriverName
);

Параметры

pName [in]

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

pEnvironment [in]

Указатель на строку, завершающуюся значением NULL, которая указывает среду, из которой должен быть удален драйвер (например, Windows x86, Windows IA64 или Windows x64). Если этот параметр имеет значение NULL, имя драйвера удаляется из текущей среды вызывающего приложения и клиентского компьютера (не целевого приложения и сервера печати).

pDriverName [in]

Указатель на строку с пустым завершением, указывающую имя драйвера, который следует удалить.

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

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

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

Комментарии

Примечание

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

Вызывающий объект должен иметь SeLoadDriverPrivilege.

Функция DeletePrinterDriver не удаляет связанные файлы, а просто удаляет имя драйвера из списка, возвращаемого функцией EnumPrinterDrivers .

Перед вызовом DeletePrinterDriver необходимо удалить все объекты принтера, использующие драйвер принтера.

Требования

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

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

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

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

DeletePrinterDriverEx

EnumPrinterDrivers