2.2.43 FAX_PRINTER_INFOW

An array of the FAX_PRINTER_INFOW data type can be passed as an out parameter (as a byte array) in the FAX_GetServicePrinters (section 3.1.4.1.63) call.

This data structure is custom marshaled as follows and uses the custom-marshaling rules defined in section 2.2.1.


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 (16 bytes)

...

...

...

Variable_Data (variable)

...

Fixed_Portion (16 bytes):


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

lpwstrPrinterNameOffset

lpwstrServerNameOffset

lpwstrDriverNameOffset

Padding

lpwstrPrinterNameOffset (4 bytes): Offset to the lpwstrPrinterName field in the Variable_Data block.

lpwstrServerNameOffset (4 bytes): Offset to the lpwstrServerName field in the Variable_Data block.

lpwstrDriverNameOffset (4 bytes): Offset to the lpwstrDriverName field in the Variable_Data block.

Padding (4 bytes): Padding for data alignment of the Fixed_Portion block to an 8-byte boundary.

Variable_Data (variable):


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

lpwstrPrinterName (variable)

...

lpwstrServerName (variable)

...

lpwstrDriverName (variable)

...

lpwstrPrinterName (variable): A null-terminated character string that holds the printer name.

lpwstrServerName (variable): A null-terminated character string that holds the name of the server where the printer is attached.

lpwstrDriverName (variable): A null-terminated character string that holds the name of the driver for this printer.