2.2.2.5.1 _FORM_INFO_1

The _FORM_INFO_1 structure specifies printer media information. It is a custom-marshaled form of the _FORM_INFO_1 (section 2.2.1.6.1) structure.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Fixed_Portion (variable)

...

Variable_Data (variable)

...

Fixed_Portion (variable): An array of one or more groups of fixed-size fields, which are defined as follows.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Flags

NameOffset

Size.cx

Size.cy

ImageableArea.left

ImageableArea.top

ImageableArea.right

ImageableArea.bottom

Flags (4 bytes): The form property from the following table.

Name/value

Description

FORM_USER

0x00000000

The form has been defined by the user and appears in the registry.

FORM_BUILTIN

0x00000001

The form is part of the spooler and does not appear in the registry.

FORM_PRINTER

0x00000002

The form is associated with a particular printer and appears in the registry.

NameOffset (4 bytes): An unsigned integer that specifies the number of bytes from the start of the structure to the start of the NameArray member.

Size.cx (4 bytes): A long integer. The form's width in thousandths of millimeters using a SIZE structure, as specified in section 2.2.1.1.6.

Size.cy (4 bytes): A long integer. The form's height in thousandths of millimeters using a SIZE structure, as specified in section 2.2.1.1.6.

ImageableArea: The part of the form that the printer can print on as a rectangle in thousandths of millimeters using a RECTL structure, as specified in section 2.2.1.1.5.

ImageableArea.left (4 bytes): The x-coordinate of the upper-left corner of the rectangle relative to the top edge of the form.

ImageableArea.top (4 bytes): The y-coordinate of the upper-left corner of the rectangle relative to the top edge of the form.

ImageableArea.right (4 bytes): The x-coordinate of the lower-right corner of the rectangle relative to the left edge of the form.

ImageableArea.bottom (4 bytes): The y-coordinate of the lower-right corner of the rectangle relative to the top edge of the form.

Variable_Data (variable): An array of zero or more optional, variable-size fields, which are defined as follows.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

NameArray (variable)

...

NameArray (variable): This member MUST contain a string that specifies the print processor name. The location of this buffer is determined by the value of the NameOffset member. For rules governing print processor names, see section 2.2.4.11.

All members not defined in this section are specified in sections 2.2.1.3.2 and 2.2.2.3.