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


Функция PTConvertDevModeToPrintTicket (prntvpt.h)

Преобразует структуру DEVMODE в билет печати внутри IStream.

Синтаксис

HRESULT PTConvertDevModeToPrintTicket(
  [in] HPTPROVIDER       hProvider,
       ULONG             cbDevmode,
  [in] PDEVMODE          pDevmode,
  [in] EPrintTicketScope scope,
       IStream           *pPrintTicket
);

Параметры

[in] hProvider

Дескриптор для открытого поставщика билетов на печать. Этот дескриптор возвращается функцией PTOpenProvider или PTOpenProviderEx .

cbDevmode

Размер DEVMODE в байтах.

[in] pDevmode

Указатель на DEVMODE.

[in] scope

Значение типа , указывающее область pPrintTicket. Это значение может указывать одну страницу, весь документ или все документы в задании печати. Параметры в pDevmode, которые находятся за пределами указанного область, не будут включены в pPrintTicket. См. заметки.

pPrintTicket

Указатель на IStream с позицией поиска в начале печатного билета.

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

Если операция выполнена успешно, возвращаемое значение S_OK, в противном случае HRESULT содержит код ошибки.

Если hProvider был открыт в другом потоке, HRESULT E_INVALIDARG.

Дополнительные сведения о кодах ошибок COM см. в разделе Обработка ошибок.

Комментарии

Примечание Это блокирующая или синхронная функция, возвращаемая не сразу. Скорость возврата этой функции зависит от факторов времени выполнения, таких как состояние сети, конфигурация сервера печати и реализация драйвера принтера, которые трудно предсказать при написании приложения. Вызов этой функции из потока, который управляет взаимодействием с пользовательским интерфейсом, может привести к тому, что приложение не отвечает.
 
hProvider должен быть дескриптором, который был открыт в том же потоке, что и поток, в котором он используется для этой функции.

Если pDevmode указывает на другой принтер, его параметры могут быть потеряны и заменены значениями по умолчанию.

Параметры в pDevmode, которые находятся за пределами область, не включены в pPrintTicket. Например, если область является одной страницей, параметры на уровне задания и параметры на уровне документа не включаются. Область задания включает область документов и область страниц. Документ область включает область страницы.

PTConvertDevModeToPrintTicket записывает билет печати в IStream , на который ссылается pPrintTicket , начиная с текущей точки поиска потока. После возврата PTConvertDevModeToPrintTicket вызывающий объект должен сбросить точку поиска до начальной точки поиска, чтобы прочитать билет печати, возвращенный функцией.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header prntvpt.h
Библиотека Prntvpt.lib
DLL Prntvpt.dll

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

Схема печати

Функции API очереди печати принтера

Вывод на печать