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


Метод IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode (prcomoem.h)

Метод IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode преобразует билет печати в структуру DEVMODEW .

Синтаксис

HRESULT ConvertPrintTicketToDevMode(
  [in]      IXMLDOMDocument2 *pPrintTicket,
  [in]      ULONG            cbDevmode,
  [in, out] PDEVMODE         pDevmode,
  [in]      ULONG            cbDrvPrivateSize,
  [in]      PVOID            pPrivateDevmode
);

Параметры

[in] pPrintTicket

Указатель на входной билет печати.

[in] cbDevmode

Размер входной структуры DEVMODEW (в байтах). Этот размер включает как открытый, так и частный разделы структуры DEVMODEW.

[in, out] pDevmode

Указатель на входную структуру DEVMODEW. При возврате IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode частная структура DEVMODEW подключаемого модуля будет содержать сведения, полученные из билета печати.

[in] cbDrvPrivateSize

Размер частной структуры DEVMODEW подключаемого модуля (в байтах).

[in] pPrivateDevmode

Указатель на частную структуру DEVMODEW подключаемого модуля.

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

IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode должен возвращать S_OK, если операция выполнена успешно. В противном случае этот метод должен возвращать стандартный код ошибки COM.

Комментарии

Основной драйвер вызывает метод IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode , прежде чем выполнить часть преобразования билета печати в структуру DEVMODEW . В вызове этого метода основной драйвер передает входной билет печати, который полностью заполнен, и структуру DEVMODEW со значениями по умолчанию. При преобразовании подключаемый модуль должен отменить все изменения, внесенные в билет печати во время предыдущего преобразования из структуры DEVMODEW в билет печати. Если во время этого предыдущего преобразования подключаемый модуль переместил функцию из частного пространства имен в общедоступное пространство имен, подключаемый модуль должен восстановить функцию в частном пространстве имен в формате, подходящем для основного драйвера, то есть в формате, в котором основной драйвер ранее поместил функцию в билет печати, предоставленный подключаемому модулем в IPrintOemPrintTicketProvider: Метод ConvertDevModeToPrintTicket . Это восстановление необходимо для того, чтобы основной драйвер смог распознать функцию в билете печати и отразить его параметры в частной части структуры DEVMODEW основного драйвера, в то время как основной драйвер выполняет свою часть преобразования билета на печать в DEVMODEW .

Прежде чем система преобразует билет печати обратно в структуру DEVMODEW , она сначала загружает структуру DEVMODEW по умолчанию. Затем система вызывает метод IPrintOemPrintTicketProvider::BindPrinter поставщика. Затем этот метод должен считывать все поддерживаемые параметры из билета печати и заполнять эти параметры в структуре DEVMODEW. Обратите внимание, что не все функции обязательно будут представлены, и часто имеющиеся экземпляры Option могут содержать не все экземпляры оцененного свойства, которые обычно заполняет поставщик. Если поставщик вносит какие-либо изменения в параметры, которые заполняются системой во время преобразования из билета печати в DEVMODEW, поставщик должен выполнить обратное изменение в методе IPrintOemPrintTicketProvider::ConvertPrintTicketToDevMode . После возврата поставщика система перезаписывает все общедоступные параметры DEVMODEW, представленные в билете печати, но не отключенные поставщиком явным образом.

Требования

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

См. также раздел

IPrintOemPrintTicketProvider

IPrintOemPrintTicketProvider::ConvertDevModeToPrintTicket