Функция EngGetPrinterDriver (winddi.h)
Функция EngGetPrinterDriver извлекает данные драйвера для указанного принтера.
Синтаксис
ENGAPI BOOL EngGetPrinterDriver(
[in] HANDLE hPrinter,
[in, optional] LPWSTR pEnvironment,
[in] DWORD dwLevel,
[out, optional] BYTE *lpbDrvInfo,
[in] DWORD cbBuf,
[out] DWORD *pcbNeeded
);
Параметры
[in] hPrinter
Дескриптор на принтер, для которого должны быть получены данные драйвера.
[in, optional] pEnvironment
Указатель на строку, завершающуюся значением NULL, которая указывает среду. Например, "Windows NT x86" указывает операционную систему на основе NT, работающей на процессоре Intel. Если pEnvironment имеет значение NULL, используется текущая среда вызывающего драйвера и клиентского компьютера.
[in] dwLevel
Указывает версию структуры, на которую указывает lpbDrvInfo . Этот параметр должен иметь одно из следующих значений:
Значение | Значение |
---|---|
1 | GDI записывает в буфер структуру DRIVER_INFO_1, на которую указывает lpbDrvInfo . |
2 | GDI записывает в буфер структуру DRIVER_INFO_2, на которую указывает lpbDrvInfo . |
3 | GDI записывает в буфер структуру DRIVER_INFO_3, на которую указывает lpbDrvInfo . |
[out, optional] lpbDrvInfo
Указатель на буфер, в котором GDI помещает запрошенную структуру DRIVER_INFO_X .
[in] cbBuf
Указывает размер (в байтах) буфера, на который указывает lpbDrvInfo .
[out] pcbNeeded
Указатель на расположение памяти, в котором GDI помещает количество байтов, скопированных в буфер, в который указывает lpbDrvInfo на успешное выполнение, или количество байтов, необходимое, если cbBuf слишком мал.
Возвращаемое значение
EngGetPrinterDriver возвращает true при успешном выполнении; в противном случае он сообщает об ошибке и возвращает значение FALSE.
Комментарии
Библиотека DLL драйвера принтера может работать с несколькими файлами данных для поддержки различных моделей принтеров. Драйвер принтера вызывает EngGetPrinterDriver , чтобы определить, какой файл данных следует использовать. Например, отрисовщик Unidrv вызывает эту функцию для определения имени файла GPD , а драйвер postscript вызывает эту функцию для определения имени PPD-файла . Структуры DRIVER_INFO_2 и DRIVER_INFO_3 содержат полный путь и имя файла, указывающие расположение файла данных. Затем драйвер принтера может использовать возвращенный путь и имя файла для загрузки файла данных, вызвав EngLoadModule с путем и именем файла в качестве одного аргумента.
Структуры DRIVER_INFO_X описаны в документации по Microsoft Windows SDK.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows 2000 и более поздних версиях операционных систем Windows. |
Целевая платформа | Универсальное |
Верхняя часть | winddi.h (включая Winddi.h) |
Библиотека | Win32k.lib |
DLL | Win32k.sys |