Функция EngSetPrinterData (winddi.h)
Функция EngSetPrinterData устарела в Windows 2000 и более поздних версиях.
В более ранних версиях Windows EngSetPrinterData задает данные конфигурации для указанного принтера.
Синтаксис
ENGAPI DWORD EngSetPrinterData(
[in] HANDLE hPrinter,
[in] LPWSTR pType,
[in] DWORD dwType,
[in] LPBYTE lpbPrinterData,
[in] DWORD cjPrinterData
);
Параметры
[in] hPrinter
Дескриптор принтера, для которого должны быть заданы данные конфигурации. Это дескриптор, который передается в качестве параметра hDriverdrvEnablePDEV. См. Примечания.
[in] pType
Указатель на строку, завершающуюся нулевым значением, идентифицирующее заданные данные.
[in] dwType
Флаг, указывающий тип устанавливаемых сведений. Этот параметр может иметь одно из следующих значений:
Значение | Значение |
---|---|
REG_BINARY | Двоичные данные в любой форме. |
REG_DWORD | 32-разрядное число. |
REG_DWORD_BIG_ENDIAN | 32-разрядное число в формате big-endian, то есть наиболее значимым байтом слова является байт нижнего порядка. |
REG_DWORD_LITTLE_ENDIAN | 32-разрядное число в малоиджанском формате (то же, что и REG_DWORD). Это означает, что наиболее значимым байтом слова является байт высокого порядка. |
REG_EXPAND_SZ | Строка, завершающаяся нулевым значением, которая содержит нерасширенные ссылки на переменные среды (например, "%PATH%"). Это будет строка Юникода или ANSI в зависимости от того, используются ли функции Юникода или ANSI. |
REG_LINK | Символьная ссылка в Юникоде. |
REG_MULTI_SZ | Массив заканчивающихся нулем строк, завершаемый двумя символами NULL. |
REG_NONE | Нет определенного типа значения. |
REG_RESOURCE_LIST | Список ресурсов драйвера устройства. |
REG_SZ | Строка с нулевым символом в конце. Это будет строка Юникода или ANSI в зависимости от того, используются ли функции Юникод или ANSI. |
[in] lpbPrinterData
Указатель на данные конфигурации принтера, которые необходимо задать. Тип данных, на которые указывает , определяется dwType.
[in] cjPrinterData
Указывает размер lpbPrinterData в байтах.
Возвращаемое значение
EngSetPrinterData возвращает последнее зарегистрированное сообщение об ошибке.
Комментарии
Начиная с Microsoft Windows 2000 эта функция устарела. Дескрипторы, используемые в вызовах функций EngSetPrinterData и DrvEnablePDEV , имеют разные права доступа; поэтому эти функции больше не работают вместе. Параметр hDriver, используемый в вызовах функции DrvEnablePDEV , открывается с правом доступа PRINTER_ACCESS_USE. Напротив, параметр hPrinter, используемый в вызовах функции EngSetPrinterData , должен быть открыт с правом доступа PRINTER_ALL_ACCESS. В результате драйвер принтера в режиме ядра (единственный тип драйвера принтера, который может вызывать EngSetPrinterData) не может использовать EngSetPrinterData для записи сведений о принтере в реестр.
Дополнительные сведения о правах доступа к принтеру см. в разделе структура PRINTER_DEFAULTS (описана в документации по Пакету SDK для Windows).
Требования
Минимальная версия клиента | Доступно в Windows 2000 и более поздних версиях операционных систем Windows. |
Целевая платформа | Универсальное |
Верхняя часть | winddi.h (включая Winddi.h) |
Библиотека | Win32k.lib |
DLL | Win32k.sys |