参数类型和描述
- char cShortSessionID
- 表示空间短会话标识。
- const PRINTINFO * const pPrintInfo
- 指向 PRINTINFO 结构的指针,其中提到了打印机设置。
- nFlags
- 表示结构中哪些成员有效的位标志组合。这些标志可以单独使用,也可以通过将它们通过 OR 组合在一起来恢复属性页面来使用(在 PCSAPI32.H 中定义)。这些标志以及结构中相应的有效成员如下所示:
- 表示
- 结构中的有效成员
- PCS_PRINT_PDT
- bPDTMode, lpPDTFile
- PCS_PRINT_PRINTMODE
- nPrtMode、lpPrtToDskAppFile、lpPrtToDskSepFile、lpPrinterName
- PCS_PRINT_PROMPT_DIALOG
- bPromptDialog
- nBufSize
- 必须设置为 0。这将被忽略。
- nSizeNeeded
- 必须设置为 0。这将被忽略。
- bPromptDialog
- 有效值如下:
- 如果为 TRUE,则在打印前显示“打印机设置”对话框。
- 如果为 FALSE,则在打印前不会显示“打印机设置”对话框。
- bPDTMode
- 有效值如下:
- 如果为 TRUE,则将连接设置为 PDT 方式。
- 如果为 FALSE,则将连接设置为非 PDT 方式(GDI 方式)。
- lpPDTFile
- 仅在将 bPDTMode 设置为 TRUE 时使用。如果将 bPDTMode 设置为 FALSE,将忽略此项。这是一个以 null 结束的字符串,包含 PDT 文件的名称,必须是以下一项:
- NULL
使用连接中当前配置的 PDT 文件。如果连接中尚未配置 PDT 文件,则 API 将失败并出现异常。
- 文件名,不带路径
使用 Z and I Emulator for Windows 安装路径中 PDFPDT 子文件夹中的 lpPDTFile。
- 文件的全限定路径名
如果 lpPDTFile 不存在,API 将失败。
- NULL
- nPrtMode
- 这是指示连接的 PrintMode 的枚举值。枚举数据类型 PRINTMODE 在 PCSAPI32.H 中定义。nPrtMode 设置必须是以下一项:
- PrtToDskAppend(打印到磁盘 - 附加方式)
这相当于在主机会话的打印机设置 → 打印机 → 打印到磁盘对话框中选择追加选项。
- PrtToDskSeparate(打印到磁盘 - 单独方式)
这相当于在主机会话的打印机设置 → 打印机 → 打印到磁盘对话框中选择单独选项。
- WinDefaultPrinter(Windows 缺省打印机方式)
这相当于在主机会话打印机设置对话框中选择使用 Windows 缺省打印机选项。
- SpecificPrinter(特定打印机方式)
这相当于在主机会话打印机设置对话框中选择打印机,而不选中使用 Windows 缺省打印机选项。
- PrtToDskAppend(打印到磁盘 - 附加方式)
- lpPrtToDskAppFile
- 仅当将 nPrtMode 设置为 PrtToDskAppend 时,才使用此项。这是一个以 null 结束的字符串,包含打印到磁盘 - 附加文件的名称,必须是以下一项:
- NULL
使用当前为连接中的 PrtToDskAppend 方式配置的文件。如果连接中尚未配置 PDT 文件,则 API 将失败。
- 文件名,不带路径
用户类应用程序数据目录路径用于查找文件。如果此文件存在,则使用此文件。否则,将在打印完成时创建此文件。
- 文件的全限定路径名
目录必须存在于路径中,否则 API 将失败。文件不需要存在于路径中。
- NULL
- lpPrtToDskSepFile
- 可能的值为如下所示:
- 会话的打印到磁盘 - 单独文件的全限定路径名。
- 如果未为会话配置打印到磁盘 - 单独文件,则为空字符串 ("")。
- 缓冲区大小不足时截断的文件名。nSizeNeeded 成员包含所需缓冲区的大小。
- lpPrinterName
- 仅当将 nPrtMode 设置为 SpecificPrinter 时,才使用此项。否则,此项将被忽略。这是包含打印机名的以 null 结束的字符串。如果打印机不存在,此成员将失败。PrinterName 必须采用以下格式:
例如:<Printer name> on <Port Name>IBM InfoPrint 40 PS on Network PortHP LaserJet 4050 Series PCL 6 on LPT1
- ULONG * const pErrorInfo
- 当 API 失败且返回码为 PCS_FAILURE 时,这将填充扩展错误信息。如果不需要错误的详细信息,则调用方必须将 pErrorInfo 设置为 NULL。
下节介绍了在 PCSAPI32.H 中定义的标志。