EngGetForm

BOOL EngGetForm(

    HANDLE  hPrinter,
   LPWSTR  pFormName,
   DWORD  dwLevel,
   LPBYTE  lpbForm,
   DWORD  cbBuf,
   LPDWORD  pcbNeeded
  );

EngGetForm gets the FORM_INFO_1 details for the specified form.

Parameters

hPrinter

Handle that identifies the printer for which the form is being specified.

pFormName

Pointer to a string that specifies the name of the form.

dwLevel

Specifies the version of the form structure to which lpbForm points. This value must be 1, which indicates that the form information will be returned in a FORM_INFO_1 structure.

lpbForm

Pointer to an array of bytes in which the initialized FORM_INFO_1 structure will be written.

cbBuf

Specifies the size, in bytes, of lpbForm.

pcbNeeded

Points to a value that specifies the number of bytes copied into lpbForm if the function succeeds. The value is the number of bytes required to perform the copy if cbBuf is too small.

Return Value

EngGetForm returns TRUE if the form structure is successfully copied into lpbForm. Otherwise, it logs an error message and returns FALSE. To get the error information, call EngGetLastError.

Comments

EngGetForm returns a FORM_INFO_1 structure containing the form data associated with pFormName. The written data and its size are returned to the caller via lpbForm and pcbNeeded, respectively. If the array pointed to by lpbForm is not large enough to hold the form data, the requisite array size is instead returned in pcbNeeded.

To get a list of all supported forms, the printer driver should call EngEnumForms.

See Also

EngGetLastError