3.2.7 EMRI_DEVMODE Example 2
This section provides an example of the EMRI_DEVMODE record (section 2.2.3.5).
-
00065280: 03 00 00 00 40 04 00 00 00065290:5C 00 5C 00 70 00 72 00 69 00 6E 00 74 00 65 00 000652A0:72 00 73 00 65 00 72 00 76 00 65 00 72 00 5C 00 000652B0:43 00 61 00 6E 00 6F 00 6E 00 20 00 42 00 75 00 000652C0:62 00 62 00 6C 00 65 00 2D 00 4A 00 00 00 00 00 000652D0:01 04 00 06 DC 00 64 03 43 EF 80 07 02 00 01 00 000652E0:EA 0A 6F 08 64 00 01 00 0F 00 FD FF 02 00 01 00 000652F0:FD FF 02 00 01 00 4C 00 65 00 74 00 74 00 65 00 00065300:72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065310:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065320:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065330:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065340:00 00 00 00 01 00 00 00 00 00 00 00 02 00 00 00 00065350:02 00 00 00 01 00 00 00 01 01 00 00 00 00 00 00 00065360:00 00 00 00 00 00 00 00 00 00 00 00 44 49 4E 55 00065370:22 00 00 01 44 02 18 00 59 D8 B0 99 00 00 00 00 00065380:00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00065390:00 00 00 00 00 00 00 00 08 00 00 00 01 00 00 00 000653A0:03 00 01 00 01 00 02 00 02 00 00 00 00 00 00 00 000653B0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000653C0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000653D0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000653E0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000653F0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065400:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065410:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065420:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065430:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065440:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065450:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065460:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065470:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065480:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065490:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000654A0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000654B0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000654C0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000654D0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000654E0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000654F0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065500:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065510:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065520:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065530:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065540:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065550:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065560:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065570:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065580:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00065590:00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 000655A0:00 00 00 00 00 00 00 00 00 01 00 00 53 4D 54 4A 000655B0:18 00 00 00 4E 55 4A 42 00 00 01 00 34 00 00 00 000655C0:00 00 00 00 00 00 00 00 08 01 00 00 53 4D 54 4A 000655D0:00 00 00 00 14 00 00 00 00 00 F4 00 43 00 61 00 000655E0:6E 00 6F 00 6E 00 20 00 42 00 75 00 62 00 62 00 000655F0:6C 00 65 00 2D 00 4A 00 65 00 74 00 20 00 42 00 00065600:4A 00 43 00 2D 00 35 00 30 00 00 00 49 6E 70 75 00065610:74 42 69 6E 00 4D 41 4E 55 41 4C 00 52 45 53 44 00065620:4C 4C 00 55 6E 69 72 65 73 44 4C 4C 00 50 61 70 00065630:65 72 53 69 7A 65 00 4C 45 54 54 45 52 00 52 65 00065640:73 6F 6C 75 74 69 6F 6E 00 53 54 41 4E 44 41 52 00065650:44 00 4D 65 64 69 61 54 79 70 65 00 53 54 41 4E 00065660:44 41 52 44 00 43 6F 6C 6F 72 4D 6F 64 65 00 43 00065670:4D 59 4B 32 34 00 48 61 6C 66 74 6F 6E 65 00 48 00065680:54 5F 50 41 54 53 49 5A 45 5F 41 55 54 4F 00 4F 00065690:72 69 65 6E 74 61 74 69 6F 6E 00 50 4F 52 54 52 000656A0:41 49 54 00 00 00 00 00 00 00 00 00 00 00 00 00 000656B0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 000656C0:00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
ulID (0x00000003=EMRI_DEVMODE) |
|||||||||||||||||||||||||||||||
|
cjSize (0x00000440) |
|||||||||||||||||||||||||||||||
|
Devmode (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
ulID (4 bytes): 0x00000003 specifies the type of the record, EMRI_DEVMODE, from the RecordType enumeration (section 2.1.1).
cjSize (4 bytes): 0x00000440 is the size, in bytes, of all the data in the record, including private driver-specific data. Each EMFSPOOL record is aligned to a multiple of 4 bytes.
Devmode (variable): A complete, variable-length _DEVMODE structure ([MS-RPRN] section 2.2.2.1).
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
dmDeviceName ("\\printerserver\Canon Bubble-J") (68 bytes) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
dmSpecVersion (0x0401) |
dmDriverVersion (0x0600) |
||||||||||||||||||||||||||||||
|
dmSize (0x00DC) |
dmDriverExtra (0x0364) |
||||||||||||||||||||||||||||||
|
dmFields (0x0780EF43) |
|||||||||||||||||||||||||||||||
|
dmOrientation (0x0001) |
dmPaperSize (0x0001) |
||||||||||||||||||||||||||||||
|
dmPaperLength (0x0AEA) |
dmPaperWidth (0x086F) |
||||||||||||||||||||||||||||||
|
dmScale (0x0064) |
dmCopies (0x0001) |
||||||||||||||||||||||||||||||
|
dmDefaultSource (0x000F) |
dmPrintQuality (0xFFFD) |
||||||||||||||||||||||||||||||
|
dmColor (0x0002) |
dmDuplex (0x0001) |
||||||||||||||||||||||||||||||
dmDeviceName (68 bytes): "\\printerserver\Canon Bubble-J" specifies the text name of the printer, truncated to fit into a 32-character Unicode string with null terminator.
dmSpecVersion (2 bytes): 0x0401 specifies the version of the initialization data specification on which the structure is based.
dmDriverVersion (2 bytes): 0x0600 specifies the version assigned by the implementer of the printer driver.
dmSize (2 bytes): 0x00DC specifies the size, in bytes, of the fixed-length portion of the _DEVMODE structure, which does not include the private driver-specific data that follows.
dmDriverExtra (2 bytes): 0x0364 specifies size, in bytes, of the variable-length driver-specific data that follows the fixed-length portion of the _DEVMODE structure.
dmFields (4 bytes): 0x0780EF43 specifies whether certain fields of the _DEVMODE structure are initialized. If a field is initialized, its corresponding bit is set; otherwise the bit is clear.
dmOrientation (2 bytes): 0x0001 specifies Portrait page orientation.
dmPaperSize (2 bytes): 0x0001 specifies Letter size paper, 8 1/2 x 11 inches.
dmPaperLength (2 bytes): 0x0AEA specifies the length of the printable area, in tenths of a millimeter.
dmPaperWidth (2 bytes): 0x086F specifies the width of the printable area, in tenths of a millimeter.
dmScale (2 bytes): 0x0064 specifies the factor by which the printed output is meant to be scaled, in percent.
dmCopies (2 bytes): 0x0001 specifies the number of copies to be printed.
dmDefaultSource (2 bytes): 0x000F specifies a device-specific value for the paper source, from which the output bin can be determined.
dmPrintQuality (2 bytes): 0xFFFD specifies medium-resolution printing quality with a predefined value. If this field contained a positive value, it would specify the dots per inch resolution of the device.
dmColor (2 bytes): 0x0002 specifies color printing.
dmDuplex (2 bytes): 0x0001 specifies single-sided printing.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
dmYResolution (0xFFFD) |
dmTTOption (0x0002) |
||||||||||||||||||||||||||||||
|
dmCollate (0x0001) |
dmFormName ("Letter") (68 bytes) |
||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
... |
reserved0 (0x0000) |
||||||||||||||||||||||||||||||
|
reserved1 (0x00000000) |
|||||||||||||||||||||||||||||||
|
reserved2 (0x00000000) |
|||||||||||||||||||||||||||||||
|
reserved3 (0x00000000) |
|||||||||||||||||||||||||||||||
|
dmNup (0x00000001) |
|||||||||||||||||||||||||||||||
|
reserved4 (0x00000000) |
|||||||||||||||||||||||||||||||
dmYResolution (2 bytes): 0xFFFD specifies the vertical resolution of the printer, in dots per inch.
dmTTOption (2 bytes): 0x0002 specifies that TrueType fonts be downloaded as soft fonts.
dmCollate (2 bytes): 0x0001 specifies that collation be used when printing multiple copies.
dmFormName (68 bytes): "Letter" specifies the name of the printer form, padded with nulls to fit into a 32-character Unicode string with null terminator.
reserved0 (2 bytes): 0x0000 is not used.
reserved1 (4 bytes): 0x00000000 is not used.
reserved2 (4 bytes): 0x00000000 is not used.
reserved3 (4 bytes): 0x00000000 is not used.
dmNup (4 bytes): 0x00000001 specifies that the print server handles the layout of multiple logical pages on one physical page.
reserved4 (4 bytes): 0x00000000 is not used.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
dmICMMethod (0x00000002) |
|||||||||||||||||||||||||||||||
|
dmICMIntent (0x00000002) |
|||||||||||||||||||||||||||||||
|
dmMediaType (0x00000001) |
|||||||||||||||||||||||||||||||
|
dmDitherType (0x00000101) |
|||||||||||||||||||||||||||||||
|
reserved5 (0x00000000) |
|||||||||||||||||||||||||||||||
|
reserved6 (0x00000000) |
|||||||||||||||||||||||||||||||
|
reserved7 (0x00000000) |
|||||||||||||||||||||||||||||||
|
reserved8 (0x00000000) |
|||||||||||||||||||||||||||||||
|
dmDriverExtraData (116 bytes) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
dmICMMethod (4 bytes): 0x00000002 specifies that Image Color Management be handled by the system on which the Page Description Language (PDL) data is generated.
dmICMIntent (4 bytes): 0x00000002 specifies that color matching is optimized for contrast.
dmMediaType (4 bytes): 0x00000001 specifies that plain-paper media type is used.
dmDitherType (4 bytes): 0x00000101 specifies a printer driver-specific value for the type of dithering.
reserved5 (4 bytes): 0x00000000 is not used.
reserved6 (4 bytes): 0x00000000 is not used.
reserved7 (4 bytes): 0x00000000 is not used.
reserved8 (4 bytes): 0x00000000 is not used.
dmDriverExtraData (116 bytes): A block of private data, of a size specified by the dmDriverExtra field, which is understandable only by the printer driver.