PTGetPrintCapabilities 函数 (prntvpt.h)

检索格式化为符合 XML 打印架构的打印机功能。

语法

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

参数

[in] hProvider

要检索其打印功能的打开提供程序的句柄。 此句柄由 PTOpenProviderPTOpenProviderEx 函数返回。

[in] pPrintTicket

指向流的指针,其查找位置位于打印票证内容的开头。 此参数可以为 NULL。

pCapabilities

指向将写入打印功能的流的指针,从当前查找位置开始。

[out] pbstrErrorMessage

指向指定 pPrintTicket 的无效内容(如果有)的字符串的指针。 如果有效,则此值为 NULL

返回值

如果操作成功,则返回值S_OK。

如果 hProvider 在不同的线程中打开,则会E_INVALIDARG HRESULT

如果 pPrintTicket 不符合 打印架构 ,则会E_PRINTTICKET_FORMAT HRESULT

如果 pCapabilities 不符合 打印架构 ,则会E_PRINTCAPABILITIES_FORMAT HRESULT

如果 hProvider 在不同的线程中打开,则会E_INVALIDARG HRESULT

否则, HRESULT 中返回另一个错误代码。 有关 COM 错误代码的详细信息,请参阅错误处理

注解

注意 这是一个阻塞或同步函数,可能不会立即返回。 此函数返回的速度取决于运行时因素(例如网络状态、打印服务器配置和打印机驱动程序实现),这些因素在编写应用程序时难以预测。 从管理与用户界面交互的线程调用此函数可能会使应用程序看起来无响应。
 
hProvider 必须是在用于此函数的线程所在的同一线程中打开的句柄。

当值不为 NULL 时,打印机驱动程序使用 pPrintTicket 值 () ,以在驱动程序生成因当前设置而变化的打印机功能时创建设置。

函数返回时, pPrintTicket 的查找位置位于打印票证内容的末尾, pCapabilities 的查找位置位于流的末尾。 如果调用方对 pCapabilities 使用内存流,例如 CreateStreamOnHGlobal 创建的流,则调用方负责在读取数据之前重置查找位置。

如果函数返回时 pbstrErrorMessage为 NULL ,则调用方必须使用 SysFreeString 释放字符串。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 prntvpt.h
Library Prntvpt.lib
DLL Prntvpt.dll

另请参阅

打印架构

打印后台处理程序 API 函数

打印