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