Функция GetPrinterDriverPackagePath

Извлекает путь к указанному пакету драйвера принтера на сервере печати.

Синтаксис

HRESULT GetPrinterDriverPackagePath(
  _In_    LPCTSTR pszServer,
  _In_    LPCTSTR pszEnvironment,
  _In_    LPCTSTR pszLanguage,
  _In_    LPCTSTR pszPackageID,
  _Inout_ LPTSTR  pszDriverPackageCab,
  _In_    DWORD   cchDriverPackageCab,
  _Out_   LPDWORD pcchRequiredSize
);

Параметры

pszServer [in]

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

pszEnvironment [in]

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

pszLanguage [in]

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

pszPackageID [in]

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

pszDriverPackageCab [in, out]

Указатель на строку, завершающуюся нулевым значением, которая указывает путь к cab-файлу для пакета драйвера. Может иметь значение NULL. См. заметки.

cchDriverPackageCab [in]

Размер буфера pszDriverPackageCab (в символах). Может иметь значение NULL.

pcchRequiredSize [out]

Указатель на требуемый размер буфера pszDriverPackageCab .

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

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

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

Комментарии

Примечание

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

Чтобы получить значение для cchDriverPackageCab, вызовите функцию со значением NULL в качестве значения pszDriverPackageCab. Используйте значение, возвращаемое в pcchRequiredSize , в качестве значения cchDriverPackageCab , и вызовите функцию еще раз.

PszPackageID обычно получается из вызова GetCorePrinterDrivers.

Требования

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

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

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

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