Функция UploadPrinterDriverPackage

Передает драйвер принтера в хранилище драйверов сервера печати, чтобы его можно было установить, вызвав Метод InstallPrinterDriverFromPackage.

Синтаксис

HRESULT UploadPrinterDriverPackage(
  _In_    LPCTSTR pszServer,
  _In_    LPCTSTR pszInfPath,
  _In_    LPCTSTR pszEnvironment,
  _In_    DWORD   dwFlags,
  _In_    HWND    hwnd,
  _Out_   LPTSTR  pszDestInfPath,
  _Inout_ PULONG  pcchDestInfPath
);

Параметры

pszServer [in]

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

pszInfPath [in]

Указатель на константную строку со значением NULL, указывающую исходный путь к INF-файлу драйвера.

pszEnvironment [in]

Указатель на константную строку с завершением NULL, которая указывает архитектуру процессора сервера (например, Windows NT x86). Это может быть значение NULL.

dwFlags [in]

Это может быть любое из следующих значений:

Значение Значение
UPDP_SILENT_UPLOAD
Пользовательский интерфейс не будет отображаться во время отправки.
UPDP_UPLOAD_ALWAYS
Файлы будут отправлены, даже если пакет уже находится в хранилище драйверов сервера.
UPDP_CHECK_DRIVERSTORE
Хранилище драйверов сервера будет проверено перед отправкой, чтобы узнать, есть ли пакет. Этот параметр игнорируется, если задано UPDP_UPLOAD_ALWAYS.

hwnd [in]

Дескриптор для пользовательского интерфейса копирования.

pszDestInfPath [out]

Указатель на целевой путь в хранилище драйверов, в который был скопирован INF-файл драйвера.

pcchDestInfPath [in, out]

На входных данных указывает размер буфера pszDestInfPath (в символах). В выходных данных получает размер строки пути в символах, включая завершающий символ NULL.

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

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

Дополнительные сведения о кодах ошибок COM см. в разделе Обработка ошибок.

Комментарии

Примечание

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

Хранилище драйверов обычно имеет значение %windir%\inf или %windir%\System32\DriverStore\FileRepository.

Одновременно можно отправить только один пакет. Если пакет зависит от других, он должен отправляться отдельно.

Можно отправлять только подписанные пакеты драйверов.

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2008 [только классические приложения]
Заголовок
Winspool.h (включая Windows.h)
Библиотека
Winspool.lib
DLL
Spoolss.dll
Имя в кодировке Юникод и ANSI
UploadPrinterDriverPackageW (Юникод) и UploadPrinterDriverPackageA (ANSI)

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

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

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