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


Функция EnumPrintProcessorDatatypesA (winspool.h)

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

Синтаксис

BOOL EnumPrintProcessorDatatypesA(
  [in, optional]  LPSTR   pName,
  [in]            LPSTR   pPrintProcessorName,
                  DWORD   Level,
  [out, optional] LPBYTE  pDatatypes,
                  DWORD   cbBuf,
  [out]           LPDWORD pcbNeeded,
  [out]           LPDWORD pcReturned
);

Параметры

[in, optional] pName

Предоставленный вызывающим оператором указатель на строку, представляющую имя сервера, на котором установлен обработчик печати. Если значение РАВНО NULL, сервер является локальной системой.

[in] pPrintProcessorName

Предоставленный вызывающим абонентом указатель на строку, представляющую имя процессора печати.

Level

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

[out, optional] pDatatypes

Предоставленный вызывающим объектом указатель на буфер для получения массива DATATYPES_INFO_1 структур, за которым следует набор символьных строк, представляющих имена типов данных. Структура DATATYPES_INFO_1 описана в документации по Microsoft Windows SDK. Элемент структуры pName должен иметь тип LPWSTR.

cbBuf

Предоставленное вызывающим объектом значение, представляющее размер (в байтах) буфера, на который указывают pDatatypes.

[out] pcbNeeded

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

[out] pcReturned

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

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

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

Комментарии

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

Функция должна возвращать массив DATATYPES_INFO_1 структур, каждая из которых указывает на строку, представляющую тип данных. Фактические строки также должны быть включены в буфер после массива структуры. Пример см. в разделе Пример обработчика печати .

Функция должна возвращать количество возвращаемых DATATYPES_INFO_1 структур (т. е. количество поддерживаемых типов данных) в расположении, на которое указывает pcReturned.

Функция должна возвращать минимальный необходимый размер буфера в расположении, на которое указывает pcbNeeded. Если предоставленный буфер слишком мал, функция должна указать значение для pcbNeeded, задать для кода ошибки значение ERROR_INSUFFICIENT_BUFFER и вернуть значение FALSE.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть winspool.h (включая Winspool.h)