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


Функция GetPrintProcessorCapabilities (winsplp.h)

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

Синтаксис

DWORD GetPrintProcessorCapabilities(
  [in]  LPTSTR  pValueName,
  [in]  DWORD   dwAttributes,
  [out] LPBYTE  pData,
  [in]  DWORD   nSize,
  [out] LPDWORD pcbNeeded
);

Параметры

[in] pValueName

Вызывающий указатель на строку, представляющую тип данных, поддерживаемый обработчиком печати. Указатель строки должен иметь тип LPWSTR.

[in] dwAttributes

Флаги атрибутов, предоставленных вызывающим абонентом. Обратитесь к элементу атрибутов структур PRINTER_INFO_x.

[out] pData

Вызывающий указатель на структуру PRINTPROCESSOR_CAPS_1 или PRINTPROCESSOR_CAPS_2.

[in] nSize

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

Если значение меньше размера (PRINTPROCESSOR_CAPS_1), эта функция должна указать значение, равное sizeof(PRINTPROCESSOR_CAPS_1) или sizeof(PRINTPROCESSOR_CAPS_2), в зависимости от того, какая структура поддерживается обработчиком печати.

Если значение меньше размера (PRINTPROCESSOR_CAPS_1), обработчик печати winprint предоставит значение sizeof(PRINTPROCESSOR_CAPS_2).

[out] pcbNeeded

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

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

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

Замечания

При необходимости процессоры печати могут экспортировать функцию GetPrintProcessorCapabilities. Цель функции — вернуть заполненную PRINTPROCESSOR_CAPS_1 или PRINTPROCESSOR_CAPS_2 структуру для каждого входного типа данных, который поддерживает обработчик печати.

Spooler вызывает функцию обработчика печати GetPrintProcessorCapabilities, когда приложение вызывает GetPrinterData, указывая имя значения с форматом PrintProcCaps_типа данных, где тип данных является именем входного типа данных. Перед вызовом GetPrintProcessorCapabilities spooler удаляет префикс PrintProcCaps_ из строки имени значения.

Функция должна определить, достаточно ли размер полученного буфера и, если он есть, должен ли он быть заполнен PRINTPROCESSOR_CAPS_1 или PRINTPROCESSOR_CAPS_2 структуре и возврате. Значение nSize определяет, будут ли использоваться PRINTPROCESSOR_CAPS_1 или PRINTPROCESSOR_CAPS_2.

Функция всегда должна использовать расположение, на которое указывает pcbNeed, чтобы вернуть требуемый размер буфера, если фактический буфер достаточно велик.

Указанное возвращаемое значение становится возвращаемым значением, которое предоставляет средство spooler для GetPrinterData.

Требования

Требование Ценность
целевая платформа Настольный
заголовка winsplp.h (include Winsplp.h)