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