EnumForms

The EnumForms function enumerates the forms supported by the specified printer.

BOOL EnumForms(
  HANDLE hPrinter,    // handle to printer object
  DWORD Level,        // data-structure level
  LPBYTE pForm,       // points to buffer that receives form info. 
                      // structure array
  DWORD cbBuf,        // count of bytes in buffer
  LPDWORD pcbNeeded,  // points to variable to receive count of 
                      // bytes copied or required
  LPDWORD pcReturned  // points to variable to receive count of 
                      // structures copied
);
 

Parameters

hPrinter
Handle to the printer for which the forms should be enumerated.
Level
Specifies the version of the structure to which pForm points. This value must be 1.
pForm
Pointer to a FORM_INFO_1 structure.
cbBuf
Specifies the size, in bytes, of the buffer to which pForm points.
pcbNeeded
Pointer to a variable that receives the number of bytes copied to or the number of bytes required for the array to which pForm points. If cbBuf is too small, this value specifies the number of bytes required; otherwise, this value specifies the number of bytes copied.
pcReturned
Pointer to a variable that receives the number of FORM_INFO_1 structures copied into the array to which pForm points.

Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

The printer-object handle hPrinter is normally obtained by calling the OpenPrinter function. The AddPrinter function can also be used.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Unsupported.
  Windows CE: Unsupported.
  Header: Declared in winspool.h.
  Import Library: Use winspool.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

Printing and Print Spooler Overview, Printing and Print Spooler Functions, AddPrinter, FORM_INFO_1, OpenPrinter