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


Функция AddPrintProvidor

Важно!

6 июля 2021 г. в KB5005010 появился необязательный параметр конфигурации на основе реестра, ограничивающий доступ к этому API только администраторам. Этот параметр отключен по умолчанию.

10 августа 2021 г. KB5005652 изменяет значение этой конфигурации по умолчанию, чтобы требовать права администратора для установки новых драйверов принтера.

Функция AddPrintProvidor устанавливает локальный поставщик печати и связывает файлы конфигурации, данных и поставщика.

Синтаксис

BOOL AddPrintProvidor(
  _In_ LPTSTR pName,
  _In_ DWORD  Level,
  _In_ LPBYTE pProviderInfo
);

Параметры

pName [in]

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

Level [in]

Уровень структуры, на которую указывает pProviderInfo . Это может быть один из следующих вариантов.

Значение Значение
1
Функция использует структуру PROVIDOR_INFO_1 .
2
Функция использует структуру PROVIDOR_INFO_2 .

pProviderInfo [in]

Указатель на структуру поставщика печати, как указано в параметре Level.

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

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

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

Комментарии

Примечание

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

Прежде чем приложение вызовет функцию AddPrintProvidor , все файлы, необходимые поставщику, должны быть скопированы в каталог SYSTEM32.

Поставщик, добавленный AddPrintProvidor , может быть удален путем вызова Метода DeletePrintProvidor.

Требования

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

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

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

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

DeletePrintProvidor

PROVIDOR_INFO_1

PROVIDOR_INFO_2