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


Функция 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.

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

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

[out] pcbNeeded

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

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

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

Комментарии

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

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

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

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

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

Требования

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