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


Метод 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

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

[in] dwPageHeight

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

[in] dwMaxHeight

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

[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 (include Prcomoem.h)