2.2.2.9.5 _PRINTER_INFO_4

The _PRINTER_INFO_4 structure specifies printer information.<127> It is a custom-marshaled form of the _PRINTER_INFO_4 (section 2.2.1.10.5) 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

PrinterNameOffset

ServerNameOffset

Attributes

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

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

Attributes (4 bytes): Specifies printer attributes. It is the result of a bitwise OR of zero or more printer attribute values (section 2.2.3.12).

Variable_Data (variable): An array of zero or more groups of 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

ServerNameArray (variable)

...

PrinterNameArray (variable)

...

ServerNameArray (variable): A string that specifies the name of the server. The location of this buffer is determined by the value of the ServerNameOffset member.

PrinterNameArray (variable): A string that specifies the name of the printer. The location of this buffer is determined by the value of the PrinterNameOffset member.