SetForm function

The SetForm function sets the form information for the specified printer.

Syntax


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

Parameters

hPrinter [in]

A handle to the printer for which the form information is set. Use the OpenPrinter or AddPrinter function to retrieve a printer handle.

pFormName [in]

A pointer to a null-terminated string that specifies the form name for which the form information is set.

Level [in]

The version of the structure to which pForm points. This value must be 1 or 2.

pForm [in]

A pointer to a FORM_INFO_1 or FORM_INFO_2 structure.

Return value

If the function succeeds, the return value is a nonzero value.

If the function fails, the return value is zero.

Remarks

Note  This is a blocking or synchronous function and might not return immediately. How quickly this function returns depends on run-time factors such as network status, print server configuration, and printer driver implementation—factors that are difficult to predict when writing an application. Calling this function from a thread that manages interaction with the user interface could make the application appear to be unresponsive.
 

SetForm can be called multiple times for an existing FORM_INFO_2, each call adding additional pairs of pDisplayName and wLangId values. All languages versions of the form will get the Size and ImageableArea values of the FORM_INFO_2 in the most recent call to SetForm.

If the caller is remote and the Level is 2, the StringType value of the FORM_INFO_2 cannot be STRING_MUIDLL.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Winspool.h (include Windows.h)

Library

Winspool.lib

DLL

Winspool.drv

Unicode and ANSI names

SetFormW (Unicode) and SetFormA (ANSI)

See also

Printing
Print Spooler API Functions
GetForm
OpenPrinter
FORM_INFO_1
FORM_INFO_2

 

 

Show: