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


Функция EnumPrintProcessorDatatypes

Функция EnumPrintProcessorDatatypes перечисляет типы данных, поддерживаемые указанным обработчиком печати.

Синтаксис

BOOL EnumPrintProcessorDatatypes(
  _In_  LPTSTR  pName,
  _In_  LPTSTR  pPrintProcessorName,
  _In_  DWORD   Level,
  _Out_ LPBYTE  pDatatypes,
  _In_  DWORD   cbBuf,
  _Out_ LPDWORD pcbNeeded,
  _Out_ LPDWORD pcReturned
);

Параметры

pName [in]

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

pPrintProcessorName [in]

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

Level [in]

Тип сведений, возвращаемых в буфере pDatatypes . Этот параметр должен иметь значение 1.

pDatatypes [out]

Указатель на буфер, получающий массив DATATYPES_INFO_1 структур. Каждая структура описывает доступный тип данных. Буфер должен быть достаточно большим для получения массива структур и любых строк или других данных, на которые указывают элементы структуры.

Чтобы определить требуемый размер буфера, вызовите EnumPrintProcessorDatatypes с параметром cbBuf , равным нулю. EnumPrintProcessorDatatypes завершается сбоем, GetLastError возвращает ERROR_INSUFFICIENT_BUFFER, а параметр pcbNeeded возвращает размер буфера в байтах, необходимого для хранения массива структур и их данных.

cbBuf [in]

Размер (в байтах) буфера, на который указывают pDatatypes.

pcbNeeded [ out]

Указатель на переменную, которая получает количество байтов, скопированных в буфер pDatatypes при успешном выполнении функции. Если буфер слишком мал, функция завершается сбоем, и переменная получает необходимое количество байтов.

pcReturned [out]

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

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

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

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

Комментарии

Примечание

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

v

Начиная с Windows Vista сведения о типе данных с удаленных серверов печати извлекаются из локального кэша.

Требования

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

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

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

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

DATATYPES_INFO_1

EnumPrintProcessors