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


Метод IPrintOemUni3::SetBandSize (prcomoem.h)

Метод IPrintOemUni3::SetBandSize можно использовать с принтерами с поддержкой Unidrv, чтобы указать требуемый размер полосы в выводе печати.

Синтаксис

HRESULT SetBandSize(
  [in] PDEVOBJ pdevobj,
  [in] INT     iFormat,
  [in] DWORD   dwPageWidthBytes,
  [in] DWORD   dwPageHeight,
  [in] DWORD   dwMaxHeight,
  [in] PDWORD  pdwRequiredHeight
);

Параметры

[in] pdevobj

Предоставленный вызывающим объектом указатель на структуру DEVOBJ .

[in] iFormat

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

Значение Значение
BMF_1BPP
Монохромный
BMF_4BPP
4 бита на пиксель
BMF_8BPP
8 бит на пиксель
BMF_16BPP
16 бит на пиксель
BMF_24BPP
24 бита на пиксель
BMF_32BPP
32 бита на пиксель
BMF_4RLE
4 бита на пиксель; Длина выполнения в кодировке
BMF_8RLE
8 бит на пиксель; Длина выполнения в кодировке

[in] dwPageWidthBytes

Предоставленное Unidrv значение, указывающее ширину области печати в байтах.

[in] dwPageHeight

Заданное Unidrv значение, указывающее высоту области печати в пикселях.

[in] dwMaxHeight

Заданное Unidrv значение, указывающее максимальную допустимую высоту области печати в пикселях.

[in] pdwRequiredHeight

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

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

Метод должен возвращать одно из следующих значений:

Код возврата Описание
S_OK
Операция успешно выполнена. См. примечание.
E_FAIL
Операция не удалась. См. примечание.
E_NOTIMPL
Unidrv должен вычислить размер полосы.

Комментарии

Этот метод доступен в Windows Vista и более поздних версиях.

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

Вы можете отключить операции чередовки с помощью Unidrv, задав для параметра dwPageHeight значение *pdwRequiredHeight, но следует учитывать влияние на производительность значения высоты, запрашиваемого подключаемым модулем отрисовки. Для отрисовки Unidrv требуется по крайней мере объем памяти, вычисляемый путем умножения dwPageWidthBytes на *pdwRequiredHeight. Если подключаемый модуль отрисовки поддерживает метод IPrintOemUni::D riverDMS и этот метод возвращает значение "S_OK", IPrintOemUni3::SetBandSize метод не вызывается.

Если этот метод определен и общий файл описания принтера (GPD) принтера указывает, что предварительный анализ отключен (файл GPD включает "*PreAnalysisOptions: 0"), Unidrv вызывает этот метод для вычисления размера полосы. Дополнительные сведения об атрибуте PreAnalysisOptions см. в разделе Инфраструктура preanalysis.

Если подключаемый модуль отрисовки поддерживает IPrintOemUni::D riverDMS и этот метод возвращает S_OK, IPrintOemUni3::SetBandSize метод не вызывается.

Требования

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