SetForm 函数

SetForm 函数设置指定打印机的窗体信息。

语法

BOOL SetForm(
  _In_ HANDLE hPrinter,
  _In_ LPTSTR pFormName,
  _In_ DWORD  Level,
  _In_ LPTSTR pForm
);

参数

hPrinter [in]

为其设置了表单信息的打印机的句柄。 使用 OpenPrinterAddPrinter 函数检索打印机句柄。

pFormName [in]

指向以 null 结尾的字符串的指针,该字符串指定为其设置表单信息的窗体名称。

级别 [in]

pForm 指向的结构的版本。 此值必须为 1 或 2。

pForm [in]

指向 FORM_INFO_1FORM_INFO_2 结构的指针。

返回值

如果函数成功,则返回值为非零值。

如果函数失败,则返回值为零。

注解

注意

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

对于现有FORM_INFO_2,可以多次调用 SetForm,每次调用都会添加其他 pDisplayNamewLangId 值对。 窗体的所有语言版本都将在最近调用 SetForm 时获取FORM_INFO_2的 SizeImageableArea 值。

如果调用方是远程调用方且级别为 2,则无法STRING_MUIDLL FORM_INFO_2StringType 值。

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Winspool.h (包括 Windows.h)

Winspool.lib
DLL
Winspool.drv
Unicode 和 ANSI 名称
SetFormW (Unicode) 和 SetFormA (ANSI)

另请参阅

打印

打印后台处理程序 API 函数

GetForm

OpenPrinter

FORM_INFO_1

FORM_INFO_2