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


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

Извлекает возможности принтера, отформатированные в соответствии со схемой печати XML.

Синтаксис

HRESULT PTGetPrintCapabilities(
  [in]  HPTPROVIDER hProvider,
  [in]  IStream     *pPrintTicket,
        IStream     *pCapabilities,
  [out] BSTR        *pbstrErrorMessage
);

Параметры

[in] hProvider

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

[in] pPrintTicket

Указатель на поток с позицией поиска в начале содержимого билета на печать. Этот параметр может принимать значение NULL.

pCapabilities

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

[out] pbstrErrorMessage

Указатель на строку, указывающую, что является недопустимым в pPrintTicket. Если это допустимо, это значение равно NULL.

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

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

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

Если pPrintTicket не соответствует схеме печати , hrESULT E_PRINTTICKET_FORMAT.

Если pCapabilities не соответствует схеме печати , HRESULT E_PRINTCAPABILITIES_FORMAT.

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

В противном случае в HRESULT возвращается другой код ошибки. Дополнительные сведения о кодах ошибок COM см. в разделе Обработка ошибок.

Комментарии

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

Драйвер принтера использует значения pPrintTicket (если значение не равно NULL) для создания параметров, когда драйвер создает возможности принтера, которые зависят от текущих параметров.

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

Если функция pbstrErrorMessage не имеет значение NULL , вызывающий объект должен освободить строку с помощью SysFreeString.

Требования

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

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

Схема печати

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

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