2.2.4.2.3 Server Convert Devmode Request (CONVERT_DEVMODE_REQ)

When the server operating system installs the virtual printer driver, it calls into it to convert an internal DEVMODE structure into a printer-specific DEVMODE structure. This message redirects this call to be processed by the client-side printer driver.


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

Header (variable)

...

fMode

cbDevmodeIn

DevmodeIn (variable)

...

cbDevmodeOut

DevmodeOut (variable)

...

cbProvided

Header (variable): The common message header (as specified in section 2.2.1). The InterfaceId field MUST be set to 0x00000000. The FunctionId field MUST be set to CONVERT_DEVMODE_REQ (0x00000102).

fMode (4 bytes): A 32-bit unsigned integer. The content is generated by the printing subsystem and is treated as payload in this protocol.

cbDevmodeIn (4 bytes): A 32-bit unsigned integer. The number of bytes in the DevmodeIn field.

DevmodeIn (variable): An array of 8-bit unsigned integers. The content is generated by the printing subsystem and is treated as payload in this protocol.

cbDevmodeOut (4 bytes): A 32-bit unsigned integer. The number of bytes in the DevmodeOut field.

DevmodeOut (variable): An array of 8-bit unsigned integers. The content is generated by the client printer driver and is treated as payload in the Printer Driver Interface.

cbProvided (4 bytes): A 32-bit unsigned integer. The maximum number of bytes in the OutputBufferSize field of the CONVERT_DEVMODE_RSP response that corresponds to this request.