MergeAndValidatePrintTicketThunk2 函数

[此函数不受支持,可能在 Windows 的未来版本中被禁用或删除。 PTMergeAndValidatePrintTicket 提供等效的功能,应改为使用。]

合并两个打印票证并返回一个有效且可行的打印票证。

语法

HRESULT MergeAndValidatePrintTicketThunk2(
  _In_      HPTPROVIDER hProvider,
  _In_      BYTE        *pBasePrintTicket,
  _In_      INT         basePrintTicketLength,
  _In_opt_  BYTE        *pDeltaPrintTicket,
  _In_      INT         deltaPrintTicketLength,
  _In_      DWORD       scope,
  _Out_     BYTE        **ppValidatedPrintTicket,
  _Out_     INT         *pValidatedPrintTicketLength,
  _Out_opt_ BSTR        *pbstrErrorMessage
);

参数

hProvider [in]

打开的打印票证提供程序的句柄。 此句柄由 BindPTProviderThunk 函数返回。

pBasePrintTicket [in]

包含基本打印票证数据的缓冲区,用 XML 表示,如 打印架构中所述。

basePrintTicketLength [in]

pBasePrintTicket 引用的缓冲区的大小(以字节为单位)。

pDeltaPrintTicket [in, 可选]

包含要合并的打印票证的缓冲区。 打印票证数据以 XML 表示,如 打印架构中所述。 此参数的值可以为 NULL

deltaPrintTicketLength [in]

pDeltaPrintTicket 引用的缓冲区的大小(以字节为单位)。

scope [in]

该值指定 pDeltaPrintTicketppValidatedPrintTicket 的范围是单个页面、整个文档还是打印作业中的所有文档。 此参数的值必须是 EPrintTicketScope 枚举的成员,强制转换为 DWORD

ppValidatedPrintTicket [out]

包含合并和验证的打印票证的缓冲区地址。 此函数调用 CoTaskMemAlloc 来分配此缓冲区。 当不再需要缓冲区时,调用方必须通过调用 CoTaskMemFree 来释放缓冲区。

pValidatedPrintTicketLength [out]

ppValidatedPrintTicket 引用的缓冲区的大小(以字节为单位)。

pbstrErrorMessage [out, optional]

指向字符串的指针,该字符串指定 pBasePrintTicketpDeltaPrintTicket 中的打印票证无效(如果有的话)。 如果它们都有效,则此值为 NULL。 如果 pbstrErrorMessage 在函数返回时不 为 NULL ,则调用方必须使用 SysFreeString 释放字符串。

返回值

如果 方法成功,则返回 S_OK;否则,它将返回 HRESULT 错误代码。 有关 COM 错误代码的详细信息,请参阅 错误处理

要求

要求
最低受支持的客户端
Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
DLL
Prntvpt.dll

另请参阅

打印架构

PTMergeAndValidatePrintTicket

打印

打印后台处理程序 API 函数