Функция AddPrinterDriver
Функция AddPrinterDriver устанавливает локальный или удаленный драйвер принтера и связывает файлы конфигурации, данных и драйверов.
Для повышения гибкости при установке или обновлении драйверов принтера используйте функцию AddPrinterDriverEx , так как она позволяет выполнять строгое обновление, строгую пониженную версию, копирование только новых файлов и копирование всех файлов (независимо от меток времени файла).
Примечание
Установка драйвера принтера без пакета драйверов больше не рекомендуется. Вместо этого используйте InstallPrinterDriverFromPackage .
Синтаксис
BOOL AddPrinterDriver(
_In_ LPTSTR pName,
_In_ DWORD Level,
_In_ LPBYTE pDriverInfo
);
Параметры
-
pName [in]
-
Указатель на строку, завершающуюся значением NULL, которая указывает имя сервера, на котором должен быть установлен драйвер.
Если pName имеет значение NULL, драйвер будет установлен локально.
-
Level [in]
-
Версия структуры, на которую указывает pDriverInfo .
Это значение может быть равно 2, 3, 4, 6 или 8.
-
pDriverInfo [in]
-
Указатель на структуру, содержащую сведения о драйвере принтера. Это зависит от значения параметра Level.
Значение Структура диска принтера 2 DRIVER_INFO_2 3 DRIVER_INFO_3 4 DRIVER_INFO_4 6 DRIVER_INFO_6 8 DRIVER_INFO_8 Если элемент pEnvironment структуры, на который указывает pDriverInfo , имеет значение NULL, используется текущая среда вызывающего объекта или клиента (не назначения или сервера).
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет ненулевым.
Если функция выполняется неудачно, возвращается нулевое значение.
Комментарии
Примечание
Это блокирующая или синхронная функция, возвращаемая не сразу. Скорость возврата этой функции зависит от факторов времени выполнения, таких как состояние сети, конфигурация сервера печати и факторы реализации драйвера принтера, которые трудно предсказать при написании приложения. Вызов этой функции из потока, который управляет взаимодействием с пользовательским интерфейсом, может привести к тому, что приложение не отвечает.
Вызывающий объект должен иметь SeLoadDriverPrivilege.
Прежде чем приложение вызовет функцию AddPrinterDriver , все файлы, необходимые драйверу, должны быть скопированы в каталог драйвера принтера системы. Приложение может получить имя этого каталога, вызвав функцию GetPrinterDriverDirectory .
Приложение может определить, какие драйверы принтера установлены в данный момент, вызвав функцию EnumPrinterDrivers .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|
Имя в кодировке Юникод и ANSI |
AddPrinterDriverW (Юникод) и AddPrinterDriverA (ANSI) |