Метод 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
Целочисленное значение, указывающее формат растрового изображения с точки зрения количества битов цветовой информации на пиксель, необходимых. Этот параметр может быть одним из следующих значений.
[in] dwPageWidthBytes
Предоставленное Юнидрвом значение, указывающее ширину области печати в байтах.
[in] dwPageHeight
Предоставленное Юнидрвом значение, указывающее высоту области печати в пикселях.
[in] dwMaxHeight
Предоставленное Юнидрвом значение, указывающее максимальную допустимую высоту области печати в пикселях.
[in] pdwRequiredHeight
Вызывающий указатель на DWORD, содержащий высоту области печати в пикселях, необходимую подключаемым модулем отрисовки.
Возвращаемое значение
Метод должен возвращать одно из следующих значений:
Возвращаемый код | Описание |
---|---|
|
Операция завершилась успешно. См. примечание. |
|
Сбой операции. См. примечание. |
|
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) |