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


Метод IPrintOemUni::D ownloadCharGlyph (prcomoem.h)

Метод IPrintOemUni::DownloadCharGlyph позволяет подключаемым модулям отрисовки для Unidrv отправлять глиф символов для указанного мягкого шрифта на принтер.

Синтаксис

HRESULT DownloadCharGlyph(
        PDEVOBJ     pdevobj,
        PUNIFONTOBJ pUFObj,
        HGLYPH      hGlyph,
        PDWORD      pdwWidth,
  [out] OUT DWORD   *pdwResult
);

Параметры

pdevobj

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

pUFObj

Указатель на структуру UNIFONTOBJ , предоставленный вызывающим абонентом.

hGlyph

Дескриптор глифа, предоставленный вызывающим абонентом.

pdwWidth

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

[out] pdwResult

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

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

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

Код возврата Описание
S_OK
Операция успешно выполнена.
E_FAIL
Сбой операции
E_NOTIMPL
Метод не реализован.

Комментарии

Метод IPrintOemUni::DownloadCharGlyph используется для поддержки мягких шрифтов на принтерах, которые не принимают команды PCL . Его цель — включить подключаемый модуль отрисовки для отправки глифа символов на принтер.

Если подключаемый модуль отрисовки IPrintOemUni::DownloadCharGlyph реализует метод , Unidrv вызывает метод сразу после отправки командной строки, указанной в командной записи CmdSetCharCode, которая содержится в файле GPD принтера. (Файлы GPD описаны в статье Microsoft Universal Printer Driver.) Метод должен выполнять следующие действия:

  • Вызовите функцию UNIFONTOBJ_GetInfo , чтобы получить изображение глифа, заданное hGlyph.
  • Вызовите метод IPrintOemDriverUni::D rvWriteSpoolBuf , чтобы отправить глиф на принтер.
  • Снова вызовите функцию UNIFONTOBJ_GetInfo , чтобы получить ширину глифа, а затем сохраните ширину в адресе, на который указывает pdwWidth.
  • Возвращает объем памяти принтера, необходимый для хранения глифа, поместив его в расположение, указанное в pdwResult.
Метод IPrintOemUni::DownloadCharGlyph является необязательным. Если подключаемый модуль отрисовки реализует этот метод, метод IPrintOemUni::GetImplementedMethod должен возвращать S_OK при получении в качестве входных данных DownloadCharGlyph.

При реализации IPrintOemUni::DownloadCharGlyph метода необходимо также реализовать метод IPrintOemUni::D ownloadFontHeader .

Дополнительные сведения см. в разделе Управление настраиваемыми шрифтами.

Требования

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