ConvertPrintTicketToDevModeThunk2 函数

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

将打印票证转换为 DEVMODE 结构。

语法

HRESULT ConvertPrintTicketToDevModeThunk2(
  _In_      HPTPROVIDER hProvider,
  _In_      BYTE        *pPrintTicket,
  _In_      ULONG       cbSize,
  _In_      INT         baseType,
  _In_      DWORD       scope,
  _Out_     BYTE        **ppDevmode,
  _Out_     ULONG       *pcbDevModeLength,
  _Out_opt_ BSTR        *errMsg
);

parameters

hProvider [in]

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

pPrintTicket [in]

包含要转换的打印票证的缓冲区。

cbSize [in]

在 pPrintTicket 中传递的缓冲区的大小(以字节为单位)。

baseType [in]

一个 值,该值指示在 pPrintTicket 未指定 DEVMODE 的每个可能设置时,是使用用户的默认 DEVMODE 还是打印队列的默认 DEVMODE 向输出 DEVMODE 提供值。 此参数的值必须是 EDefaultDevmodeType 枚举的成员,强制转换为 INT

scope [in]

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

ppDevmode [out]

新创建的 DEVMODE 的地址。 此函数调用 CoTaskMemAlloc 来分配此缓冲区。 不再需要缓冲区时,调用方必须通过调用 CoTaskMemFree 来释放缓冲区。

devModeLength [out]

ppDevmode 中返回的 DEVMODE 的大小(以字节为单位)。

errMsg [out, optional]

指向指定 pPrintTicket 中打印票证无效(如果有)的字符串的指针。 如果有效,则为 NULL。 如果函数返回时 errMsg 不为 NULL ,则调用方必须使用 SysFreeString 释放字符串。

返回值

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

要求

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

另请参阅

打印架构

PTConvertPrintTicketToDevMode

打印

打印后台处理程序 API 函数