Hex Artifact Content

Not logged in

Artifact da000ce43cc88313d2b9e4a896ab7543b3800eae:


0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 61 6e 73  module win32.ans
0010: 69 2e 77 69 6e 73 70 6f 6f 6c 3b 0d 0a 0d 0a 2f  i.winspool;..../
0020: 2f 20 54 72 61 6e 73 6c 61 74 65 64 20 66 72 6f  / Translated fro
0030: 6d 20 4d 69 63 72 6f 73 6f 66 74 20 50 6c 61 74  m Microsoft Plat
0040: 66 6f 72 6d 20 53 44 4b 20 41 75 67 75 73 74 20  form SDK August 
0050: 32 30 30 31 20 45 64 69 74 69 6f 6e 0d 0a 2f 2f  2001 Edition..//
0060: 20 62 79 20 59 2e 54 6f 6d 69 6e 6f 20 28 64 65   by Y.Tomino (de
0070: 6d 6f 6f 6e 6c 69 74 40 69 6e 74 65 72 37 2e 6a  moonlit@inter7.j
0080: 70 29 0d 0a 0d 0a 69 6d 70 6f 72 74 20 77 69 6e  p)....import win
0090: 33 32 2e 61 6e 73 69 2e 77 69 6e 62 61 73 65 2c  32.ansi.winbase,
00a0: 20 77 69 6e 33 32 2e 61 6e 73 69 2e 77 69 6e 67   win32.ansi.wing
00b0: 64 69 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65  di;....// #ifnde
00c0: 66 20 5f 57 49 4e 53 50 4f 4f 4c 5f 0d 0a 2f 2f  f _WINSPOOL_..//
00d0: 20 23 64 65 66 69 6e 65 20 5f 57 49 4e 53 50 4f   #define _WINSPO
00e0: 4f 4c 5f 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  OL_....// #ifdef
00f0: 20 5f 57 49 4e 55 53 45 52 5f 0d 0a 2f 2f 20 23   _WINUSER_..// #
0100: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a  .....// #endif..
0110: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 5f 63 70  ..// #ifdef __cp
0120: 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 65 78 74 65  lusplus..// exte
0130: 72 6e 20 22 43 22 20 7b 0d 0a 2f 2f 20 23 65 6e  rn "C" {..// #en
0140: 64 69 66 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50  dif....struct _P
0150: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 31 41 20 7b  RINTER_INFO_1A {
0160: 0d 0a 20 20 44 57 4f 52 44 20 46 6c 61 67 73 3b  ..  DWORD Flags;
0170: 0d 0a 20 20 4c 50 53 54 52 20 70 44 65 73 63 72  ..  LPSTR pDescr
0180: 69 70 74 69 6f 6e 3b 0d 0a 20 20 4c 50 53 54 52  iption;..  LPSTR
0190: 20 70 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52   pName;..  LPSTR
01a0: 20 70 43 6f 6d 6d 65 6e 74 3b 0d 0a 7d 0d 0a 61   pComment;..}..a
01b0: 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e  lias _PRINTER_IN
01c0: 46 4f 5f 31 41 20 50 52 49 4e 54 45 52 5f 49 4e  FO_1A PRINTER_IN
01d0: 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61 73 20 5f 50  FO_1A;..alias _P
01e0: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 31 41 2a 20  RINTER_INFO_1A* 
01f0: 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 31 41  PPRINTER_INFO_1A
0200: 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45  ;..alias _PRINTE
0210: 52 5f 49 4e 46 4f 5f 31 41 2a 20 4c 50 50 52 49  R_INFO_1A* LPPRI
0220: 4e 54 45 52 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 0d  NTER_INFO_1A;...
0230: 0a 73 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52  .struct _PRINTER
0240: 5f 49 4e 46 4f 5f 31 57 20 7b 0d 0a 20 20 44 57  _INFO_1W {..  DW
0250: 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20 20 4c 50  ORD Flags;..  LP
0260: 57 53 54 52 20 70 44 65 73 63 72 69 70 74 69 6f  WSTR pDescriptio
0270: 6e 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 4e 61  n;..  LPWSTR pNa
0280: 6d 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 43  me;..  LPWSTR pC
0290: 6f 6d 6d 65 6e 74 3b 0d 0a 7d 0d 0a 61 6c 69 61  omment;..}..alia
02a0: 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f  s _PRINTER_INFO_
02b0: 31 57 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f  1W PRINTER_INFO_
02c0: 31 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e  1W;..alias _PRIN
02d0: 54 45 52 5f 49 4e 46 4f 5f 31 57 2a 20 50 50 52  TER_INFO_1W* PPR
02e0: 49 4e 54 45 52 5f 49 4e 46 4f 5f 31 57 3b 0d 0a  INTER_INFO_1W;..
02f0: 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49  alias _PRINTER_I
0300: 4e 46 4f 5f 31 57 2a 20 4c 50 50 52 49 4e 54 45  NFO_1W* LPPRINTE
0310: 52 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 0d 0a 2f 2f  R_INFO_1W;....//
0320: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
0330: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  .// .....// #els
0340: 65 0d 0a 61 6c 69 61 73 20 50 52 49 4e 54 45 52  e..alias PRINTER
0350: 5f 49 4e 46 4f 5f 31 41 20 50 52 49 4e 54 45 52  _INFO_1A PRINTER
0360: 5f 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73 20  _INFO_1;..alias 
0370: 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 31 41  PPRINTER_INFO_1A
0380: 20 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 31   PPRINTER_INFO_1
0390: 3b 0d 0a 61 6c 69 61 73 20 4c 50 50 52 49 4e 54  ;..alias LPPRINT
03a0: 45 52 5f 49 4e 46 4f 5f 31 41 20 4c 50 50 52 49  ER_INFO_1A LPPRI
03b0: 4e 54 45 52 5f 49 4e 46 4f 5f 31 3b 0d 0a 2f 2f  NTER_INFO_1;..//
03c0: 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
03d0: 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52  DE....struct _PR
03e0: 49 4e 54 45 52 5f 49 4e 46 4f 5f 32 41 20 7b 0d  INTER_INFO_2A {.
03f0: 0a 20 20 4c 50 53 54 52 20 70 53 65 72 76 65 72  .  LPSTR pServer
0400: 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70  Name;..  LPSTR p
0410: 50 72 69 6e 74 65 72 4e 61 6d 65 3b 0d 0a 20 20  PrinterName;..  
0420: 4c 50 53 54 52 20 70 53 68 61 72 65 4e 61 6d 65  LPSTR pShareName
0430: 3b 0d 0a 20 20 4c 50 53 54 52 20 70 50 6f 72 74  ;..  LPSTR pPort
0440: 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70  Name;..  LPSTR p
0450: 44 72 69 76 65 72 4e 61 6d 65 3b 0d 0a 20 20 4c  DriverName;..  L
0460: 50 53 54 52 20 70 43 6f 6d 6d 65 6e 74 3b 0d 0a  PSTR pComment;..
0470: 20 20 4c 50 53 54 52 20 70 4c 6f 63 61 74 69 6f    LPSTR pLocatio
0480: 6e 3b 0d 0a 20 20 4c 50 44 45 56 4d 4f 44 45 41  n;..  LPDEVMODEA
0490: 20 70 44 65 76 4d 6f 64 65 3b 0d 0a 20 20 4c 50   pDevMode;..  LP
04a0: 53 54 52 20 70 53 65 70 46 69 6c 65 3b 0d 0a 20  STR pSepFile;.. 
04b0: 20 4c 50 53 54 52 20 70 50 72 69 6e 74 50 72 6f   LPSTR pPrintPro
04c0: 63 65 73 73 6f 72 3b 0d 0a 20 20 4c 50 53 54 52  cessor;..  LPSTR
04d0: 20 70 44 61 74 61 74 79 70 65 3b 0d 0a 20 20 4c   pDatatype;..  L
04e0: 50 53 54 52 20 70 50 61 72 61 6d 65 74 65 72 73  PSTR pParameters
04f0: 3b 0d 0a 20 20 50 53 45 43 55 52 49 54 59 5f 44  ;..  PSECURITY_D
0500: 45 53 43 52 49 50 54 4f 52 20 70 53 65 63 75 72  ESCRIPTOR pSecur
0510: 69 74 79 44 65 73 63 72 69 70 74 6f 72 3b 0d 0a  ityDescriptor;..
0520: 20 20 44 57 4f 52 44 20 41 74 74 72 69 62 75 74    DWORD Attribut
0530: 65 73 3b 0d 0a 20 20 44 57 4f 52 44 20 50 72 69  es;..  DWORD Pri
0540: 6f 72 69 74 79 3b 0d 0a 20 20 44 57 4f 52 44 20  ority;..  DWORD 
0550: 44 65 66 61 75 6c 74 50 72 69 6f 72 69 74 79 3b  DefaultPriority;
0560: 0d 0a 20 20 44 57 4f 52 44 20 53 74 61 72 74 54  ..  DWORD StartT
0570: 69 6d 65 3b 0d 0a 20 20 44 57 4f 52 44 20 55 6e  ime;..  DWORD Un
0580: 74 69 6c 54 69 6d 65 3b 0d 0a 20 20 44 57 4f 52  tilTime;..  DWOR
0590: 44 20 53 74 61 74 75 73 3b 0d 0a 20 20 44 57 4f  D Status;..  DWO
05a0: 52 44 20 63 4a 6f 62 73 3b 0d 0a 20 20 44 57 4f  RD cJobs;..  DWO
05b0: 52 44 20 41 76 65 72 61 67 65 50 50 4d 3b 0d 0a  RD AveragePPM;..
05c0: 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45  }..alias _PRINTE
05d0: 52 5f 49 4e 46 4f 5f 32 41 20 50 52 49 4e 54 45  R_INFO_2A PRINTE
05e0: 52 5f 49 4e 46 4f 5f 32 41 3b 0d 0a 61 6c 69 61  R_INFO_2A;..alia
05f0: 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f  s _PRINTER_INFO_
0600: 32 41 2a 20 50 50 52 49 4e 54 45 52 5f 49 4e 46  2A* PPRINTER_INF
0610: 4f 5f 32 41 3b 0d 0a 61 6c 69 61 73 20 5f 50 52  O_2A;..alias _PR
0620: 49 4e 54 45 52 5f 49 4e 46 4f 5f 32 41 2a 20 4c  INTER_INFO_2A* L
0630: 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 32 41  PPRINTER_INFO_2A
0640: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52 49  ;....struct _PRI
0650: 4e 54 45 52 5f 49 4e 46 4f 5f 32 57 20 7b 0d 0a  NTER_INFO_2W {..
0660: 20 20 4c 50 57 53 54 52 20 70 53 65 72 76 65 72    LPWSTR pServer
0670: 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20  Name;..  LPWSTR 
0680: 70 50 72 69 6e 74 65 72 4e 61 6d 65 3b 0d 0a 20  pPrinterName;.. 
0690: 20 4c 50 57 53 54 52 20 70 53 68 61 72 65 4e 61   LPWSTR pShareNa
06a0: 6d 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 50  me;..  LPWSTR pP
06b0: 6f 72 74 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53  ortName;..  LPWS
06c0: 54 52 20 70 44 72 69 76 65 72 4e 61 6d 65 3b 0d  TR pDriverName;.
06d0: 0a 20 20 4c 50 57 53 54 52 20 70 43 6f 6d 6d 65  .  LPWSTR pComme
06e0: 6e 74 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 4c  nt;..  LPWSTR pL
06f0: 6f 63 61 74 69 6f 6e 3b 0d 0a 20 20 4c 50 44 45  ocation;..  LPDE
0700: 56 4d 4f 44 45 57 20 70 44 65 76 4d 6f 64 65 3b  VMODEW pDevMode;
0710: 0d 0a 20 20 4c 50 57 53 54 52 20 70 53 65 70 46  ..  LPWSTR pSepF
0720: 69 6c 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70  ile;..  LPWSTR p
0730: 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 3b 0d  PrintProcessor;.
0740: 0a 20 20 4c 50 57 53 54 52 20 70 44 61 74 61 74  .  LPWSTR pDatat
0750: 79 70 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70  ype;..  LPWSTR p
0760: 50 61 72 61 6d 65 74 65 72 73 3b 0d 0a 20 20 50  Parameters;..  P
0770: 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50  SECURITY_DESCRIP
0780: 54 4f 52 20 70 53 65 63 75 72 69 74 79 44 65 73  TOR pSecurityDes
0790: 63 72 69 70 74 6f 72 3b 0d 0a 20 20 44 57 4f 52  criptor;..  DWOR
07a0: 44 20 41 74 74 72 69 62 75 74 65 73 3b 0d 0a 20  D Attributes;.. 
07b0: 20 44 57 4f 52 44 20 50 72 69 6f 72 69 74 79 3b   DWORD Priority;
07c0: 0d 0a 20 20 44 57 4f 52 44 20 44 65 66 61 75 6c  ..  DWORD Defaul
07d0: 74 50 72 69 6f 72 69 74 79 3b 0d 0a 20 20 44 57  tPriority;..  DW
07e0: 4f 52 44 20 53 74 61 72 74 54 69 6d 65 3b 0d 0a  ORD StartTime;..
07f0: 20 20 44 57 4f 52 44 20 55 6e 74 69 6c 54 69 6d    DWORD UntilTim
0800: 65 3b 0d 0a 20 20 44 57 4f 52 44 20 53 74 61 74  e;..  DWORD Stat
0810: 75 73 3b 0d 0a 20 20 44 57 4f 52 44 20 63 4a 6f  us;..  DWORD cJo
0820: 62 73 3b 0d 0a 20 20 44 57 4f 52 44 20 41 76 65  bs;..  DWORD Ave
0830: 72 61 67 65 50 50 4d 3b 0d 0a 7d 0d 0a 61 6c 69  ragePPM;..}..ali
0840: 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f  as _PRINTER_INFO
0850: 5f 32 57 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f  _2W PRINTER_INFO
0860: 5f 32 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49  _2W;..alias _PRI
0870: 4e 54 45 52 5f 49 4e 46 4f 5f 32 57 2a 20 50 50  NTER_INFO_2W* PP
0880: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 32 57 3b 0d  RINTER_INFO_2W;.
0890: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
08a0: 49 4e 46 4f 5f 32 57 2a 20 4c 50 50 52 49 4e 54  INFO_2W* LPPRINT
08b0: 45 52 5f 49 4e 46 4f 5f 32 57 3b 0d 0a 0d 0a 2f  ER_INFO_2W;..../
08c0: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
08d0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  ..// .....// #el
08e0: 73 65 0d 0a 61 6c 69 61 73 20 50 52 49 4e 54 45  se..alias PRINTE
08f0: 52 5f 49 4e 46 4f 5f 32 41 20 50 52 49 4e 54 45  R_INFO_2A PRINTE
0900: 52 5f 49 4e 46 4f 5f 32 3b 0d 0a 61 6c 69 61 73  R_INFO_2;..alias
0910: 20 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 32   PPRINTER_INFO_2
0920: 41 20 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f  A PPRINTER_INFO_
0930: 32 3b 0d 0a 61 6c 69 61 73 20 4c 50 50 52 49 4e  2;..alias LPPRIN
0940: 54 45 52 5f 49 4e 46 4f 5f 32 41 20 4c 50 50 52  TER_INFO_2A LPPR
0950: 49 4e 54 45 52 5f 49 4e 46 4f 5f 32 3b 0d 0a 2f  INTER_INFO_2;../
0960: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43  / #endif // UNIC
0970: 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50  ODE....struct _P
0980: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 33 20 7b 0d  RINTER_INFO_3 {.
0990: 0a 20 20 50 53 45 43 55 52 49 54 59 5f 44 45 53  .  PSECURITY_DES
09a0: 43 52 49 50 54 4f 52 20 70 53 65 63 75 72 69 74  CRIPTOR pSecurit
09b0: 79 44 65 73 63 72 69 70 74 6f 72 3b 0d 0a 7d 0d  yDescriptor;..}.
09c0: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
09d0: 49 4e 46 4f 5f 33 20 50 52 49 4e 54 45 52 5f 49  INFO_3 PRINTER_I
09e0: 4e 46 4f 5f 33 3b 0d 0a 61 6c 69 61 73 20 5f 50  NFO_3;..alias _P
09f0: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 33 2a 20 50  RINTER_INFO_3* P
0a00: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 33 3b 0d  PRINTER_INFO_3;.
0a10: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
0a20: 49 4e 46 4f 5f 33 2a 20 4c 50 50 52 49 4e 54 45  INFO_3* LPPRINTE
0a30: 52 5f 49 4e 46 4f 5f 33 3b 0d 0a 0d 0a 73 74 72  R_INFO_3;....str
0a40: 75 63 74 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46  uct _PRINTER_INF
0a50: 4f 5f 34 41 20 7b 0d 0a 20 20 4c 50 53 54 52 20  O_4A {..  LPSTR 
0a60: 70 50 72 69 6e 74 65 72 4e 61 6d 65 3b 0d 0a 20  pPrinterName;.. 
0a70: 20 4c 50 53 54 52 20 70 53 65 72 76 65 72 4e 61   LPSTR pServerNa
0a80: 6d 65 3b 0d 0a 20 20 44 57 4f 52 44 20 41 74 74  me;..  DWORD Att
0a90: 72 69 62 75 74 65 73 3b 0d 0a 7d 0d 0a 61 6c 69  ributes;..}..ali
0aa0: 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f  as _PRINTER_INFO
0ab0: 5f 34 41 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f  _4A PRINTER_INFO
0ac0: 5f 34 41 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49  _4A;..alias _PRI
0ad0: 4e 54 45 52 5f 49 4e 46 4f 5f 34 41 2a 20 50 50  NTER_INFO_4A* PP
0ae0: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 41 3b 0d  RINTER_INFO_4A;.
0af0: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
0b00: 49 4e 46 4f 5f 34 41 2a 20 4c 50 50 52 49 4e 54  INFO_4A* LPPRINT
0b10: 45 52 5f 49 4e 46 4f 5f 34 41 3b 0d 0a 0d 0a 73  ER_INFO_4A;....s
0b20: 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52 5f 49  truct _PRINTER_I
0b30: 4e 46 4f 5f 34 57 20 7b 0d 0a 20 20 4c 50 57 53  NFO_4W {..  LPWS
0b40: 54 52 20 70 50 72 69 6e 74 65 72 4e 61 6d 65 3b  TR pPrinterName;
0b50: 0d 0a 20 20 4c 50 57 53 54 52 20 70 53 65 72 76  ..  LPWSTR pServ
0b60: 65 72 4e 61 6d 65 3b 0d 0a 20 20 44 57 4f 52 44  erName;..  DWORD
0b70: 20 41 74 74 72 69 62 75 74 65 73 3b 0d 0a 7d 0d   Attributes;..}.
0b80: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
0b90: 49 4e 46 4f 5f 34 57 20 50 52 49 4e 54 45 52 5f  INFO_4W PRINTER_
0ba0: 49 4e 46 4f 5f 34 57 3b 0d 0a 61 6c 69 61 73 20  INFO_4W;..alias 
0bb0: 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 57  _PRINTER_INFO_4W
0bc0: 2a 20 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f  * PPRINTER_INFO_
0bd0: 34 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e  4W;..alias _PRIN
0be0: 54 45 52 5f 49 4e 46 4f 5f 34 57 2a 20 4c 50 50  TER_INFO_4W* LPP
0bf0: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 57 3b 0d  RINTER_INFO_4W;.
0c00: 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
0c10: 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  CODE..// .....//
0c20: 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 50 52   #else..alias PR
0c30: 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 41 20 50 52  INTER_INFO_4A PR
0c40: 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 3b 0d 0a 61  INTER_INFO_4;..a
0c50: 6c 69 61 73 20 50 50 52 49 4e 54 45 52 5f 49 4e  lias PPRINTER_IN
0c60: 46 4f 5f 34 41 20 50 50 52 49 4e 54 45 52 5f 49  FO_4A PPRINTER_I
0c70: 4e 46 4f 5f 34 3b 0d 0a 61 6c 69 61 73 20 4c 50  NFO_4;..alias LP
0c80: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 41 20  PRINTER_INFO_4A 
0c90: 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34  LPPRINTER_INFO_4
0ca0: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
0cb0: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63  UNICODE....struc
0cc0: 74 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f  t _PRINTER_INFO_
0cd0: 35 41 20 7b 0d 0a 20 20 4c 50 53 54 52 20 70 50  5A {..  LPSTR pP
0ce0: 72 69 6e 74 65 72 4e 61 6d 65 3b 0d 0a 20 20 4c  rinterName;..  L
0cf0: 50 53 54 52 20 70 50 6f 72 74 4e 61 6d 65 3b 0d  PSTR pPortName;.
0d00: 0a 20 20 44 57 4f 52 44 20 41 74 74 72 69 62 75  .  DWORD Attribu
0d10: 74 65 73 3b 0d 0a 20 20 44 57 4f 52 44 20 44 65  tes;..  DWORD De
0d20: 76 69 63 65 4e 6f 74 53 65 6c 65 63 74 65 64 54  viceNotSelectedT
0d30: 69 6d 65 6f 75 74 3b 0d 0a 20 20 44 57 4f 52 44  imeout;..  DWORD
0d40: 20 54 72 61 6e 73 6d 69 73 73 69 6f 6e 52 65 74   TransmissionRet
0d50: 72 79 54 69 6d 65 6f 75 74 3b 0d 0a 7d 0d 0a 61  ryTimeout;..}..a
0d60: 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e  lias _PRINTER_IN
0d70: 46 4f 5f 35 41 20 50 52 49 4e 54 45 52 5f 49 4e  FO_5A PRINTER_IN
0d80: 46 4f 5f 35 41 3b 0d 0a 61 6c 69 61 73 20 5f 50  FO_5A;..alias _P
0d90: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 35 41 2a 20  RINTER_INFO_5A* 
0da0: 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 35 41  PPRINTER_INFO_5A
0db0: 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45  ;..alias _PRINTE
0dc0: 52 5f 49 4e 46 4f 5f 35 41 2a 20 4c 50 50 52 49  R_INFO_5A* LPPRI
0dd0: 4e 54 45 52 5f 49 4e 46 4f 5f 35 41 3b 0d 0a 0d  NTER_INFO_5A;...
0de0: 0a 73 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52  .struct _PRINTER
0df0: 5f 49 4e 46 4f 5f 35 57 20 7b 0d 0a 20 20 4c 50  _INFO_5W {..  LP
0e00: 57 53 54 52 20 70 50 72 69 6e 74 65 72 4e 61 6d  WSTR pPrinterNam
0e10: 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 50 6f  e;..  LPWSTR pPo
0e20: 72 74 4e 61 6d 65 3b 0d 0a 20 20 44 57 4f 52 44  rtName;..  DWORD
0e30: 20 41 74 74 72 69 62 75 74 65 73 3b 0d 0a 20 20   Attributes;..  
0e40: 44 57 4f 52 44 20 44 65 76 69 63 65 4e 6f 74 53  DWORD DeviceNotS
0e50: 65 6c 65 63 74 65 64 54 69 6d 65 6f 75 74 3b 0d  electedTimeout;.
0e60: 0a 20 20 44 57 4f 52 44 20 54 72 61 6e 73 6d 69  .  DWORD Transmi
0e70: 73 73 69 6f 6e 52 65 74 72 79 54 69 6d 65 6f 75  ssionRetryTimeou
0e80: 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52  t;..}..alias _PR
0e90: 49 4e 54 45 52 5f 49 4e 46 4f 5f 35 57 20 50 52  INTER_INFO_5W PR
0ea0: 49 4e 54 45 52 5f 49 4e 46 4f 5f 35 57 3b 0d 0a  INTER_INFO_5W;..
0eb0: 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49  alias _PRINTER_I
0ec0: 4e 46 4f 5f 35 57 2a 20 50 50 52 49 4e 54 45 52  NFO_5W* PPRINTER
0ed0: 5f 49 4e 46 4f 5f 35 57 3b 0d 0a 61 6c 69 61 73  _INFO_5W;..alias
0ee0: 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 35   _PRINTER_INFO_5
0ef0: 57 2a 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46  W* LPPRINTER_INF
0f00: 4f 5f 35 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  O_5W;....// #ifd
0f10: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e  ef UNICODE..// .
0f20: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
0f30: 69 61 73 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f  ias PRINTER_INFO
0f40: 5f 35 41 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f  _5A PRINTER_INFO
0f50: 5f 35 3b 0d 0a 61 6c 69 61 73 20 50 50 52 49 4e  _5;..alias PPRIN
0f60: 54 45 52 5f 49 4e 46 4f 5f 35 41 20 50 50 52 49  TER_INFO_5A PPRI
0f70: 4e 54 45 52 5f 49 4e 46 4f 5f 35 3b 0d 0a 61 6c  NTER_INFO_5;..al
0f80: 69 61 73 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e  ias LPPRINTER_IN
0f90: 46 4f 5f 35 41 20 4c 50 50 52 49 4e 54 45 52 5f  FO_5A LPPRINTER_
0fa0: 49 4e 46 4f 5f 35 3b 0d 0a 2f 2f 20 23 65 6e 64  INFO_5;..// #end
0fb0: 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d  if // UNICODE...
0fc0: 0a 73 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52  .struct _PRINTER
0fd0: 5f 49 4e 46 4f 5f 36 20 7b 0d 0a 20 20 44 57 4f  _INFO_6 {..  DWO
0fe0: 52 44 20 64 77 53 74 61 74 75 73 3b 0d 0a 7d 0d  RD dwStatus;..}.
0ff0: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
1000: 49 4e 46 4f 5f 36 20 50 52 49 4e 54 45 52 5f 49  INFO_6 PRINTER_I
1010: 4e 46 4f 5f 36 3b 0d 0a 61 6c 69 61 73 20 5f 50  NFO_6;..alias _P
1020: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 36 2a 20 50  RINTER_INFO_6* P
1030: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 36 3b 0d  PRINTER_INFO_6;.
1040: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
1050: 49 4e 46 4f 5f 36 2a 20 4c 50 50 52 49 4e 54 45  INFO_6* LPPRINTE
1060: 52 5f 49 4e 46 4f 5f 36 3b 0d 0a 0d 0a 73 74 72  R_INFO_6;....str
1070: 75 63 74 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46  uct _PRINTER_INF
1080: 4f 5f 37 41 20 7b 0d 0a 20 20 4c 50 53 54 52 20  O_7A {..  LPSTR 
1090: 70 73 7a 4f 62 6a 65 63 74 47 55 49 44 3b 0d 0a  pszObjectGUID;..
10a0: 20 20 44 57 4f 52 44 20 64 77 41 63 74 69 6f 6e    DWORD dwAction
10b0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49  ;..}..alias _PRI
10c0: 4e 54 45 52 5f 49 4e 46 4f 5f 37 41 20 50 52 49  NTER_INFO_7A PRI
10d0: 4e 54 45 52 5f 49 4e 46 4f 5f 37 41 3b 0d 0a 61  NTER_INFO_7A;..a
10e0: 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e  lias _PRINTER_IN
10f0: 46 4f 5f 37 41 2a 20 50 50 52 49 4e 54 45 52 5f  FO_7A* PPRINTER_
1100: 49 4e 46 4f 5f 37 41 3b 0d 0a 61 6c 69 61 73 20  INFO_7A;..alias 
1110: 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 37 41  _PRINTER_INFO_7A
1120: 2a 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f  * LPPRINTER_INFO
1130: 5f 37 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  _7A;....struct _
1140: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 37 57 20  PRINTER_INFO_7W 
1150: 7b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 4f  {..  LPWSTR pszO
1160: 62 6a 65 63 74 47 55 49 44 3b 0d 0a 20 20 44 57  bjectGUID;..  DW
1170: 4f 52 44 20 64 77 41 63 74 69 6f 6e 3b 0d 0a 7d  ORD dwAction;..}
1180: 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52  ..alias _PRINTER
1190: 5f 49 4e 46 4f 5f 37 57 20 50 52 49 4e 54 45 52  _INFO_7W PRINTER
11a0: 5f 49 4e 46 4f 5f 37 57 3b 0d 0a 61 6c 69 61 73  _INFO_7W;..alias
11b0: 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 37   _PRINTER_INFO_7
11c0: 57 2a 20 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f  W* PPRINTER_INFO
11d0: 5f 37 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49  _7W;..alias _PRI
11e0: 4e 54 45 52 5f 49 4e 46 4f 5f 37 57 2a 20 4c 50  NTER_INFO_7W* LP
11f0: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 37 57 3b  PRINTER_INFO_7W;
1200: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
1210: 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  ICODE..// ...../
1220: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 50  / #else..alias P
1230: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 37 41 20 50  RINTER_INFO_7A P
1240: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 37 3b 0d 0a  RINTER_INFO_7;..
1250: 61 6c 69 61 73 20 50 50 52 49 4e 54 45 52 5f 49  alias PPRINTER_I
1260: 4e 46 4f 5f 37 41 20 50 50 52 49 4e 54 45 52 5f  NFO_7A PPRINTER_
1270: 49 4e 46 4f 5f 37 3b 0d 0a 61 6c 69 61 73 20 4c  INFO_7;..alias L
1280: 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 37 41  PPRINTER_INFO_7A
1290: 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f   LPPRINTER_INFO_
12a0: 37 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  7;..// #endif //
12b0: 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d   UNICODE....enum
12c0: 20 3a 20 75 69 6e 74 20 7b 20 44 53 50 52 49 4e   : uint { DSPRIN
12d0: 54 5f 50 55 42 4c 49 53 48 20 3d 20 30 78 30 30  T_PUBLISH = 0x00
12e0: 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
12f0: 20 75 69 6e 74 20 7b 20 44 53 50 52 49 4e 54 5f   uint { DSPRINT_
1300: 55 50 44 41 54 45 20 3d 20 30 78 30 30 30 30 30  UPDATE = 0x00000
1310: 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
1320: 6e 74 20 7b 20 44 53 50 52 49 4e 54 5f 55 4e 50  nt { DSPRINT_UNP
1330: 55 42 4c 49 53 48 20 3d 20 30 78 30 30 30 30 30  UBLISH = 0x00000
1340: 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
1350: 6e 74 20 7b 20 44 53 50 52 49 4e 54 5f 52 45 50  nt { DSPRINT_REP
1360: 55 42 4c 49 53 48 20 3d 20 30 78 30 30 30 30 30  UBLISH = 0x00000
1370: 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
1380: 6e 74 20 7b 20 44 53 50 52 49 4e 54 5f 50 45 4e  nt { DSPRINT_PEN
1390: 44 49 4e 47 20 3d 20 30 78 38 30 30 30 30 30 30  DING = 0x8000000
13a0: 30 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50  0 }....struct _P
13b0: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 38 41 20 7b  RINTER_INFO_8A {
13c0: 0d 0a 20 20 4c 50 44 45 56 4d 4f 44 45 41 20 70  ..  LPDEVMODEA p
13d0: 44 65 76 4d 6f 64 65 3b 0d 0a 7d 0d 0a 61 6c 69  DevMode;..}..ali
13e0: 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f  as _PRINTER_INFO
13f0: 5f 38 41 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f  _8A PRINTER_INFO
1400: 5f 38 41 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49  _8A;..alias _PRI
1410: 4e 54 45 52 5f 49 4e 46 4f 5f 38 41 2a 20 50 50  NTER_INFO_8A* PP
1420: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 38 41 3b 0d  RINTER_INFO_8A;.
1430: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
1440: 49 4e 46 4f 5f 38 41 2a 20 4c 50 50 52 49 4e 54  INFO_8A* LPPRINT
1450: 45 52 5f 49 4e 46 4f 5f 38 41 3b 0d 0a 0d 0a 73  ER_INFO_8A;....s
1460: 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52 5f 49  truct _PRINTER_I
1470: 4e 46 4f 5f 38 57 20 7b 0d 0a 20 20 4c 50 44 45  NFO_8W {..  LPDE
1480: 56 4d 4f 44 45 57 20 70 44 65 76 4d 6f 64 65 3b  VMODEW pDevMode;
1490: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e  ..}..alias _PRIN
14a0: 54 45 52 5f 49 4e 46 4f 5f 38 57 20 50 52 49 4e  TER_INFO_8W PRIN
14b0: 54 45 52 5f 49 4e 46 4f 5f 38 57 3b 0d 0a 61 6c  TER_INFO_8W;..al
14c0: 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46  ias _PRINTER_INF
14d0: 4f 5f 38 57 2a 20 50 50 52 49 4e 54 45 52 5f 49  O_8W* PPRINTER_I
14e0: 4e 46 4f 5f 38 57 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_8W;..alias _
14f0: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 38 57 2a  PRINTER_INFO_8W*
1500: 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f   LPPRINTER_INFO_
1510: 38 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  8W;....// #ifdef
1520: 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e   UNICODE..// ...
1530: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
1540: 73 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 38  s PRINTER_INFO_8
1550: 41 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 38  A PRINTER_INFO_8
1560: 3b 0d 0a 61 6c 69 61 73 20 50 50 52 49 4e 54 45  ;..alias PPRINTE
1570: 52 5f 49 4e 46 4f 5f 38 41 20 50 50 52 49 4e 54  R_INFO_8A PPRINT
1580: 45 52 5f 49 4e 46 4f 5f 38 3b 0d 0a 61 6c 69 61  ER_INFO_8;..alia
1590: 73 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f  s LPPRINTER_INFO
15a0: 5f 38 41 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e  _8A LPPRINTER_IN
15b0: 46 4f 5f 38 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  FO_8;..// #endif
15c0: 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73   // UNICODE....s
15d0: 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52 5f 49  truct _PRINTER_I
15e0: 4e 46 4f 5f 39 41 20 7b 0d 0a 20 20 4c 50 44 45  NFO_9A {..  LPDE
15f0: 56 4d 4f 44 45 41 20 70 44 65 76 4d 6f 64 65 3b  VMODEA pDevMode;
1600: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e  ..}..alias _PRIN
1610: 54 45 52 5f 49 4e 46 4f 5f 39 41 20 50 52 49 4e  TER_INFO_9A PRIN
1620: 54 45 52 5f 49 4e 46 4f 5f 39 41 3b 0d 0a 61 6c  TER_INFO_9A;..al
1630: 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46  ias _PRINTER_INF
1640: 4f 5f 39 41 2a 20 50 50 52 49 4e 54 45 52 5f 49  O_9A* PPRINTER_I
1650: 4e 46 4f 5f 39 41 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_9A;..alias _
1660: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 39 41 2a  PRINTER_INFO_9A*
1670: 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f   LPPRINTER_INFO_
1680: 39 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50  9A;....struct _P
1690: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 39 57 20 7b  RINTER_INFO_9W {
16a0: 0d 0a 20 20 4c 50 44 45 56 4d 4f 44 45 57 20 70  ..  LPDEVMODEW p
16b0: 44 65 76 4d 6f 64 65 3b 0d 0a 7d 0d 0a 61 6c 69  DevMode;..}..ali
16c0: 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f  as _PRINTER_INFO
16d0: 5f 39 57 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f  _9W PRINTER_INFO
16e0: 5f 39 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49  _9W;..alias _PRI
16f0: 4e 54 45 52 5f 49 4e 46 4f 5f 39 57 2a 20 50 50  NTER_INFO_9W* PP
1700: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 39 57 3b 0d  RINTER_INFO_9W;.
1710: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
1720: 49 4e 46 4f 5f 39 57 2a 20 4c 50 50 52 49 4e 54  INFO_9W* LPPRINT
1730: 45 52 5f 49 4e 46 4f 5f 39 57 3b 0d 0a 0d 0a 2f  ER_INFO_9W;..../
1740: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
1750: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  ..// .....// #el
1760: 73 65 0d 0a 61 6c 69 61 73 20 50 52 49 4e 54 45  se..alias PRINTE
1770: 52 5f 49 4e 46 4f 5f 39 41 20 50 52 49 4e 54 45  R_INFO_9A PRINTE
1780: 52 5f 49 4e 46 4f 5f 39 3b 0d 0a 61 6c 69 61 73  R_INFO_9;..alias
1790: 20 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 39   PPRINTER_INFO_9
17a0: 41 20 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f  A PPRINTER_INFO_
17b0: 39 3b 0d 0a 61 6c 69 61 73 20 4c 50 50 52 49 4e  9;..alias LPPRIN
17c0: 54 45 52 5f 49 4e 46 4f 5f 39 41 20 4c 50 50 52  TER_INFO_9A LPPR
17d0: 49 4e 54 45 52 5f 49 4e 46 4f 5f 39 3b 0d 0a 2f  INTER_INFO_9;../
17e0: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43  / #endif // UNIC
17f0: 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  ODE....enum : ui
1800: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 43 4f 4e  nt { PRINTER_CON
1810: 54 52 4f 4c 5f 50 41 55 53 45 20 3d 20 31 20 7d  TROL_PAUSE = 1 }
1820: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1830: 50 52 49 4e 54 45 52 5f 43 4f 4e 54 52 4f 4c 5f  PRINTER_CONTROL_
1840: 52 45 53 55 4d 45 20 3d 20 32 20 7d 0d 0a 65 6e  RESUME = 2 }..en
1850: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
1860: 54 45 52 5f 43 4f 4e 54 52 4f 4c 5f 50 55 52 47  TER_CONTROL_PURG
1870: 45 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E = 3 }..enum : 
1880: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 43  uint { PRINTER_C
1890: 4f 4e 54 52 4f 4c 5f 53 45 54 5f 53 54 41 54 55  ONTROL_SET_STATU
18a0: 53 20 3d 20 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  S = 4 }....enum 
18b0: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
18c0: 5f 53 54 41 54 55 53 5f 50 41 55 53 45 44 20 3d  _STATUS_PAUSED =
18d0: 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65   0x00000001 }..e
18e0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49  num : uint { PRI
18f0: 4e 54 45 52 5f 53 54 41 54 55 53 5f 45 52 52 4f  NTER_STATUS_ERRO
1900: 52 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d  R = 0x00000002 }
1910: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1920: 50 52 49 4e 54 45 52 5f 53 54 41 54 55 53 5f 50  PRINTER_STATUS_P
1930: 45 4e 44 49 4e 47 5f 44 45 4c 45 54 49 4f 4e 20  ENDING_DELETION 
1940: 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a  = 0x00000004 }..
1950: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
1960: 49 4e 54 45 52 5f 53 54 41 54 55 53 5f 50 41 50  INTER_STATUS_PAP
1970: 45 52 5f 4a 41 4d 20 3d 20 30 78 30 30 30 30 30  ER_JAM = 0x00000
1980: 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  008 }..enum : ui
1990: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 53 54 41  nt { PRINTER_STA
19a0: 54 55 53 5f 50 41 50 45 52 5f 4f 55 54 20 3d 20  TUS_PAPER_OUT = 
19b0: 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e  0x00000010 }..en
19c0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
19d0: 54 45 52 5f 53 54 41 54 55 53 5f 4d 41 4e 55 41  TER_STATUS_MANUA
19e0: 4c 5f 46 45 45 44 20 3d 20 30 78 30 30 30 30 30  L_FEED = 0x00000
19f0: 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
1a00: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 53 54 41  nt { PRINTER_STA
1a10: 54 55 53 5f 50 41 50 45 52 5f 50 52 4f 42 4c 45  TUS_PAPER_PROBLE
1a20: 4d 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d  M = 0x00000040 }
1a30: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1a40: 50 52 49 4e 54 45 52 5f 53 54 41 54 55 53 5f 4f  PRINTER_STATUS_O
1a50: 46 46 4c 49 4e 45 20 3d 20 30 78 30 30 30 30 30  FFLINE = 0x00000
1a60: 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  080 }..enum : ui
1a70: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 53 54 41  nt { PRINTER_STA
1a80: 54 55 53 5f 49 4f 5f 41 43 54 49 56 45 20 3d 20  TUS_IO_ACTIVE = 
1a90: 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e  0x00000100 }..en
1aa0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
1ab0: 54 45 52 5f 53 54 41 54 55 53 5f 42 55 53 59 20  TER_STATUS_BUSY 
1ac0: 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d 0a  = 0x00000200 }..
1ad0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
1ae0: 49 4e 54 45 52 5f 53 54 41 54 55 53 5f 50 52 49  INTER_STATUS_PRI
1af0: 4e 54 49 4e 47 20 3d 20 30 78 30 30 30 30 30 34  NTING = 0x000004
1b00: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1b10: 74 20 7b 20 50 52 49 4e 54 45 52 5f 53 54 41 54  t { PRINTER_STAT
1b20: 55 53 5f 4f 55 54 50 55 54 5f 42 49 4e 5f 46 55  US_OUTPUT_BIN_FU
1b30: 4c 4c 20 3d 20 30 78 30 30 30 30 30 38 30 30 20  LL = 0x00000800 
1b40: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1b50: 20 50 52 49 4e 54 45 52 5f 53 54 41 54 55 53 5f   PRINTER_STATUS_
1b60: 4e 4f 54 5f 41 56 41 49 4c 41 42 4c 45 20 3d 20  NOT_AVAILABLE = 
1b70: 30 78 30 30 30 30 31 30 30 30 20 7d 0d 0a 65 6e  0x00001000 }..en
1b80: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
1b90: 54 45 52 5f 53 54 41 54 55 53 5f 57 41 49 54 49  TER_STATUS_WAITI
1ba0: 4e 47 20 3d 20 30 78 30 30 30 30 32 30 30 30 20  NG = 0x00002000 
1bb0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1bc0: 20 50 52 49 4e 54 45 52 5f 53 54 41 54 55 53 5f   PRINTER_STATUS_
1bd0: 50 52 4f 43 45 53 53 49 4e 47 20 3d 20 30 78 30  PROCESSING = 0x0
1be0: 30 30 30 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0004000 }..enum 
1bf0: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
1c00: 5f 53 54 41 54 55 53 5f 49 4e 49 54 49 41 4c 49  _STATUS_INITIALI
1c10: 5a 49 4e 47 20 3d 20 30 78 30 30 30 30 38 30 30  ZING = 0x0000800
1c20: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1c30: 20 7b 20 50 52 49 4e 54 45 52 5f 53 54 41 54 55   { PRINTER_STATU
1c40: 53 5f 57 41 52 4d 49 4e 47 5f 55 50 20 3d 20 30  S_WARMING_UP = 0
1c50: 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75  x00010000 }..enu
1c60: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
1c70: 45 52 5f 53 54 41 54 55 53 5f 54 4f 4e 45 52 5f  ER_STATUS_TONER_
1c80: 4c 4f 57 20 3d 20 30 78 30 30 30 32 30 30 30 30  LOW = 0x00020000
1c90: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1ca0: 7b 20 50 52 49 4e 54 45 52 5f 53 54 41 54 55 53  { PRINTER_STATUS
1cb0: 5f 4e 4f 5f 54 4f 4e 45 52 20 3d 20 30 78 30 30  _NO_TONER = 0x00
1cc0: 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  040000 }..enum :
1cd0: 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f   uint { PRINTER_
1ce0: 53 54 41 54 55 53 5f 50 41 47 45 5f 50 55 4e 54  STATUS_PAGE_PUNT
1cf0: 20 3d 20 30 78 30 30 30 38 30 30 30 30 20 7d 0d   = 0x00080000 }.
1d00: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
1d10: 52 49 4e 54 45 52 5f 53 54 41 54 55 53 5f 55 53  RINTER_STATUS_US
1d20: 45 52 5f 49 4e 54 45 52 56 45 4e 54 49 4f 4e 20  ER_INTERVENTION 
1d30: 3d 20 30 78 30 30 31 30 30 30 30 30 20 7d 0d 0a  = 0x00100000 }..
1d40: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
1d50: 49 4e 54 45 52 5f 53 54 41 54 55 53 5f 4f 55 54  INTER_STATUS_OUT
1d60: 5f 4f 46 5f 4d 45 4d 4f 52 59 20 3d 20 30 78 30  _OF_MEMORY = 0x0
1d70: 30 32 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0200000 }..enum 
1d80: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
1d90: 5f 53 54 41 54 55 53 5f 44 4f 4f 52 5f 4f 50 45  _STATUS_DOOR_OPE
1da0: 4e 20 3d 20 30 78 30 30 34 30 30 30 30 30 20 7d  N = 0x00400000 }
1db0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1dc0: 50 52 49 4e 54 45 52 5f 53 54 41 54 55 53 5f 53  PRINTER_STATUS_S
1dd0: 45 52 56 45 52 5f 55 4e 4b 4e 4f 57 4e 20 3d 20  ERVER_UNKNOWN = 
1de0: 30 78 30 30 38 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00800000 }..en
1df0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
1e00: 54 45 52 5f 53 54 41 54 55 53 5f 50 4f 57 45 52  TER_STATUS_POWER
1e10: 5f 53 41 56 45 20 3d 20 30 78 30 31 30 30 30 30  _SAVE = 0x010000
1e20: 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
1e30: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 41 54  int { PRINTER_AT
1e40: 54 52 49 42 55 54 45 5f 51 55 45 55 45 44 20 3d  TRIBUTE_QUEUED =
1e50: 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65   0x00000001 }..e
1e60: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49  num : uint { PRI
1e70: 4e 54 45 52 5f 41 54 54 52 49 42 55 54 45 5f 44  NTER_ATTRIBUTE_D
1e80: 49 52 45 43 54 20 3d 20 30 78 30 30 30 30 30 30  IRECT = 0x000000
1e90: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
1ea0: 74 20 7b 20 50 52 49 4e 54 45 52 5f 41 54 54 52  t { PRINTER_ATTR
1eb0: 49 42 55 54 45 5f 44 45 46 41 55 4c 54 20 3d 20  IBUTE_DEFAULT = 
1ec0: 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e  0x00000004 }..en
1ed0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
1ee0: 54 45 52 5f 41 54 54 52 49 42 55 54 45 5f 53 48  TER_ATTRIBUTE_SH
1ef0: 41 52 45 44 20 3d 20 30 78 30 30 30 30 30 30 30  ARED = 0x0000000
1f00: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
1f10: 20 7b 20 50 52 49 4e 54 45 52 5f 41 54 54 52 49   { PRINTER_ATTRI
1f20: 42 55 54 45 5f 4e 45 54 57 4f 52 4b 20 3d 20 30  BUTE_NETWORK = 0
1f30: 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75  x00000010 }..enu
1f40: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
1f50: 45 52 5f 41 54 54 52 49 42 55 54 45 5f 48 49 44  ER_ATTRIBUTE_HID
1f60: 44 45 4e 20 3d 20 30 78 30 30 30 30 30 30 32 30  DEN = 0x00000020
1f70: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1f80: 7b 20 50 52 49 4e 54 45 52 5f 41 54 54 52 49 42  { PRINTER_ATTRIB
1f90: 55 54 45 5f 4c 4f 43 41 4c 20 3d 20 30 78 30 30  UTE_LOCAL = 0x00
1fa0: 30 30 30 30 34 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  000040 }....enum
1fb0: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
1fc0: 52 5f 41 54 54 52 49 42 55 54 45 5f 45 4e 41 42  R_ATTRIBUTE_ENAB
1fd0: 4c 45 5f 44 45 56 51 20 3d 20 30 78 30 30 30 30  LE_DEVQ = 0x0000
1fe0: 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0080 }..enum : u
1ff0: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 41 54  int { PRINTER_AT
2000: 54 52 49 42 55 54 45 5f 4b 45 45 50 50 52 49 4e  TRIBUTE_KEEPPRIN
2010: 54 45 44 4a 4f 42 53 20 3d 20 30 78 30 30 30 30  TEDJOBS = 0x0000
2020: 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0100 }..enum : u
2030: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 41 54  int { PRINTER_AT
2040: 54 52 49 42 55 54 45 5f 44 4f 5f 43 4f 4d 50 4c  TRIBUTE_DO_COMPL
2050: 45 54 45 5f 46 49 52 53 54 20 3d 20 30 78 30 30  ETE_FIRST = 0x00
2060: 30 30 30 32 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  000200 }....enum
2070: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
2080: 52 5f 41 54 54 52 49 42 55 54 45 5f 57 4f 52 4b  R_ATTRIBUTE_WORK
2090: 5f 4f 46 46 4c 49 4e 45 20 3d 20 30 78 30 30 30  _OFFLINE = 0x000
20a0: 30 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00400 }..enum : 
20b0: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 41  uint { PRINTER_A
20c0: 54 54 52 49 42 55 54 45 5f 45 4e 41 42 4c 45 5f  TTRIBUTE_ENABLE_
20d0: 42 49 44 49 20 3d 20 30 78 30 30 30 30 30 38 30  BIDI = 0x0000080
20e0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
20f0: 20 7b 20 50 52 49 4e 54 45 52 5f 41 54 54 52 49   { PRINTER_ATTRI
2100: 42 55 54 45 5f 52 41 57 5f 4f 4e 4c 59 20 3d 20  BUTE_RAW_ONLY = 
2110: 30 78 30 30 30 30 31 30 30 30 20 7d 0d 0a 65 6e  0x00001000 }..en
2120: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
2130: 54 45 52 5f 41 54 54 52 49 42 55 54 45 5f 50 55  TER_ATTRIBUTE_PU
2140: 42 4c 49 53 48 45 44 20 3d 20 30 78 30 30 30 30  BLISHED = 0x0000
2150: 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  2000 }..enum : u
2160: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 41 54  int { PRINTER_AT
2170: 54 52 49 42 55 54 45 5f 46 41 58 20 3d 20 30 78  TRIBUTE_FAX = 0x
2180: 30 30 30 30 34 30 30 30 20 7d 0d 0a 0d 0a 65 6e  00004000 }....en
2190: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4e 4f 5f 50  um : uint { NO_P
21a0: 52 49 4f 52 49 54 59 20 3d 20 30 20 7d 0d 0a 65  RIORITY = 0 }..e
21b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 41 58  num : uint { MAX
21c0: 5f 50 52 49 4f 52 49 54 59 20 3d 20 39 39 20 7d  _PRIORITY = 99 }
21d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
21e0: 4d 49 4e 5f 50 52 49 4f 52 49 54 59 20 3d 20 31  MIN_PRIORITY = 1
21f0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2200: 7b 20 44 45 46 5f 50 52 49 4f 52 49 54 59 20 3d  { DEF_PRIORITY =
2210: 20 31 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f   1 }....struct _
2220: 4a 4f 42 5f 49 4e 46 4f 5f 31 41 20 7b 0d 0a 20  JOB_INFO_1A {.. 
2230: 20 44 57 4f 52 44 20 4a 6f 62 49 64 3b 0d 0a 20   DWORD JobId;.. 
2240: 20 4c 50 53 54 52 20 70 50 72 69 6e 74 65 72 4e   LPSTR pPrinterN
2250: 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 4d  ame;..  LPSTR pM
2260: 61 63 68 69 6e 65 4e 61 6d 65 3b 0d 0a 20 20 4c  achineName;..  L
2270: 50 53 54 52 20 70 55 73 65 72 4e 61 6d 65 3b 0d  PSTR pUserName;.
2280: 0a 20 20 4c 50 53 54 52 20 70 44 6f 63 75 6d 65  .  LPSTR pDocume
2290: 6e 74 3b 0d 0a 20 20 4c 50 53 54 52 20 70 44 61  nt;..  LPSTR pDa
22a0: 74 61 74 79 70 65 3b 0d 0a 20 20 4c 50 53 54 52  tatype;..  LPSTR
22b0: 20 70 53 74 61 74 75 73 3b 0d 0a 20 20 44 57 4f   pStatus;..  DWO
22c0: 52 44 20 53 74 61 74 75 73 3b 0d 0a 20 20 44 57  RD Status;..  DW
22d0: 4f 52 44 20 50 72 69 6f 72 69 74 79 3b 0d 0a 20  ORD Priority;.. 
22e0: 20 44 57 4f 52 44 20 50 6f 73 69 74 69 6f 6e 3b   DWORD Position;
22f0: 0d 0a 20 20 44 57 4f 52 44 20 54 6f 74 61 6c 50  ..  DWORD TotalP
2300: 61 67 65 73 3b 0d 0a 20 20 44 57 4f 52 44 20 50  ages;..  DWORD P
2310: 61 67 65 73 50 72 69 6e 74 65 64 3b 0d 0a 20 20  agesPrinted;..  
2320: 53 59 53 54 45 4d 54 49 4d 45 20 53 75 62 6d 69  SYSTEMTIME Submi
2330: 74 74 65 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  tted;..}..alias 
2340: 5f 4a 4f 42 5f 49 4e 46 4f 5f 31 41 20 4a 4f 42  _JOB_INFO_1A JOB
2350: 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61 73  _INFO_1A;..alias
2360: 20 5f 4a 4f 42 5f 49 4e 46 4f 5f 31 41 2a 20 50   _JOB_INFO_1A* P
2370: 4a 4f 42 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 61 6c  JOB_INFO_1A;..al
2380: 69 61 73 20 5f 4a 4f 42 5f 49 4e 46 4f 5f 31 41  ias _JOB_INFO_1A
2390: 2a 20 4c 50 4a 4f 42 5f 49 4e 46 4f 5f 31 41 3b  * LPJOB_INFO_1A;
23a0: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4a 4f 42 5f  ....struct _JOB_
23b0: 49 4e 46 4f 5f 31 57 20 7b 0d 0a 20 20 44 57 4f  INFO_1W {..  DWO
23c0: 52 44 20 4a 6f 62 49 64 3b 0d 0a 20 20 4c 50 57  RD JobId;..  LPW
23d0: 53 54 52 20 70 50 72 69 6e 74 65 72 4e 61 6d 65  STR pPrinterName
23e0: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 4d 61 63  ;..  LPWSTR pMac
23f0: 68 69 6e 65 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57  hineName;..  LPW
2400: 53 54 52 20 70 55 73 65 72 4e 61 6d 65 3b 0d 0a  STR pUserName;..
2410: 20 20 4c 50 57 53 54 52 20 70 44 6f 63 75 6d 65    LPWSTR pDocume
2420: 6e 74 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44  nt;..  LPWSTR pD
2430: 61 74 61 74 79 70 65 3b 0d 0a 20 20 4c 50 57 53  atatype;..  LPWS
2440: 54 52 20 70 53 74 61 74 75 73 3b 0d 0a 20 20 44  TR pStatus;..  D
2450: 57 4f 52 44 20 53 74 61 74 75 73 3b 0d 0a 20 20  WORD Status;..  
2460: 44 57 4f 52 44 20 50 72 69 6f 72 69 74 79 3b 0d  DWORD Priority;.
2470: 0a 20 20 44 57 4f 52 44 20 50 6f 73 69 74 69 6f  .  DWORD Positio
2480: 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 54 6f 74 61  n;..  DWORD Tota
2490: 6c 50 61 67 65 73 3b 0d 0a 20 20 44 57 4f 52 44  lPages;..  DWORD
24a0: 20 50 61 67 65 73 50 72 69 6e 74 65 64 3b 0d 0a   PagesPrinted;..
24b0: 20 20 53 59 53 54 45 4d 54 49 4d 45 20 53 75 62    SYSTEMTIME Sub
24c0: 6d 69 74 74 65 64 3b 0d 0a 7d 0d 0a 61 6c 69 61  mitted;..}..alia
24d0: 73 20 5f 4a 4f 42 5f 49 4e 46 4f 5f 31 57 20 4a  s _JOB_INFO_1W J
24e0: 4f 42 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 61 6c 69  OB_INFO_1W;..ali
24f0: 61 73 20 5f 4a 4f 42 5f 49 4e 46 4f 5f 31 57 2a  as _JOB_INFO_1W*
2500: 20 50 4a 4f 42 5f 49 4e 46 4f 5f 31 57 3b 0d 0a   PJOB_INFO_1W;..
2510: 61 6c 69 61 73 20 5f 4a 4f 42 5f 49 4e 46 4f 5f  alias _JOB_INFO_
2520: 31 57 2a 20 4c 50 4a 4f 42 5f 49 4e 46 4f 5f 31  1W* LPJOB_INFO_1
2530: 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  W;....// #ifdef 
2540: 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d  UNICODE..// ....
2550: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
2560: 20 4a 4f 42 5f 49 4e 46 4f 5f 31 41 20 4a 4f 42   JOB_INFO_1A JOB
2570: 5f 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73 20  _INFO_1;..alias 
2580: 50 4a 4f 42 5f 49 4e 46 4f 5f 31 41 20 50 4a 4f  PJOB_INFO_1A PJO
2590: 42 5f 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73  B_INFO_1;..alias
25a0: 20 4c 50 4a 4f 42 5f 49 4e 46 4f 5f 31 41 20 4c   LPJOB_INFO_1A L
25b0: 50 4a 4f 42 5f 49 4e 46 4f 5f 31 3b 0d 0a 2f 2f  PJOB_INFO_1;..//
25c0: 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
25d0: 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4a 4f  DE....struct _JO
25e0: 42 5f 49 4e 46 4f 5f 32 41 20 7b 0d 0a 20 20 44  B_INFO_2A {..  D
25f0: 57 4f 52 44 20 4a 6f 62 49 64 3b 0d 0a 20 20 4c  WORD JobId;..  L
2600: 50 53 54 52 20 70 50 72 69 6e 74 65 72 4e 61 6d  PSTR pPrinterNam
2610: 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 4d 61 63  e;..  LPSTR pMac
2620: 68 69 6e 65 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53  hineName;..  LPS
2630: 54 52 20 70 55 73 65 72 4e 61 6d 65 3b 0d 0a 20  TR pUserName;.. 
2640: 20 4c 50 53 54 52 20 70 44 6f 63 75 6d 65 6e 74   LPSTR pDocument
2650: 3b 0d 0a 20 20 4c 50 53 54 52 20 70 4e 6f 74 69  ;..  LPSTR pNoti
2660: 66 79 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52  fyName;..  LPSTR
2670: 20 70 44 61 74 61 74 79 70 65 3b 0d 0a 20 20 4c   pDatatype;..  L
2680: 50 53 54 52 20 70 50 72 69 6e 74 50 72 6f 63 65  PSTR pPrintProce
2690: 73 73 6f 72 3b 0d 0a 20 20 4c 50 53 54 52 20 70  ssor;..  LPSTR p
26a0: 50 61 72 61 6d 65 74 65 72 73 3b 0d 0a 20 20 4c  Parameters;..  L
26b0: 50 53 54 52 20 70 44 72 69 76 65 72 4e 61 6d 65  PSTR pDriverName
26c0: 3b 0d 0a 20 20 4c 50 44 45 56 4d 4f 44 45 41 20  ;..  LPDEVMODEA 
26d0: 70 44 65 76 4d 6f 64 65 3b 0d 0a 20 20 4c 50 53  pDevMode;..  LPS
26e0: 54 52 20 70 53 74 61 74 75 73 3b 0d 0a 20 20 50  TR pStatus;..  P
26f0: 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50  SECURITY_DESCRIP
2700: 54 4f 52 20 70 53 65 63 75 72 69 74 79 44 65 73  TOR pSecurityDes
2710: 63 72 69 70 74 6f 72 3b 0d 0a 20 20 44 57 4f 52  criptor;..  DWOR
2720: 44 20 53 74 61 74 75 73 3b 0d 0a 20 20 44 57 4f  D Status;..  DWO
2730: 52 44 20 50 72 69 6f 72 69 74 79 3b 0d 0a 20 20  RD Priority;..  
2740: 44 57 4f 52 44 20 50 6f 73 69 74 69 6f 6e 3b 0d  DWORD Position;.
2750: 0a 20 20 44 57 4f 52 44 20 53 74 61 72 74 54 69  .  DWORD StartTi
2760: 6d 65 3b 0d 0a 20 20 44 57 4f 52 44 20 55 6e 74  me;..  DWORD Unt
2770: 69 6c 54 69 6d 65 3b 0d 0a 20 20 44 57 4f 52 44  ilTime;..  DWORD
2780: 20 54 6f 74 61 6c 50 61 67 65 73 3b 0d 0a 20 20   TotalPages;..  
2790: 44 57 4f 52 44 20 53 69 7a 65 3b 0d 0a 20 20 53  DWORD Size;..  S
27a0: 59 53 54 45 4d 54 49 4d 45 20 53 75 62 6d 69 74  YSTEMTIME Submit
27b0: 74 65 64 3b 0d 0a 20 20 44 57 4f 52 44 20 54 69  ted;..  DWORD Ti
27c0: 6d 65 3b 0d 0a 20 20 44 57 4f 52 44 20 50 61 67  me;..  DWORD Pag
27d0: 65 73 50 72 69 6e 74 65 64 3b 0d 0a 7d 0d 0a 61  esPrinted;..}..a
27e0: 6c 69 61 73 20 5f 4a 4f 42 5f 49 4e 46 4f 5f 32  lias _JOB_INFO_2
27f0: 41 20 4a 4f 42 5f 49 4e 46 4f 5f 32 41 3b 0d 0a  A JOB_INFO_2A;..
2800: 61 6c 69 61 73 20 5f 4a 4f 42 5f 49 4e 46 4f 5f  alias _JOB_INFO_
2810: 32 41 2a 20 50 4a 4f 42 5f 49 4e 46 4f 5f 32 41  2A* PJOB_INFO_2A
2820: 3b 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42 5f 49 4e  ;..alias _JOB_IN
2830: 46 4f 5f 32 41 2a 20 4c 50 4a 4f 42 5f 49 4e 46  FO_2A* LPJOB_INF
2840: 4f 5f 32 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  O_2A;....struct 
2850: 5f 4a 4f 42 5f 49 4e 46 4f 5f 32 57 20 7b 0d 0a  _JOB_INFO_2W {..
2860: 20 20 44 57 4f 52 44 20 4a 6f 62 49 64 3b 0d 0a    DWORD JobId;..
2870: 20 20 4c 50 57 53 54 52 20 70 50 72 69 6e 74 65    LPWSTR pPrinte
2880: 72 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53 54 52  rName;..  LPWSTR
2890: 20 70 4d 61 63 68 69 6e 65 4e 61 6d 65 3b 0d 0a   pMachineName;..
28a0: 20 20 4c 50 57 53 54 52 20 70 55 73 65 72 4e 61    LPWSTR pUserNa
28b0: 6d 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44  me;..  LPWSTR pD
28c0: 6f 63 75 6d 65 6e 74 3b 0d 0a 20 20 4c 50 57 53  ocument;..  LPWS
28d0: 54 52 20 70 4e 6f 74 69 66 79 4e 61 6d 65 3b 0d  TR pNotifyName;.
28e0: 0a 20 20 4c 50 57 53 54 52 20 70 44 61 74 61 74  .  LPWSTR pDatat
28f0: 79 70 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70  ype;..  LPWSTR p
2900: 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 3b 0d  PrintProcessor;.
2910: 0a 20 20 4c 50 57 53 54 52 20 70 50 61 72 61 6d  .  LPWSTR pParam
2920: 65 74 65 72 73 3b 0d 0a 20 20 4c 50 57 53 54 52  eters;..  LPWSTR
2930: 20 70 44 72 69 76 65 72 4e 61 6d 65 3b 0d 0a 20   pDriverName;.. 
2940: 20 4c 50 44 45 56 4d 4f 44 45 57 20 70 44 65 76   LPDEVMODEW pDev
2950: 4d 6f 64 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20  Mode;..  LPWSTR 
2960: 70 53 74 61 74 75 73 3b 0d 0a 20 20 50 53 45 43  pStatus;..  PSEC
2970: 55 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52  URITY_DESCRIPTOR
2980: 20 70 53 65 63 75 72 69 74 79 44 65 73 63 72 69   pSecurityDescri
2990: 70 74 6f 72 3b 0d 0a 20 20 44 57 4f 52 44 20 53  ptor;..  DWORD S
29a0: 74 61 74 75 73 3b 0d 0a 20 20 44 57 4f 52 44 20  tatus;..  DWORD 
29b0: 50 72 69 6f 72 69 74 79 3b 0d 0a 20 20 44 57 4f  Priority;..  DWO
29c0: 52 44 20 50 6f 73 69 74 69 6f 6e 3b 0d 0a 20 20  RD Position;..  
29d0: 44 57 4f 52 44 20 53 74 61 72 74 54 69 6d 65 3b  DWORD StartTime;
29e0: 0d 0a 20 20 44 57 4f 52 44 20 55 6e 74 69 6c 54  ..  DWORD UntilT
29f0: 69 6d 65 3b 0d 0a 20 20 44 57 4f 52 44 20 54 6f  ime;..  DWORD To
2a00: 74 61 6c 50 61 67 65 73 3b 0d 0a 20 20 44 57 4f  talPages;..  DWO
2a10: 52 44 20 53 69 7a 65 3b 0d 0a 20 20 53 59 53 54  RD Size;..  SYST
2a20: 45 4d 54 49 4d 45 20 53 75 62 6d 69 74 74 65 64  EMTIME Submitted
2a30: 3b 0d 0a 20 20 44 57 4f 52 44 20 54 69 6d 65 3b  ;..  DWORD Time;
2a40: 0d 0a 20 20 44 57 4f 52 44 20 50 61 67 65 73 50  ..  DWORD PagesP
2a50: 72 69 6e 74 65 64 3b 0d 0a 7d 0d 0a 61 6c 69 61  rinted;..}..alia
2a60: 73 20 5f 4a 4f 42 5f 49 4e 46 4f 5f 32 57 20 4a  s _JOB_INFO_2W J
2a70: 4f 42 5f 49 4e 46 4f 5f 32 57 3b 0d 0a 61 6c 69  OB_INFO_2W;..ali
2a80: 61 73 20 5f 4a 4f 42 5f 49 4e 46 4f 5f 32 57 2a  as _JOB_INFO_2W*
2a90: 20 50 4a 4f 42 5f 49 4e 46 4f 5f 32 57 3b 0d 0a   PJOB_INFO_2W;..
2aa0: 61 6c 69 61 73 20 5f 4a 4f 42 5f 49 4e 46 4f 5f  alias _JOB_INFO_
2ab0: 32 57 2a 20 4c 50 4a 4f 42 5f 49 4e 46 4f 5f 32  2W* LPJOB_INFO_2
2ac0: 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  W;....// #ifdef 
2ad0: 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d  UNICODE..// ....
2ae0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
2af0: 20 4a 4f 42 5f 49 4e 46 4f 5f 32 41 20 4a 4f 42   JOB_INFO_2A JOB
2b00: 5f 49 4e 46 4f 5f 32 3b 0d 0a 61 6c 69 61 73 20  _INFO_2;..alias 
2b10: 50 4a 4f 42 5f 49 4e 46 4f 5f 32 41 20 50 4a 4f  PJOB_INFO_2A PJO
2b20: 42 5f 49 4e 46 4f 5f 32 3b 0d 0a 61 6c 69 61 73  B_INFO_2;..alias
2b30: 20 4c 50 4a 4f 42 5f 49 4e 46 4f 5f 32 41 20 4c   LPJOB_INFO_2A L
2b40: 50 4a 4f 42 5f 49 4e 46 4f 5f 32 3b 0d 0a 2f 2f  PJOB_INFO_2;..//
2b50: 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
2b60: 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4a 4f  DE....struct _JO
2b70: 42 5f 49 4e 46 4f 5f 33 20 7b 0d 0a 20 20 44 57  B_INFO_3 {..  DW
2b80: 4f 52 44 20 4a 6f 62 49 64 3b 0d 0a 20 20 44 57  ORD JobId;..  DW
2b90: 4f 52 44 20 4e 65 78 74 4a 6f 62 49 64 3b 0d 0a  ORD NextJobId;..
2ba0: 20 20 44 57 4f 52 44 20 52 65 73 65 72 76 65 64    DWORD Reserved
2bb0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42  ;..}..alias _JOB
2bc0: 5f 49 4e 46 4f 5f 33 20 4a 4f 42 5f 49 4e 46 4f  _INFO_3 JOB_INFO
2bd0: 5f 33 3b 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42 5f  _3;..alias _JOB_
2be0: 49 4e 46 4f 5f 33 2a 20 50 4a 4f 42 5f 49 4e 46  INFO_3* PJOB_INF
2bf0: 4f 5f 33 3b 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42  O_3;..alias _JOB
2c00: 5f 49 4e 46 4f 5f 33 2a 20 4c 50 4a 4f 42 5f 49  _INFO_3* LPJOB_I
2c10: 4e 46 4f 5f 33 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a  NFO_3;....enum :
2c20: 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 43 4f 4e 54   uint { JOB_CONT
2c30: 52 4f 4c 5f 50 41 55 53 45 20 3d 20 31 20 7d 0d  ROL_PAUSE = 1 }.
2c40: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
2c50: 4f 42 5f 43 4f 4e 54 52 4f 4c 5f 52 45 53 55 4d  OB_CONTROL_RESUM
2c60: 45 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  E = 2 }..enum : 
2c70: 75 69 6e 74 20 7b 20 4a 4f 42 5f 43 4f 4e 54 52  uint { JOB_CONTR
2c80: 4f 4c 5f 43 41 4e 43 45 4c 20 3d 20 33 20 7d 0d  OL_CANCEL = 3 }.
2c90: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
2ca0: 4f 42 5f 43 4f 4e 54 52 4f 4c 5f 52 45 53 54 41  OB_CONTROL_RESTA
2cb0: 52 54 20 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a  RT = 4 }..enum :
2cc0: 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 43 4f 4e 54   uint { JOB_CONT
2cd0: 52 4f 4c 5f 44 45 4c 45 54 45 20 3d 20 35 20 7d  ROL_DELETE = 5 }
2ce0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2cf0: 4a 4f 42 5f 43 4f 4e 54 52 4f 4c 5f 53 45 4e 54  JOB_CONTROL_SENT
2d00: 5f 54 4f 5f 50 52 49 4e 54 45 52 20 3d 20 36 20  _TO_PRINTER = 6 
2d10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2d20: 20 4a 4f 42 5f 43 4f 4e 54 52 4f 4c 5f 4c 41 53   JOB_CONTROL_LAS
2d30: 54 5f 50 41 47 45 5f 45 4a 45 43 54 45 44 20 3d  T_PAGE_EJECTED =
2d40: 20 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75   7 }....enum : u
2d50: 69 6e 74 20 7b 20 4a 4f 42 5f 53 54 41 54 55 53  int { JOB_STATUS
2d60: 5f 50 41 55 53 45 44 20 3d 20 30 78 30 30 30 30  _PAUSED = 0x0000
2d70: 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
2d80: 69 6e 74 20 7b 20 4a 4f 42 5f 53 54 41 54 55 53  int { JOB_STATUS
2d90: 5f 45 52 52 4f 52 20 3d 20 30 78 30 30 30 30 30  _ERROR = 0x00000
2da0: 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
2db0: 6e 74 20 7b 20 4a 4f 42 5f 53 54 41 54 55 53 5f  nt { JOB_STATUS_
2dc0: 44 45 4c 45 54 49 4e 47 20 3d 20 30 78 30 30 30  DELETING = 0x000
2dd0: 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00004 }..enum : 
2de0: 75 69 6e 74 20 7b 20 4a 4f 42 5f 53 54 41 54 55  uint { JOB_STATU
2df0: 53 5f 53 50 4f 4f 4c 49 4e 47 20 3d 20 30 78 30  S_SPOOLING = 0x0
2e00: 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20  0000008 }..enum 
2e10: 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 53 54 41  : uint { JOB_STA
2e20: 54 55 53 5f 50 52 49 4e 54 49 4e 47 20 3d 20 30  TUS_PRINTING = 0
2e30: 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75  x00000010 }..enu
2e40: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 53  m : uint { JOB_S
2e50: 54 41 54 55 53 5f 4f 46 46 4c 49 4e 45 20 3d 20  TATUS_OFFLINE = 
2e60: 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e  0x00000020 }..en
2e70: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f  um : uint { JOB_
2e80: 53 54 41 54 55 53 5f 50 41 50 45 52 4f 55 54 20  STATUS_PAPEROUT 
2e90: 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d 0a  = 0x00000040 }..
2ea0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
2eb0: 42 5f 53 54 41 54 55 53 5f 50 52 49 4e 54 45 44  B_STATUS_PRINTED
2ec0: 20 3d 20 30 78 30 30 30 30 30 30 38 30 20 7d 0d   = 0x00000080 }.
2ed0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
2ee0: 4f 42 5f 53 54 41 54 55 53 5f 44 45 4c 45 54 45  OB_STATUS_DELETE
2ef0: 44 20 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d  D = 0x00000100 }
2f00: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2f10: 4a 4f 42 5f 53 54 41 54 55 53 5f 42 4c 4f 43 4b  JOB_STATUS_BLOCK
2f20: 45 44 5f 44 45 56 51 20 3d 20 30 78 30 30 30 30  ED_DEVQ = 0x0000
2f30: 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0200 }..enum : u
2f40: 69 6e 74 20 7b 20 4a 4f 42 5f 53 54 41 54 55 53  int { JOB_STATUS
2f50: 5f 55 53 45 52 5f 49 4e 54 45 52 56 45 4e 54 49  _USER_INTERVENTI
2f60: 4f 4e 20 3d 20 30 78 30 30 30 30 30 34 30 30 20  ON = 0x00000400 
2f70: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2f80: 20 4a 4f 42 5f 53 54 41 54 55 53 5f 52 45 53 54   JOB_STATUS_REST
2f90: 41 52 54 20 3d 20 30 78 30 30 30 30 30 38 30 30  ART = 0x00000800
2fa0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2fb0: 7b 20 4a 4f 42 5f 53 54 41 54 55 53 5f 43 4f 4d  { JOB_STATUS_COM
2fc0: 50 4c 45 54 45 20 3d 20 30 78 30 30 30 30 31 30  PLETE = 0x000010
2fd0: 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
2fe0: 69 6e 74 20 7b 20 4a 4f 42 5f 50 4f 53 49 54 49  int { JOB_POSITI
2ff0: 4f 4e 5f 55 4e 53 50 45 43 49 46 49 45 44 20 3d  ON_UNSPECIFIED =
3000: 20 30 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f   0 }....struct _
3010: 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31 41 20 7b  ADDJOB_INFO_1A {
3020: 0d 0a 20 20 4c 50 53 54 52 20 50 61 74 68 3b 0d  ..  LPSTR Path;.
3030: 0a 20 20 44 57 4f 52 44 20 4a 6f 62 49 64 3b 0d  .  DWORD JobId;.
3040: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41 44 44 4a 4f  .}..alias _ADDJO
3050: 42 5f 49 4e 46 4f 5f 31 41 20 41 44 44 4a 4f 42  B_INFO_1A ADDJOB
3060: 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61 73  _INFO_1A;..alias
3070: 20 5f 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31 41   _ADDJOB_INFO_1A
3080: 2a 20 50 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31  * PADDJOB_INFO_1
3090: 41 3b 0d 0a 61 6c 69 61 73 20 5f 41 44 44 4a 4f  A;..alias _ADDJO
30a0: 42 5f 49 4e 46 4f 5f 31 41 2a 20 4c 50 41 44 44  B_INFO_1A* LPADD
30b0: 4a 4f 42 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 0d 0a  JOB_INFO_1A;....
30c0: 73 74 72 75 63 74 20 5f 41 44 44 4a 4f 42 5f 49  struct _ADDJOB_I
30d0: 4e 46 4f 5f 31 57 20 7b 0d 0a 20 20 4c 50 57 53  NFO_1W {..  LPWS
30e0: 54 52 20 50 61 74 68 3b 0d 0a 20 20 44 57 4f 52  TR Path;..  DWOR
30f0: 44 20 4a 6f 62 49 64 3b 0d 0a 7d 0d 0a 61 6c 69  D JobId;..}..ali
3100: 61 73 20 5f 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f  as _ADDJOB_INFO_
3110: 31 57 20 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31  1W ADDJOB_INFO_1
3120: 57 3b 0d 0a 61 6c 69 61 73 20 5f 41 44 44 4a 4f  W;..alias _ADDJO
3130: 42 5f 49 4e 46 4f 5f 31 57 2a 20 50 41 44 44 4a  B_INFO_1W* PADDJ
3140: 4f 42 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 61 6c 69  OB_INFO_1W;..ali
3150: 61 73 20 5f 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f  as _ADDJOB_INFO_
3160: 31 57 2a 20 4c 50 41 44 44 4a 4f 42 5f 49 4e 46  1W* LPADDJOB_INF
3170: 4f 5f 31 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  O_1W;....// #ifd
3180: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e  ef UNICODE..// .
3190: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
31a0: 69 61 73 20 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f  ias ADDJOB_INFO_
31b0: 31 41 20 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31  1A ADDJOB_INFO_1
31c0: 3b 0d 0a 61 6c 69 61 73 20 50 41 44 44 4a 4f 42  ;..alias PADDJOB
31d0: 5f 49 4e 46 4f 5f 31 41 20 50 41 44 44 4a 4f 42  _INFO_1A PADDJOB
31e0: 5f 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73 20  _INFO_1;..alias 
31f0: 4c 50 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31 41  LPADDJOB_INFO_1A
3200: 20 4c 50 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31   LPADDJOB_INFO_1
3210: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
3220: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63  UNICODE....struc
3230: 74 20 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f 31  t _DRIVER_INFO_1
3240: 41 20 7b 0d 0a 20 20 4c 50 53 54 52 20 70 4e 61  A {..  LPSTR pNa
3250: 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 44  me;..}..alias _D
3260: 52 49 56 45 52 5f 49 4e 46 4f 5f 31 41 20 44 52  RIVER_INFO_1A DR
3270: 49 56 45 52 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 61  IVER_INFO_1A;..a
3280: 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e 46  lias _DRIVER_INF
3290: 4f 5f 31 41 2a 20 50 44 52 49 56 45 52 5f 49 4e  O_1A* PDRIVER_IN
32a0: 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61 73 20 5f 44  FO_1A;..alias _D
32b0: 52 49 56 45 52 5f 49 4e 46 4f 5f 31 41 2a 20 4c  RIVER_INFO_1A* L
32c0: 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 31 41 3b  PDRIVER_INFO_1A;
32d0: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 44 52 49 56  ....struct _DRIV
32e0: 45 52 5f 49 4e 46 4f 5f 31 57 20 7b 0d 0a 20 20  ER_INFO_1W {..  
32f0: 4c 50 57 53 54 52 20 70 4e 61 6d 65 3b 0d 0a 7d  LPWSTR pName;..}
3300: 0d 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f  ..alias _DRIVER_
3310: 49 4e 46 4f 5f 31 57 20 44 52 49 56 45 52 5f 49  INFO_1W DRIVER_I
3320: 4e 46 4f 5f 31 57 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_1W;..alias _
3330: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 31 57 2a 20  DRIVER_INFO_1W* 
3340: 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 31 57 3b  PDRIVER_INFO_1W;
3350: 0d 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f  ..alias _DRIVER_
3360: 49 4e 46 4f 5f 31 57 2a 20 4c 50 44 52 49 56 45  INFO_1W* LPDRIVE
3370: 52 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 0d 0a 2f 2f  R_INFO_1W;....//
3380: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
3390: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  .// .....// #els
33a0: 65 0d 0a 61 6c 69 61 73 20 44 52 49 56 45 52 5f  e..alias DRIVER_
33b0: 49 4e 46 4f 5f 31 41 20 44 52 49 56 45 52 5f 49  INFO_1A DRIVER_I
33c0: 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73 20 50 44  NFO_1;..alias PD
33d0: 52 49 56 45 52 5f 49 4e 46 4f 5f 31 41 20 50 44  RIVER_INFO_1A PD
33e0: 52 49 56 45 52 5f 49 4e 46 4f 5f 31 3b 0d 0a 61  RIVER_INFO_1;..a
33f0: 6c 69 61 73 20 4c 50 44 52 49 56 45 52 5f 49 4e  lias LPDRIVER_IN
3400: 46 4f 5f 31 41 20 4c 50 44 52 49 56 45 52 5f 49  FO_1A LPDRIVER_I
3410: 4e 46 4f 5f 31 3b 0d 0a 2f 2f 20 23 65 6e 64 69  NFO_1;..// #endi
3420: 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a  f // UNICODE....
3430: 73 74 72 75 63 74 20 5f 44 52 49 56 45 52 5f 49  struct _DRIVER_I
3440: 4e 46 4f 5f 32 41 20 7b 0d 0a 20 20 44 57 4f 52  NFO_2A {..  DWOR
3450: 44 20 63 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 4c  D cVersion;..  L
3460: 50 53 54 52 20 70 4e 61 6d 65 3b 0d 0a 20 20 4c  PSTR pName;..  L
3470: 50 53 54 52 20 70 45 6e 76 69 72 6f 6e 6d 65 6e  PSTR pEnvironmen
3480: 74 3b 0d 0a 20 20 4c 50 53 54 52 20 70 44 72 69  t;..  LPSTR pDri
3490: 76 65 72 50 61 74 68 3b 0d 0a 20 20 4c 50 53 54  verPath;..  LPST
34a0: 52 20 70 44 61 74 61 46 69 6c 65 3b 0d 0a 20 20  R pDataFile;..  
34b0: 4c 50 53 54 52 20 70 43 6f 6e 66 69 67 46 69 6c  LPSTR pConfigFil
34c0: 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 44 52  e;..}..alias _DR
34d0: 49 56 45 52 5f 49 4e 46 4f 5f 32 41 20 44 52 49  IVER_INFO_2A DRI
34e0: 56 45 52 5f 49 4e 46 4f 5f 32 41 3b 0d 0a 61 6c  VER_INFO_2A;..al
34f0: 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e 46 4f  ias _DRIVER_INFO
3500: 5f 32 41 2a 20 50 44 52 49 56 45 52 5f 49 4e 46  _2A* PDRIVER_INF
3510: 4f 5f 32 41 3b 0d 0a 61 6c 69 61 73 20 5f 44 52  O_2A;..alias _DR
3520: 49 56 45 52 5f 49 4e 46 4f 5f 32 41 2a 20 4c 50  IVER_INFO_2A* LP
3530: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 32 41 3b 0d  DRIVER_INFO_2A;.
3540: 0a 0d 0a 73 74 72 75 63 74 20 5f 44 52 49 56 45  ...struct _DRIVE
3550: 52 5f 49 4e 46 4f 5f 32 57 20 7b 0d 0a 20 20 44  R_INFO_2W {..  D
3560: 57 4f 52 44 20 63 56 65 72 73 69 6f 6e 3b 0d 0a  WORD cVersion;..
3570: 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65 3b 0d    LPWSTR pName;.
3580: 0a 20 20 4c 50 57 53 54 52 20 70 45 6e 76 69 72  .  LPWSTR pEnvir
3590: 6f 6e 6d 65 6e 74 3b 0d 0a 20 20 4c 50 57 53 54  onment;..  LPWST
35a0: 52 20 70 44 72 69 76 65 72 50 61 74 68 3b 0d 0a  R pDriverPath;..
35b0: 20 20 4c 50 57 53 54 52 20 70 44 61 74 61 46 69    LPWSTR pDataFi
35c0: 6c 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 43  le;..  LPWSTR pC
35d0: 6f 6e 66 69 67 46 69 6c 65 3b 0d 0a 7d 0d 0a 61  onfigFile;..}..a
35e0: 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e 46  lias _DRIVER_INF
35f0: 4f 5f 32 57 20 44 52 49 56 45 52 5f 49 4e 46 4f  O_2W DRIVER_INFO
3600: 5f 32 57 3b 0d 0a 61 6c 69 61 73 20 5f 44 52 49  _2W;..alias _DRI
3610: 56 45 52 5f 49 4e 46 4f 5f 32 57 2a 20 50 44 52  VER_INFO_2W* PDR
3620: 49 56 45 52 5f 49 4e 46 4f 5f 32 57 3b 0d 0a 61  IVER_INFO_2W;..a
3630: 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e 46  lias _DRIVER_INF
3640: 4f 5f 32 57 2a 20 4c 50 44 52 49 56 45 52 5f 49  O_2W* LPDRIVER_I
3650: 4e 46 4f 5f 32 57 3b 0d 0a 0d 0a 2f 2f 20 23 69  NFO_2W;....// #i
3660: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
3670: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a   .....// #else..
3680: 61 6c 69 61 73 20 44 52 49 56 45 52 5f 49 4e 46  alias DRIVER_INF
3690: 4f 5f 32 41 20 44 52 49 56 45 52 5f 49 4e 46 4f  O_2A DRIVER_INFO
36a0: 5f 32 3b 0d 0a 61 6c 69 61 73 20 50 44 52 49 56  _2;..alias PDRIV
36b0: 45 52 5f 49 4e 46 4f 5f 32 41 20 50 44 52 49 56  ER_INFO_2A PDRIV
36c0: 45 52 5f 49 4e 46 4f 5f 32 3b 0d 0a 61 6c 69 61  ER_INFO_2;..alia
36d0: 73 20 4c 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f  s LPDRIVER_INFO_
36e0: 32 41 20 4c 50 44 52 49 56 45 52 5f 49 4e 46 4f  2A LPDRIVER_INFO
36f0: 5f 32 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  _2;..// #endif /
3700: 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73 74 72  / UNICODE....str
3710: 75 63 74 20 5f 44 52 49 56 45 52 5f 49 4e 46 4f  uct _DRIVER_INFO
3720: 5f 33 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63  _3A {..  DWORD c
3730: 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 4c 50 53 54  Version;..  LPST
3740: 52 20 70 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53 54  R pName;..  LPST
3750: 52 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 3b 0d  R pEnvironment;.
3760: 0a 20 20 4c 50 53 54 52 20 70 44 72 69 76 65 72  .  LPSTR pDriver
3770: 50 61 74 68 3b 0d 0a 20 20 4c 50 53 54 52 20 70  Path;..  LPSTR p
3780: 44 61 74 61 46 69 6c 65 3b 0d 0a 20 20 4c 50 53  DataFile;..  LPS
3790: 54 52 20 70 43 6f 6e 66 69 67 46 69 6c 65 3b 0d  TR pConfigFile;.
37a0: 0a 20 20 4c 50 53 54 52 20 70 48 65 6c 70 46 69  .  LPSTR pHelpFi
37b0: 6c 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 44 65  le;..  LPSTR pDe
37c0: 70 65 6e 64 65 6e 74 46 69 6c 65 73 3b 0d 0a 20  pendentFiles;.. 
37d0: 20 4c 50 53 54 52 20 70 4d 6f 6e 69 74 6f 72 4e   LPSTR pMonitorN
37e0: 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 44  ame;..  LPSTR pD
37f0: 65 66 61 75 6c 74 44 61 74 61 54 79 70 65 3b 0d  efaultDataType;.
3800: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 44 52 49 56 45  .}..alias _DRIVE
3810: 52 5f 49 4e 46 4f 5f 33 41 20 44 52 49 56 45 52  R_INFO_3A DRIVER
3820: 5f 49 4e 46 4f 5f 33 41 3b 0d 0a 61 6c 69 61 73  _INFO_3A;..alias
3830: 20 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f 33 41   _DRIVER_INFO_3A
3840: 2a 20 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 33  * PDRIVER_INFO_3
3850: 41 3b 0d 0a 61 6c 69 61 73 20 5f 44 52 49 56 45  A;..alias _DRIVE
3860: 52 5f 49 4e 46 4f 5f 33 41 2a 20 4c 50 44 52 49  R_INFO_3A* LPDRI
3870: 56 45 52 5f 49 4e 46 4f 5f 33 41 3b 0d 0a 0d 0a  VER_INFO_3A;....
3880: 73 74 72 75 63 74 20 5f 44 52 49 56 45 52 5f 49  struct _DRIVER_I
3890: 4e 46 4f 5f 33 57 20 7b 0d 0a 20 20 44 57 4f 52  NFO_3W {..  DWOR
38a0: 44 20 63 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 4c  D cVersion;..  L
38b0: 50 57 53 54 52 20 70 4e 61 6d 65 3b 0d 0a 20 20  PWSTR pName;..  
38c0: 4c 50 57 53 54 52 20 70 45 6e 76 69 72 6f 6e 6d  LPWSTR pEnvironm
38d0: 65 6e 74 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70  ent;..  LPWSTR p
38e0: 44 72 69 76 65 72 50 61 74 68 3b 0d 0a 20 20 4c  DriverPath;..  L
38f0: 50 57 53 54 52 20 70 44 61 74 61 46 69 6c 65 3b  PWSTR pDataFile;
3900: 0d 0a 20 20 4c 50 57 53 54 52 20 70 43 6f 6e 66  ..  LPWSTR pConf
3910: 69 67 46 69 6c 65 3b 0d 0a 20 20 4c 50 57 53 54  igFile;..  LPWST
3920: 52 20 70 48 65 6c 70 46 69 6c 65 3b 0d 0a 20 20  R pHelpFile;..  
3930: 4c 50 57 53 54 52 20 70 44 65 70 65 6e 64 65 6e  LPWSTR pDependen
3940: 74 46 69 6c 65 73 3b 0d 0a 20 20 4c 50 57 53 54  tFiles;..  LPWST
3950: 52 20 70 4d 6f 6e 69 74 6f 72 4e 61 6d 65 3b 0d  R pMonitorName;.
3960: 0a 20 20 4c 50 57 53 54 52 20 70 44 65 66 61 75  .  LPWSTR pDefau
3970: 6c 74 44 61 74 61 54 79 70 65 3b 0d 0a 7d 0d 0a  ltDataType;..}..
3980: 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e  alias _DRIVER_IN
3990: 46 4f 5f 33 57 20 44 52 49 56 45 52 5f 49 4e 46  FO_3W DRIVER_INF
39a0: 4f 5f 33 57 3b 0d 0a 61 6c 69 61 73 20 5f 44 52  O_3W;..alias _DR
39b0: 49 56 45 52 5f 49 4e 46 4f 5f 33 57 2a 20 50 44  IVER_INFO_3W* PD
39c0: 52 49 56 45 52 5f 49 4e 46 4f 5f 33 57 3b 0d 0a  RIVER_INFO_3W;..
39d0: 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e  alias _DRIVER_IN
39e0: 46 4f 5f 33 57 2a 20 4c 50 44 52 49 56 45 52 5f  FO_3W* LPDRIVER_
39f0: 49 4e 46 4f 5f 33 57 3b 0d 0a 0d 0a 2f 2f 20 23  INFO_3W;....// #
3a00: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
3a10: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d  / .....// #else.
3a20: 0a 61 6c 69 61 73 20 44 52 49 56 45 52 5f 49 4e  .alias DRIVER_IN
3a30: 46 4f 5f 33 41 20 44 52 49 56 45 52 5f 49 4e 46  FO_3A DRIVER_INF
3a40: 4f 5f 33 3b 0d 0a 61 6c 69 61 73 20 50 44 52 49  O_3;..alias PDRI
3a50: 56 45 52 5f 49 4e 46 4f 5f 33 41 20 50 44 52 49  VER_INFO_3A PDRI
3a60: 56 45 52 5f 49 4e 46 4f 5f 33 3b 0d 0a 61 6c 69  VER_INFO_3;..ali
3a70: 61 73 20 4c 50 44 52 49 56 45 52 5f 49 4e 46 4f  as LPDRIVER_INFO
3a80: 5f 33 41 20 4c 50 44 52 49 56 45 52 5f 49 4e 46  _3A LPDRIVER_INF
3a90: 4f 5f 33 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  O_3;..// #endif 
3aa0: 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73 74  // UNICODE....st
3ab0: 72 75 63 74 20 5f 44 52 49 56 45 52 5f 49 4e 46  ruct _DRIVER_INF
3ac0: 4f 5f 34 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20  O_4A {..  DWORD 
3ad0: 63 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 4c 50 53  cVersion;..  LPS
3ae0: 54 52 20 70 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53  TR pName;..  LPS
3af0: 54 52 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 3b  TR pEnvironment;
3b00: 0d 0a 20 20 4c 50 53 54 52 20 70 44 72 69 76 65  ..  LPSTR pDrive
3b10: 72 50 61 74 68 3b 0d 0a 20 20 4c 50 53 54 52 20  rPath;..  LPSTR 
3b20: 70 44 61 74 61 46 69 6c 65 3b 0d 0a 20 20 4c 50  pDataFile;..  LP
3b30: 53 54 52 20 70 43 6f 6e 66 69 67 46 69 6c 65 3b  STR pConfigFile;
3b40: 0d 0a 20 20 4c 50 53 54 52 20 70 48 65 6c 70 46  ..  LPSTR pHelpF
3b50: 69 6c 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 44  ile;..  LPSTR pD
3b60: 65 70 65 6e 64 65 6e 74 46 69 6c 65 73 3b 0d 0a  ependentFiles;..
3b70: 20 20 4c 50 53 54 52 20 70 4d 6f 6e 69 74 6f 72    LPSTR pMonitor
3b80: 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70  Name;..  LPSTR p
3b90: 44 65 66 61 75 6c 74 44 61 74 61 54 79 70 65 3b  DefaultDataType;
3ba0: 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 7a 50 72  ..  LPSTR pszzPr
3bb0: 65 76 69 6f 75 73 4e 61 6d 65 73 3b 0d 0a 7d 0d  eviousNames;..}.
3bc0: 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49  .alias _DRIVER_I
3bd0: 4e 46 4f 5f 34 41 20 44 52 49 56 45 52 5f 49 4e  NFO_4A DRIVER_IN
3be0: 46 4f 5f 34 41 3b 0d 0a 61 6c 69 61 73 20 5f 44  FO_4A;..alias _D
3bf0: 52 49 56 45 52 5f 49 4e 46 4f 5f 34 41 2a 20 50  RIVER_INFO_4A* P
3c00: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 34 41 3b 0d  DRIVER_INFO_4A;.
3c10: 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49  .alias _DRIVER_I
3c20: 4e 46 4f 5f 34 41 2a 20 4c 50 44 52 49 56 45 52  NFO_4A* LPDRIVER
3c30: 5f 49 4e 46 4f 5f 34 41 3b 0d 0a 0d 0a 73 74 72  _INFO_4A;....str
3c40: 75 63 74 20 5f 44 52 49 56 45 52 5f 49 4e 46 4f  uct _DRIVER_INFO
3c50: 5f 34 57 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63  _4W {..  DWORD c
3c60: 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 4c 50 57 53  Version;..  LPWS
3c70: 54 52 20 70 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57  TR pName;..  LPW
3c80: 53 54 52 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74  STR pEnvironment
3c90: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44 72 69  ;..  LPWSTR pDri
3ca0: 76 65 72 50 61 74 68 3b 0d 0a 20 20 4c 50 57 53  verPath;..  LPWS
3cb0: 54 52 20 70 44 61 74 61 46 69 6c 65 3b 0d 0a 20  TR pDataFile;.. 
3cc0: 20 4c 50 57 53 54 52 20 70 43 6f 6e 66 69 67 46   LPWSTR pConfigF
3cd0: 69 6c 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70  ile;..  LPWSTR p
3ce0: 48 65 6c 70 46 69 6c 65 3b 0d 0a 20 20 4c 50 57  HelpFile;..  LPW
3cf0: 53 54 52 20 70 44 65 70 65 6e 64 65 6e 74 46 69  STR pDependentFi
3d00: 6c 65 73 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70  les;..  LPWSTR p
3d10: 4d 6f 6e 69 74 6f 72 4e 61 6d 65 3b 0d 0a 20 20  MonitorName;..  
3d20: 4c 50 57 53 54 52 20 70 44 65 66 61 75 6c 74 44  LPWSTR pDefaultD
3d30: 61 74 61 54 79 70 65 3b 0d 0a 20 20 4c 50 57 53  ataType;..  LPWS
3d40: 54 52 20 70 73 7a 7a 50 72 65 76 69 6f 75 73 4e  TR pszzPreviousN
3d50: 61 6d 65 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  ames;..}..alias 
3d60: 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f 34 57 20  _DRIVER_INFO_4W 
3d70: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 34 57 3b 0d  DRIVER_INFO_4W;.
3d80: 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49  .alias _DRIVER_I
3d90: 4e 46 4f 5f 34 57 2a 20 50 44 52 49 56 45 52 5f  NFO_4W* PDRIVER_
3da0: 49 4e 46 4f 5f 34 57 3b 0d 0a 61 6c 69 61 73 20  INFO_4W;..alias 
3db0: 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f 34 57 2a  _DRIVER_INFO_4W*
3dc0: 20 4c 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 34   LPDRIVER_INFO_4
3dd0: 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  W;....// #ifdef 
3de0: 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d  UNICODE..// ....
3df0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
3e00: 20 44 52 49 56 45 52 5f 49 4e 46 4f 5f 34 41 20   DRIVER_INFO_4A 
3e10: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 34 3b 0d 0a  DRIVER_INFO_4;..
3e20: 61 6c 69 61 73 20 50 44 52 49 56 45 52 5f 49 4e  alias PDRIVER_IN
3e30: 46 4f 5f 34 41 20 50 44 52 49 56 45 52 5f 49 4e  FO_4A PDRIVER_IN
3e40: 46 4f 5f 34 3b 0d 0a 61 6c 69 61 73 20 4c 50 44  FO_4;..alias LPD
3e50: 52 49 56 45 52 5f 49 4e 46 4f 5f 34 41 20 4c 50  RIVER_INFO_4A LP
3e60: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 34 3b 0d 0a  DRIVER_INFO_4;..
3e70: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49  // #endif // UNI
3e80: 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  CODE....struct _
3e90: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 35 41 20 7b  DRIVER_INFO_5A {
3ea0: 0d 0a 20 20 44 57 4f 52 44 20 63 56 65 72 73 69  ..  DWORD cVersi
3eb0: 6f 6e 3b 0d 0a 20 20 4c 50 53 54 52 20 70 4e 61  on;..  LPSTR pNa
3ec0: 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 45 6e  me;..  LPSTR pEn
3ed0: 76 69 72 6f 6e 6d 65 6e 74 3b 0d 0a 20 20 4c 50  vironment;..  LP
3ee0: 53 54 52 20 70 44 72 69 76 65 72 50 61 74 68 3b  STR pDriverPath;
3ef0: 0d 0a 20 20 4c 50 53 54 52 20 70 44 61 74 61 46  ..  LPSTR pDataF
3f00: 69 6c 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 43  ile;..  LPSTR pC
3f10: 6f 6e 66 69 67 46 69 6c 65 3b 0d 0a 20 20 44 57  onfigFile;..  DW
3f20: 4f 52 44 20 64 77 44 72 69 76 65 72 41 74 74 72  ORD dwDriverAttr
3f30: 69 62 75 74 65 73 3b 0d 0a 20 20 44 57 4f 52 44  ibutes;..  DWORD
3f40: 20 64 77 43 6f 6e 66 69 67 56 65 72 73 69 6f 6e   dwConfigVersion
3f50: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 44 72 69  ;..  DWORD dwDri
3f60: 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 7d 0d 0a  verVersion;..}..
3f70: 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e  alias _DRIVER_IN
3f80: 46 4f 5f 35 41 20 44 52 49 56 45 52 5f 49 4e 46  FO_5A DRIVER_INF
3f90: 4f 5f 35 41 3b 0d 0a 61 6c 69 61 73 20 5f 44 52  O_5A;..alias _DR
3fa0: 49 56 45 52 5f 49 4e 46 4f 5f 35 41 2a 20 50 44  IVER_INFO_5A* PD
3fb0: 52 49 56 45 52 5f 49 4e 46 4f 5f 35 41 3b 0d 0a  RIVER_INFO_5A;..
3fc0: 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e  alias _DRIVER_IN
3fd0: 46 4f 5f 35 41 2a 20 4c 50 44 52 49 56 45 52 5f  FO_5A* LPDRIVER_
3fe0: 49 4e 46 4f 5f 35 41 3b 0d 0a 0d 0a 73 74 72 75  INFO_5A;....stru
3ff0: 63 74 20 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f  ct _DRIVER_INFO_
4000: 35 57 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63 56  5W {..  DWORD cV
4010: 65 72 73 69 6f 6e 3b 0d 0a 20 20 4c 50 57 53 54  ersion;..  LPWST
4020: 52 20 70 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53  R pName;..  LPWS
4030: 54 52 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 3b  TR pEnvironment;
4040: 0d 0a 20 20 4c 50 57 53 54 52 20 70 44 72 69 76  ..  LPWSTR pDriv
4050: 65 72 50 61 74 68 3b 0d 0a 20 20 4c 50 57 53 54  erPath;..  LPWST
4060: 52 20 70 44 61 74 61 46 69 6c 65 3b 0d 0a 20 20  R pDataFile;..  
4070: 4c 50 57 53 54 52 20 70 43 6f 6e 66 69 67 46 69  LPWSTR pConfigFi
4080: 6c 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 44  le;..  DWORD dwD
4090: 72 69 76 65 72 41 74 74 72 69 62 75 74 65 73 3b  riverAttributes;
40a0: 0d 0a 20 20 44 57 4f 52 44 20 64 77 43 6f 6e 66  ..  DWORD dwConf
40b0: 69 67 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57  igVersion;..  DW
40c0: 4f 52 44 20 64 77 44 72 69 76 65 72 56 65 72 73  ORD dwDriverVers
40d0: 69 6f 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ion;..}..alias _
40e0: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 35 57 20 44  DRIVER_INFO_5W D
40f0: 52 49 56 45 52 5f 49 4e 46 4f 5f 35 57 3b 0d 0a  RIVER_INFO_5W;..
4100: 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e  alias _DRIVER_IN
4110: 46 4f 5f 35 57 2a 20 50 44 52 49 56 45 52 5f 49  FO_5W* PDRIVER_I
4120: 4e 46 4f 5f 35 57 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_5W;..alias _
4130: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 35 57 2a 20  DRIVER_INFO_5W* 
4140: 4c 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 35 57  LPDRIVER_INFO_5W
4150: 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  ;....// #ifdef U
4160: 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a  NICODE..// .....
4170: 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
4180: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 35 41 20 44  DRIVER_INFO_5A D
4190: 52 49 56 45 52 5f 49 4e 46 4f 5f 35 3b 0d 0a 61  RIVER_INFO_5;..a
41a0: 6c 69 61 73 20 50 44 52 49 56 45 52 5f 49 4e 46  lias PDRIVER_INF
41b0: 4f 5f 35 41 20 50 44 52 49 56 45 52 5f 49 4e 46  O_5A PDRIVER_INF
41c0: 4f 5f 35 3b 0d 0a 61 6c 69 61 73 20 4c 50 44 52  O_5;..alias LPDR
41d0: 49 56 45 52 5f 49 4e 46 4f 5f 35 41 20 4c 50 44  IVER_INFO_5A LPD
41e0: 52 49 56 45 52 5f 49 4e 46 4f 5f 35 3b 0d 0a 2f  RIVER_INFO_5;../
41f0: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43  / #endif // UNIC
4200: 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 44  ODE....struct _D
4210: 52 49 56 45 52 5f 49 4e 46 4f 5f 36 41 20 7b 0d  RIVER_INFO_6A {.
4220: 0a 20 20 44 57 4f 52 44 20 63 56 65 72 73 69 6f  .  DWORD cVersio
4230: 6e 3b 0d 0a 20 20 4c 50 53 54 52 20 70 4e 61 6d  n;..  LPSTR pNam
4240: 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 45 6e 76  e;..  LPSTR pEnv
4250: 69 72 6f 6e 6d 65 6e 74 3b 0d 0a 20 20 4c 50 53  ironment;..  LPS
4260: 54 52 20 70 44 72 69 76 65 72 50 61 74 68 3b 0d  TR pDriverPath;.
4270: 0a 20 20 4c 50 53 54 52 20 70 44 61 74 61 46 69  .  LPSTR pDataFi
4280: 6c 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 43 6f  le;..  LPSTR pCo
4290: 6e 66 69 67 46 69 6c 65 3b 0d 0a 20 20 4c 50 53  nfigFile;..  LPS
42a0: 54 52 20 70 48 65 6c 70 46 69 6c 65 3b 0d 0a 20  TR pHelpFile;.. 
42b0: 20 4c 50 53 54 52 20 70 44 65 70 65 6e 64 65 6e   LPSTR pDependen
42c0: 74 46 69 6c 65 73 3b 0d 0a 20 20 4c 50 53 54 52  tFiles;..  LPSTR
42d0: 20 70 4d 6f 6e 69 74 6f 72 4e 61 6d 65 3b 0d 0a   pMonitorName;..
42e0: 20 20 4c 50 53 54 52 20 70 44 65 66 61 75 6c 74    LPSTR pDefault
42f0: 44 61 74 61 54 79 70 65 3b 0d 0a 20 20 4c 50 53  DataType;..  LPS
4300: 54 52 20 70 73 7a 7a 50 72 65 76 69 6f 75 73 4e  TR pszzPreviousN
4310: 61 6d 65 73 3b 0d 0a 20 20 46 49 4c 45 54 49 4d  ames;..  FILETIM
4320: 45 20 66 74 44 72 69 76 65 72 44 61 74 65 3b 0d  E ftDriverDate;.
4330: 0a 20 20 44 57 4f 52 44 4c 4f 4e 47 20 64 77 6c  .  DWORDLONG dwl
4340: 44 72 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a  DriverVersion;..
4350: 20 20 4c 50 53 54 52 20 70 73 7a 4d 66 67 4e 61    LPSTR pszMfgNa
4360: 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a  me;..  LPSTR psz
4370: 4f 45 4d 55 72 6c 3b 0d 0a 20 20 4c 50 53 54 52  OEMUrl;..  LPSTR
4380: 20 70 73 7a 48 61 72 64 77 61 72 65 49 44 3b 0d   pszHardwareID;.
4390: 0a 20 20 4c 50 53 54 52 20 70 73 7a 50 72 6f 76  .  LPSTR pszProv
43a0: 69 64 65 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  ider;..}..alias 
43b0: 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f 36 41 20  _DRIVER_INFO_6A 
43c0: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 36 41 3b 0d  DRIVER_INFO_6A;.
43d0: 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49  .alias _DRIVER_I
43e0: 4e 46 4f 5f 36 41 2a 20 50 44 52 49 56 45 52 5f  NFO_6A* PDRIVER_
43f0: 49 4e 46 4f 5f 36 41 3b 0d 0a 61 6c 69 61 73 20  INFO_6A;..alias 
4400: 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f 36 41 2a  _DRIVER_INFO_6A*
4410: 20 4c 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 36   LPDRIVER_INFO_6
4420: 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 44 52  A;....struct _DR
4430: 49 56 45 52 5f 49 4e 46 4f 5f 36 57 20 7b 0d 0a  IVER_INFO_6W {..
4440: 20 20 44 57 4f 52 44 20 63 56 65 72 73 69 6f 6e    DWORD cVersion
4450: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 4e 61 6d  ;..  LPWSTR pNam
4460: 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 45 6e  e;..  LPWSTR pEn
4470: 76 69 72 6f 6e 6d 65 6e 74 3b 0d 0a 20 20 4c 50  vironment;..  LP
4480: 57 53 54 52 20 70 44 72 69 76 65 72 50 61 74 68  WSTR pDriverPath
4490: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44 61 74  ;..  LPWSTR pDat
44a0: 61 46 69 6c 65 3b 0d 0a 20 20 4c 50 57 53 54 52  aFile;..  LPWSTR
44b0: 20 70 43 6f 6e 66 69 67 46 69 6c 65 3b 0d 0a 20   pConfigFile;.. 
44c0: 20 4c 50 57 53 54 52 20 70 48 65 6c 70 46 69 6c   LPWSTR pHelpFil
44d0: 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44 65  e;..  LPWSTR pDe
44e0: 70 65 6e 64 65 6e 74 46 69 6c 65 73 3b 0d 0a 20  pendentFiles;.. 
44f0: 20 4c 50 57 53 54 52 20 70 4d 6f 6e 69 74 6f 72   LPWSTR pMonitor
4500: 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20  Name;..  LPWSTR 
4510: 70 44 65 66 61 75 6c 74 44 61 74 61 54 79 70 65  pDefaultDataType
4520: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 7a  ;..  LPWSTR pszz
4530: 50 72 65 76 69 6f 75 73 4e 61 6d 65 73 3b 0d 0a  PreviousNames;..
4540: 20 20 46 49 4c 45 54 49 4d 45 20 66 74 44 72 69    FILETIME ftDri
4550: 76 65 72 44 61 74 65 3b 0d 0a 20 20 44 57 4f 52  verDate;..  DWOR
4560: 44 4c 4f 4e 47 20 64 77 6c 44 72 69 76 65 72 56  DLONG dwlDriverV
4570: 65 72 73 69 6f 6e 3b 0d 0a 20 20 4c 50 57 53 54  ersion;..  LPWST
4580: 52 20 70 73 7a 4d 66 67 4e 61 6d 65 3b 0d 0a 20  R pszMfgName;.. 
4590: 20 4c 50 57 53 54 52 20 70 73 7a 4f 45 4d 55 72   LPWSTR pszOEMUr
45a0: 6c 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a  l;..  LPWSTR psz
45b0: 48 61 72 64 77 61 72 65 49 44 3b 0d 0a 20 20 4c  HardwareID;..  L
45c0: 50 57 53 54 52 20 70 73 7a 50 72 6f 76 69 64 65  PWSTR pszProvide
45d0: 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 44 52  r;..}..alias _DR
45e0: 49 56 45 52 5f 49 4e 46 4f 5f 36 57 20 44 52 49  IVER_INFO_6W DRI
45f0: 56 45 52 5f 49 4e 46 4f 5f 36 57 3b 0d 0a 61 6c  VER_INFO_6W;..al
4600: 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e 46 4f  ias _DRIVER_INFO
4610: 5f 36 57 2a 20 50 44 52 49 56 45 52 5f 49 4e 46  _6W* PDRIVER_INF
4620: 4f 5f 36 57 3b 0d 0a 61 6c 69 61 73 20 5f 44 52  O_6W;..alias _DR
4630: 49 56 45 52 5f 49 4e 46 4f 5f 36 57 2a 20 4c 50  IVER_INFO_6W* LP
4640: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 36 57 3b 0d  DRIVER_INFO_6W;.
4650: 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
4660: 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  CODE..// .....//
4670: 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 44 52   #else..alias DR
4680: 49 56 45 52 5f 49 4e 46 4f 5f 36 41 20 44 52 49  IVER_INFO_6A DRI
4690: 56 45 52 5f 49 4e 46 4f 5f 36 3b 0d 0a 61 6c 69  VER_INFO_6;..ali
46a0: 61 73 20 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f  as PDRIVER_INFO_
46b0: 36 41 20 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f  6A PDRIVER_INFO_
46c0: 36 3b 0d 0a 61 6c 69 61 73 20 4c 50 44 52 49 56  6;..alias LPDRIV
46d0: 45 52 5f 49 4e 46 4f 5f 36 41 20 4c 50 44 52 49  ER_INFO_6A LPDRI
46e0: 56 45 52 5f 49 4e 46 4f 5f 36 3b 0d 0a 2f 2f 20  VER_INFO_6;..// 
46f0: 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44  #endif // UNICOD
4700: 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  E....enum : uint
4710: 20 7b 20 44 52 49 56 45 52 5f 4b 45 52 4e 45 4c   { DRIVER_KERNEL
4720: 4d 4f 44 45 20 3d 20 30 78 30 30 30 30 30 30 30  MODE = 0x0000000
4730: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
4740: 20 7b 20 44 52 49 56 45 52 5f 55 53 45 52 4d 4f   { DRIVER_USERMO
4750: 44 45 20 3d 20 30 78 30 30 30 30 30 30 30 32 20  DE = 0x00000002 
4760: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
4770: 20 7b 20 44 50 44 5f 44 45 4c 45 54 45 5f 55 4e   { DPD_DELETE_UN
4780: 55 53 45 44 5f 46 49 4c 45 53 20 3d 20 30 78 30  USED_FILES = 0x0
4790: 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20  0000001 }..enum 
47a0: 3a 20 75 69 6e 74 20 7b 20 44 50 44 5f 44 45 4c  : uint { DPD_DEL
47b0: 45 54 45 5f 53 50 45 43 49 46 49 43 5f 56 45 52  ETE_SPECIFIC_VER
47c0: 53 49 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 30  SION = 0x0000000
47d0: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
47e0: 20 7b 20 44 50 44 5f 44 45 4c 45 54 45 5f 41 4c   { DPD_DELETE_AL
47f0: 4c 5f 46 49 4c 45 53 20 3d 20 30 78 30 30 30 30  L_FILES = 0x0000
4800: 30 30 30 34 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0004 }....enum :
4810: 20 75 69 6e 74 20 7b 20 41 50 44 5f 53 54 52 49   uint { APD_STRI
4820: 43 54 5f 55 50 47 52 41 44 45 20 3d 20 30 78 30  CT_UPGRADE = 0x0
4830: 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20  0000001 }..enum 
4840: 3a 20 75 69 6e 74 20 7b 20 41 50 44 5f 53 54 52  : uint { APD_STR
4850: 49 43 54 5f 44 4f 57 4e 47 52 41 44 45 20 3d 20  ICT_DOWNGRADE = 
4860: 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e  0x00000002 }..en
4870: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 44 5f  um : uint { APD_
4880: 43 4f 50 59 5f 41 4c 4c 5f 46 49 4c 45 53 20 3d  COPY_ALL_FILES =
4890: 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65   0x00000004 }..e
48a0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50 44  num : uint { APD
48b0: 5f 43 4f 50 59 5f 4e 45 57 5f 46 49 4c 45 53 20  _COPY_NEW_FILES 
48c0: 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a  = 0x00000008 }..
48d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 41 50  enum : uint { AP
48e0: 44 5f 43 4f 50 59 5f 46 52 4f 4d 5f 44 49 52 45  D_COPY_FROM_DIRE
48f0: 43 54 4f 52 59 20 3d 20 30 78 30 30 30 30 30 30  CTORY = 0x000000
4900: 31 30 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  10 }....struct _
4910: 44 4f 43 5f 49 4e 46 4f 5f 31 41 20 7b 0d 0a 20  DOC_INFO_1A {.. 
4920: 20 4c 50 53 54 52 20 70 44 6f 63 4e 61 6d 65 3b   LPSTR pDocName;
4930: 0d 0a 20 20 4c 50 53 54 52 20 70 4f 75 74 70 75  ..  LPSTR pOutpu
4940: 74 46 69 6c 65 3b 0d 0a 20 20 4c 50 53 54 52 20  tFile;..  LPSTR 
4950: 70 44 61 74 61 74 79 70 65 3b 0d 0a 7d 0d 0a 61  pDatatype;..}..a
4960: 6c 69 61 73 20 5f 44 4f 43 5f 49 4e 46 4f 5f 31  lias _DOC_INFO_1
4970: 41 20 44 4f 43 5f 49 4e 46 4f 5f 31 41 3b 0d 0a  A DOC_INFO_1A;..
4980: 61 6c 69 61 73 20 5f 44 4f 43 5f 49 4e 46 4f 5f  alias _DOC_INFO_
4990: 31 41 2a 20 50 44 4f 43 5f 49 4e 46 4f 5f 31 41  1A* PDOC_INFO_1A
49a0: 3b 0d 0a 61 6c 69 61 73 20 5f 44 4f 43 5f 49 4e  ;..alias _DOC_IN
49b0: 46 4f 5f 31 41 2a 20 4c 50 44 4f 43 5f 49 4e 46  FO_1A* LPDOC_INF
49c0: 4f 5f 31 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  O_1A;....struct 
49d0: 5f 44 4f 43 5f 49 4e 46 4f 5f 31 57 20 7b 0d 0a  _DOC_INFO_1W {..
49e0: 20 20 4c 50 57 53 54 52 20 70 44 6f 63 4e 61 6d    LPWSTR pDocNam
49f0: 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 4f 75  e;..  LPWSTR pOu
4a00: 74 70 75 74 46 69 6c 65 3b 0d 0a 20 20 4c 50 57  tputFile;..  LPW
4a10: 53 54 52 20 70 44 61 74 61 74 79 70 65 3b 0d 0a  STR pDatatype;..
4a20: 7d 0d 0a 61 6c 69 61 73 20 5f 44 4f 43 5f 49 4e  }..alias _DOC_IN
4a30: 46 4f 5f 31 57 20 44 4f 43 5f 49 4e 46 4f 5f 31  FO_1W DOC_INFO_1
4a40: 57 3b 0d 0a 61 6c 69 61 73 20 5f 44 4f 43 5f 49  W;..alias _DOC_I
4a50: 4e 46 4f 5f 31 57 2a 20 50 44 4f 43 5f 49 4e 46  NFO_1W* PDOC_INF
4a60: 4f 5f 31 57 3b 0d 0a 61 6c 69 61 73 20 5f 44 4f  O_1W;..alias _DO
4a70: 43 5f 49 4e 46 4f 5f 31 57 2a 20 4c 50 44 4f 43  C_INFO_1W* LPDOC
4a80: 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 0d 0a 2f 2f 20  _INFO_1W;....// 
4a90: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
4aa0: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  // .....// #else
4ab0: 0d 0a 61 6c 69 61 73 20 44 4f 43 5f 49 4e 46 4f  ..alias DOC_INFO
4ac0: 5f 31 41 20 44 4f 43 5f 49 4e 46 4f 5f 31 3b 0d  _1A DOC_INFO_1;.
4ad0: 0a 61 6c 69 61 73 20 50 44 4f 43 5f 49 4e 46 4f  .alias PDOC_INFO
4ae0: 5f 31 41 20 50 44 4f 43 5f 49 4e 46 4f 5f 31 3b  _1A PDOC_INFO_1;
4af0: 0d 0a 61 6c 69 61 73 20 4c 50 44 4f 43 5f 49 4e  ..alias LPDOC_IN
4b00: 46 4f 5f 31 41 20 4c 50 44 4f 43 5f 49 4e 46 4f  FO_1A LPDOC_INFO
4b10: 5f 31 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  _1;..// #endif /
4b20: 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73 74 72  / UNICODE....str
4b30: 75 63 74 20 5f 46 4f 52 4d 5f 49 4e 46 4f 5f 31  uct _FORM_INFO_1
4b40: 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 46 6c 61  A {..  DWORD Fla
4b50: 67 73 3b 0d 0a 20 20 4c 50 53 54 52 20 70 4e 61  gs;..  LPSTR pNa
4b60: 6d 65 3b 0d 0a 20 20 53 49 5a 45 4c 20 53 69 7a  me;..  SIZEL Siz
4b70: 65 3b 0d 0a 20 20 52 45 43 54 4c 20 49 6d 61 67  e;..  RECTL Imag
4b80: 65 61 62 6c 65 41 72 65 61 3b 0d 0a 7d 0d 0a 61  eableArea;..}..a
4b90: 6c 69 61 73 20 5f 46 4f 52 4d 5f 49 4e 46 4f 5f  lias _FORM_INFO_
4ba0: 31 41 20 46 4f 52 4d 5f 49 4e 46 4f 5f 31 41 3b  1A FORM_INFO_1A;
4bb0: 0d 0a 61 6c 69 61 73 20 5f 46 4f 52 4d 5f 49 4e  ..alias _FORM_IN
4bc0: 46 4f 5f 31 41 2a 20 50 46 4f 52 4d 5f 49 4e 46  FO_1A* PFORM_INF
4bd0: 4f 5f 31 41 3b 0d 0a 61 6c 69 61 73 20 5f 46 4f  O_1A;..alias _FO
4be0: 52 4d 5f 49 4e 46 4f 5f 31 41 2a 20 4c 50 46 4f  RM_INFO_1A* LPFO
4bf0: 52 4d 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 0d 0a 73  RM_INFO_1A;....s
4c00: 74 72 75 63 74 20 5f 46 4f 52 4d 5f 49 4e 46 4f  truct _FORM_INFO
4c10: 5f 31 57 20 7b 0d 0a 20 20 44 57 4f 52 44 20 46  _1W {..  DWORD F
4c20: 6c 61 67 73 3b 0d 0a 20 20 4c 50 57 53 54 52 20  lags;..  LPWSTR 
4c30: 70 4e 61 6d 65 3b 0d 0a 20 20 53 49 5a 45 4c 20  pName;..  SIZEL 
4c40: 53 69 7a 65 3b 0d 0a 20 20 52 45 43 54 4c 20 49  Size;..  RECTL I
4c50: 6d 61 67 65 61 62 6c 65 41 72 65 61 3b 0d 0a 7d  mageableArea;..}
4c60: 0d 0a 61 6c 69 61 73 20 5f 46 4f 52 4d 5f 49 4e  ..alias _FORM_IN
4c70: 46 4f 5f 31 57 20 46 4f 52 4d 5f 49 4e 46 4f 5f  FO_1W FORM_INFO_
4c80: 31 57 3b 0d 0a 61 6c 69 61 73 20 5f 46 4f 52 4d  1W;..alias _FORM
4c90: 5f 49 4e 46 4f 5f 31 57 2a 20 50 46 4f 52 4d 5f  _INFO_1W* PFORM_
4ca0: 49 4e 46 4f 5f 31 57 3b 0d 0a 61 6c 69 61 73 20  INFO_1W;..alias 
4cb0: 5f 46 4f 52 4d 5f 49 4e 46 4f 5f 31 57 2a 20 4c  _FORM_INFO_1W* L
4cc0: 50 46 4f 52 4d 5f 49 4e 46 4f 5f 31 57 3b 0d 0a  PFORM_INFO_1W;..
4cd0: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
4ce0: 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  ODE..// .....// 
4cf0: 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 46 4f 52  #else..alias FOR
4d00: 4d 5f 49 4e 46 4f 5f 31 41 20 46 4f 52 4d 5f 49  M_INFO_1A FORM_I
4d10: 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73 20 50 46  NFO_1;..alias PF
4d20: 4f 52 4d 5f 49 4e 46 4f 5f 31 41 20 50 46 4f 52  ORM_INFO_1A PFOR
4d30: 4d 5f 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73  M_INFO_1;..alias
4d40: 20 4c 50 46 4f 52 4d 5f 49 4e 46 4f 5f 31 41 20   LPFORM_INFO_1A 
4d50: 4c 50 46 4f 52 4d 5f 49 4e 46 4f 5f 31 3b 0d 0a  LPFORM_INFO_1;..
4d60: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49  // #endif // UNI
4d70: 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  CODE....struct _
4d80: 44 4f 43 5f 49 4e 46 4f 5f 32 41 20 7b 0d 0a 20  DOC_INFO_2A {.. 
4d90: 20 4c 50 53 54 52 20 70 44 6f 63 4e 61 6d 65 3b   LPSTR pDocName;
4da0: 0d 0a 20 20 4c 50 53 54 52 20 70 4f 75 74 70 75  ..  LPSTR pOutpu
4db0: 74 46 69 6c 65 3b 0d 0a 20 20 4c 50 53 54 52 20  tFile;..  LPSTR 
4dc0: 70 44 61 74 61 74 79 70 65 3b 0d 0a 20 20 44 57  pDatatype;..  DW
4dd0: 4f 52 44 20 64 77 4d 6f 64 65 3b 0d 0a 20 20 44  ORD dwMode;..  D
4de0: 57 4f 52 44 20 4a 6f 62 49 64 3b 0d 0a 7d 0d 0a  WORD JobId;..}..
4df0: 61 6c 69 61 73 20 5f 44 4f 43 5f 49 4e 46 4f 5f  alias _DOC_INFO_
4e00: 32 41 20 44 4f 43 5f 49 4e 46 4f 5f 32 41 3b 0d  2A DOC_INFO_2A;.
4e10: 0a 61 6c 69 61 73 20 5f 44 4f 43 5f 49 4e 46 4f  .alias _DOC_INFO
4e20: 5f 32 41 2a 20 50 44 4f 43 5f 49 4e 46 4f 5f 32  _2A* PDOC_INFO_2
4e30: 41 3b 0d 0a 61 6c 69 61 73 20 5f 44 4f 43 5f 49  A;..alias _DOC_I
4e40: 4e 46 4f 5f 32 41 2a 20 4c 50 44 4f 43 5f 49 4e  NFO_2A* LPDOC_IN
4e50: 46 4f 5f 32 41 3b 0d 0a 0d 0a 73 74 72 75 63 74  FO_2A;....struct
4e60: 20 5f 44 4f 43 5f 49 4e 46 4f 5f 32 57 20 7b 0d   _DOC_INFO_2W {.
4e70: 0a 20 20 4c 50 57 53 54 52 20 70 44 6f 63 4e 61  .  LPWSTR pDocNa
4e80: 6d 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 4f  me;..  LPWSTR pO
4e90: 75 74 70 75 74 46 69 6c 65 3b 0d 0a 20 20 4c 50  utputFile;..  LP
4ea0: 57 53 54 52 20 70 44 61 74 61 74 79 70 65 3b 0d  WSTR pDatatype;.
4eb0: 0a 20 20 44 57 4f 52 44 20 64 77 4d 6f 64 65 3b  .  DWORD dwMode;
4ec0: 0d 0a 20 20 44 57 4f 52 44 20 4a 6f 62 49 64 3b  ..  DWORD JobId;
4ed0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 44 4f 43 5f  ..}..alias _DOC_
4ee0: 49 4e 46 4f 5f 32 57 20 44 4f 43 5f 49 4e 46 4f  INFO_2W DOC_INFO
4ef0: 5f 32 57 3b 0d 0a 61 6c 69 61 73 20 5f 44 4f 43  _2W;..alias _DOC
4f00: 5f 49 4e 46 4f 5f 32 57 2a 20 50 44 4f 43 5f 49  _INFO_2W* PDOC_I
4f10: 4e 46 4f 5f 32 57 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_2W;..alias _
4f20: 44 4f 43 5f 49 4e 46 4f 5f 32 57 2a 20 4c 50 44  DOC_INFO_2W* LPD
4f30: 4f 43 5f 49 4e 46 4f 5f 32 57 3b 0d 0a 0d 0a 2f  OC_INFO_2W;..../
4f40: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
4f50: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  ..// .....// #el
4f60: 73 65 0d 0a 61 6c 69 61 73 20 44 4f 43 5f 49 4e  se..alias DOC_IN
4f70: 46 4f 5f 32 41 20 44 4f 43 5f 49 4e 46 4f 5f 32  FO_2A DOC_INFO_2
4f80: 3b 0d 0a 61 6c 69 61 73 20 50 44 4f 43 5f 49 4e  ;..alias PDOC_IN
4f90: 46 4f 5f 32 41 20 50 44 4f 43 5f 49 4e 46 4f 5f  FO_2A PDOC_INFO_
4fa0: 32 3b 0d 0a 61 6c 69 61 73 20 4c 50 44 4f 43 5f  2;..alias LPDOC_
4fb0: 49 4e 46 4f 5f 32 41 20 4c 50 44 4f 43 5f 49 4e  INFO_2A LPDOC_IN
4fc0: 46 4f 5f 32 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  FO_2;..// #endif
4fd0: 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65   // UNICODE....e
4fe0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 49 5f  num : uint { DI_
4ff0: 43 48 41 4e 4e 45 4c 20 3d 20 31 20 7d 0d 0a 0d  CHANNEL = 1 }...
5000: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44  .enum : uint { D
5010: 49 5f 52 45 41 44 5f 53 50 4f 4f 4c 5f 4a 4f 42  I_READ_SPOOL_JOB
5020: 20 3d 20 33 20 7d 0d 0a 0d 0a 73 74 72 75 63 74   = 3 }....struct
5030: 20 5f 44 4f 43 5f 49 4e 46 4f 5f 33 41 20 7b 0d   _DOC_INFO_3A {.
5040: 0a 20 20 4c 50 53 54 52 20 70 44 6f 63 4e 61 6d  .  LPSTR pDocNam
5050: 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 4f 75 74  e;..  LPSTR pOut
5060: 70 75 74 46 69 6c 65 3b 0d 0a 20 20 4c 50 53 54  putFile;..  LPST
5070: 52 20 70 44 61 74 61 74 79 70 65 3b 0d 0a 20 20  R pDatatype;..  
5080: 44 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a  DWORD dwFlags;..
5090: 7d 0d 0a 61 6c 69 61 73 20 5f 44 4f 43 5f 49 4e  }..alias _DOC_IN
50a0: 46 4f 5f 33 41 20 44 4f 43 5f 49 4e 46 4f 5f 33  FO_3A DOC_INFO_3
50b0: 41 3b 0d 0a 61 6c 69 61 73 20 5f 44 4f 43 5f 49  A;..alias _DOC_I
50c0: 4e 46 4f 5f 33 41 2a 20 50 44 4f 43 5f 49 4e 46  NFO_3A* PDOC_INF
50d0: 4f 5f 33 41 3b 0d 0a 61 6c 69 61 73 20 5f 44 4f  O_3A;..alias _DO
50e0: 43 5f 49 4e 46 4f 5f 33 41 2a 20 4c 50 44 4f 43  C_INFO_3A* LPDOC
50f0: 5f 49 4e 46 4f 5f 33 41 3b 0d 0a 0d 0a 73 74 72  _INFO_3A;....str
5100: 75 63 74 20 5f 44 4f 43 5f 49 4e 46 4f 5f 33 57  uct _DOC_INFO_3W
5110: 20 7b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44 6f   {..  LPWSTR pDo
5120: 63 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53 54 52  cName;..  LPWSTR
5130: 20 70 4f 75 74 70 75 74 46 69 6c 65 3b 0d 0a 20   pOutputFile;.. 
5140: 20 4c 50 57 53 54 52 20 70 44 61 74 61 74 79 70   LPWSTR pDatatyp
5150: 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 46 6c  e;..  DWORD dwFl
5160: 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ags;..}..alias _
5170: 44 4f 43 5f 49 4e 46 4f 5f 33 57 20 44 4f 43 5f  DOC_INFO_3W DOC_
5180: 49 4e 46 4f 5f 33 57 3b 0d 0a 61 6c 69 61 73 20  INFO_3W;..alias 
5190: 5f 44 4f 43 5f 49 4e 46 4f 5f 33 57 2a 20 50 44  _DOC_INFO_3W* PD
51a0: 4f 43 5f 49 4e 46 4f 5f 33 57 3b 0d 0a 61 6c 69  OC_INFO_3W;..ali
51b0: 61 73 20 5f 44 4f 43 5f 49 4e 46 4f 5f 33 57 2a  as _DOC_INFO_3W*
51c0: 20 4c 50 44 4f 43 5f 49 4e 46 4f 5f 33 57 3b 0d   LPDOC_INFO_3W;.
51d0: 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ...// #ifdef UNI
51e0: 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  CODE..// .....//
51f0: 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 44 4f   #else..alias DO
5200: 43 5f 49 4e 46 4f 5f 33 41 20 44 4f 43 5f 49 4e  C_INFO_3A DOC_IN
5210: 46 4f 5f 33 3b 0d 0a 61 6c 69 61 73 20 50 44 4f  FO_3;..alias PDO
5220: 43 5f 49 4e 46 4f 5f 33 41 20 50 44 4f 43 5f 49  C_INFO_3A PDOC_I
5230: 4e 46 4f 5f 33 3b 0d 0a 61 6c 69 61 73 20 4c 50  NFO_3;..alias LP
5240: 44 4f 43 5f 49 4e 46 4f 5f 33 41 20 4c 50 44 4f  DOC_INFO_3A LPDO
5250: 43 5f 49 4e 46 4f 5f 33 3b 0d 0a 2f 2f 20 23 65  C_INFO_3;..// #e
5260: 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d  ndif // UNICODE.
5270: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
5280: 20 44 49 5f 4d 45 4d 4f 52 59 4d 41 50 5f 57 52   DI_MEMORYMAP_WR
5290: 49 54 45 20 3d 20 30 78 30 30 30 30 30 30 30 31  ITE = 0x00000001
52a0: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
52b0: 74 20 7b 20 46 4f 52 4d 5f 55 53 45 52 20 3d 20  t { FORM_USER = 
52c0: 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e  0x00000000 }..en
52d0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 4f 52 4d  um : uint { FORM
52e0: 5f 42 55 49 4c 54 49 4e 20 3d 20 30 78 30 30 30  _BUILTIN = 0x000
52f0: 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
5300: 75 69 6e 74 20 7b 20 46 4f 52 4d 5f 50 52 49 4e  uint { FORM_PRIN
5310: 54 45 52 20 3d 20 30 78 30 30 30 30 30 30 30 32  TER = 0x00000002
5320: 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52   }....struct _PR
5330: 49 4e 54 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46  INTPROCESSOR_INF
5340: 4f 5f 31 41 20 7b 0d 0a 20 20 4c 50 53 54 52 20  O_1A {..  LPSTR 
5350: 70 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  pName;..}..alias
5360: 20 5f 50 52 49 4e 54 50 52 4f 43 45 53 53 4f 52   _PRINTPROCESSOR
5370: 5f 49 4e 46 4f 5f 31 41 20 50 52 49 4e 54 50 52  _INFO_1A PRINTPR
5380: 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31 41 3b  OCESSOR_INFO_1A;
5390: 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 50 52  ..alias _PRINTPR
53a0: 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31 41 2a  OCESSOR_INFO_1A*
53b0: 20 50 50 52 49 4e 54 50 52 4f 43 45 53 53 4f 52   PPRINTPROCESSOR
53c0: 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61 73  _INFO_1A;..alias
53d0: 20 5f 50 52 49 4e 54 50 52 4f 43 45 53 53 4f 52   _PRINTPROCESSOR
53e0: 5f 49 4e 46 4f 5f 31 41 2a 20 4c 50 50 52 49 4e  _INFO_1A* LPPRIN
53f0: 54 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f  TPROCESSOR_INFO_
5400: 31 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50  1A;....struct _P
5410: 52 49 4e 54 50 52 4f 43 45 53 53 4f 52 5f 49 4e  RINTPROCESSOR_IN
5420: 46 4f 5f 31 57 20 7b 0d 0a 20 20 4c 50 57 53 54  FO_1W {..  LPWST
5430: 52 20 70 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69  R pName;..}..ali
5440: 61 73 20 5f 50 52 49 4e 54 50 52 4f 43 45 53 53  as _PRINTPROCESS
5450: 4f 52 5f 49 4e 46 4f 5f 31 57 20 50 52 49 4e 54  OR_INFO_1W PRINT
5460: 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31  PROCESSOR_INFO_1
5470: 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54  W;..alias _PRINT
5480: 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31  PROCESSOR_INFO_1
5490: 57 2a 20 50 50 52 49 4e 54 50 52 4f 43 45 53 53  W* PPRINTPROCESS
54a0: 4f 52 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 61 6c 69  OR_INFO_1W;..ali
54b0: 61 73 20 5f 50 52 49 4e 54 50 52 4f 43 45 53 53  as _PRINTPROCESS
54c0: 4f 52 5f 49 4e 46 4f 5f 31 57 2a 20 4c 50 50 52  OR_INFO_1W* LPPR
54d0: 49 4e 54 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46  INTPROCESSOR_INF
54e0: 4f 5f 31 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  O_1W;....// #ifd
54f0: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e  ef UNICODE..// .
5500: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
5510: 69 61 73 20 50 52 49 4e 54 50 52 4f 43 45 53 53  ias PRINTPROCESS
5520: 4f 52 5f 49 4e 46 4f 5f 31 41 20 50 52 49 4e 54  OR_INFO_1A PRINT
5530: 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31  PROCESSOR_INFO_1
5540: 3b 0d 0a 61 6c 69 61 73 20 50 50 52 49 4e 54 50  ;..alias PPRINTP
5550: 52 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31 41  ROCESSOR_INFO_1A
5560: 20 50 50 52 49 4e 54 50 52 4f 43 45 53 53 4f 52   PPRINTPROCESSOR
5570: 5f 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73 20  _INFO_1;..alias 
5580: 4c 50 50 52 49 4e 54 50 52 4f 43 45 53 53 4f 52  LPPRINTPROCESSOR
5590: 5f 49 4e 46 4f 5f 31 41 20 4c 50 50 52 49 4e 54  _INFO_1A LPPRINT
55a0: 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31  PROCESSOR_INFO_1
55b0: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
55c0: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63  UNICODE....struc
55d0: 74 20 5f 50 52 49 4e 54 50 52 4f 43 45 53 53 4f  t _PRINTPROCESSO
55e0: 52 5f 43 41 50 53 5f 31 20 7b 0d 0a 20 20 44 57  R_CAPS_1 {..  DW
55f0: 4f 52 44 20 64 77 4c 65 76 65 6c 3b 0d 0a 20 20  ORD dwLevel;..  
5600: 44 57 4f 52 44 20 64 77 4e 75 70 4f 70 74 69 6f  DWORD dwNupOptio
5610: 6e 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 50  ns;..  DWORD dwP
5620: 61 67 65 4f 72 64 65 72 46 6c 61 67 73 3b 0d 0a  ageOrderFlags;..
5630: 20 20 44 57 4f 52 44 20 64 77 4e 75 6d 62 65 72    DWORD dwNumber
5640: 4f 66 43 6f 70 69 65 73 3b 0d 0a 7d 0d 0a 61 6c  OfCopies;..}..al
5650: 69 61 73 20 5f 50 52 49 4e 54 50 52 4f 43 45 53  ias _PRINTPROCES
5660: 53 4f 52 5f 43 41 50 53 5f 31 20 50 52 49 4e 54  SOR_CAPS_1 PRINT
5670: 50 52 4f 43 45 53 53 4f 52 5f 43 41 50 53 5f 31  PROCESSOR_CAPS_1
5680: 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 50  ;..alias _PRINTP
5690: 52 4f 43 45 53 53 4f 52 5f 43 41 50 53 5f 31 2a  ROCESSOR_CAPS_1*
56a0: 20 50 50 52 49 4e 54 50 52 4f 43 45 53 53 4f 52   PPRINTPROCESSOR
56b0: 5f 43 41 50 53 5f 31 3b 0d 0a 0d 0a 65 6e 75 6d  _CAPS_1;....enum
56c0: 20 3a 20 75 69 6e 74 20 7b 20 4e 4f 52 4d 41 4c   : uint { NORMAL
56d0: 5f 50 52 49 4e 54 20 3d 20 30 78 30 30 30 30 30  _PRINT = 0x00000
56e0: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
56f0: 6e 74 20 7b 20 52 45 56 45 52 53 45 5f 50 52 49  nt { REVERSE_PRI
5700: 4e 54 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  NT = 0x00000001 
5710: 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50 4f 52  }....struct _POR
5720: 54 5f 49 4e 46 4f 5f 31 41 20 7b 0d 0a 20 20 4c  T_INFO_1A {..  L
5730: 50 53 54 52 20 70 4e 61 6d 65 3b 0d 0a 7d 0d 0a  PSTR pName;..}..
5740: 61 6c 69 61 73 20 5f 50 4f 52 54 5f 49 4e 46 4f  alias _PORT_INFO
5750: 5f 31 41 20 50 4f 52 54 5f 49 4e 46 4f 5f 31 41  _1A PORT_INFO_1A
5760: 3b 0d 0a 61 6c 69 61 73 20 5f 50 4f 52 54 5f 49  ;..alias _PORT_I
5770: 4e 46 4f 5f 31 41 2a 20 50 50 4f 52 54 5f 49 4e  NFO_1A* PPORT_IN
5780: 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61 73 20 5f 50  FO_1A;..alias _P
5790: 4f 52 54 5f 49 4e 46 4f 5f 31 41 2a 20 4c 50 50  ORT_INFO_1A* LPP
57a0: 4f 52 54 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 0d 0a  ORT_INFO_1A;....
57b0: 73 74 72 75 63 74 20 5f 50 4f 52 54 5f 49 4e 46  struct _PORT_INF
57c0: 4f 5f 31 57 20 7b 0d 0a 20 20 4c 50 57 53 54 52  O_1W {..  LPWSTR
57d0: 20 70 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61   pName;..}..alia
57e0: 73 20 5f 50 4f 52 54 5f 49 4e 46 4f 5f 31 57 20  s _PORT_INFO_1W 
57f0: 50 4f 52 54 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 61  PORT_INFO_1W;..a
5800: 6c 69 61 73 20 5f 50 4f 52 54 5f 49 4e 46 4f 5f  lias _PORT_INFO_
5810: 31 57 2a 20 50 50 4f 52 54 5f 49 4e 46 4f 5f 31  1W* PPORT_INFO_1
5820: 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 4f 52 54 5f  W;..alias _PORT_
5830: 49 4e 46 4f 5f 31 57 2a 20 4c 50 50 4f 52 54 5f  INFO_1W* LPPORT_
5840: 49 4e 46 4f 5f 31 57 3b 0d 0a 0d 0a 2f 2f 20 23  INFO_1W;....// #
5850: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
5860: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d  / .....// #else.
5870: 0a 61 6c 69 61 73 20 50 4f 52 54 5f 49 4e 46 4f  .alias PORT_INFO
5880: 5f 31 41 20 50 4f 52 54 5f 49 4e 46 4f 5f 31 3b  _1A PORT_INFO_1;
5890: 0d 0a 61 6c 69 61 73 20 50 50 4f 52 54 5f 49 4e  ..alias PPORT_IN
58a0: 46 4f 5f 31 41 20 50 50 4f 52 54 5f 49 4e 46 4f  FO_1A PPORT_INFO
58b0: 5f 31 3b 0d 0a 61 6c 69 61 73 20 4c 50 50 4f 52  _1;..alias LPPOR
58c0: 54 5f 49 4e 46 4f 5f 31 41 20 4c 50 50 4f 52 54  T_INFO_1A LPPORT
58d0: 5f 49 4e 46 4f 5f 31 3b 0d 0a 2f 2f 20 23 65 6e  _INFO_1;..// #en
58e0: 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a  dif // UNICODE..
58f0: 0d 0a 73 74 72 75 63 74 20 5f 50 4f 52 54 5f 49  ..struct _PORT_I
5900: 4e 46 4f 5f 32 41 20 7b 0d 0a 20 20 4c 50 53 54  NFO_2A {..  LPST
5910: 52 20 70 50 6f 72 74 4e 61 6d 65 3b 0d 0a 20 20  R pPortName;..  
5920: 4c 50 53 54 52 20 70 4d 6f 6e 69 74 6f 72 4e 61  LPSTR pMonitorNa
5930: 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 44 65  me;..  LPSTR pDe
5940: 73 63 72 69 70 74 69 6f 6e 3b 0d 0a 20 20 44 57  scription;..  DW
5950: 4f 52 44 20 66 50 6f 72 74 54 79 70 65 3b 0d 0a  ORD fPortType;..
5960: 20 20 44 57 4f 52 44 20 52 65 73 65 72 76 65 64    DWORD Reserved
5970: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 4f 52  ;..}..alias _POR
5980: 54 5f 49 4e 46 4f 5f 32 41 20 50 4f 52 54 5f 49  T_INFO_2A PORT_I
5990: 4e 46 4f 5f 32 41 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_2A;..alias _
59a0: 50 4f 52 54 5f 49 4e 46 4f 5f 32 41 2a 20 50 50  PORT_INFO_2A* PP
59b0: 4f 52 54 5f 49 4e 46 4f 5f 32 41 3b 0d 0a 61 6c  ORT_INFO_2A;..al
59c0: 69 61 73 20 5f 50 4f 52 54 5f 49 4e 46 4f 5f 32  ias _PORT_INFO_2
59d0: 41 2a 20 4c 50 50 4f 52 54 5f 49 4e 46 4f 5f 32  A* LPPORT_INFO_2
59e0: 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50 4f  A;....struct _PO
59f0: 52 54 5f 49 4e 46 4f 5f 32 57 20 7b 0d 0a 20 20  RT_INFO_2W {..  
5a00: 4c 50 57 53 54 52 20 70 50 6f 72 74 4e 61 6d 65  LPWSTR pPortName
5a10: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 4d 6f 6e  ;..  LPWSTR pMon
5a20: 69 74 6f 72 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57  itorName;..  LPW
5a30: 53 54 52 20 70 44 65 73 63 72 69 70 74 69 6f 6e  STR pDescription
5a40: 3b 0d 0a 20 20 44 57 4f 52 44 20 66 50 6f 72 74  ;..  DWORD fPort
5a50: 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 52  Type;..  DWORD R
5a60: 65 73 65 72 76 65 64 3b 0d 0a 7d 0d 0a 61 6c 69  eserved;..}..ali
5a70: 61 73 20 5f 50 4f 52 54 5f 49 4e 46 4f 5f 32 57  as _PORT_INFO_2W
5a80: 20 50 4f 52 54 5f 49 4e 46 4f 5f 32 57 3b 0d 0a   PORT_INFO_2W;..
5a90: 61 6c 69 61 73 20 5f 50 4f 52 54 5f 49 4e 46 4f  alias _PORT_INFO
5aa0: 5f 32 57 2a 20 50 50 4f 52 54 5f 49 4e 46 4f 5f  _2W* PPORT_INFO_
5ab0: 32 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 4f 52 54  2W;..alias _PORT
5ac0: 5f 49 4e 46 4f 5f 32 57 2a 20 4c 50 50 4f 52 54  _INFO_2W* LPPORT
5ad0: 5f 49 4e 46 4f 5f 32 57 3b 0d 0a 0d 0a 2f 2f 20  _INFO_2W;....// 
5ae0: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
5af0: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  // .....// #else
5b00: 0d 0a 61 6c 69 61 73 20 50 4f 52 54 5f 49 4e 46  ..alias PORT_INF
5b10: 4f 5f 32 41 20 50 4f 52 54 5f 49 4e 46 4f 5f 32  O_2A PORT_INFO_2
5b20: 3b 0d 0a 61 6c 69 61 73 20 50 50 4f 52 54 5f 49  ;..alias PPORT_I
5b30: 4e 46 4f 5f 32 41 20 50 50 4f 52 54 5f 49 4e 46  NFO_2A PPORT_INF
5b40: 4f 5f 32 3b 0d 0a 61 6c 69 61 73 20 4c 50 50 4f  O_2;..alias LPPO
5b50: 52 54 5f 49 4e 46 4f 5f 32 41 20 4c 50 50 4f 52  RT_INFO_2A LPPOR
5b60: 54 5f 49 4e 46 4f 5f 32 3b 0d 0a 2f 2f 20 23 65  T_INFO_2;..// #e
5b70: 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d  ndif // UNICODE.
5b80: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
5b90: 20 50 4f 52 54 5f 54 59 50 45 5f 57 52 49 54 45   PORT_TYPE_WRITE
5ba0: 20 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75   = 0x0001 }..enu
5bb0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 52 54 5f  m : uint { PORT_
5bc0: 54 59 50 45 5f 52 45 41 44 20 3d 20 30 78 30 30  TYPE_READ = 0x00
5bd0: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
5be0: 74 20 7b 20 50 4f 52 54 5f 54 59 50 45 5f 52 45  t { PORT_TYPE_RE
5bf0: 44 49 52 45 43 54 45 44 20 3d 20 30 78 30 30 30  DIRECTED = 0x000
5c00: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
5c10: 20 7b 20 50 4f 52 54 5f 54 59 50 45 5f 4e 45 54   { PORT_TYPE_NET
5c20: 5f 41 54 54 41 43 48 45 44 20 3d 20 30 78 30 30  _ATTACHED = 0x00
5c30: 30 38 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  08 }....struct _
5c40: 50 4f 52 54 5f 49 4e 46 4f 5f 33 41 20 7b 0d 0a  PORT_INFO_3A {..
5c50: 20 20 44 57 4f 52 44 20 64 77 53 74 61 74 75 73    DWORD dwStatus
5c60: 3b 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 53 74  ;..  LPSTR pszSt
5c70: 61 74 75 73 3b 0d 0a 20 20 44 57 4f 52 44 20 64  atus;..  DWORD d
5c80: 77 53 65 76 65 72 69 74 79 3b 0d 0a 7d 0d 0a 61  wSeverity;..}..a
5c90: 6c 69 61 73 20 5f 50 4f 52 54 5f 49 4e 46 4f 5f  lias _PORT_INFO_
5ca0: 33 41 20 50 4f 52 54 5f 49 4e 46 4f 5f 33 41 3b  3A PORT_INFO_3A;
5cb0: 0d 0a 61 6c 69 61 73 20 5f 50 4f 52 54 5f 49 4e  ..alias _PORT_IN
5cc0: 46 4f 5f 33 41 2a 20 50 50 4f 52 54 5f 49 4e 46  FO_3A* PPORT_INF
5cd0: 4f 5f 33 41 3b 0d 0a 61 6c 69 61 73 20 5f 50 4f  O_3A;..alias _PO
5ce0: 52 54 5f 49 4e 46 4f 5f 33 41 2a 20 4c 50 50 4f  RT_INFO_3A* LPPO
5cf0: 52 54 5f 49 4e 46 4f 5f 33 41 3b 0d 0a 0d 0a 73  RT_INFO_3A;....s
5d00: 74 72 75 63 74 20 5f 50 4f 52 54 5f 49 4e 46 4f  truct _PORT_INFO
5d10: 5f 33 57 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64  _3W {..  DWORD d
5d20: 77 53 74 61 74 75 73 3b 0d 0a 20 20 4c 50 57 53  wStatus;..  LPWS
5d30: 54 52 20 70 73 7a 53 74 61 74 75 73 3b 0d 0a 20  TR pszStatus;.. 
5d40: 20 44 57 4f 52 44 20 64 77 53 65 76 65 72 69 74   DWORD dwSeverit
5d50: 79 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 4f  y;..}..alias _PO
5d60: 52 54 5f 49 4e 46 4f 5f 33 57 20 50 4f 52 54 5f  RT_INFO_3W PORT_
5d70: 49 4e 46 4f 5f 33 57 3b 0d 0a 61 6c 69 61 73 20  INFO_3W;..alias 
5d80: 5f 50 4f 52 54 5f 49 4e 46 4f 5f 33 57 2a 20 50  _PORT_INFO_3W* P
5d90: 50 4f 52 54 5f 49 4e 46 4f 5f 33 57 3b 0d 0a 61  PORT_INFO_3W;..a
5da0: 6c 69 61 73 20 5f 50 4f 52 54 5f 49 4e 46 4f 5f  lias _PORT_INFO_
5db0: 33 57 2a 20 4c 50 50 4f 52 54 5f 49 4e 46 4f 5f  3W* LPPORT_INFO_
5dc0: 33 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  3W;....// #ifdef
5dd0: 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e   UNICODE..// ...
5de0: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
5df0: 73 20 50 4f 52 54 5f 49 4e 46 4f 5f 33 41 20 50  s PORT_INFO_3A P
5e00: 4f 52 54 5f 49 4e 46 4f 5f 33 3b 0d 0a 61 6c 69  ORT_INFO_3;..ali
5e10: 61 73 20 50 50 4f 52 54 5f 49 4e 46 4f 5f 33 41  as PPORT_INFO_3A
5e20: 20 50 50 4f 52 54 5f 49 4e 46 4f 5f 33 3b 0d 0a   PPORT_INFO_3;..
5e30: 61 6c 69 61 73 20 4c 50 50 4f 52 54 5f 49 4e 46  alias LPPORT_INF
5e40: 4f 5f 33 41 20 4c 50 50 4f 52 54 5f 49 4e 46 4f  O_3A LPPORT_INFO
5e50: 5f 33 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  _3;..// #endif /
5e60: 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75  / UNICODE....enu
5e70: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 52 54 5f  m : uint { PORT_
5e80: 53 54 41 54 55 53 5f 54 59 50 45 5f 45 52 52 4f  STATUS_TYPE_ERRO
5e90: 52 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  R = 1 }..enum : 
5ea0: 75 69 6e 74 20 7b 20 50 4f 52 54 5f 53 54 41 54  uint { PORT_STAT
5eb0: 55 53 5f 54 59 50 45 5f 57 41 52 4e 49 4e 47 20  US_TYPE_WARNING 
5ec0: 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 2 }..enum : ui
5ed0: 6e 74 20 7b 20 50 4f 52 54 5f 53 54 41 54 55 53  nt { PORT_STATUS
5ee0: 5f 54 59 50 45 5f 49 4e 46 4f 20 3d 20 33 20 7d  _TYPE_INFO = 3 }
5ef0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
5f00: 7b 20 50 4f 52 54 5f 53 54 41 54 55 53 5f 4f 46  { PORT_STATUS_OF
5f10: 46 4c 49 4e 45 20 3d 20 31 20 7d 0d 0a 65 6e 75  FLINE = 1 }..enu
5f20: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 52 54 5f  m : uint { PORT_
5f30: 53 54 41 54 55 53 5f 50 41 50 45 52 5f 4a 41 4d  STATUS_PAPER_JAM
5f40: 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 2 }..enum : u
5f50: 69 6e 74 20 7b 20 50 4f 52 54 5f 53 54 41 54 55  int { PORT_STATU
5f60: 53 5f 50 41 50 45 52 5f 4f 55 54 20 3d 20 33 20  S_PAPER_OUT = 3 
5f70: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
5f80: 20 50 4f 52 54 5f 53 54 41 54 55 53 5f 4f 55 54   PORT_STATUS_OUT
5f90: 50 55 54 5f 42 49 4e 5f 46 55 4c 4c 20 3d 20 34  PUT_BIN_FULL = 4
5fa0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
5fb0: 7b 20 50 4f 52 54 5f 53 54 41 54 55 53 5f 50 41  { PORT_STATUS_PA
5fc0: 50 45 52 5f 50 52 4f 42 4c 45 4d 20 3d 20 35 20  PER_PROBLEM = 5 
5fd0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
5fe0: 20 50 4f 52 54 5f 53 54 41 54 55 53 5f 4e 4f 5f   PORT_STATUS_NO_
5ff0: 54 4f 4e 45 52 20 3d 20 36 20 7d 0d 0a 65 6e 75  TONER = 6 }..enu
6000: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 52 54 5f  m : uint { PORT_
6010: 53 54 41 54 55 53 5f 44 4f 4f 52 5f 4f 50 45 4e  STATUS_DOOR_OPEN
6020: 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 7 }..enum : u
6030: 69 6e 74 20 7b 20 50 4f 52 54 5f 53 54 41 54 55  int { PORT_STATU
6040: 53 5f 55 53 45 52 5f 49 4e 54 45 52 56 45 4e 54  S_USER_INTERVENT
6050: 49 4f 4e 20 3d 20 38 20 7d 0d 0a 65 6e 75 6d 20  ION = 8 }..enum 
6060: 3a 20 75 69 6e 74 20 7b 20 50 4f 52 54 5f 53 54  : uint { PORT_ST
6070: 41 54 55 53 5f 4f 55 54 5f 4f 46 5f 4d 45 4d 4f  ATUS_OUT_OF_MEMO
6080: 52 59 20 3d 20 39 20 7d 0d 0a 0d 0a 65 6e 75 6d  RY = 9 }....enum
6090: 20 3a 20 75 69 6e 74 20 7b 20 50 4f 52 54 5f 53   : uint { PORT_S
60a0: 54 41 54 55 53 5f 54 4f 4e 45 52 5f 4c 4f 57 20  TATUS_TONER_LOW 
60b0: 3d 20 31 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  = 10 }....enum :
60c0: 20 75 69 6e 74 20 7b 20 50 4f 52 54 5f 53 54 41   uint { PORT_STA
60d0: 54 55 53 5f 57 41 52 4d 49 4e 47 5f 55 50 20 3d  TUS_WARMING_UP =
60e0: 20 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69   11 }..enum : ui
60f0: 6e 74 20 7b 20 50 4f 52 54 5f 53 54 41 54 55 53  nt { PORT_STATUS
6100: 5f 50 4f 57 45 52 5f 53 41 56 45 20 3d 20 31 32  _POWER_SAVE = 12
6110: 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4d 4f   }....struct _MO
6120: 4e 49 54 4f 52 5f 49 4e 46 4f 5f 31 41 20 7b 0d  NITOR_INFO_1A {.
6130: 0a 20 20 4c 50 53 54 52 20 70 4e 61 6d 65 3b 0d  .  LPSTR pName;.
6140: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4d 4f 4e 49 54  .}..alias _MONIT
6150: 4f 52 5f 49 4e 46 4f 5f 31 41 20 4d 4f 4e 49 54  OR_INFO_1A MONIT
6160: 4f 52 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 61 6c 69  OR_INFO_1A;..ali
6170: 61 73 20 5f 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f  as _MONITOR_INFO
6180: 5f 31 41 2a 20 50 4d 4f 4e 49 54 4f 52 5f 49 4e  _1A* PMONITOR_IN
6190: 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61 73 20 5f 4d  FO_1A;..alias _M
61a0: 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 31 41 2a 20  ONITOR_INFO_1A* 
61b0: 4c 50 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 31  LPMONITOR_INFO_1
61c0: 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 4d 4f  A;....struct _MO
61d0: 4e 49 54 4f 52 5f 49 4e 46 4f 5f 31 57 20 7b 0d  NITOR_INFO_1W {.
61e0: 0a 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65 3b  .  LPWSTR pName;
61f0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4d 4f 4e 49  ..}..alias _MONI
6200: 54 4f 52 5f 49 4e 46 4f 5f 31 57 20 4d 4f 4e 49  TOR_INFO_1W MONI
6210: 54 4f 52 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 61 6c  TOR_INFO_1W;..al
6220: 69 61 73 20 5f 4d 4f 4e 49 54 4f 52 5f 49 4e 46  ias _MONITOR_INF
6230: 4f 5f 31 57 2a 20 50 4d 4f 4e 49 54 4f 52 5f 49  O_1W* PMONITOR_I
6240: 4e 46 4f 5f 31 57 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_1W;..alias _
6250: 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 31 57 2a  MONITOR_INFO_1W*
6260: 20 4c 50 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f   LPMONITOR_INFO_
6270: 31 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  1W;....// #ifdef
6280: 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e   UNICODE..// ...
6290: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
62a0: 73 20 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 31  s MONITOR_INFO_1
62b0: 41 20 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 31  A MONITOR_INFO_1
62c0: 3b 0d 0a 61 6c 69 61 73 20 50 4d 4f 4e 49 54 4f  ;..alias PMONITO
62d0: 52 5f 49 4e 46 4f 5f 31 41 20 50 4d 4f 4e 49 54  R_INFO_1A PMONIT
62e0: 4f 52 5f 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61  OR_INFO_1;..alia
62f0: 73 20 4c 50 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f  s LPMONITOR_INFO
6300: 5f 31 41 20 4c 50 4d 4f 4e 49 54 4f 52 5f 49 4e  _1A LPMONITOR_IN
6310: 46 4f 5f 31 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  FO_1;..// #endif
6320: 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73   // UNICODE....s
6330: 74 72 75 63 74 20 5f 4d 4f 4e 49 54 4f 52 5f 49  truct _MONITOR_I
6340: 4e 46 4f 5f 32 41 20 7b 0d 0a 20 20 4c 50 53 54  NFO_2A {..  LPST
6350: 52 20 70 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53 54  R pName;..  LPST
6360: 52 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 3b 0d  R pEnvironment;.
6370: 0a 20 20 4c 50 53 54 52 20 70 44 4c 4c 4e 61 6d  .  LPSTR pDLLNam
6380: 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4d 4f  e;..}..alias _MO
6390: 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 41 20 4d 4f  NITOR_INFO_2A MO
63a0: 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 41 3b 0d 0a  NITOR_INFO_2A;..
63b0: 61 6c 69 61 73 20 5f 4d 4f 4e 49 54 4f 52 5f 49  alias _MONITOR_I
63c0: 4e 46 4f 5f 32 41 2a 20 50 4d 4f 4e 49 54 4f 52  NFO_2A* PMONITOR
63d0: 5f 49 4e 46 4f 5f 32 41 3b 0d 0a 61 6c 69 61 73  _INFO_2A;..alias
63e0: 20 5f 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32   _MONITOR_INFO_2
63f0: 41 2a 20 4c 50 4d 4f 4e 49 54 4f 52 5f 49 4e 46  A* LPMONITOR_INF
6400: 4f 5f 32 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  O_2A;....struct 
6410: 5f 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 57  _MONITOR_INFO_2W
6420: 20 7b 0d 0a 20 20 4c 50 57 53 54 52 20 70 4e 61   {..  LPWSTR pNa
6430: 6d 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 45  me;..  LPWSTR pE
6440: 6e 76 69 72 6f 6e 6d 65 6e 74 3b 0d 0a 20 20 4c  nvironment;..  L
6450: 50 57 53 54 52 20 70 44 4c 4c 4e 61 6d 65 3b 0d  PWSTR pDLLName;.
6460: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4d 4f 4e 49 54  .}..alias _MONIT
6470: 4f 52 5f 49 4e 46 4f 5f 32 57 20 4d 4f 4e 49 54  OR_INFO_2W MONIT
6480: 4f 52 5f 49 4e 46 4f 5f 32 57 3b 0d 0a 61 6c 69  OR_INFO_2W;..ali
6490: 61 73 20 5f 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f  as _MONITOR_INFO
64a0: 5f 32 57 2a 20 50 4d 4f 4e 49 54 4f 52 5f 49 4e  _2W* PMONITOR_IN
64b0: 46 4f 5f 32 57 3b 0d 0a 61 6c 69 61 73 20 5f 4d  FO_2W;..alias _M
64c0: 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 57 2a 20  ONITOR_INFO_2W* 
64d0: 4c 50 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32  LPMONITOR_INFO_2
64e0: 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  W;....// #ifdef 
64f0: 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d  UNICODE..// ....
6500: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
6510: 20 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 41   MONITOR_INFO_2A
6520: 20 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 3b   MONITOR_INFO_2;
6530: 0d 0a 61 6c 69 61 73 20 50 4d 4f 4e 49 54 4f 52  ..alias PMONITOR
6540: 5f 49 4e 46 4f 5f 32 41 20 50 4d 4f 4e 49 54 4f  _INFO_2A PMONITO
6550: 52 5f 49 4e 46 4f 5f 32 3b 0d 0a 61 6c 69 61 73  R_INFO_2;..alias
6560: 20 4c 50 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f   LPMONITOR_INFO_
6570: 32 41 20 4c 50 4d 4f 4e 49 54 4f 52 5f 49 4e 46  2A LPMONITOR_INF
6580: 4f 5f 32 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  O_2;..// #endif 
6590: 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73 74  // UNICODE....st
65a0: 72 75 63 74 20 5f 44 41 54 41 54 59 50 45 53 5f  ruct _DATATYPES_
65b0: 49 4e 46 4f 5f 31 41 20 7b 0d 0a 20 20 4c 50 53  INFO_1A {..  LPS
65c0: 54 52 20 70 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c  TR pName;..}..al
65d0: 69 61 73 20 5f 44 41 54 41 54 59 50 45 53 5f 49  ias _DATATYPES_I
65e0: 4e 46 4f 5f 31 41 20 44 41 54 41 54 59 50 45 53  NFO_1A DATATYPES
65f0: 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61 73  _INFO_1A;..alias
6600: 20 5f 44 41 54 41 54 59 50 45 53 5f 49 4e 46 4f   _DATATYPES_INFO
6610: 5f 31 41 2a 20 50 44 41 54 41 54 59 50 45 53 5f  _1A* PDATATYPES_
6620: 49 4e 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61 73 20  INFO_1A;..alias 
6630: 5f 44 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f  _DATATYPES_INFO_
6640: 31 41 2a 20 4c 50 44 41 54 41 54 59 50 45 53 5f  1A* LPDATATYPES_
6650: 49 4e 46 4f 5f 31 41 3b 0d 0a 0d 0a 73 74 72 75  INFO_1A;....stru
6660: 63 74 20 5f 44 41 54 41 54 59 50 45 53 5f 49 4e  ct _DATATYPES_IN
6670: 46 4f 5f 31 57 20 7b 0d 0a 20 20 4c 50 57 53 54  FO_1W {..  LPWST
6680: 52 20 70 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69  R pName;..}..ali
6690: 61 73 20 5f 44 41 54 41 54 59 50 45 53 5f 49 4e  as _DATATYPES_IN
66a0: 46 4f 5f 31 57 20 44 41 54 41 54 59 50 45 53 5f  FO_1W DATATYPES_
66b0: 49 4e 46 4f 5f 31 57 3b 0d 0a 61 6c 69 61 73 20  INFO_1W;..alias 
66c0: 5f 44 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f  _DATATYPES_INFO_
66d0: 31 57 2a 20 50 44 41 54 41 54 59 50 45 53 5f 49  1W* PDATATYPES_I
66e0: 4e 46 4f 5f 31 57 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_1W;..alias _
66f0: 44 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31  DATATYPES_INFO_1
6700: 57 2a 20 4c 50 44 41 54 41 54 59 50 45 53 5f 49  W* LPDATATYPES_I
6710: 4e 46 4f 5f 31 57 3b 0d 0a 0d 0a 2f 2f 20 23 69  NFO_1W;....// #i
6720: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
6730: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a   .....// #else..
6740: 61 6c 69 61 73 20 44 41 54 41 54 59 50 45 53 5f  alias DATATYPES_
6750: 49 4e 46 4f 5f 31 41 20 44 41 54 41 54 59 50 45  INFO_1A DATATYPE
6760: 53 5f 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73  S_INFO_1;..alias
6770: 20 50 44 41 54 41 54 59 50 45 53 5f 49 4e 46 4f   PDATATYPES_INFO
6780: 5f 31 41 20 50 44 41 54 41 54 59 50 45 53 5f 49  _1A PDATATYPES_I
6790: 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73 20 4c 50  NFO_1;..alias LP
67a0: 44 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31  DATATYPES_INFO_1
67b0: 41 20 4c 50 44 41 54 41 54 59 50 45 53 5f 49 4e  A LPDATATYPES_IN
67c0: 46 4f 5f 31 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  FO_1;..// #endif
67d0: 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73   // UNICODE....s
67e0: 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52 5f 44  truct _PRINTER_D
67f0: 45 46 41 55 4c 54 53 41 20 7b 0d 0a 20 20 4c 50  EFAULTSA {..  LP
6800: 53 54 52 20 70 44 61 74 61 74 79 70 65 3b 0d 0a  STR pDatatype;..
6810: 20 20 4c 50 44 45 56 4d 4f 44 45 41 20 70 44 65    LPDEVMODEA pDe
6820: 76 4d 6f 64 65 3b 0d 0a 20 20 41 43 43 45 53 53  vMode;..  ACCESS
6830: 5f 4d 41 53 4b 20 44 65 73 69 72 65 64 41 63 63  _MASK DesiredAcc
6840: 65 73 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ess;..}..alias _
6850: 50 52 49 4e 54 45 52 5f 44 45 46 41 55 4c 54 53  PRINTER_DEFAULTS
6860: 41 20 50 52 49 4e 54 45 52 5f 44 45 46 41 55 4c  A PRINTER_DEFAUL
6870: 54 53 41 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49  TSA;..alias _PRI
6880: 4e 54 45 52 5f 44 45 46 41 55 4c 54 53 41 2a 20  NTER_DEFAULTSA* 
6890: 50 50 52 49 4e 54 45 52 5f 44 45 46 41 55 4c 54  PPRINTER_DEFAULT
68a0: 53 41 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e  SA;..alias _PRIN
68b0: 54 45 52 5f 44 45 46 41 55 4c 54 53 41 2a 20 4c  TER_DEFAULTSA* L
68c0: 50 50 52 49 4e 54 45 52 5f 44 45 46 41 55 4c 54  PPRINTER_DEFAULT
68d0: 53 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50  SA;....struct _P
68e0: 52 49 4e 54 45 52 5f 44 45 46 41 55 4c 54 53 57  RINTER_DEFAULTSW
68f0: 20 7b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44 61   {..  LPWSTR pDa
6900: 74 61 74 79 70 65 3b 0d 0a 20 20 4c 50 44 45 56  tatype;..  LPDEV
6910: 4d 4f 44 45 57 20 70 44 65 76 4d 6f 64 65 3b 0d  MODEW pDevMode;.
6920: 0a 20 20 41 43 43 45 53 53 5f 4d 41 53 4b 20 44  .  ACCESS_MASK D
6930: 65 73 69 72 65 64 41 63 63 65 73 73 3b 0d 0a 7d  esiredAccess;..}
6940: 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52  ..alias _PRINTER
6950: 5f 44 45 46 41 55 4c 54 53 57 20 50 52 49 4e 54  _DEFAULTSW PRINT
6960: 45 52 5f 44 45 46 41 55 4c 54 53 57 3b 0d 0a 61  ER_DEFAULTSW;..a
6970: 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 44 45  lias _PRINTER_DE
6980: 46 41 55 4c 54 53 57 2a 20 50 50 52 49 4e 54 45  FAULTSW* PPRINTE
6990: 52 5f 44 45 46 41 55 4c 54 53 57 3b 0d 0a 61 6c  R_DEFAULTSW;..al
69a0: 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 44 45 46  ias _PRINTER_DEF
69b0: 41 55 4c 54 53 57 2a 20 4c 50 50 52 49 4e 54 45  AULTSW* LPPRINTE
69c0: 52 5f 44 45 46 41 55 4c 54 53 57 3b 0d 0a 0d 0a  R_DEFAULTSW;....
69d0: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
69e0: 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  E..// .....// #e
69f0: 6c 73 65 0d 0a 61 6c 69 61 73 20 50 52 49 4e 54  lse..alias PRINT
6a00: 45 52 5f 44 45 46 41 55 4c 54 53 41 20 50 52 49  ER_DEFAULTSA PRI
6a10: 4e 54 45 52 5f 44 45 46 41 55 4c 54 53 3b 0d 0a  NTER_DEFAULTS;..
6a20: 61 6c 69 61 73 20 50 50 52 49 4e 54 45 52 5f 44  alias PPRINTER_D
6a30: 45 46 41 55 4c 54 53 41 20 50 50 52 49 4e 54 45  EFAULTSA PPRINTE
6a40: 52 5f 44 45 46 41 55 4c 54 53 3b 0d 0a 61 6c 69  R_DEFAULTS;..ali
6a50: 61 73 20 4c 50 50 52 49 4e 54 45 52 5f 44 45 46  as LPPRINTER_DEF
6a60: 41 55 4c 54 53 41 20 4c 50 50 52 49 4e 54 45 52  AULTSA LPPRINTER
6a70: 5f 44 45 46 41 55 4c 54 53 3b 0d 0a 2f 2f 20 23  _DEFAULTS;..// #
6a80: 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45  endif // UNICODE
6a90: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52 49 4e  ....struct _PRIN
6aa0: 54 45 52 5f 45 4e 55 4d 5f 56 41 4c 55 45 53 41  TER_ENUM_VALUESA
6ab0: 20 7b 0d 0a 20 20 4c 50 53 54 52 20 70 56 61 6c   {..  LPSTR pVal
6ac0: 75 65 4e 61 6d 65 3b 0d 0a 20 20 44 57 4f 52 44  ueName;..  DWORD
6ad0: 20 63 62 56 61 6c 75 65 4e 61 6d 65 3b 0d 0a 20   cbValueName;.. 
6ae0: 20 44 57 4f 52 44 20 64 77 54 79 70 65 3b 0d 0a   DWORD dwType;..
6af0: 20 20 4c 50 42 59 54 45 20 70 44 61 74 61 3b 0d    LPBYTE pData;.
6b00: 0a 20 20 44 57 4f 52 44 20 63 62 44 61 74 61 3b  .  DWORD cbData;
6b10: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e  ..}..alias _PRIN
6b20: 54 45 52 5f 45 4e 55 4d 5f 56 41 4c 55 45 53 41  TER_ENUM_VALUESA
6b30: 20 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 56 41   PRINTER_ENUM_VA
6b40: 4c 55 45 53 41 3b 0d 0a 61 6c 69 61 73 20 5f 50  LUESA;..alias _P
6b50: 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 56 41 4c 55  RINTER_ENUM_VALU
6b60: 45 53 41 2a 20 50 50 52 49 4e 54 45 52 5f 45 4e  ESA* PPRINTER_EN
6b70: 55 4d 5f 56 41 4c 55 45 53 41 3b 0d 0a 61 6c 69  UM_VALUESA;..ali
6b80: 61 73 20 5f 50 52 49 4e 54 45 52 5f 45 4e 55 4d  as _PRINTER_ENUM
6b90: 5f 56 41 4c 55 45 53 41 2a 20 4c 50 50 52 49 4e  _VALUESA* LPPRIN
6ba0: 54 45 52 5f 45 4e 55 4d 5f 56 41 4c 55 45 53 41  TER_ENUM_VALUESA
6bb0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52 49  ;....struct _PRI
6bc0: 4e 54 45 52 5f 45 4e 55 4d 5f 56 41 4c 55 45 53  NTER_ENUM_VALUES
6bd0: 57 20 7b 0d 0a 20 20 4c 50 57 53 54 52 20 70 56  W {..  LPWSTR pV
6be0: 61 6c 75 65 4e 61 6d 65 3b 0d 0a 20 20 44 57 4f  alueName;..  DWO
6bf0: 52 44 20 63 62 56 61 6c 75 65 4e 61 6d 65 3b 0d  RD cbValueName;.
6c00: 0a 20 20 44 57 4f 52 44 20 64 77 54 79 70 65 3b  .  DWORD dwType;
6c10: 0d 0a 20 20 4c 50 42 59 54 45 20 70 44 61 74 61  ..  LPBYTE pData
6c20: 3b 0d 0a 20 20 44 57 4f 52 44 20 63 62 44 61 74  ;..  DWORD cbDat
6c30: 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52  a;..}..alias _PR
6c40: 49 4e 54 45 52 5f 45 4e 55 4d 5f 56 41 4c 55 45  INTER_ENUM_VALUE
6c50: 53 57 20 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f  SW PRINTER_ENUM_
6c60: 56 41 4c 55 45 53 57 3b 0d 0a 61 6c 69 61 73 20  VALUESW;..alias 
6c70: 5f 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 56 41  _PRINTER_ENUM_VA
6c80: 4c 55 45 53 57 2a 20 50 50 52 49 4e 54 45 52 5f  LUESW* PPRINTER_
6c90: 45 4e 55 4d 5f 56 41 4c 55 45 53 57 3b 0d 0a 61  ENUM_VALUESW;..a
6ca0: 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 45 4e  lias _PRINTER_EN
6cb0: 55 4d 5f 56 41 4c 55 45 53 57 2a 20 4c 50 50 52  UM_VALUESW* LPPR
6cc0: 49 4e 54 45 52 5f 45 4e 55 4d 5f 56 41 4c 55 45  INTER_ENUM_VALUE
6cd0: 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  SW;....// #ifdef
6ce0: 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e   UNICODE..// ...
6cf0: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
6d00: 73 20 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 56  s PRINTER_ENUM_V
6d10: 41 4c 55 45 53 41 20 50 52 49 4e 54 45 52 5f 45  ALUESA PRINTER_E
6d20: 4e 55 4d 5f 56 41 4c 55 45 53 3b 0d 0a 61 6c 69  NUM_VALUES;..ali
6d30: 61 73 20 50 50 52 49 4e 54 45 52 5f 45 4e 55 4d  as PPRINTER_ENUM
6d40: 5f 56 41 4c 55 45 53 41 20 50 50 52 49 4e 54 45  _VALUESA PPRINTE
6d50: 52 5f 45 4e 55 4d 5f 56 41 4c 55 45 53 3b 0d 0a  R_ENUM_VALUES;..
6d60: 61 6c 69 61 73 20 4c 50 50 52 49 4e 54 45 52 5f  alias LPPRINTER_
6d70: 45 4e 55 4d 5f 56 41 4c 55 45 53 41 20 4c 50 50  ENUM_VALUESA LPP
6d80: 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 56 41 4c 55  RINTER_ENUM_VALU
6d90: 45 53 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  ES;..// #endif /
6da0: 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74  / UNICODE....ext
6db0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
6dc0: 6f 72 74 20 42 4f 4f 4c 20 45 6e 75 6d 50 72 69  ort BOOL EnumPri
6dd0: 6e 74 65 72 73 41 28 0d 0a 20 20 44 57 4f 52 44  ntersA(..  DWORD
6de0: 20 46 6c 61 67 73 2c 0d 0a 20 20 4c 50 53 54 52   Flags,..  LPSTR
6df0: 20 4e 61 6d 65 2c 0d 0a 20 20 44 57 4f 52 44 20   Name,..  DWORD 
6e00: 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50 42 59 54 45  Level,..  LPBYTE
6e10: 20 70 50 72 69 6e 74 65 72 45 6e 75 6d 2c 0d 0a   pPrinterEnum,..
6e20: 20 20 44 57 4f 52 44 20 63 62 42 75 66 2c 0d 0a    DWORD cbBuf,..
6e30: 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65 65    LPDWORD pcbNee
6e40: 64 65 64 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20  ded,..  LPDWORD 
6e50: 70 63 52 65 74 75 72 6e 65 64 0d 0a 29 3b 0d 0a  pcReturned..);..
6e60: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
6e70: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 75 6d  export BOOL Enum
6e80: 50 72 69 6e 74 65 72 73 57 28 0d 0a 20 20 44 57  PrintersW(..  DW
6e90: 4f 52 44 20 46 6c 61 67 73 2c 0d 0a 20 20 4c 50  ORD Flags,..  LP
6ea0: 57 53 54 52 20 4e 61 6d 65 2c 0d 0a 20 20 44 57  WSTR Name,..  DW
6eb0: 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50  ORD Level,..  LP
6ec0: 42 59 54 45 20 70 50 72 69 6e 74 65 72 45 6e 75  BYTE pPrinterEnu
6ed0: 6d 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62 42 75  m,..  DWORD cbBu
6ee0: 66 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63  f,..  LPDWORD pc
6ef0: 62 4e 65 65 64 65 64 2c 0d 0a 20 20 4c 50 44 57  bNeeded,..  LPDW
6f00: 4f 52 44 20 70 63 52 65 74 75 72 6e 65 64 0d 0a  ORD pcReturned..
6f10: 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
6f20: 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
6f30: 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
6f40: 45 6e 75 6d 50 72 69 6e 74 65 72 73 41 20 45 6e  EnumPrintersA En
6f50: 75 6d 50 72 69 6e 74 65 72 73 3b 0d 0a 2f 2f 20  umPrinters;..// 
6f60: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
6f70: 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  DE....enum : uin
6f80: 74 20 7b 20 50 52 49 4e 54 45 52 5f 45 4e 55 4d  t { PRINTER_ENUM
6f90: 5f 44 45 46 41 55 4c 54 20 3d 20 30 78 30 30 30  _DEFAULT = 0x000
6fa0: 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
6fb0: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 45  uint { PRINTER_E
6fc0: 4e 55 4d 5f 4c 4f 43 41 4c 20 3d 20 30 78 30 30  NUM_LOCAL = 0x00
6fd0: 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  000002 }..enum :
6fe0: 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f   uint { PRINTER_
6ff0: 45 4e 55 4d 5f 43 4f 4e 4e 45 43 54 49 4f 4e 53  ENUM_CONNECTIONS
7000: 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
7010: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
7020: 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 46 41 56 4f  RINTER_ENUM_FAVO
7030: 52 49 54 45 20 3d 20 30 78 30 30 30 30 30 30 30  RITE = 0x0000000
7040: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
7050: 20 7b 20 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f   { PRINTER_ENUM_
7060: 4e 41 4d 45 20 3d 20 30 78 30 30 30 30 30 30 30  NAME = 0x0000000
7070: 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  8 }..enum : uint
7080: 20 7b 20 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f   { PRINTER_ENUM_
7090: 52 45 4d 4f 54 45 20 3d 20 30 78 30 30 30 30 30  REMOTE = 0x00000
70a0: 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
70b0: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 45 4e 55  nt { PRINTER_ENU
70c0: 4d 5f 53 48 41 52 45 44 20 3d 20 30 78 30 30 30  M_SHARED = 0x000
70d0: 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00020 }..enum : 
70e0: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 45  uint { PRINTER_E
70f0: 4e 55 4d 5f 4e 45 54 57 4f 52 4b 20 3d 20 30 78  NUM_NETWORK = 0x
7100: 30 30 30 30 30 30 34 30 20 7d 0d 0a 0d 0a 65 6e  00000040 }....en
7110: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
7120: 54 45 52 5f 45 4e 55 4d 5f 45 58 50 41 4e 44 20  TER_ENUM_EXPAND 
7130: 3d 20 30 78 30 30 30 30 34 30 30 30 20 7d 0d 0a  = 0x00004000 }..
7140: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
7150: 49 4e 54 45 52 5f 45 4e 55 4d 5f 43 4f 4e 54 41  INTER_ENUM_CONTA
7160: 49 4e 45 52 20 3d 20 30 78 30 30 30 30 38 30 30  INER = 0x0000800
7170: 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
7180: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 45 4e 55  nt { PRINTER_ENU
7190: 4d 5f 49 43 4f 4e 4d 41 53 4b 20 3d 20 30 78 30  M_ICONMASK = 0x0
71a0: 30 66 66 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0ff0000 }..enum 
71b0: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
71c0: 5f 45 4e 55 4d 5f 49 43 4f 4e 31 20 3d 20 30 78  _ENUM_ICON1 = 0x
71d0: 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00010000 }..enum
71e0: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
71f0: 52 5f 45 4e 55 4d 5f 49 43 4f 4e 32 20 3d 20 30  R_ENUM_ICON2 = 0
7200: 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75  x00020000 }..enu
7210: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
7220: 45 52 5f 45 4e 55 4d 5f 49 43 4f 4e 33 20 3d 20  ER_ENUM_ICON3 = 
7230: 30 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e  0x00040000 }..en
7240: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
7250: 54 45 52 5f 45 4e 55 4d 5f 49 43 4f 4e 34 20 3d  TER_ENUM_ICON4 =
7260: 20 30 78 30 30 30 38 30 30 30 30 20 7d 0d 0a 65   0x00080000 }..e
7270: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49  num : uint { PRI
7280: 4e 54 45 52 5f 45 4e 55 4d 5f 49 43 4f 4e 35 20  NTER_ENUM_ICON5 
7290: 3d 20 30 78 30 30 31 30 30 30 30 30 20 7d 0d 0a  = 0x00100000 }..
72a0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
72b0: 49 4e 54 45 52 5f 45 4e 55 4d 5f 49 43 4f 4e 36  INTER_ENUM_ICON6
72c0: 20 3d 20 30 78 30 30 32 30 30 30 30 30 20 7d 0d   = 0x00200000 }.
72d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
72e0: 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 49 43 4f 4e  RINTER_ENUM_ICON
72f0: 37 20 3d 20 30 78 30 30 34 30 30 30 30 30 20 7d  7 = 0x00400000 }
7300: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
7310: 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 49 43 4f  PRINTER_ENUM_ICO
7320: 4e 38 20 3d 20 30 78 30 30 38 30 30 30 30 30 20  N8 = 0x00800000 
7330: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
7340: 20 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 48 49   PRINTER_ENUM_HI
7350: 44 45 20 3d 20 30 78 30 31 30 30 30 30 30 30 20  DE = 0x01000000 
7360: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
7370: 20 7b 20 53 50 4f 4f 4c 5f 46 49 4c 45 5f 50 45   { SPOOL_FILE_PE
7380: 52 53 49 53 54 45 4e 54 20 3d 20 30 78 30 30 30  RSISTENT = 0x000
7390: 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
73a0: 75 69 6e 74 20 7b 20 53 50 4f 4f 4c 5f 46 49 4c  uint { SPOOL_FIL
73b0: 45 5f 54 45 4d 50 4f 52 41 52 59 20 3d 20 30 78  E_TEMPORARY = 0x
73c0: 30 30 30 30 30 30 30 32 20 7d 0d 0a 0d 0a 65 78  00000002 }....ex
73d0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
73e0: 70 6f 72 74 20 42 4f 4f 4c 20 4f 70 65 6e 50 72  port BOOL OpenPr
73f0: 69 6e 74 65 72 41 28 0d 0a 20 20 4c 50 53 54 52  interA(..  LPSTR
7400: 20 70 50 72 69 6e 74 65 72 4e 61 6d 65 2c 0d 0a   pPrinterName,..
7410: 20 20 4c 50 48 41 4e 44 4c 45 20 70 68 50 72 69    LPHANDLE phPri
7420: 6e 74 65 72 2c 0d 0a 20 20 4c 50 50 52 49 4e 54  nter,..  LPPRINT
7430: 45 52 5f 44 45 46 41 55 4c 54 53 41 20 70 44 65  ER_DEFAULTSA pDe
7440: 66 61 75 6c 74 0d 0a 29 3b 0d 0a 65 78 74 65 72  fault..);..exter
7450: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
7460: 74 20 42 4f 4f 4c 20 4f 70 65 6e 50 72 69 6e 74  t BOOL OpenPrint
7470: 65 72 57 28 0d 0a 20 20 4c 50 57 53 54 52 20 70  erW(..  LPWSTR p
7480: 50 72 69 6e 74 65 72 4e 61 6d 65 2c 0d 0a 20 20  PrinterName,..  
7490: 4c 50 48 41 4e 44 4c 45 20 70 68 50 72 69 6e 74  LPHANDLE phPrint
74a0: 65 72 2c 0d 0a 20 20 4c 50 50 52 49 4e 54 45 52  er,..  LPPRINTER
74b0: 5f 44 45 46 41 55 4c 54 53 57 20 70 44 65 66 61  _DEFAULTSW pDefa
74c0: 75 6c 74 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64  ult..);..// #ifd
74d0: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
74e0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
74f0: 6c 69 61 73 20 4f 70 65 6e 50 72 69 6e 74 65 72  lias OpenPrinter
7500: 41 20 4f 70 65 6e 50 72 69 6e 74 65 72 3b 0d 0a  A OpenPrinter;..
7510: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
7520: 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
7530: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
7540: 42 4f 4f 4c 20 52 65 73 65 74 50 72 69 6e 74 65  BOOL ResetPrinte
7550: 72 41 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50  rA(..  HANDLE hP
7560: 72 69 6e 74 65 72 2c 0d 0a 20 20 4c 50 50 52 49  rinter,..  LPPRI
7570: 4e 54 45 52 5f 44 45 46 41 55 4c 54 53 41 20 70  NTER_DEFAULTSA p
7580: 44 65 66 61 75 6c 74 0d 0a 29 3b 0d 0a 65 78 74  Default..);..ext
7590: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
75a0: 6f 72 74 20 42 4f 4f 4c 20 52 65 73 65 74 50 72  ort BOOL ResetPr
75b0: 69 6e 74 65 72 57 28 0d 0a 20 20 48 41 4e 44 4c  interW(..  HANDL
75c0: 45 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20 4c  E hPrinter,..  L
75d0: 50 50 52 49 4e 54 45 52 5f 44 45 46 41 55 4c 54  PPRINTER_DEFAULT
75e0: 53 57 20 70 44 65 66 61 75 6c 74 0d 0a 29 3b 0d  SW pDefault..);.
75f0: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
7600: 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  DE..// #.....// 
7610: 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 52 65 73  #else..alias Res
7620: 65 74 50 72 69 6e 74 65 72 41 20 52 65 73 65 74  etPrinterA Reset
7630: 50 72 69 6e 74 65 72 3b 0d 0a 2f 2f 20 23 65 6e  Printer;..// #en
7640: 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
7650: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
7660: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53  s) export BOOL S
7670: 65 74 4a 6f 62 41 28 0d 0a 20 20 48 41 4e 44 4c  etJobA(..  HANDL
7680: 45 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20 44  E hPrinter,..  D
7690: 57 4f 52 44 20 4a 6f 62 49 64 2c 0d 0a 20 20 44  WORD JobId,..  D
76a0: 57 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c  WORD Level,..  L
76b0: 50 42 59 54 45 20 70 4a 6f 62 2c 0d 0a 20 20 44  PBYTE pJob,..  D
76c0: 57 4f 52 44 20 43 6f 6d 6d 61 6e 64 0d 0a 29 3b  WORD Command..);
76d0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
76e0: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65  ) export BOOL Se
76f0: 74 4a 6f 62 57 28 0d 0a 20 20 48 41 4e 44 4c 45  tJobW(..  HANDLE
7700: 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20 44 57   hPrinter,..  DW
7710: 4f 52 44 20 4a 6f 62 49 64 2c 0d 0a 20 20 44 57  ORD JobId,..  DW
7720: 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50  ORD Level,..  LP
7730: 42 59 54 45 20 70 4a 6f 62 2c 0d 0a 20 20 44 57  BYTE pJob,..  DW
7740: 4f 52 44 20 43 6f 6d 6d 61 6e 64 0d 0a 29 3b 0d  ORD Command..);.
7750: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
7760: 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  DE..// #.....// 
7770: 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 53 65 74  #else..alias Set
7780: 4a 6f 62 41 20 53 65 74 4a 6f 62 3b 0d 0a 2f 2f  JobA SetJob;..//
7790: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
77a0: 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
77b0: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
77c0: 4f 4c 20 47 65 74 4a 6f 62 41 28 0d 0a 20 20 48  OL GetJobA(..  H
77d0: 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 2c 0d  ANDLE hPrinter,.
77e0: 0a 20 20 44 57 4f 52 44 20 4a 6f 62 49 64 2c 0d  .  DWORD JobId,.
77f0: 0a 20 20 44 57 4f 52 44 20 4c 65 76 65 6c 2c 0d  .  DWORD Level,.
7800: 0a 20 20 4c 50 42 59 54 45 20 70 4a 6f 62 2c 0d  .  LPBYTE pJob,.
7810: 0a 20 20 44 57 4f 52 44 20 63 62 42 75 66 2c 0d  .  DWORD cbBuf,.
7820: 0a 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65  .  LPDWORD pcbNe
7830: 65 64 65 64 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e  eded..);..extern
7840: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
7850: 20 42 4f 4f 4c 20 47 65 74 4a 6f 62 57 28 0d 0a   BOOL GetJobW(..
7860: 20 20 48 41 4e 44 4c 45 20 68 50 72 69 6e 74 65    HANDLE hPrinte
7870: 72 2c 0d 0a 20 20 44 57 4f 52 44 20 4a 6f 62 49  r,..  DWORD JobI
7880: 64 2c 0d 0a 20 20 44 57 4f 52 44 20 4c 65 76 65  d,..  DWORD Leve
7890: 6c 2c 0d 0a 20 20 4c 50 42 59 54 45 20 70 4a 6f  l,..  LPBYTE pJo
78a0: 62 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62 42 75  b,..  DWORD cbBu
78b0: 66 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63  f,..  LPDWORD pc
78c0: 62 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a 2f 2f 20  bNeeded..);..// 
78d0: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
78e0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
78f0: 65 0d 0a 61 6c 69 61 73 20 47 65 74 4a 6f 62 41  e..alias GetJobA
7900: 20 47 65 74 4a 6f 62 3b 0d 0a 2f 2f 20 23 65 6e   GetJob;..// #en
7910: 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
7920: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
7930: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45  s) export BOOL E
7940: 6e 75 6d 4a 6f 62 73 41 28 0d 0a 20 20 48 41 4e  numJobsA(..  HAN
7950: 44 4c 45 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20  DLE hPrinter,.. 
7960: 20 44 57 4f 52 44 20 46 69 72 73 74 4a 6f 62 2c   DWORD FirstJob,
7970: 0d 0a 20 20 44 57 4f 52 44 20 4e 6f 4a 6f 62 73  ..  DWORD NoJobs
7980: 2c 0d 0a 20 20 44 57 4f 52 44 20 4c 65 76 65 6c  ,..  DWORD Level
7990: 2c 0d 0a 20 20 4c 50 42 59 54 45 20 70 4a 6f 62  ,..  LPBYTE pJob
79a0: 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62 42 75 66  ,..  DWORD cbBuf
79b0: 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63 62  ,..  LPDWORD pcb
79c0: 4e 65 65 64 65 64 2c 0d 0a 20 20 4c 50 44 57 4f  Needed,..  LPDWO
79d0: 52 44 20 70 63 52 65 74 75 72 6e 65 64 0d 0a 29  RD pcReturned..)
79e0: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
79f0: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45  s) export BOOL E
7a00: 6e 75 6d 4a 6f 62 73 57 28 0d 0a 20 20 48 41 4e  numJobsW(..  HAN
7a10: 44 4c 45 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20  DLE hPrinter,.. 
7a20: 20 44 57 4f 52 44 20 46 69 72 73 74 4a 6f 62 2c   DWORD FirstJob,
7a30: 0d 0a 20 20 44 57 4f 52 44 20 4e 6f 4a 6f 62 73  ..  DWORD NoJobs
7a40: 2c 0d 0a 20 20 44 57 4f 52 44 20 4c 65 76 65 6c  ,..  DWORD Level
7a50: 2c 0d 0a 20 20 4c 50 42 59 54 45 20 70 4a 6f 62  ,..  LPBYTE pJob
7a60: 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62 42 75 66  ,..  DWORD cbBuf
7a70: 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63 62  ,..  LPDWORD pcb
7a80: 4e 65 65 64 65 64 2c 0d 0a 20 20 4c 50 44 57 4f  Needed,..  LPDWO
7a90: 52 44 20 70 63 52 65 74 75 72 6e 65 64 0d 0a 29  RD pcReturned..)
7aa0: 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
7ab0: 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
7ac0: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 45  / #else..alias E
7ad0: 6e 75 6d 4a 6f 62 73 41 20 45 6e 75 6d 4a 6f 62  numJobsA EnumJob
7ae0: 73 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  s;..// #endif //
7af0: 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74   !UNICODE....ext
7b00: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
7b10: 6f 72 74 20 48 41 4e 44 4c 45 20 41 64 64 50 72  ort HANDLE AddPr
7b20: 69 6e 74 65 72 41 28 0d 0a 20 20 4c 50 53 54 52  interA(..  LPSTR
7b30: 20 70 4e 61 6d 65 2c 0d 0a 20 20 44 57 4f 52 44   pName,..  DWORD
7b40: 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50 42 59 54   Level,..  LPBYT
7b50: 45 20 70 50 72 69 6e 74 65 72 0d 0a 29 3b 0d 0a  E pPrinter..);..
7b60: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
7b70: 65 78 70 6f 72 74 20 48 41 4e 44 4c 45 20 41 64  export HANDLE Ad
7b80: 64 50 72 69 6e 74 65 72 57 28 0d 0a 20 20 4c 50  dPrinterW(..  LP
7b90: 57 53 54 52 20 70 4e 61 6d 65 2c 0d 0a 20 20 44  WSTR pName,..  D
7ba0: 57 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c  WORD Level,..  L
7bb0: 50 42 59 54 45 20 70 50 72 69 6e 74 65 72 0d 0a  PBYTE pPrinter..
7bc0: 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
7bd0: 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
7be0: 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
7bf0: 41 64 64 50 72 69 6e 74 65 72 41 20 41 64 64 50  AddPrinterA AddP
7c00: 72 69 6e 74 65 72 3b 0d 0a 2f 2f 20 23 65 6e 64  rinter;..// #end
7c10: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
7c20: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
7c30: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44 65  ) export BOOL De
7c40: 6c 65 74 65 50 72 69 6e 74 65 72 28 0d 0a 20 20  letePrinter(..  
7c50: 48 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 0d  HANDLE hPrinter.
7c60: 0a 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  .);....extern(Wi
7c70: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
7c80: 4f 4c 20 53 65 74 50 72 69 6e 74 65 72 41 28 0d  OL SetPrinterA(.
7c90: 0a 20 20 48 41 4e 44 4c 45 20 68 50 72 69 6e 74  .  HANDLE hPrint
7ca0: 65 72 2c 0d 0a 20 20 44 57 4f 52 44 20 4c 65 76  er,..  DWORD Lev
7cb0: 65 6c 2c 0d 0a 20 20 4c 50 42 59 54 45 20 70 50  el,..  LPBYTE pP
7cc0: 72 69 6e 74 65 72 2c 0d 0a 20 20 44 57 4f 52 44  rinter,..  DWORD
7cd0: 20 43 6f 6d 6d 61 6e 64 0d 0a 29 3b 0d 0a 65 78   Command..);..ex
7ce0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
7cf0: 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74 50 72 69  port BOOL SetPri
7d00: 6e 74 65 72 57 28 0d 0a 20 20 48 41 4e 44 4c 45  nterW(..  HANDLE
7d10: 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20 44 57   hPrinter,..  DW
7d20: 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50  ORD Level,..  LP
7d30: 42 59 54 45 20 70 50 72 69 6e 74 65 72 2c 0d 0a  BYTE pPrinter,..
7d40: 20 20 44 57 4f 52 44 20 43 6f 6d 6d 61 6e 64 0d    DWORD Command.
7d50: 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  .);..// #ifdef U
7d60: 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
7d70: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
7d80: 20 53 65 74 50 72 69 6e 74 65 72 41 20 53 65 74   SetPrinterA Set
7d90: 50 72 69 6e 74 65 72 3b 0d 0a 2f 2f 20 23 65 6e  Printer;..// #en
7da0: 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
7db0: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
7dc0: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47  s) export BOOL G
7dd0: 65 74 50 72 69 6e 74 65 72 41 28 0d 0a 20 20 48  etPrinterA(..  H
7de0: 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 2c 0d  ANDLE hPrinter,.
7df0: 0a 20 20 44 57 4f 52 44 20 4c 65 76 65 6c 2c 0d  .  DWORD Level,.
7e00: 0a 20 20 4c 50 42 59 54 45 20 70 50 72 69 6e 74  .  LPBYTE pPrint
7e10: 65 72 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62 42  er,..  DWORD cbB
7e20: 75 66 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70  uf,..  LPDWORD p
7e30: 63 62 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a 65 78  cbNeeded..);..ex
7e40: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
7e50: 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 50 72 69  port BOOL GetPri
7e60: 6e 74 65 72 57 28 0d 0a 20 20 48 41 4e 44 4c 45  nterW(..  HANDLE
7e70: 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20 44 57   hPrinter,..  DW
7e80: 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50  ORD Level,..  LP
7e90: 42 59 54 45 20 70 50 72 69 6e 74 65 72 2c 0d 0a  BYTE pPrinter,..
7ea0: 20 20 44 57 4f 52 44 20 63 62 42 75 66 2c 0d 0a    DWORD cbBuf,..
7eb0: 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65 65    LPDWORD pcbNee
7ec0: 64 65 64 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64  ded..);..// #ifd
7ed0: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
7ee0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
7ef0: 6c 69 61 73 20 47 65 74 50 72 69 6e 74 65 72 41  lias GetPrinterA
7f00: 20 47 65 74 50 72 69 6e 74 65 72 3b 0d 0a 2f 2f   GetPrinter;..//
7f10: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
7f20: 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
7f30: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
7f40: 4f 4c 20 41 64 64 50 72 69 6e 74 65 72 44 72 69  OL AddPrinterDri
7f50: 76 65 72 41 28 0d 0a 20 20 4c 50 53 54 52 20 70  verA(..  LPSTR p
7f60: 4e 61 6d 65 2c 0d 0a 20 20 44 57 4f 52 44 20 4c  Name,..  DWORD L
7f70: 65 76 65 6c 2c 0d 0a 20 20 4c 50 42 59 54 45 20  evel,..  LPBYTE 
7f80: 70 44 72 69 76 65 72 49 6e 66 6f 0d 0a 29 3b 0d  pDriverInfo..);.
7f90: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
7fa0: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 41 64 64   export BOOL Add
7fb0: 50 72 69 6e 74 65 72 44 72 69 76 65 72 57 28 0d  PrinterDriverW(.
7fc0: 0a 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65 2c  .  LPWSTR pName,
7fd0: 0d 0a 20 20 44 57 4f 52 44 20 4c 65 76 65 6c 2c  ..  DWORD Level,
7fe0: 0d 0a 20 20 4c 50 42 59 54 45 20 70 44 72 69 76  ..  LPBYTE pDriv
7ff0: 65 72 49 6e 66 6f 0d 0a 29 3b 0d 0a 2f 2f 20 23  erInfo..);..// #
8000: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
8010: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
8020: 0d 0a 61 6c 69 61 73 20 41 64 64 50 72 69 6e 74  ..alias AddPrint
8030: 65 72 44 72 69 76 65 72 41 20 41 64 64 50 72 69  erDriverA AddPri
8040: 6e 74 65 72 44 72 69 76 65 72 3b 0d 0a 2f 2f 20  nterDriver;..// 
8050: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
8060: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
8070: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
8080: 4c 20 41 64 64 50 72 69 6e 74 65 72 44 72 69 76  L AddPrinterDriv
8090: 65 72 45 78 41 28 0d 0a 20 20 4c 50 53 54 52 20  erExA(..  LPSTR 
80a0: 70 4e 61 6d 65 2c 0d 0a 20 20 44 57 4f 52 44 20  pName,..  DWORD 
80b0: 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50 42 59 54 45  Level,..  LPBYTE
80c0: 20 70 44 72 69 76 65 72 49 6e 66 6f 2c 0d 0a 20   pDriverInfo,.. 
80d0: 20 44 57 4f 52 44 20 64 77 46 69 6c 65 43 6f 70   DWORD dwFileCop
80e0: 79 46 6c 61 67 73 0d 0a 29 3b 0d 0a 65 78 74 65  yFlags..);..exte
80f0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
8100: 72 74 20 42 4f 4f 4c 20 41 64 64 50 72 69 6e 74  rt BOOL AddPrint
8110: 65 72 44 72 69 76 65 72 45 78 57 28 0d 0a 20 20  erDriverExW(..  
8120: 4c 50 57 53 54 52 20 70 4e 61 6d 65 2c 0d 0a 20  LPWSTR pName,.. 
8130: 20 44 57 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20   DWORD Level,.. 
8140: 20 4c 50 42 59 54 45 20 70 44 72 69 76 65 72 49   LPBYTE pDriverI
8150: 6e 66 6f 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77  nfo,..  DWORD dw
8160: 46 69 6c 65 43 6f 70 79 46 6c 61 67 73 0d 0a 29  FileCopyFlags..)
8170: 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
8180: 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
8190: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 41  / #else..alias A
81a0: 64 64 50 72 69 6e 74 65 72 44 72 69 76 65 72 45  ddPrinterDriverE
81b0: 78 41 20 41 64 64 50 72 69 6e 74 65 72 44 72 69  xA AddPrinterDri
81c0: 76 65 72 45 78 3b 0d 0a 2f 2f 20 23 65 6e 64 69  verEx;..// #endi
81d0: 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
81e0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
81f0: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 75   export BOOL Enu
8200: 6d 50 72 69 6e 74 65 72 44 72 69 76 65 72 73 41  mPrinterDriversA
8210: 28 0d 0a 20 20 4c 50 53 54 52 20 70 4e 61 6d 65  (..  LPSTR pName
8220: 2c 0d 0a 20 20 4c 50 53 54 52 20 70 45 6e 76 69  ,..  LPSTR pEnvi
8230: 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 44 57 4f 52  ronment,..  DWOR
8240: 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50 42 59  D Level,..  LPBY
8250: 54 45 20 70 44 72 69 76 65 72 49 6e 66 6f 2c 0d  TE pDriverInfo,.
8260: 0a 20 20 44 57 4f 52 44 20 63 62 42 75 66 2c 0d  .  DWORD cbBuf,.
8270: 0a 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65  .  LPDWORD pcbNe
8280: 65 64 65 64 2c 0d 0a 20 20 4c 50 44 57 4f 52 44  eded,..  LPDWORD
8290: 20 70 63 52 65 74 75 72 6e 65 64 0d 0a 29 3b 0d   pcReturned..);.
82a0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
82b0: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 75   export BOOL Enu
82c0: 6d 50 72 69 6e 74 65 72 44 72 69 76 65 72 73 57  mPrinterDriversW
82d0: 28 0d 0a 20 20 4c 50 57 53 54 52 20 70 4e 61 6d  (..  LPWSTR pNam
82e0: 65 2c 0d 0a 20 20 4c 50 57 53 54 52 20 70 45 6e  e,..  LPWSTR pEn
82f0: 76 69 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 44 57  vironment,..  DW
8300: 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50  ORD Level,..  LP
8310: 42 59 54 45 20 70 44 72 69 76 65 72 49 6e 66 6f  BYTE pDriverInfo
8320: 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62 42 75 66  ,..  DWORD cbBuf
8330: 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63 62  ,..  LPDWORD pcb
8340: 4e 65 65 64 65 64 2c 0d 0a 20 20 4c 50 44 57 4f  Needed,..  LPDWO
8350: 52 44 20 70 63 52 65 74 75 72 6e 65 64 0d 0a 29  RD pcReturned..)
8360: 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
8370: 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
8380: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 45  / #else..alias E
8390: 6e 75 6d 50 72 69 6e 74 65 72 44 72 69 76 65 72  numPrinterDriver
83a0: 73 41 20 45 6e 75 6d 50 72 69 6e 74 65 72 44 72  sA EnumPrinterDr
83b0: 69 76 65 72 73 3b 0d 0a 2f 2f 20 23 65 6e 64 69  ivers;..// #endi
83c0: 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
83d0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
83e0: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74   export BOOL Get
83f0: 50 72 69 6e 74 65 72 44 72 69 76 65 72 41 28 0d  PrinterDriverA(.
8400: 0a 20 20 48 41 4e 44 4c 45 20 68 50 72 69 6e 74  .  HANDLE hPrint
8410: 65 72 2c 0d 0a 20 20 4c 50 53 54 52 20 70 45 6e  er,..  LPSTR pEn
8420: 76 69 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 44 57  vironment,..  DW
8430: 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50  ORD Level,..  LP
8440: 42 59 54 45 20 70 44 72 69 76 65 72 49 6e 66 6f  BYTE pDriverInfo
8450: 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62 42 75 66  ,..  DWORD cbBuf
8460: 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63 62  ,..  LPDWORD pcb
8470: 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a 65 78 74 65  Needed..);..exte
8480: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
8490: 72 74 20 42 4f 4f 4c 20 47 65 74 50 72 69 6e 74  rt BOOL GetPrint
84a0: 65 72 44 72 69 76 65 72 57 28 0d 0a 20 20 48 41  erDriverW(..  HA
84b0: 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 2c 0d 0a  NDLE hPrinter,..
84c0: 20 20 4c 50 57 53 54 52 20 70 45 6e 76 69 72 6f    LPWSTR pEnviro
84d0: 6e 6d 65 6e 74 2c 0d 0a 20 20 44 57 4f 52 44 20  nment,..  DWORD 
84e0: 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50 42 59 54 45  Level,..  LPBYTE
84f0: 20 70 44 72 69 76 65 72 49 6e 66 6f 2c 0d 0a 20   pDriverInfo,.. 
8500: 20 44 57 4f 52 44 20 63 62 42 75 66 2c 0d 0a 20   DWORD cbBuf,.. 
8510: 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65 65 64   LPDWORD pcbNeed
8520: 65 64 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  ed..);..// #ifde
8530: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
8540: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
8550: 69 61 73 20 47 65 74 50 72 69 6e 74 65 72 44 72  ias GetPrinterDr
8560: 69 76 65 72 41 20 47 65 74 50 72 69 6e 74 65 72  iverA GetPrinter
8570: 44 72 69 76 65 72 3b 0d 0a 2f 2f 20 23 65 6e 64  Driver;..// #end
8580: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
8590: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
85a0: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65  ) export BOOL Ge
85b0: 74 50 72 69 6e 74 65 72 44 72 69 76 65 72 44 69  tPrinterDriverDi
85c0: 72 65 63 74 6f 72 79 41 28 0d 0a 20 20 4c 50 53  rectoryA(..  LPS
85d0: 54 52 20 70 4e 61 6d 65 2c 0d 0a 20 20 4c 50 53  TR pName,..  LPS
85e0: 54 52 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 2c  TR pEnvironment,
85f0: 0d 0a 20 20 44 57 4f 52 44 20 4c 65 76 65 6c 2c  ..  DWORD Level,
8600: 0d 0a 20 20 4c 50 42 59 54 45 20 70 44 72 69 76  ..  LPBYTE pDriv
8610: 65 72 44 69 72 65 63 74 6f 72 79 2c 0d 0a 20 20  erDirectory,..  
8620: 44 57 4f 52 44 20 63 62 42 75 66 2c 0d 0a 20 20  DWORD cbBuf,..  
8630: 4c 50 44 57 4f 52 44 20 70 63 62 4e 65 65 64 65  LPDWORD pcbNeede
8640: 64 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  d..);..extern(Wi
8650: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
8660: 4f 4c 20 47 65 74 50 72 69 6e 74 65 72 44 72 69  OL GetPrinterDri
8670: 76 65 72 44 69 72 65 63 74 6f 72 79 57 28 0d 0a  verDirectoryW(..
8680: 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65 2c 0d    LPWSTR pName,.
8690: 0a 20 20 4c 50 57 53 54 52 20 70 45 6e 76 69 72  .  LPWSTR pEnvir
86a0: 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 44 57 4f 52 44  onment,..  DWORD
86b0: 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50 42 59 54   Level,..  LPBYT
86c0: 45 20 70 44 72 69 76 65 72 44 69 72 65 63 74 6f  E pDriverDirecto
86d0: 72 79 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62 42  ry,..  DWORD cbB
86e0: 75 66 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70  uf,..  LPDWORD p
86f0: 63 62 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a 2f 2f  cbNeeded..);..//
8700: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
8710: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
8720: 73 65 0d 0a 61 6c 69 61 73 20 47 65 74 50 72 69  se..alias GetPri
8730: 6e 74 65 72 44 72 69 76 65 72 44 69 72 65 63 74  nterDriverDirect
8740: 6f 72 79 41 20 47 65 74 50 72 69 6e 74 65 72 44  oryA GetPrinterD
8750: 72 69 76 65 72 44 69 72 65 63 74 6f 72 79 3b 0d  riverDirectory;.
8760: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
8770: 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
8780: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
8790: 20 42 4f 4f 4c 20 44 65 6c 65 74 65 50 72 69 6e   BOOL DeletePrin
87a0: 74 65 72 44 72 69 76 65 72 41 28 0d 0a 20 20 4c  terDriverA(..  L
87b0: 50 53 54 52 20 70 4e 61 6d 65 2c 0d 0a 20 20 4c  PSTR pName,..  L
87c0: 50 53 54 52 20 70 45 6e 76 69 72 6f 6e 6d 65 6e  PSTR pEnvironmen
87d0: 74 2c 0d 0a 20 20 4c 50 53 54 52 20 70 44 72 69  t,..  LPSTR pDri
87e0: 76 65 72 4e 61 6d 65 0d 0a 29 3b 0d 0a 65 78 74  verName..);..ext
87f0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
8800: 6f 72 74 20 42 4f 4f 4c 20 44 65 6c 65 74 65 50  ort BOOL DeleteP
8810: 72 69 6e 74 65 72 44 72 69 76 65 72 57 28 0d 0a  rinterDriverW(..
8820: 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65 2c 0d    LPWSTR pName,.
8830: 0a 20 20 4c 50 57 53 54 52 20 70 45 6e 76 69 72  .  LPWSTR pEnvir
8840: 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 4c 50 57 53 54  onment,..  LPWST
8850: 52 20 70 44 72 69 76 65 72 4e 61 6d 65 0d 0a 29  R pDriverName..)
8860: 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
8870: 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  CODE..// #...../
8880: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 44  / #else..alias D
8890: 65 6c 65 74 65 50 72 69 6e 74 65 72 44 72 69 76  eletePrinterDriv
88a0: 65 72 41 20 44 65 6c 65 74 65 50 72 69 6e 74 65  erA DeletePrinte
88b0: 72 44 72 69 76 65 72 3b 0d 0a 2f 2f 20 23 65 6e  rDriver;..// #en
88c0: 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
88d0: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
88e0: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44  s) export BOOL D
88f0: 65 6c 65 74 65 50 72 69 6e 74 65 72 44 72 69 76  eletePrinterDriv
8900: 65 72 45 78 41 28 0d 0a 20 20 4c 50 53 54 52 20  erExA(..  LPSTR 
8910: 70 4e 61 6d 65 2c 0d 0a 20 20 4c 50 53 54 52 20  pName,..  LPSTR 
8920: 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0d 0a 20  pEnvironment,.. 
8930: 20 4c 50 53 54 52 20 70 44 72 69 76 65 72 4e 61   LPSTR pDriverNa
8940: 6d 65 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77 44  me,..  DWORD dwD
8950: 65 6c 65 74 65 46 6c 61 67 2c 0d 0a 20 20 44 57  eleteFlag,..  DW
8960: 4f 52 44 20 64 77 56 65 72 73 69 6f 6e 46 6c 61  ORD dwVersionFla
8970: 67 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  g..);..extern(Wi
8980: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
8990: 4f 4c 20 44 65 6c 65 74 65 50 72 69 6e 74 65 72  OL DeletePrinter
89a0: 44 72 69 76 65 72 45 78 57 28 0d 0a 20 20 4c 50  DriverExW(..  LP
89b0: 57 53 54 52 20 70 4e 61 6d 65 2c 0d 0a 20 20 4c  WSTR pName,..  L
89c0: 50 57 53 54 52 20 70 45 6e 76 69 72 6f 6e 6d 65  PWSTR pEnvironme
89d0: 6e 74 2c 0d 0a 20 20 4c 50 57 53 54 52 20 70 44  nt,..  LPWSTR pD
89e0: 72 69 76 65 72 4e 61 6d 65 2c 0d 0a 20 20 44 57  riverName,..  DW
89f0: 4f 52 44 20 64 77 44 65 6c 65 74 65 46 6c 61 67  ORD dwDeleteFlag
8a00: 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77 56 65 72  ,..  DWORD dwVer
8a10: 73 69 6f 6e 46 6c 61 67 0d 0a 29 3b 0d 0a 2f 2f  sionFlag..);..//
8a20: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
8a30: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
8a40: 73 65 0d 0a 61 6c 69 61 73 20 44 65 6c 65 74 65  se..alias Delete
8a50: 50 72 69 6e 74 65 72 44 72 69 76 65 72 45 78 41  PrinterDriverExA
8a60: 20 44 65 6c 65 74 65 50 72 69 6e 74 65 72 44 72   DeletePrinterDr
8a70: 69 76 65 72 45 78 3b 0d 0a 2f 2f 20 23 65 6e 64  iverEx;..// #end
8a80: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
8a90: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
8aa0: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 41 64  ) export BOOL Ad
8ab0: 64 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 41  dPrintProcessorA
8ac0: 28 0d 0a 20 20 4c 50 53 54 52 20 70 4e 61 6d 65  (..  LPSTR pName
8ad0: 2c 0d 0a 20 20 4c 50 53 54 52 20 70 45 6e 76 69  ,..  LPSTR pEnvi
8ae0: 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 4c 50 53 54  ronment,..  LPST
8af0: 52 20 70 50 61 74 68 4e 61 6d 65 2c 0d 0a 20 20  R pPathName,..  
8b00: 4c 50 53 54 52 20 70 50 72 69 6e 74 50 72 6f 63  LPSTR pPrintProc
8b10: 65 73 73 6f 72 4e 61 6d 65 0d 0a 29 3b 0d 0a 65  essorName..);..e
8b20: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
8b30: 78 70 6f 72 74 20 42 4f 4f 4c 20 41 64 64 50 72  xport BOOL AddPr
8b40: 69 6e 74 50 72 6f 63 65 73 73 6f 72 57 28 0d 0a  intProcessorW(..
8b50: 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65 2c 0d    LPWSTR pName,.
8b60: 0a 20 20 4c 50 57 53 54 52 20 70 45 6e 76 69 72  .  LPWSTR pEnvir
8b70: 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 4c 50 57 53 54  onment,..  LPWST
8b80: 52 20 70 50 61 74 68 4e 61 6d 65 2c 0d 0a 20 20  R pPathName,..  
8b90: 4c 50 57 53 54 52 20 70 50 72 69 6e 74 50 72 6f  LPWSTR pPrintPro
8ba0: 63 65 73 73 6f 72 4e 61 6d 65 0d 0a 29 3b 0d 0a  cessorName..);..
8bb0: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
8bc0: 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
8bd0: 65 6c 73 65 0d 0a 61 6c 69 61 73 20 41 64 64 50  else..alias AddP
8be0: 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 41 20 41  rintProcessorA A
8bf0: 64 64 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72  ddPrintProcessor
8c00: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
8c10: 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
8c20: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
8c30: 72 74 20 42 4f 4f 4c 20 45 6e 75 6d 50 72 69 6e  rt BOOL EnumPrin
8c40: 74 50 72 6f 63 65 73 73 6f 72 73 41 28 0d 0a 20  tProcessorsA(.. 
8c50: 20 4c 50 53 54 52 20 70 4e 61 6d 65 2c 0d 0a 20   LPSTR pName,.. 
8c60: 20 4c 50 53 54 52 20 70 45 6e 76 69 72 6f 6e 6d   LPSTR pEnvironm
8c70: 65 6e 74 2c 0d 0a 20 20 44 57 4f 52 44 20 4c 65  ent,..  DWORD Le
8c80: 76 65 6c 2c 0d 0a 20 20 4c 50 42 59 54 45 20 70  vel,..  LPBYTE p
8c90: 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 49 6e  PrintProcessorIn
8ca0: 66 6f 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62 42  fo,..  DWORD cbB
8cb0: 75 66 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70  uf,..  LPDWORD p
8cc0: 63 62 4e 65 65 64 65 64 2c 0d 0a 20 20 4c 50 44  cbNeeded,..  LPD
8cd0: 57 4f 52 44 20 70 63 52 65 74 75 72 6e 65 64 0d  WORD pcReturned.
8ce0: 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  .);..extern(Wind
8cf0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
8d00: 20 45 6e 75 6d 50 72 69 6e 74 50 72 6f 63 65 73   EnumPrintProces
8d10: 73 6f 72 73 57 28 0d 0a 20 20 4c 50 57 53 54 52  sorsW(..  LPWSTR
8d20: 20 70 4e 61 6d 65 2c 0d 0a 20 20 4c 50 57 53 54   pName,..  LPWST
8d30: 52 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0d  R pEnvironment,.
8d40: 0a 20 20 44 57 4f 52 44 20 4c 65 76 65 6c 2c 0d  .  DWORD Level,.
8d50: 0a 20 20 4c 50 42 59 54 45 20 70 50 72 69 6e 74  .  LPBYTE pPrint
8d60: 50 72 6f 63 65 73 73 6f 72 49 6e 66 6f 2c 0d 0a  ProcessorInfo,..
8d70: 20 20 44 57 4f 52 44 20 63 62 42 75 66 2c 0d 0a    DWORD cbBuf,..
8d80: 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65 65    LPDWORD pcbNee
8d90: 64 65 64 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20  ded,..  LPDWORD 
8da0: 70 63 52 65 74 75 72 6e 65 64 0d 0a 29 3b 0d 0a  pcReturned..);..
8db0: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
8dc0: 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
8dd0: 65 6c 73 65 0d 0a 61 6c 69 61 73 20 45 6e 75 6d  else..alias Enum
8de0: 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 73 41  PrintProcessorsA
8df0: 20 45 6e 75 6d 50 72 69 6e 74 50 72 6f 63 65 73   EnumPrintProces
8e00: 73 6f 72 73 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  sors;..// #endif
8e10: 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
8e20: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
8e30: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 50  export BOOL GetP
8e40: 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 44 69 72  rintProcessorDir
8e50: 65 63 74 6f 72 79 41 28 0d 0a 20 20 4c 50 53 54  ectoryA(..  LPST
8e60: 52 20 70 4e 61 6d 65 2c 0d 0a 20 20 4c 50 53 54  R pName,..  LPST
8e70: 52 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0d  R pEnvironment,.
8e80: 0a 20 20 44 57 4f 52 44 20 4c 65 76 65 6c 2c 0d  .  DWORD Level,.
8e90: 0a 20 20 4c 50 42 59 54 45 20 70 50 72 69 6e 74  .  LPBYTE pPrint
8ea0: 50 72 6f 63 65 73 73 6f 72 49 6e 66 6f 2c 0d 0a  ProcessorInfo,..
8eb0: 20 20 44 57 4f 52 44 20 63 62 42 75 66 2c 0d 0a    DWORD cbBuf,..
8ec0: 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65 65    LPDWORD pcbNee
8ed0: 64 65 64 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28  ded..);..extern(
8ee0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
8ef0: 42 4f 4f 4c 20 47 65 74 50 72 69 6e 74 50 72 6f  BOOL GetPrintPro
8f00: 63 65 73 73 6f 72 44 69 72 65 63 74 6f 72 79 57  cessorDirectoryW
8f10: 28 0d 0a 20 20 4c 50 57 53 54 52 20 70 4e 61 6d  (..  LPWSTR pNam
8f20: 65 2c 0d 0a 20 20 4c 50 57 53 54 52 20 70 45 6e  e,..  LPWSTR pEn
8f30: 76 69 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 44 57  vironment,..  DW
8f40: 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50  ORD Level,..  LP
8f50: 42 59 54 45 20 70 50 72 69 6e 74 50 72 6f 63 65  BYTE pPrintProce
8f60: 73 73 6f 72 49 6e 66 6f 2c 0d 0a 20 20 44 57 4f  ssorInfo,..  DWO
8f70: 52 44 20 63 62 42 75 66 2c 0d 0a 20 20 4c 50 44  RD cbBuf,..  LPD
8f80: 57 4f 52 44 20 70 63 62 4e 65 65 64 65 64 0d 0a  WORD pcbNeeded..
8f90: 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
8fa0: 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
8fb0: 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
8fc0: 47 65 74 50 72 69 6e 74 50 72 6f 63 65 73 73 6f  GetPrintProcesso
8fd0: 72 44 69 72 65 63 74 6f 72 79 41 20 47 65 74 50  rDirectoryA GetP
8fe0: 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 44 69 72  rintProcessorDir
8ff0: 65 63 74 6f 72 79 3b 0d 0a 2f 2f 20 23 65 6e 64  ectory;..// #end
9000: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
9010: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
9020: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e  ) export BOOL En
9030: 75 6d 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72  umPrintProcessor
9040: 44 61 74 61 74 79 70 65 73 41 28 0d 0a 20 20 4c  DatatypesA(..  L
9050: 50 53 54 52 20 70 4e 61 6d 65 2c 0d 0a 20 20 4c  PSTR pName,..  L
9060: 50 53 54 52 20 70 50 72 69 6e 74 50 72 6f 63 65  PSTR pPrintProce
9070: 73 73 6f 72 4e 61 6d 65 2c 0d 0a 20 20 44 57 4f  ssorName,..  DWO
9080: 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50 42  RD Level,..  LPB
9090: 59 54 45 20 70 44 61 74 61 74 79 70 65 73 2c 0d  YTE pDatatypes,.
90a0: 0a 20 20 44 57 4f 52 44 20 63 62 42 75 66 2c 0d  .  DWORD cbBuf,.
90b0: 0a 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65  .  LPDWORD pcbNe
90c0: 65 64 65 64 2c 0d 0a 20 20 4c 50 44 57 4f 52 44  eded,..  LPDWORD
90d0: 20 70 63 52 65 74 75 72 6e 65 64 0d 0a 29 3b 0d   pcReturned..);.
90e0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
90f0: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 75   export BOOL Enu
9100: 6d 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 44  mPrintProcessorD
9110: 61 74 61 74 79 70 65 73 57 28 0d 0a 20 20 4c 50  atatypesW(..  LP
9120: 57 53 54 52 20 70 4e 61 6d 65 2c 0d 0a 20 20 4c  WSTR pName,..  L
9130: 50 57 53 54 52 20 70 50 72 69 6e 74 50 72 6f 63  PWSTR pPrintProc
9140: 65 73 73 6f 72 4e 61 6d 65 2c 0d 0a 20 20 44 57  essorName,..  DW
9150: 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50  ORD Level,..  LP
9160: 42 59 54 45 20 70 44 61 74 61 74 79 70 65 73 2c  BYTE pDatatypes,
9170: 0d 0a 20 20 44 57 4f 52 44 20 63 62 42 75 66 2c  ..  DWORD cbBuf,
9180: 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e  ..  LPDWORD pcbN
9190: 65 65 64 65 64 2c 0d 0a 20 20 4c 50 44 57 4f 52  eeded,..  LPDWOR
91a0: 44 20 70 63 52 65 74 75 72 6e 65 64 0d 0a 29 3b  D pcReturned..);
91b0: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
91c0: 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
91d0: 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 45 6e   #else..alias En
91e0: 75 6d 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72  umPrintProcessor
91f0: 44 61 74 61 74 79 70 65 73 41 20 45 6e 75 6d 50  DatatypesA EnumP
9200: 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 44 61 74  rintProcessorDat
9210: 61 74 79 70 65 73 3b 0d 0a 2f 2f 20 23 65 6e 64  atypes;..// #end
9220: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
9230: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
9240: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44 65  ) export BOOL De
9250: 6c 65 74 65 50 72 69 6e 74 50 72 6f 63 65 73 73  letePrintProcess
9260: 6f 72 41 28 0d 0a 20 20 4c 50 53 54 52 20 70 4e  orA(..  LPSTR pN
9270: 61 6d 65 2c 0d 0a 20 20 4c 50 53 54 52 20 70 45  ame,..  LPSTR pE
9280: 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 4c  nvironment,..  L
9290: 50 53 54 52 20 70 50 72 69 6e 74 50 72 6f 63 65  PSTR pPrintProce
92a0: 73 73 6f 72 4e 61 6d 65 0d 0a 29 3b 0d 0a 65 78  ssorName..);..ex
92b0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
92c0: 70 6f 72 74 20 42 4f 4f 4c 20 44 65 6c 65 74 65  port BOOL Delete
92d0: 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 57 28  PrintProcessorW(
92e0: 0d 0a 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65  ..  LPWSTR pName
92f0: 2c 0d 0a 20 20 4c 50 57 53 54 52 20 70 45 6e 76  ,..  LPWSTR pEnv
9300: 69 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 4c 50 57  ironment,..  LPW
9310: 53 54 52 20 70 50 72 69 6e 74 50 72 6f 63 65 73  STR pPrintProces
9320: 73 6f 72 4e 61 6d 65 0d 0a 29 3b 0d 0a 2f 2f 20  sorName..);..// 
9330: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
9340: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
9350: 65 0d 0a 61 6c 69 61 73 20 44 65 6c 65 74 65 50  e..alias DeleteP
9360: 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 41 20 44  rintProcessorA D
9370: 65 6c 65 74 65 50 72 69 6e 74 50 72 6f 63 65 73  eletePrintProces
9380: 73 6f 72 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  sor;..// #endif 
9390: 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65  // !UNICODE....e
93a0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
93b0: 78 70 6f 72 74 20 44 57 4f 52 44 20 53 74 61 72  xport DWORD Star
93c0: 74 44 6f 63 50 72 69 6e 74 65 72 41 28 0d 0a 20  tDocPrinterA(.. 
93d0: 20 48 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72   HANDLE hPrinter
93e0: 2c 0d 0a 20 20 44 57 4f 52 44 20 4c 65 76 65 6c  ,..  DWORD Level
93f0: 2c 0d 0a 20 20 4c 50 42 59 54 45 20 70 44 6f 63  ,..  LPBYTE pDoc
9400: 49 6e 66 6f 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e  Info..);..extern
9410: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
9420: 20 44 57 4f 52 44 20 53 74 61 72 74 44 6f 63 50   DWORD StartDocP
9430: 72 69 6e 74 65 72 57 28 0d 0a 20 20 48 41 4e 44  rinterW(..  HAND
9440: 4c 45 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20  LE hPrinter,..  
9450: 44 57 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20  DWORD Level,..  
9460: 4c 50 42 59 54 45 20 70 44 6f 63 49 6e 66 6f 0d  LPBYTE pDocInfo.
9470: 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  .);..// #ifdef U
9480: 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
9490: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
94a0: 20 53 74 61 72 74 44 6f 63 50 72 69 6e 74 65 72   StartDocPrinter
94b0: 41 20 53 74 61 72 74 44 6f 63 50 72 69 6e 74 65  A StartDocPrinte
94c0: 72 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  r;..// #endif //
94d0: 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74   !UNICODE....ext
94e0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
94f0: 6f 72 74 20 42 4f 4f 4c 20 53 74 61 72 74 50 61  ort BOOL StartPa
9500: 67 65 50 72 69 6e 74 65 72 28 0d 0a 20 20 48 41  gePrinter(..  HA
9510: 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 0d 0a 29  NDLE hPrinter..)
9520: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
9530: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
9540: 20 57 72 69 74 65 50 72 69 6e 74 65 72 28 0d 0a   WritePrinter(..
9550: 20 20 48 41 4e 44 4c 45 20 68 50 72 69 6e 74 65    HANDLE hPrinte
9560: 72 2c 0d 0a 20 20 4c 50 56 4f 49 44 20 70 42 75  r,..  LPVOID pBu
9570: 66 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62 42 75  f,..  DWORD cbBu
9580: 66 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63  f,..  LPDWORD pc
9590: 57 72 69 74 74 65 6e 0d 0a 29 3b 0d 0a 0d 0a 65  Written..);....e
95a0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
95b0: 78 70 6f 72 74 20 42 4f 4f 4c 20 46 6c 75 73 68  xport BOOL Flush
95c0: 50 72 69 6e 74 65 72 28 0d 0a 20 20 48 41 4e 44  Printer(..  HAND
95d0: 4c 45 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20  LE hPrinter,..  
95e0: 4c 50 56 4f 49 44 20 70 42 75 66 2c 0d 0a 20 20  LPVOID pBuf,..  
95f0: 44 57 4f 52 44 20 63 62 42 75 66 2c 0d 0a 20 20  DWORD cbBuf,..  
9600: 4c 50 44 57 4f 52 44 20 70 63 57 72 69 74 74 65  LPDWORD pcWritte
9610: 6e 2c 0d 0a 20 20 44 57 4f 52 44 20 63 53 6c 65  n,..  DWORD cSle
9620: 65 70 0d 0a 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  ep..);....extern
9630: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
9640: 20 42 4f 4f 4c 20 45 6e 64 50 61 67 65 50 72 69   BOOL EndPagePri
9650: 6e 74 65 72 28 0d 0a 20 20 48 41 4e 44 4c 45 20  nter(..  HANDLE 
9660: 68 50 72 69 6e 74 65 72 0d 0a 29 3b 0d 0a 0d 0a  hPrinter..);....
9670: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
9680: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 41 62 6f 72  export BOOL Abor
9690: 74 50 72 69 6e 74 65 72 28 0d 0a 20 20 48 41 4e  tPrinter(..  HAN
96a0: 44 4c 45 20 68 50 72 69 6e 74 65 72 0d 0a 29 3b  DLE hPrinter..);
96b0: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
96c0: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
96d0: 52 65 61 64 50 72 69 6e 74 65 72 28 0d 0a 20 20  ReadPrinter(..  
96e0: 48 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 2c  HANDLE hPrinter,
96f0: 0d 0a 20 20 4c 50 56 4f 49 44 20 70 42 75 66 2c  ..  LPVOID pBuf,
9700: 0d 0a 20 20 44 57 4f 52 44 20 63 62 42 75 66 2c  ..  DWORD cbBuf,
9710: 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 4e 6f 42  ..  LPDWORD pNoB
9720: 79 74 65 73 52 65 61 64 0d 0a 29 3b 0d 0a 0d 0a  ytesRead..);....
9730: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
9740: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 64 44  export BOOL EndD
9750: 6f 63 50 72 69 6e 74 65 72 28 0d 0a 20 20 48 41  ocPrinter(..  HA
9760: 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 0d 0a 29  NDLE hPrinter..)
9770: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
9780: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
9790: 20 41 64 64 4a 6f 62 41 28 0d 0a 20 20 48 41 4e   AddJobA(..  HAN
97a0: 44 4c 45 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20  DLE hPrinter,.. 
97b0: 20 44 57 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20   DWORD Level,.. 
97c0: 20 4c 50 42 59 54 45 20 70 44 61 74 61 2c 0d 0a   LPBYTE pData,..
97d0: 20 20 44 57 4f 52 44 20 63 62 42 75 66 2c 0d 0a    DWORD cbBuf,..
97e0: 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65 65    LPDWORD pcbNee
97f0: 64 65 64 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28  ded..);..extern(
9800: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
9810: 42 4f 4f 4c 20 41 64 64 4a 6f 62 57 28 0d 0a 20  BOOL AddJobW(.. 
9820: 20 48 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72   HANDLE hPrinter
9830: 2c 0d 0a 20 20 44 57 4f 52 44 20 4c 65 76 65 6c  ,..  DWORD Level
9840: 2c 0d 0a 20 20 4c 50 42 59 54 45 20 70 44 61 74  ,..  LPBYTE pDat
9850: 61 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62 42 75  a,..  DWORD cbBu
9860: 66 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63  f,..  LPDWORD pc
9870: 62 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a 2f 2f 20  bNeeded..);..// 
9880: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
9890: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
98a0: 65 0d 0a 61 6c 69 61 73 20 41 64 64 4a 6f 62 41  e..alias AddJobA
98b0: 20 41 64 64 4a 6f 62 3b 0d 0a 2f 2f 20 23 65 6e   AddJob;..// #en
98c0: 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
98d0: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
98e0: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53  s) export BOOL S
98f0: 63 68 65 64 75 6c 65 4a 6f 62 28 0d 0a 20 20 48  cheduleJob(..  H
9900: 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 2c 0d  ANDLE hPrinter,.
9910: 0a 20 20 44 57 4f 52 44 20 4a 6f 62 49 64 0d 0a  .  DWORD JobId..
9920: 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  );....extern(Win
9930: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
9940: 4c 20 50 72 69 6e 74 65 72 50 72 6f 70 65 72 74  L PrinterPropert
9950: 69 65 73 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e  ies(..  HWND hWn
9960: 64 2c 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50 72  d,..  HANDLE hPr
9970: 69 6e 74 65 72 0d 0a 29 3b 0d 0a 0d 0a 65 78 74  inter..);....ext
9980: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
9990: 6f 72 74 20 4c 4f 4e 47 20 44 6f 63 75 6d 65 6e  ort LONG Documen
99a0: 74 50 72 6f 70 65 72 74 69 65 73 41 28 0d 0a 20  tPropertiesA(.. 
99b0: 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20 48   HWND hWnd,..  H
99c0: 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 2c 0d  ANDLE hPrinter,.
99d0: 0a 20 20 4c 50 53 54 52 20 70 44 65 76 69 63 65  .  LPSTR pDevice
99e0: 4e 61 6d 65 2c 0d 0a 20 20 50 44 45 56 4d 4f 44  Name,..  PDEVMOD
99f0: 45 41 20 70 44 65 76 4d 6f 64 65 4f 75 74 70 75  EA pDevModeOutpu
9a00: 74 2c 0d 0a 20 20 50 44 45 56 4d 4f 44 45 41 20  t,..  PDEVMODEA 
9a10: 70 44 65 76 4d 6f 64 65 49 6e 70 75 74 2c 0d 0a  pDevModeInput,..
9a20: 20 20 44 57 4f 52 44 20 66 4d 6f 64 65 0d 0a 29    DWORD fMode..)
9a30: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
9a40: 73 29 20 65 78 70 6f 72 74 20 4c 4f 4e 47 20 44  s) export LONG D
9a50: 6f 63 75 6d 65 6e 74 50 72 6f 70 65 72 74 69 65  ocumentPropertie
9a60: 73 57 28 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  sW(..  HWND hWnd
9a70: 2c 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50 72 69  ,..  HANDLE hPri
9a80: 6e 74 65 72 2c 0d 0a 20 20 4c 50 57 53 54 52 20  nter,..  LPWSTR 
9a90: 70 44 65 76 69 63 65 4e 61 6d 65 2c 0d 0a 20 20  pDeviceName,..  
9aa0: 50 44 45 56 4d 4f 44 45 57 20 70 44 65 76 4d 6f  PDEVMODEW pDevMo
9ab0: 64 65 4f 75 74 70 75 74 2c 0d 0a 20 20 50 44 45  deOutput,..  PDE
9ac0: 56 4d 4f 44 45 57 20 70 44 65 76 4d 6f 64 65 49  VMODEW pDevModeI
9ad0: 6e 70 75 74 2c 0d 0a 20 20 44 57 4f 52 44 20 66  nput,..  DWORD f
9ae0: 4d 6f 64 65 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66  Mode..);..// #if
9af0: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
9b00: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
9b10: 61 6c 69 61 73 20 44 6f 63 75 6d 65 6e 74 50 72  alias DocumentPr
9b20: 6f 70 65 72 74 69 65 73 41 20 44 6f 63 75 6d 65  opertiesA Docume
9b30: 6e 74 50 72 6f 70 65 72 74 69 65 73 3b 0d 0a 2f  ntProperties;../
9b40: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
9b50: 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
9b60: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c  indows) export L
9b70: 4f 4e 47 20 41 64 76 61 6e 63 65 64 44 6f 63 75  ONG AdvancedDocu
9b80: 6d 65 6e 74 50 72 6f 70 65 72 74 69 65 73 41 28  mentPropertiesA(
9b90: 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a  ..  HWND hWnd,..
9ba0: 20 20 48 41 4e 44 4c 45 20 68 50 72 69 6e 74 65    HANDLE hPrinte
9bb0: 72 2c 0d 0a 20 20 4c 50 53 54 52 20 70 44 65 76  r,..  LPSTR pDev
9bc0: 69 63 65 4e 61 6d 65 2c 0d 0a 20 20 50 44 45 56  iceName,..  PDEV
9bd0: 4d 4f 44 45 41 20 70 44 65 76 4d 6f 64 65 4f 75  MODEA pDevModeOu
9be0: 74 70 75 74 2c 0d 0a 20 20 50 44 45 56 4d 4f 44  tput,..  PDEVMOD
9bf0: 45 41 20 70 44 65 76 4d 6f 64 65 49 6e 70 75 74  EA pDevModeInput
9c00: 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ..);..extern(Win
9c10: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 4f 4e  dows) export LON
9c20: 47 20 41 64 76 61 6e 63 65 64 44 6f 63 75 6d 65  G AdvancedDocume
9c30: 6e 74 50 72 6f 70 65 72 74 69 65 73 57 28 0d 0a  ntPropertiesW(..
9c40: 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20 20    HWND hWnd,..  
9c50: 48 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 2c  HANDLE hPrinter,
9c60: 0d 0a 20 20 4c 50 57 53 54 52 20 70 44 65 76 69  ..  LPWSTR pDevi
9c70: 63 65 4e 61 6d 65 2c 0d 0a 20 20 50 44 45 56 4d  ceName,..  PDEVM
9c80: 4f 44 45 57 20 70 44 65 76 4d 6f 64 65 4f 75 74  ODEW pDevModeOut
9c90: 70 75 74 2c 0d 0a 20 20 50 44 45 56 4d 4f 44 45  put,..  PDEVMODE
9ca0: 57 20 70 44 65 76 4d 6f 64 65 49 6e 70 75 74 0d  W pDevModeInput.
9cb0: 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  .);..// #ifdef U
9cc0: 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
9cd0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
9ce0: 20 41 64 76 61 6e 63 65 64 44 6f 63 75 6d 65 6e   AdvancedDocumen
9cf0: 74 50 72 6f 70 65 72 74 69 65 73 41 20 41 64 76  tPropertiesA Adv
9d00: 61 6e 63 65 64 44 6f 63 75 6d 65 6e 74 50 72 6f  ancedDocumentPro
9d10: 70 65 72 74 69 65 73 3b 0d 0a 2f 2f 20 23 65 6e  perties;..// #en
9d20: 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
9d30: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
9d40: 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20  s) export DWORD 
9d50: 47 65 74 50 72 69 6e 74 65 72 44 61 74 61 41 28  GetPrinterDataA(
9d60: 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50 72 69 6e  ..  HANDLE hPrin
9d70: 74 65 72 2c 0d 0a 20 20 4c 50 53 54 52 20 70 56  ter,..  LPSTR pV
9d80: 61 6c 75 65 4e 61 6d 65 2c 0d 0a 20 20 4c 50 44  alueName,..  LPD
9d90: 57 4f 52 44 20 70 54 79 70 65 2c 0d 0a 20 20 4c  WORD pType,..  L
9da0: 50 42 59 54 45 20 70 44 61 74 61 2c 0d 0a 20 20  PBYTE pData,..  
9db0: 44 57 4f 52 44 20 6e 53 69 7a 65 2c 0d 0a 20 20  DWORD nSize,..  
9dc0: 4c 50 44 57 4f 52 44 20 70 63 62 4e 65 65 64 65  LPDWORD pcbNeede
9dd0: 64 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  d..);..extern(Wi
9de0: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57  ndows) export DW
9df0: 4f 52 44 20 47 65 74 50 72 69 6e 74 65 72 44 61  ORD GetPrinterDa
9e00: 74 61 57 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68  taW(..  HANDLE h
9e10: 50 72 69 6e 74 65 72 2c 0d 0a 20 20 4c 50 57 53  Printer,..  LPWS
9e20: 54 52 20 70 56 61 6c 75 65 4e 61 6d 65 2c 0d 0a  TR pValueName,..
9e30: 20 20 4c 50 44 57 4f 52 44 20 70 54 79 70 65 2c    LPDWORD pType,
9e40: 0d 0a 20 20 4c 50 42 59 54 45 20 70 44 61 74 61  ..  LPBYTE pData
9e50: 2c 0d 0a 20 20 44 57 4f 52 44 20 6e 53 69 7a 65  ,..  DWORD nSize
9e60: 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63 62  ,..  LPDWORD pcb
9e70: 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a 2f 2f 20 23  Needed..);..// #
9e80: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
9e90: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
9ea0: 0d 0a 61 6c 69 61 73 20 47 65 74 50 72 69 6e 74  ..alias GetPrint
9eb0: 65 72 44 61 74 61 41 20 47 65 74 50 72 69 6e 74  erDataA GetPrint
9ec0: 65 72 44 61 74 61 3b 0d 0a 2f 2f 20 23 65 6e 64  erData;..// #end
9ed0: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
9ee0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
9ef0: 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 47  ) export DWORD G
9f00: 65 74 50 72 69 6e 74 65 72 44 61 74 61 45 78 41  etPrinterDataExA
9f10: 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50 72 69  (..  HANDLE hPri
9f20: 6e 74 65 72 2c 0d 0a 20 20 4c 50 43 53 54 52 20  nter,..  LPCSTR 
9f30: 70 4b 65 79 4e 61 6d 65 2c 0d 0a 20 20 4c 50 43  pKeyName,..  LPC
9f40: 53 54 52 20 70 56 61 6c 75 65 4e 61 6d 65 2c 0d  STR pValueName,.
9f50: 0a 20 20 4c 50 44 57 4f 52 44 20 70 54 79 70 65  .  LPDWORD pType
9f60: 2c 0d 0a 20 20 4c 50 42 59 54 45 20 70 44 61 74  ,..  LPBYTE pDat
9f70: 61 2c 0d 0a 20 20 44 57 4f 52 44 20 6e 53 69 7a  a,..  DWORD nSiz
9f80: 65 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63  e,..  LPDWORD pc
9f90: 62 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a 65 78 74  bNeeded..);..ext
9fa0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
9fb0: 6f 72 74 20 44 57 4f 52 44 20 47 65 74 50 72 69  ort DWORD GetPri
9fc0: 6e 74 65 72 44 61 74 61 45 78 57 28 0d 0a 20 20  nterDataExW(..  
9fd0: 48 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 2c  HANDLE hPrinter,
9fe0: 0d 0a 20 20 4c 50 43 57 53 54 52 20 70 4b 65 79  ..  LPCWSTR pKey
9ff0: 4e 61 6d 65 2c 0d 0a 20 20 4c 50 43 57 53 54 52  Name,..  LPCWSTR
a000: 20 70 56 61 6c 75 65 4e 61 6d 65 2c 0d 0a 20 20   pValueName,..  
a010: 4c 50 44 57 4f 52 44 20 70 54 79 70 65 2c 0d 0a  LPDWORD pType,..
a020: 20 20 4c 50 42 59 54 45 20 70 44 61 74 61 2c 0d    LPBYTE pData,.
a030: 0a 20 20 44 57 4f 52 44 20 6e 53 69 7a 65 2c 0d  .  DWORD nSize,.
a040: 0a 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65  .  LPDWORD pcbNe
a050: 65 64 65 64 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66  eded..);..// #if
a060: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
a070: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
a080: 61 6c 69 61 73 20 47 65 74 50 72 69 6e 74 65 72  alias GetPrinter
a090: 44 61 74 61 45 78 41 20 47 65 74 50 72 69 6e 74  DataExA GetPrint
a0a0: 65 72 44 61 74 61 45 78 3b 0d 0a 2f 2f 20 23 65  erDataEx;..// #e
a0b0: 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
a0c0: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
a0d0: 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44  ws) export DWORD
a0e0: 20 45 6e 75 6d 50 72 69 6e 74 65 72 44 61 74 61   EnumPrinterData
a0f0: 41 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50 72  A(..  HANDLE hPr
a100: 69 6e 74 65 72 2c 0d 0a 20 20 44 57 4f 52 44 20  inter,..  DWORD 
a110: 64 77 49 6e 64 65 78 2c 0d 0a 20 20 4c 50 53 54  dwIndex,..  LPST
a120: 52 20 70 56 61 6c 75 65 4e 61 6d 65 2c 0d 0a 20  R pValueName,.. 
a130: 20 44 57 4f 52 44 20 63 62 56 61 6c 75 65 4e 61   DWORD cbValueNa
a140: 6d 65 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70  me,..  LPDWORD p
a150: 63 62 56 61 6c 75 65 4e 61 6d 65 2c 0d 0a 20 20  cbValueName,..  
a160: 4c 50 44 57 4f 52 44 20 70 54 79 70 65 2c 0d 0a  LPDWORD pType,..
a170: 20 20 4c 50 42 59 54 45 20 70 44 61 74 61 2c 0d    LPBYTE pData,.
a180: 0a 20 20 44 57 4f 52 44 20 63 62 44 61 74 61 2c  .  DWORD cbData,
a190: 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63 62 44  ..  LPDWORD pcbD
a1a0: 61 74 61 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28  ata..);..extern(
a1b0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
a1c0: 44 57 4f 52 44 20 45 6e 75 6d 50 72 69 6e 74 65  DWORD EnumPrinte
a1d0: 72 44 61 74 61 57 28 0d 0a 20 20 48 41 4e 44 4c  rDataW(..  HANDL
a1e0: 45 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20 44  E hPrinter,..  D
a1f0: 57 4f 52 44 20 64 77 49 6e 64 65 78 2c 0d 0a 20  WORD dwIndex,.. 
a200: 20 4c 50 57 53 54 52 20 70 56 61 6c 75 65 4e 61   LPWSTR pValueNa
a210: 6d 65 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62 56  me,..  DWORD cbV
a220: 61 6c 75 65 4e 61 6d 65 2c 0d 0a 20 20 4c 50 44  alueName,..  LPD
a230: 57 4f 52 44 20 70 63 62 56 61 6c 75 65 4e 61 6d  WORD pcbValueNam
a240: 65 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 54  e,..  LPDWORD pT
a250: 79 70 65 2c 0d 0a 20 20 4c 50 42 59 54 45 20 70  ype,..  LPBYTE p
a260: 44 61 74 61 2c 0d 0a 20 20 44 57 4f 52 44 20 63  Data,..  DWORD c
a270: 62 44 61 74 61 2c 0d 0a 20 20 4c 50 44 57 4f 52  bData,..  LPDWOR
a280: 44 20 70 63 62 44 61 74 61 0d 0a 29 3b 0d 0a 2f  D pcbData..);../
a290: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
a2a0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
a2b0: 6c 73 65 0d 0a 61 6c 69 61 73 20 45 6e 75 6d 50  lse..alias EnumP
a2c0: 72 69 6e 74 65 72 44 61 74 61 41 20 45 6e 75 6d  rinterDataA Enum
a2d0: 50 72 69 6e 74 65 72 44 61 74 61 3b 0d 0a 2f 2f  PrinterData;..//
a2e0: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
a2f0: 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
a300: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57  ndows) export DW
a310: 4f 52 44 20 45 6e 75 6d 50 72 69 6e 74 65 72 44  ORD EnumPrinterD
a320: 61 74 61 45 78 41 28 0d 0a 20 20 48 41 4e 44 4c  ataExA(..  HANDL
a330: 45 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20 4c  E hPrinter,..  L
a340: 50 43 53 54 52 20 70 4b 65 79 4e 61 6d 65 2c 0d  PCSTR pKeyName,.
a350: 0a 20 20 4c 50 42 59 54 45 20 70 45 6e 75 6d 56  .  LPBYTE pEnumV
a360: 61 6c 75 65 73 2c 0d 0a 20 20 44 57 4f 52 44 20  alues,..  DWORD 
a370: 63 62 45 6e 75 6d 56 61 6c 75 65 73 2c 0d 0a 20  cbEnumValues,.. 
a380: 20 4c 50 44 57 4f 52 44 20 70 63 62 45 6e 75 6d   LPDWORD pcbEnum
a390: 56 61 6c 75 65 73 2c 0d 0a 20 20 4c 50 44 57 4f  Values,..  LPDWO
a3a0: 52 44 20 70 6e 45 6e 75 6d 56 61 6c 75 65 73 0d  RD pnEnumValues.
a3b0: 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  .);..extern(Wind
a3c0: 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52  ows) export DWOR
a3d0: 44 20 45 6e 75 6d 50 72 69 6e 74 65 72 44 61 74  D EnumPrinterDat
a3e0: 61 45 78 57 28 0d 0a 20 20 48 41 4e 44 4c 45 20  aExW(..  HANDLE 
a3f0: 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20 4c 50 43  hPrinter,..  LPC
a400: 57 53 54 52 20 70 4b 65 79 4e 61 6d 65 2c 0d 0a  WSTR pKeyName,..
a410: 20 20 4c 50 42 59 54 45 20 70 45 6e 75 6d 56 61    LPBYTE pEnumVa
a420: 6c 75 65 73 2c 0d 0a 20 20 44 57 4f 52 44 20 63  lues,..  DWORD c
a430: 62 45 6e 75 6d 56 61 6c 75 65 73 2c 0d 0a 20 20  bEnumValues,..  
a440: 4c 50 44 57 4f 52 44 20 70 63 62 45 6e 75 6d 56  LPDWORD pcbEnumV
a450: 61 6c 75 65 73 2c 0d 0a 20 20 4c 50 44 57 4f 52  alues,..  LPDWOR
a460: 44 20 70 6e 45 6e 75 6d 56 61 6c 75 65 73 0d 0a  D pnEnumValues..
a470: 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
a480: 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  ICODE..// #.....
a490: 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20  // #else..alias 
a4a0: 45 6e 75 6d 50 72 69 6e 74 65 72 44 61 74 61 45  EnumPrinterDataE
a4b0: 78 41 20 45 6e 75 6d 50 72 69 6e 74 65 72 44 61  xA EnumPrinterDa
a4c0: 74 61 45 78 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  taEx;..// #endif
a4d0: 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
a4e0: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
a4f0: 65 78 70 6f 72 74 20 44 57 4f 52 44 20 45 6e 75  export DWORD Enu
a500: 6d 50 72 69 6e 74 65 72 4b 65 79 41 28 0d 0a 20  mPrinterKeyA(.. 
a510: 20 48 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72   HANDLE hPrinter
a520: 2c 0d 0a 20 20 4c 50 43 53 54 52 20 70 4b 65 79  ,..  LPCSTR pKey
a530: 4e 61 6d 65 2c 0d 0a 20 20 4c 50 53 54 52 20 70  Name,..  LPSTR p
a540: 53 75 62 6b 65 79 2c 0d 0a 20 20 44 57 4f 52 44  Subkey,..  DWORD
a550: 20 63 62 53 75 62 6b 65 79 2c 0d 0a 20 20 4c 50   cbSubkey,..  LP
a560: 44 57 4f 52 44 20 70 63 62 53 75 62 6b 65 79 0d  DWORD pcbSubkey.
a570: 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  .);..extern(Wind
a580: 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52  ows) export DWOR
a590: 44 20 45 6e 75 6d 50 72 69 6e 74 65 72 4b 65 79  D EnumPrinterKey
a5a0: 57 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50 72  W(..  HANDLE hPr
a5b0: 69 6e 74 65 72 2c 0d 0a 20 20 4c 50 43 57 53 54  inter,..  LPCWST
a5c0: 52 20 70 4b 65 79 4e 61 6d 65 2c 0d 0a 20 20 4c  R pKeyName,..  L
a5d0: 50 57 53 54 52 20 70 53 75 62 6b 65 79 2c 0d 0a  PWSTR pSubkey,..
a5e0: 20 20 44 57 4f 52 44 20 63 62 53 75 62 6b 65 79    DWORD cbSubkey
a5f0: 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63 62  ,..  LPDWORD pcb
a600: 53 75 62 6b 65 79 0d 0a 29 3b 0d 0a 2f 2f 20 23  Subkey..);..// #
a610: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
a620: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
a630: 0d 0a 61 6c 69 61 73 20 45 6e 75 6d 50 72 69 6e  ..alias EnumPrin
a640: 74 65 72 4b 65 79 41 20 45 6e 75 6d 50 72 69 6e  terKeyA EnumPrin
a650: 74 65 72 4b 65 79 3b 0d 0a 2f 2f 20 23 65 6e 64  terKey;..// #end
a660: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
a670: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
a680: 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 53  ) export DWORD S
a690: 65 74 50 72 69 6e 74 65 72 44 61 74 61 41 28 0d  etPrinterDataA(.
a6a0: 0a 20 20 48 41 4e 44 4c 45 20 68 50 72 69 6e 74  .  HANDLE hPrint
a6b0: 65 72 2c 0d 0a 20 20 4c 50 53 54 52 20 70 56 61  er,..  LPSTR pVa
a6c0: 6c 75 65 4e 61 6d 65 2c 0d 0a 20 20 44 57 4f 52  lueName,..  DWOR
a6d0: 44 20 54 79 70 65 2c 0d 0a 20 20 4c 50 42 59 54  D Type,..  LPBYT
a6e0: 45 20 70 44 61 74 61 2c 0d 0a 20 20 44 57 4f 52  E pData,..  DWOR
a6f0: 44 20 63 62 44 61 74 61 0d 0a 29 3b 0d 0a 65 78  D cbData..);..ex
a700: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
a710: 70 6f 72 74 20 44 57 4f 52 44 20 53 65 74 50 72  port DWORD SetPr
a720: 69 6e 74 65 72 44 61 74 61 57 28 0d 0a 20 20 48  interDataW(..  H
a730: 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 2c 0d  ANDLE hPrinter,.
a740: 0a 20 20 4c 50 57 53 54 52 20 70 56 61 6c 75 65  .  LPWSTR pValue
a750: 4e 61 6d 65 2c 0d 0a 20 20 44 57 4f 52 44 20 54  Name,..  DWORD T
a760: 79 70 65 2c 0d 0a 20 20 4c 50 42 59 54 45 20 70  ype,..  LPBYTE p
a770: 44 61 74 61 2c 0d 0a 20 20 44 57 4f 52 44 20 63  Data,..  DWORD c
a780: 62 44 61 74 61 0d 0a 29 3b 0d 0a 2f 2f 20 23 69  bData..);..// #i
a790: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
a7a0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
a7b0: 0a 61 6c 69 61 73 20 53 65 74 50 72 69 6e 74 65  .alias SetPrinte
a7c0: 72 44 61 74 61 41 20 53 65 74 50 72 69 6e 74 65  rDataA SetPrinte
a7d0: 72 44 61 74 61 3b 0d 0a 2f 2f 20 23 65 6e 64 69  rData;..// #endi
a7e0: 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
a7f0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
a800: 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 53 65   export DWORD Se
a810: 74 50 72 69 6e 74 65 72 44 61 74 61 45 78 41 28  tPrinterDataExA(
a820: 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50 72 69 6e  ..  HANDLE hPrin
a830: 74 65 72 2c 0d 0a 20 20 4c 50 43 53 54 52 20 70  ter,..  LPCSTR p
a840: 4b 65 79 4e 61 6d 65 2c 0d 0a 20 20 4c 50 43 53  KeyName,..  LPCS
a850: 54 52 20 70 56 61 6c 75 65 4e 61 6d 65 2c 0d 0a  TR pValueName,..
a860: 20 20 44 57 4f 52 44 20 54 79 70 65 2c 0d 0a 20    DWORD Type,.. 
a870: 20 4c 50 42 59 54 45 20 70 44 61 74 61 2c 0d 0a   LPBYTE pData,..
a880: 20 20 44 57 4f 52 44 20 63 62 44 61 74 61 0d 0a    DWORD cbData..
a890: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
a8a0: 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44  ws) export DWORD
a8b0: 20 53 65 74 50 72 69 6e 74 65 72 44 61 74 61 45   SetPrinterDataE
a8c0: 78 57 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50  xW(..  HANDLE hP
a8d0: 72 69 6e 74 65 72 2c 0d 0a 20 20 4c 50 43 57 53  rinter,..  LPCWS
a8e0: 54 52 20 70 4b 65 79 4e 61 6d 65 2c 0d 0a 20 20  TR pKeyName,..  
a8f0: 4c 50 43 57 53 54 52 20 70 56 61 6c 75 65 4e 61  LPCWSTR pValueNa
a900: 6d 65 2c 0d 0a 20 20 44 57 4f 52 44 20 54 79 70  me,..  DWORD Typ
a910: 65 2c 0d 0a 20 20 4c 50 42 59 54 45 20 70 44 61  e,..  LPBYTE pDa
a920: 74 61 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62 44  ta,..  DWORD cbD
a930: 61 74 61 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64  ata..);..// #ifd
a940: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
a950: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
a960: 6c 69 61 73 20 53 65 74 50 72 69 6e 74 65 72 44  lias SetPrinterD
a970: 61 74 61 45 78 41 20 53 65 74 50 72 69 6e 74 65  ataExA SetPrinte
a980: 72 44 61 74 61 45 78 3b 0d 0a 2f 2f 20 23 65 6e  rDataEx;..// #en
a990: 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
a9a0: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
a9b0: 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20  s) export DWORD 
a9c0: 44 65 6c 65 74 65 50 72 69 6e 74 65 72 44 61 74  DeletePrinterDat
a9d0: 61 41 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50  aA(..  HANDLE hP
a9e0: 72 69 6e 74 65 72 2c 0d 0a 20 20 4c 50 53 54 52  rinter,..  LPSTR
a9f0: 20 70 56 61 6c 75 65 4e 61 6d 65 0d 0a 29 3b 0d   pValueName..);.
aa00: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
aa10: 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 44 65   export DWORD De
aa20: 6c 65 74 65 50 72 69 6e 74 65 72 44 61 74 61 57  letePrinterDataW
aa30: 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50 72 69  (..  HANDLE hPri
aa40: 6e 74 65 72 2c 0d 0a 20 20 4c 50 57 53 54 52 20  nter,..  LPWSTR 
aa50: 70 56 61 6c 75 65 4e 61 6d 65 0d 0a 29 3b 0d 0a  pValueName..);..
aa60: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
aa70: 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
aa80: 65 6c 73 65 0d 0a 61 6c 69 61 73 20 44 65 6c 65  else..alias Dele
aa90: 74 65 50 72 69 6e 74 65 72 44 61 74 61 41 20 44  tePrinterDataA D
aaa0: 65 6c 65 74 65 50 72 69 6e 74 65 72 44 61 74 61  eletePrinterData
aab0: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
aac0: 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
aad0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
aae0: 72 74 20 44 57 4f 52 44 20 44 65 6c 65 74 65 50  rt DWORD DeleteP
aaf0: 72 69 6e 74 65 72 44 61 74 61 45 78 41 28 0d 0a  rinterDataExA(..
ab00: 20 20 48 41 4e 44 4c 45 20 68 50 72 69 6e 74 65    HANDLE hPrinte
ab10: 72 2c 0d 0a 20 20 4c 50 43 53 54 52 20 70 4b 65  r,..  LPCSTR pKe
ab20: 79 4e 61 6d 65 2c 0d 0a 20 20 4c 50 43 53 54 52  yName,..  LPCSTR
ab30: 20 70 56 61 6c 75 65 4e 61 6d 65 0d 0a 29 3b 0d   pValueName..);.
ab40: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
ab50: 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 44 65   export DWORD De
ab60: 6c 65 74 65 50 72 69 6e 74 65 72 44 61 74 61 45  letePrinterDataE
ab70: 78 57 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50  xW(..  HANDLE hP
ab80: 72 69 6e 74 65 72 2c 0d 0a 20 20 4c 50 43 57 53  rinter,..  LPCWS
ab90: 54 52 20 70 4b 65 79 4e 61 6d 65 2c 0d 0a 20 20  TR pKeyName,..  
aba0: 4c 50 43 57 53 54 52 20 70 56 61 6c 75 65 4e 61  LPCWSTR pValueNa
abb0: 6d 65 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  me..);..// #ifde
abc0: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
abd0: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
abe0: 69 61 73 20 44 65 6c 65 74 65 50 72 69 6e 74 65  ias DeletePrinte
abf0: 72 44 61 74 61 45 78 41 20 44 65 6c 65 74 65 50  rDataExA DeleteP
ac00: 72 69 6e 74 65 72 44 61 74 61 45 78 3b 0d 0a 2f  rinterDataEx;../
ac10: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
ac20: 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
ac30: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44  indows) export D
ac40: 57 4f 52 44 20 44 65 6c 65 74 65 50 72 69 6e 74  WORD DeletePrint
ac50: 65 72 4b 65 79 41 28 0d 0a 20 20 48 41 4e 44 4c  erKeyA(..  HANDL
ac60: 45 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20 4c  E hPrinter,..  L
ac70: 50 43 53 54 52 20 70 4b 65 79 4e 61 6d 65 0d 0a  PCSTR pKeyName..
ac80: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
ac90: 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44  ws) export DWORD
aca0: 20 44 65 6c 65 74 65 50 72 69 6e 74 65 72 4b 65   DeletePrinterKe
acb0: 79 57 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50  yW(..  HANDLE hP
acc0: 72 69 6e 74 65 72 2c 0d 0a 20 20 4c 50 43 57 53  rinter,..  LPCWS
acd0: 54 52 20 70 4b 65 79 4e 61 6d 65 0d 0a 29 3b 0d  TR pKeyName..);.
ace0: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
acf0: 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  DE..// #.....// 
ad00: 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 44 65 6c  #else..alias Del
ad10: 65 74 65 50 72 69 6e 74 65 72 4b 65 79 41 20 44  etePrinterKeyA D
ad20: 65 6c 65 74 65 50 72 69 6e 74 65 72 4b 65 79 3b  eletePrinterKey;
ad30: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
ad40: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20  UNICODE....enum 
ad50: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
ad60: 5f 4e 4f 54 49 46 59 5f 54 59 50 45 20 3d 20 30  _NOTIFY_TYPE = 0
ad70: 78 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x00 }..enum : ui
ad80: 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f  nt { JOB_NOTIFY_
ad90: 54 59 50 45 20 3d 20 30 78 30 31 20 7d 0d 0a 0d  TYPE = 0x01 }...
ada0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
adb0: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49  RINTER_NOTIFY_FI
adc0: 45 4c 44 5f 53 45 52 56 45 52 5f 4e 41 4d 45 20  ELD_SERVER_NAME 
add0: 3d 20 30 78 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x00 }..enum :
ade0: 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f   uint { PRINTER_
adf0: 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 50 52 49  NOTIFY_FIELD_PRI
ae00: 4e 54 45 52 5f 4e 41 4d 45 20 3d 20 30 78 30 31  NTER_NAME = 0x01
ae10: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
ae20: 7b 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59  { PRINTER_NOTIFY
ae30: 5f 46 49 45 4c 44 5f 53 48 41 52 45 5f 4e 41 4d  _FIELD_SHARE_NAM
ae40: 45 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e 75 6d  E = 0x02 }..enum
ae50: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
ae60: 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 50  R_NOTIFY_FIELD_P
ae70: 4f 52 54 5f 4e 41 4d 45 20 3d 20 30 78 30 33 20  ORT_NAME = 0x03 
ae80: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
ae90: 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f   PRINTER_NOTIFY_
aea0: 46 49 45 4c 44 5f 44 52 49 56 45 52 5f 4e 41 4d  FIELD_DRIVER_NAM
aeb0: 45 20 3d 20 30 78 30 34 20 7d 0d 0a 65 6e 75 6d  E = 0x04 }..enum
aec0: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
aed0: 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 43  R_NOTIFY_FIELD_C
aee0: 4f 4d 4d 45 4e 54 20 3d 20 30 78 30 35 20 7d 0d  OMMENT = 0x05 }.
aef0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
af00: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49  RINTER_NOTIFY_FI
af10: 45 4c 44 5f 4c 4f 43 41 54 49 4f 4e 20 3d 20 30  ELD_LOCATION = 0
af20: 78 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x06 }..enum : ui
af30: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 4e 4f 54  nt { PRINTER_NOT
af40: 49 46 59 5f 46 49 45 4c 44 5f 44 45 56 4d 4f 44  IFY_FIELD_DEVMOD
af50: 45 20 3d 20 30 78 30 37 20 7d 0d 0a 65 6e 75 6d  E = 0x07 }..enum
af60: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
af70: 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 53  R_NOTIFY_FIELD_S
af80: 45 50 46 49 4c 45 20 3d 20 30 78 30 38 20 7d 0d  EPFILE = 0x08 }.
af90: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
afa0: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49  RINTER_NOTIFY_FI
afb0: 45 4c 44 5f 50 52 49 4e 54 5f 50 52 4f 43 45 53  ELD_PRINT_PROCES
afc0: 53 4f 52 20 3d 20 30 78 30 39 20 7d 0d 0a 65 6e  SOR = 0x09 }..en
afd0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
afe0: 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44  TER_NOTIFY_FIELD
aff0: 5f 50 41 52 41 4d 45 54 45 52 53 20 3d 20 30 78  _PARAMETERS = 0x
b000: 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0A }..enum : uin
b010: 74 20 7b 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49  t { PRINTER_NOTI
b020: 46 59 5f 46 49 45 4c 44 5f 44 41 54 41 54 59 50  FY_FIELD_DATATYP
b030: 45 20 3d 20 30 78 30 42 20 7d 0d 0a 65 6e 75 6d  E = 0x0B }..enum
b040: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
b050: 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 53  R_NOTIFY_FIELD_S
b060: 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 54  ECURITY_DESCRIPT
b070: 4f 52 20 3d 20 30 78 30 43 20 7d 0d 0a 65 6e 75  OR = 0x0C }..enu
b080: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
b090: 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f  ER_NOTIFY_FIELD_
b0a0: 41 54 54 52 49 42 55 54 45 53 20 3d 20 30 78 30  ATTRIBUTES = 0x0
b0b0: 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  D }..enum : uint
b0c0: 20 7b 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46   { PRINTER_NOTIF
b0d0: 59 5f 46 49 45 4c 44 5f 50 52 49 4f 52 49 54 59  Y_FIELD_PRIORITY
b0e0: 20 3d 20 30 78 30 45 20 7d 0d 0a 65 6e 75 6d 20   = 0x0E }..enum 
b0f0: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
b100: 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 44 45  _NOTIFY_FIELD_DE
b110: 46 41 55 4c 54 5f 50 52 49 4f 52 49 54 59 20 3d  FAULT_PRIORITY =
b120: 20 30 78 30 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x0F }..enum : 
b130: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 4e  uint { PRINTER_N
b140: 4f 54 49 46 59 5f 46 49 45 4c 44 5f 53 54 41 52  OTIFY_FIELD_STAR
b150: 54 5f 54 49 4d 45 20 3d 20 30 78 31 30 20 7d 0d  T_TIME = 0x10 }.
b160: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
b170: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49  RINTER_NOTIFY_FI
b180: 45 4c 44 5f 55 4e 54 49 4c 5f 54 49 4d 45 20 3d  ELD_UNTIL_TIME =
b190: 20 30 78 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x11 }..enum : 
b1a0: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 4e  uint { PRINTER_N
b1b0: 4f 54 49 46 59 5f 46 49 45 4c 44 5f 53 54 41 54  OTIFY_FIELD_STAT
b1c0: 55 53 20 3d 20 30 78 31 32 20 7d 0d 0a 65 6e 75  US = 0x12 }..enu
b1d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
b1e0: 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f  ER_NOTIFY_FIELD_
b1f0: 53 54 41 54 55 53 5f 53 54 52 49 4e 47 20 3d 20  STATUS_STRING = 
b200: 30 78 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x13 }..enum : u
b210: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 4e 4f  int { PRINTER_NO
b220: 54 49 46 59 5f 46 49 45 4c 44 5f 43 4a 4f 42 53  TIFY_FIELD_CJOBS
b230: 20 3d 20 30 78 31 34 20 7d 0d 0a 65 6e 75 6d 20   = 0x14 }..enum 
b240: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
b250: 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 41 56  _NOTIFY_FIELD_AV
b260: 45 52 41 47 45 5f 50 50 4d 20 3d 20 30 78 31 35  ERAGE_PPM = 0x15
b270: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
b280: 7b 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59  { PRINTER_NOTIFY
b290: 5f 46 49 45 4c 44 5f 54 4f 54 41 4c 5f 50 41 47  _FIELD_TOTAL_PAG
b2a0: 45 53 20 3d 20 30 78 31 36 20 7d 0d 0a 65 6e 75  ES = 0x16 }..enu
b2b0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
b2c0: 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f  ER_NOTIFY_FIELD_
b2d0: 50 41 47 45 53 5f 50 52 49 4e 54 45 44 20 3d 20  PAGES_PRINTED = 
b2e0: 30 78 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x17 }..enum : u
b2f0: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 4e 4f  int { PRINTER_NO
b300: 54 49 46 59 5f 46 49 45 4c 44 5f 54 4f 54 41 4c  TIFY_FIELD_TOTAL
b310: 5f 42 59 54 45 53 20 3d 20 30 78 31 38 20 7d 0d  _BYTES = 0x18 }.
b320: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
b330: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49  RINTER_NOTIFY_FI
b340: 45 4c 44 5f 42 59 54 45 53 5f 50 52 49 4e 54 45  ELD_BYTES_PRINTE
b350: 44 20 3d 20 30 78 31 39 20 7d 0d 0a 65 6e 75 6d  D = 0x19 }..enum
b360: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
b370: 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 4f  R_NOTIFY_FIELD_O
b380: 42 4a 45 43 54 5f 47 55 49 44 20 3d 20 30 78 31  BJECT_GUID = 0x1
b390: 41 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  A }....enum : ui
b3a0: 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f  nt { JOB_NOTIFY_
b3b0: 46 49 45 4c 44 5f 50 52 49 4e 54 45 52 5f 4e 41  FIELD_PRINTER_NA
b3c0: 4d 45 20 3d 20 30 78 30 30 20 7d 0d 0a 65 6e 75  ME = 0x00 }..enu
b3d0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e  m : uint { JOB_N
b3e0: 4f 54 49 46 59 5f 46 49 45 4c 44 5f 4d 41 43 48  OTIFY_FIELD_MACH
b3f0: 49 4e 45 5f 4e 41 4d 45 20 3d 20 30 78 30 31 20  INE_NAME = 0x01 
b400: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
b410: 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c   JOB_NOTIFY_FIEL
b420: 44 5f 50 4f 52 54 5f 4e 41 4d 45 20 3d 20 30 78  D_PORT_NAME = 0x
b430: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
b440: 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46  t { JOB_NOTIFY_F
b450: 49 45 4c 44 5f 55 53 45 52 5f 4e 41 4d 45 20 3d  IELD_USER_NAME =
b460: 20 30 78 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x03 }..enum : 
b470: 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46  uint { JOB_NOTIF
b480: 59 5f 46 49 45 4c 44 5f 4e 4f 54 49 46 59 5f 4e  Y_FIELD_NOTIFY_N
b490: 41 4d 45 20 3d 20 30 78 30 34 20 7d 0d 0a 65 6e  AME = 0x04 }..en
b4a0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f  um : uint { JOB_
b4b0: 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 44 41 54  NOTIFY_FIELD_DAT
b4c0: 41 54 59 50 45 20 3d 20 30 78 30 35 20 7d 0d 0a  ATYPE = 0x05 }..
b4d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
b4e0: 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 50  B_NOTIFY_FIELD_P
b4f0: 52 49 4e 54 5f 50 52 4f 43 45 53 53 4f 52 20 3d  RINT_PROCESSOR =
b500: 20 30 78 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x06 }..enum : 
b510: 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46  uint { JOB_NOTIF
b520: 59 5f 46 49 45 4c 44 5f 50 41 52 41 4d 45 54 45  Y_FIELD_PARAMETE
b530: 52 53 20 3d 20 30 78 30 37 20 7d 0d 0a 65 6e 75  RS = 0x07 }..enu
b540: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e  m : uint { JOB_N
b550: 4f 54 49 46 59 5f 46 49 45 4c 44 5f 44 52 49 56  OTIFY_FIELD_DRIV
b560: 45 52 5f 4e 41 4d 45 20 3d 20 30 78 30 38 20 7d  ER_NAME = 0x08 }
b570: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b580: 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44  JOB_NOTIFY_FIELD
b590: 5f 44 45 56 4d 4f 44 45 20 3d 20 30 78 30 39 20  _DEVMODE = 0x09 
b5a0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
b5b0: 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c   JOB_NOTIFY_FIEL
b5c0: 44 5f 53 54 41 54 55 53 20 3d 20 30 78 30 41 20  D_STATUS = 0x0A 
b5d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
b5e0: 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c   JOB_NOTIFY_FIEL
b5f0: 44 5f 53 54 41 54 55 53 5f 53 54 52 49 4e 47 20  D_STATUS_STRING 
b600: 3d 20 30 78 30 42 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x0B }..enum :
b610: 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49   uint { JOB_NOTI
b620: 46 59 5f 46 49 45 4c 44 5f 53 45 43 55 52 49 54  FY_FIELD_SECURIT
b630: 59 5f 44 45 53 43 52 49 50 54 4f 52 20 3d 20 30  Y_DESCRIPTOR = 0
b640: 78 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x0C }..enum : ui
b650: 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f  nt { JOB_NOTIFY_
b660: 46 49 45 4c 44 5f 44 4f 43 55 4d 45 4e 54 20 3d  FIELD_DOCUMENT =
b670: 20 30 78 30 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x0D }..enum : 
b680: 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46  uint { JOB_NOTIF
b690: 59 5f 46 49 45 4c 44 5f 50 52 49 4f 52 49 54 59  Y_FIELD_PRIORITY
b6a0: 20 3d 20 30 78 30 45 20 7d 0d 0a 65 6e 75 6d 20   = 0x0E }..enum 
b6b0: 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54  : uint { JOB_NOT
b6c0: 49 46 59 5f 46 49 45 4c 44 5f 50 4f 53 49 54 49  IFY_FIELD_POSITI
b6d0: 4f 4e 20 3d 20 30 78 30 46 20 7d 0d 0a 65 6e 75  ON = 0x0F }..enu
b6e0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e  m : uint { JOB_N
b6f0: 4f 54 49 46 59 5f 46 49 45 4c 44 5f 53 55 42 4d  OTIFY_FIELD_SUBM
b700: 49 54 54 45 44 20 3d 20 30 78 31 30 20 7d 0d 0a  ITTED = 0x10 }..
b710: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
b720: 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 53  B_NOTIFY_FIELD_S
b730: 54 41 52 54 5f 54 49 4d 45 20 3d 20 30 78 31 31  TART_TIME = 0x11
b740: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
b750: 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45  { JOB_NOTIFY_FIE
b760: 4c 44 5f 55 4e 54 49 4c 5f 54 49 4d 45 20 3d 20  LD_UNTIL_TIME = 
b770: 30 78 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x12 }..enum : u
b780: 69 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59  int { JOB_NOTIFY
b790: 5f 46 49 45 4c 44 5f 54 49 4d 45 20 3d 20 30 78  _FIELD_TIME = 0x
b7a0: 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  13 }..enum : uin
b7b0: 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46  t { JOB_NOTIFY_F
b7c0: 49 45 4c 44 5f 54 4f 54 41 4c 5f 50 41 47 45 53  IELD_TOTAL_PAGES
b7d0: 20 3d 20 30 78 31 34 20 7d 0d 0a 65 6e 75 6d 20   = 0x14 }..enum 
b7e0: 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54  : uint { JOB_NOT
b7f0: 49 46 59 5f 46 49 45 4c 44 5f 50 41 47 45 53 5f  IFY_FIELD_PAGES_
b800: 50 52 49 4e 54 45 44 20 3d 20 30 78 31 35 20 7d  PRINTED = 0x15 }
b810: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
b820: 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44  JOB_NOTIFY_FIELD
b830: 5f 54 4f 54 41 4c 5f 42 59 54 45 53 20 3d 20 30  _TOTAL_BYTES = 0
b840: 78 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x16 }..enum : ui
b850: 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f  nt { JOB_NOTIFY_
b860: 46 49 45 4c 44 5f 42 59 54 45 53 5f 50 52 49 4e  FIELD_BYTES_PRIN
b870: 54 45 44 20 3d 20 30 78 31 37 20 7d 0d 0a 0d 0a  TED = 0x17 }....
b880: 73 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52 5f  struct _PRINTER_
b890: 4e 4f 54 49 46 59 5f 4f 50 54 49 4f 4e 53 5f 54  NOTIFY_OPTIONS_T
b8a0: 59 50 45 20 7b 0d 0a 20 20 57 4f 52 44 20 54 79  YPE {..  WORD Ty
b8b0: 70 65 3b 0d 0a 20 20 57 4f 52 44 20 52 65 73 65  pe;..  WORD Rese
b8c0: 72 76 65 64 30 3b 0d 0a 20 20 44 57 4f 52 44 20  rved0;..  DWORD 
b8d0: 52 65 73 65 72 76 65 64 31 3b 0d 0a 20 20 44 57  Reserved1;..  DW
b8e0: 4f 52 44 20 52 65 73 65 72 76 65 64 32 3b 0d 0a  ORD Reserved2;..
b8f0: 20 20 44 57 4f 52 44 20 43 6f 75 6e 74 3b 0d 0a    DWORD Count;..
b900: 20 20 50 57 4f 52 44 20 70 46 69 65 6c 64 73 3b    PWORD pFields;
b910: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e  ..}..alias _PRIN
b920: 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50 54 49 4f  TER_NOTIFY_OPTIO
b930: 4e 53 5f 54 59 50 45 20 50 52 49 4e 54 45 52 5f  NS_TYPE PRINTER_
b940: 4e 4f 54 49 46 59 5f 4f 50 54 49 4f 4e 53 5f 54  NOTIFY_OPTIONS_T
b950: 59 50 45 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49  YPE;..alias _PRI
b960: 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50 54 49  NTER_NOTIFY_OPTI
b970: 4f 4e 53 5f 54 59 50 45 2a 20 50 50 52 49 4e 54  ONS_TYPE* PPRINT
b980: 45 52 5f 4e 4f 54 49 46 59 5f 4f 50 54 49 4f 4e  ER_NOTIFY_OPTION
b990: 53 5f 54 59 50 45 3b 0d 0a 61 6c 69 61 73 20 5f  S_TYPE;..alias _
b9a0: 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f  PRINTER_NOTIFY_O
b9b0: 50 54 49 4f 4e 53 5f 54 59 50 45 2a 20 4c 50 50  PTIONS_TYPE* LPP
b9c0: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50  RINTER_NOTIFY_OP
b9d0: 54 49 4f 4e 53 5f 54 59 50 45 3b 0d 0a 0d 0a 65  TIONS_TYPE;....e
b9e0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49  num : uint { PRI
b9f0: 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50 54 49  NTER_NOTIFY_OPTI
ba00: 4f 4e 53 5f 52 45 46 52 45 53 48 20 3d 20 30 78  ONS_REFRESH = 0x
ba10: 30 31 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  01 }....struct _
ba20: 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f  PRINTER_NOTIFY_O
ba30: 50 54 49 4f 4e 53 20 7b 0d 0a 20 20 44 57 4f 52  PTIONS {..  DWOR
ba40: 44 20 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57  D Version;..  DW
ba50: 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20 20 44 57  ORD Flags;..  DW
ba60: 4f 52 44 20 43 6f 75 6e 74 3b 0d 0a 20 20 50 50  ORD Count;..  PP
ba70: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50  RINTER_NOTIFY_OP
ba80: 54 49 4f 4e 53 5f 54 59 50 45 20 70 54 79 70 65  TIONS_TYPE pType
ba90: 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52  s;..}..alias _PR
baa0: 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50 54  INTER_NOTIFY_OPT
bab0: 49 4f 4e 53 20 50 52 49 4e 54 45 52 5f 4e 4f 54  IONS PRINTER_NOT
bac0: 49 46 59 5f 4f 50 54 49 4f 4e 53 3b 0d 0a 61 6c  IFY_OPTIONS;..al
bad0: 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 4e 4f 54  ias _PRINTER_NOT
bae0: 49 46 59 5f 4f 50 54 49 4f 4e 53 2a 20 50 50 52  IFY_OPTIONS* PPR
baf0: 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50 54  INTER_NOTIFY_OPT
bb00: 49 4f 4e 53 3b 0d 0a 61 6c 69 61 73 20 5f 50 52  IONS;..alias _PR
bb10: 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50 54  INTER_NOTIFY_OPT
bb20: 49 4f 4e 53 2a 20 4c 50 50 52 49 4e 54 45 52 5f  IONS* LPPRINTER_
bb30: 4e 4f 54 49 46 59 5f 4f 50 54 49 4f 4e 53 3b 0d  NOTIFY_OPTIONS;.
bb40: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
bb50: 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f   PRINTER_NOTIFY_
bb60: 49 4e 46 4f 5f 44 49 53 43 41 52 44 45 44 20 3d  INFO_DISCARDED =
bb70: 20 30 78 30 31 20 7d 0d 0a 0d 0a 73 74 72 75 63   0x01 }....struc
bb80: 74 20 5f 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46  t _PRINTER_NOTIF
bb90: 59 5f 49 4e 46 4f 5f 44 41 54 41 20 7b 0d 0a 20  Y_INFO_DATA {.. 
bba0: 20 57 4f 52 44 20 54 79 70 65 3b 0d 0a 20 20 57   WORD Type;..  W
bbb0: 4f 52 44 20 46 69 65 6c 64 3b 0d 0a 20 20 44 57  ORD Field;..  DW
bbc0: 4f 52 44 20 52 65 73 65 72 76 65 64 3b 0d 0a 20  ORD Reserved;.. 
bbd0: 20 44 57 4f 52 44 20 49 64 3b 0d 0a 75 6e 69 6f   DWORD Id;..unio
bbe0: 6e 20 7b 0d 0a 20 20 44 57 4f 52 44 20 61 64 77  n {..  DWORD adw
bbf0: 44 61 74 61 5b 32 5d 3b 0d 0a 73 74 72 75 63 74  Data[2];..struct
bc00: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63 62 42 75   {..  DWORD cbBu
bc10: 66 3b 0d 0a 20 20 4c 50 56 4f 49 44 20 70 42 75  f;..  LPVOID pBu
bc20: 66 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 0d 0a 7d 0d  f;..}....}....}.
bc30: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
bc40: 4e 4f 54 49 46 59 5f 49 4e 46 4f 5f 44 41 54 41  NOTIFY_INFO_DATA
bc50: 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f   PRINTER_NOTIFY_
bc60: 49 4e 46 4f 5f 44 41 54 41 3b 0d 0a 61 6c 69 61  INFO_DATA;..alia
bc70: 73 20 5f 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46  s _PRINTER_NOTIF
bc80: 59 5f 49 4e 46 4f 5f 44 41 54 41 2a 20 50 50 52  Y_INFO_DATA* PPR
bc90: 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46  INTER_NOTIFY_INF
bca0: 4f 5f 44 41 54 41 3b 0d 0a 61 6c 69 61 73 20 5f  O_DATA;..alias _
bcb0: 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 49  PRINTER_NOTIFY_I
bcc0: 4e 46 4f 5f 44 41 54 41 2a 20 4c 50 50 52 49 4e  NFO_DATA* LPPRIN
bcd0: 54 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 5f  TER_NOTIFY_INFO_
bce0: 44 41 54 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  DATA;....struct 
bcf0: 5f 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f  _PRINTER_NOTIFY_
bd00: 49 4e 46 4f 20 7b 0d 0a 20 20 44 57 4f 52 44 20  INFO {..  DWORD 
bd10: 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52  Version;..  DWOR
bd20: 44 20 46 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52  D Flags;..  DWOR
bd30: 44 20 43 6f 75 6e 74 3b 0d 0a 20 20 50 52 49 4e  D Count;..  PRIN
bd40: 54 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 5f  TER_NOTIFY_INFO_
bd50: 44 41 54 41 20 61 44 61 74 61 5b 31 5d 3b 0d 0a  DATA aData[1];..
bd60: 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45  }..alias _PRINTE
bd70: 52 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 20 50 52  R_NOTIFY_INFO PR
bd80: 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46  INTER_NOTIFY_INF
bd90: 4f 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54  O;..alias _PRINT
bda0: 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 2a 20  ER_NOTIFY_INFO* 
bdb0: 50 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f  PPRINTER_NOTIFY_
bdc0: 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 5f 50 52  INFO;..alias _PR
bdd0: 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46  INTER_NOTIFY_INF
bde0: 4f 2a 20 4c 50 50 52 49 4e 54 45 52 5f 4e 4f 54  O* LPPRINTER_NOT
bdf0: 49 46 59 5f 49 4e 46 4f 3b 0d 0a 0d 0a 73 74 72  IFY_INFO;....str
be00: 75 63 74 20 5f 42 49 4e 41 52 59 5f 43 4f 4e 54  uct _BINARY_CONT
be10: 41 49 4e 45 52 20 7b 0d 0a 20 20 44 57 4f 52 44  AINER {..  DWORD
be20: 20 63 62 42 75 66 3b 0d 0a 20 20 4c 50 42 59 54   cbBuf;..  LPBYT
be30: 45 20 70 44 61 74 61 3b 0d 0a 7d 0d 0a 61 6c 69  E pData;..}..ali
be40: 61 73 20 5f 42 49 4e 41 52 59 5f 43 4f 4e 54 41  as _BINARY_CONTA
be50: 49 4e 45 52 20 42 49 4e 41 52 59 5f 43 4f 4e 54  INER BINARY_CONT
be60: 41 49 4e 45 52 3b 0d 0a 61 6c 69 61 73 20 5f 42  AINER;..alias _B
be70: 49 4e 41 52 59 5f 43 4f 4e 54 41 49 4e 45 52 2a  INARY_CONTAINER*
be80: 20 50 42 49 4e 41 52 59 5f 43 4f 4e 54 41 49 4e   PBINARY_CONTAIN
be90: 45 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 42  ER;....struct _B
bea0: 49 44 49 5f 44 41 54 41 20 7b 0d 0a 20 20 44 57  IDI_DATA {..  DW
beb0: 4f 52 44 20 64 77 42 69 64 69 54 79 70 65 3b 0d  ORD dwBidiType;.
bec0: 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 42 4f 4f 4c  .union {..  BOOL
bed0: 20 62 44 61 74 61 3b 0d 0a 20 20 4c 4f 4e 47 20   bData;..  LONG 
bee0: 69 44 61 74 61 3b 0d 0a 20 20 4c 50 57 53 54 52  iData;..  LPWSTR
bef0: 20 73 44 61 74 61 3b 0d 0a 20 20 46 4c 4f 41 54   sData;..  FLOAT
bf00: 20 66 44 61 74 61 3b 0d 0a 20 20 42 49 4e 41 52   fData;..  BINAR
bf10: 59 5f 43 4f 4e 54 41 49 4e 45 52 20 62 69 44 61  Y_CONTAINER biDa
bf20: 74 61 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 61 6c 69  ta;..}....}..ali
bf30: 61 73 20 5f 42 49 44 49 5f 44 41 54 41 20 42 49  as _BIDI_DATA BI
bf40: 44 49 5f 44 41 54 41 3b 0d 0a 61 6c 69 61 73 20  DI_DATA;..alias 
bf50: 5f 42 49 44 49 5f 44 41 54 41 2a 20 50 42 49 44  _BIDI_DATA* PBID
bf60: 49 5f 44 41 54 41 3b 0d 0a 61 6c 69 61 73 20 5f  I_DATA;..alias _
bf70: 42 49 44 49 5f 44 41 54 41 2a 20 4c 50 42 49 44  BIDI_DATA* LPBID
bf80: 49 5f 44 41 54 41 3b 0d 0a 0d 0a 73 74 72 75 63  I_DATA;....struc
bf90: 74 20 5f 42 49 44 49 5f 52 45 51 55 45 53 54 5f  t _BIDI_REQUEST_
bfa0: 44 41 54 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20  DATA {..  DWORD 
bfb0: 64 77 52 65 71 4e 75 6d 62 65 72 3b 0d 0a 20 20  dwReqNumber;..  
bfc0: 4c 50 57 53 54 52 20 70 53 63 68 65 6d 61 3b 0d  LPWSTR pSchema;.
bfd0: 0a 20 20 42 49 44 49 5f 44 41 54 41 20 64 61 74  .  BIDI_DATA dat
bfe0: 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 42 49  a;..}..alias _BI
bff0: 44 49 5f 52 45 51 55 45 53 54 5f 44 41 54 41 20  DI_REQUEST_DATA 
c000: 42 49 44 49 5f 52 45 51 55 45 53 54 5f 44 41 54  BIDI_REQUEST_DAT
c010: 41 3b 0d 0a 61 6c 69 61 73 20 5f 42 49 44 49 5f  A;..alias _BIDI_
c020: 52 45 51 55 45 53 54 5f 44 41 54 41 2a 20 50 42  REQUEST_DATA* PB
c030: 49 44 49 5f 52 45 51 55 45 53 54 5f 44 41 54 41  IDI_REQUEST_DATA
c040: 3b 0d 0a 61 6c 69 61 73 20 5f 42 49 44 49 5f 52  ;..alias _BIDI_R
c050: 45 51 55 45 53 54 5f 44 41 54 41 2a 20 4c 50 42  EQUEST_DATA* LPB
c060: 49 44 49 5f 52 45 51 55 45 53 54 5f 44 41 54 41  IDI_REQUEST_DATA
c070: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 42 49 44  ;....struct _BID
c080: 49 5f 52 45 51 55 45 53 54 5f 43 4f 4e 54 41 49  I_REQUEST_CONTAI
c090: 4e 45 52 20 7b 0d 0a 20 20 44 57 4f 52 44 20 56  NER {..  DWORD V
c0a0: 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44  ersion;..  DWORD
c0b0: 20 46 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52 44   Flags;..  DWORD
c0c0: 20 43 6f 75 6e 74 3b 0d 0a 20 20 42 49 44 49 5f   Count;..  BIDI_
c0d0: 52 45 51 55 45 53 54 5f 44 41 54 41 20 61 44 61  REQUEST_DATA aDa
c0e0: 74 61 5b 20 31 20 5d 3b 0d 0a 7d 0d 0a 61 6c 69  ta[ 1 ];..}..ali
c0f0: 61 73 20 5f 42 49 44 49 5f 52 45 51 55 45 53 54  as _BIDI_REQUEST
c100: 5f 43 4f 4e 54 41 49 4e 45 52 20 42 49 44 49 5f  _CONTAINER BIDI_
c110: 52 45 51 55 45 53 54 5f 43 4f 4e 54 41 49 4e 45  REQUEST_CONTAINE
c120: 52 3b 0d 0a 61 6c 69 61 73 20 5f 42 49 44 49 5f  R;..alias _BIDI_
c130: 52 45 51 55 45 53 54 5f 43 4f 4e 54 41 49 4e 45  REQUEST_CONTAINE
c140: 52 2a 20 50 42 49 44 49 5f 52 45 51 55 45 53 54  R* PBIDI_REQUEST
c150: 5f 43 4f 4e 54 41 49 4e 45 52 3b 0d 0a 61 6c 69  _CONTAINER;..ali
c160: 61 73 20 5f 42 49 44 49 5f 52 45 51 55 45 53 54  as _BIDI_REQUEST
c170: 5f 43 4f 4e 54 41 49 4e 45 52 2a 20 4c 50 42 49  _CONTAINER* LPBI
c180: 44 49 5f 52 45 51 55 45 53 54 5f 43 4f 4e 54 41  DI_REQUEST_CONTA
c190: 49 4e 45 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  INER;....struct 
c1a0: 5f 42 49 44 49 5f 52 45 53 50 4f 4e 53 45 5f 44  _BIDI_RESPONSE_D
c1b0: 41 54 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64  ATA {..  DWORD d
c1c0: 77 52 65 73 75 6c 74 3b 0d 0a 20 20 44 57 4f 52  wResult;..  DWOR
c1d0: 44 20 64 77 52 65 71 4e 75 6d 62 65 72 3b 0d 0a  D dwReqNumber;..
c1e0: 20 20 4c 50 57 53 54 52 20 70 53 63 68 65 6d 61    LPWSTR pSchema
c1f0: 3b 0d 0a 20 20 42 49 44 49 5f 44 41 54 41 20 64  ;..  BIDI_DATA d
c200: 61 74 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ata;..}..alias _
c210: 42 49 44 49 5f 52 45 53 50 4f 4e 53 45 5f 44 41  BIDI_RESPONSE_DA
c220: 54 41 20 42 49 44 49 5f 52 45 53 50 4f 4e 53 45  TA BIDI_RESPONSE
c230: 5f 44 41 54 41 3b 0d 0a 61 6c 69 61 73 20 5f 42  _DATA;..alias _B
c240: 49 44 49 5f 52 45 53 50 4f 4e 53 45 5f 44 41 54  IDI_RESPONSE_DAT
c250: 41 2a 20 50 42 49 44 49 5f 52 45 53 50 4f 4e 53  A* PBIDI_RESPONS
c260: 45 5f 44 41 54 41 3b 0d 0a 61 6c 69 61 73 20 5f  E_DATA;..alias _
c270: 42 49 44 49 5f 52 45 53 50 4f 4e 53 45 5f 44 41  BIDI_RESPONSE_DA
c280: 54 41 2a 20 4c 50 42 49 44 49 5f 52 45 53 50 4f  TA* LPBIDI_RESPO
c290: 4e 53 45 5f 44 41 54 41 3b 0d 0a 0d 0a 73 74 72  NSE_DATA;....str
c2a0: 75 63 74 20 5f 42 49 44 49 5f 52 45 53 50 4f 4e  uct _BIDI_RESPON
c2b0: 53 45 5f 43 4f 4e 54 41 49 4e 45 52 20 7b 0d 0a  SE_CONTAINER {..
c2c0: 20 20 44 57 4f 52 44 20 56 65 72 73 69 6f 6e 3b    DWORD Version;
c2d0: 0d 0a 20 20 44 57 4f 52 44 20 46 6c 61 67 73 3b  ..  DWORD Flags;
c2e0: 0d 0a 20 20 44 57 4f 52 44 20 43 6f 75 6e 74 3b  ..  DWORD Count;
c2f0: 0d 0a 20 20 42 49 44 49 5f 52 45 53 50 4f 4e 53  ..  BIDI_RESPONS
c300: 45 5f 44 41 54 41 20 61 44 61 74 61 5b 20 31 20  E_DATA aData[ 1 
c310: 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 42 49  ];..}..alias _BI
c320: 44 49 5f 52 45 53 50 4f 4e 53 45 5f 43 4f 4e 54  DI_RESPONSE_CONT
c330: 41 49 4e 45 52 20 42 49 44 49 5f 52 45 53 50 4f  AINER BIDI_RESPO
c340: 4e 53 45 5f 43 4f 4e 54 41 49 4e 45 52 3b 0d 0a  NSE_CONTAINER;..
c350: 61 6c 69 61 73 20 5f 42 49 44 49 5f 52 45 53 50  alias _BIDI_RESP
c360: 4f 4e 53 45 5f 43 4f 4e 54 41 49 4e 45 52 2a 20  ONSE_CONTAINER* 
c370: 50 42 49 44 49 5f 52 45 53 50 4f 4e 53 45 5f 43  PBIDI_RESPONSE_C
c380: 4f 4e 54 41 49 4e 45 52 3b 0d 0a 61 6c 69 61 73  ONTAINER;..alias
c390: 20 5f 42 49 44 49 5f 52 45 53 50 4f 4e 53 45 5f   _BIDI_RESPONSE_
c3a0: 43 4f 4e 54 41 49 4e 45 52 2a 20 4c 50 42 49 44  CONTAINER* LPBID
c3b0: 49 5f 52 45 53 50 4f 4e 53 45 5f 43 4f 4e 54 41  I_RESPONSE_CONTA
c3c0: 49 4e 45 52 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 77  INER;....const w
c3d0: 63 68 61 72 5b 5d 20 42 49 44 49 5f 41 43 54 49  char[] BIDI_ACTI
c3e0: 4f 4e 5f 45 4e 55 4d 5f 53 43 48 45 4d 41 20 3d  ON_ENUM_SCHEMA =
c3f0: 20 22 45 6e 75 6d 53 63 68 65 6d 61 22 3b 0d 0a   "EnumSchema";..
c400: 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 42 49  const wchar[] BI
c410: 44 49 5f 41 43 54 49 4f 4e 5f 47 45 54 20 3d 20  DI_ACTION_GET = 
c420: 22 47 65 74 22 3b 0d 0a 63 6f 6e 73 74 20 77 63  "Get";..const wc
c430: 68 61 72 5b 5d 20 42 49 44 49 5f 41 43 54 49 4f  har[] BIDI_ACTIO
c440: 4e 5f 53 45 54 20 3d 20 22 53 65 74 22 3b 0d 0a  N_SET = "Set";..
c450: 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 42 49  const wchar[] BI
c460: 44 49 5f 41 43 54 49 4f 4e 5f 47 45 54 5f 41 4c  DI_ACTION_GET_AL
c470: 4c 20 3d 20 22 47 65 74 41 6c 6c 22 3b 0d 0a 0d  L = "GetAll";...
c480: 0a 65 6e 75 6d 20 5f 30 20 7b 0d 0a 20 20 42 49  .enum _0 {..  BI
c490: 44 49 5f 4e 55 4c 4c 20 3d 20 30 2c 0d 0a 20 20  DI_NULL = 0,..  
c4a0: 42 49 44 49 5f 49 4e 54 20 3d 20 31 2c 0d 0a 20  BIDI_INT = 1,.. 
c4b0: 20 42 49 44 49 5f 46 4c 4f 41 54 20 3d 20 32 2c   BIDI_FLOAT = 2,
c4c0: 0d 0a 20 20 42 49 44 49 5f 42 4f 4f 4c 20 3d 20  ..  BIDI_BOOL = 
c4d0: 33 2c 0d 0a 20 20 42 49 44 49 5f 53 54 52 49 4e  3,..  BIDI_STRIN
c4e0: 47 20 3d 20 34 2c 0d 0a 20 20 42 49 44 49 5f 54  G = 4,..  BIDI_T
c4f0: 45 58 54 20 3d 20 35 2c 0d 0a 20 20 42 49 44 49  EXT = 5,..  BIDI
c500: 5f 45 4e 55 4d 20 3d 20 36 2c 0d 0a 20 20 42 49  _ENUM = 6,..  BI
c510: 44 49 5f 42 4c 4f 42 20 3d 20 37 2c 0d 0a 7d 0d  DI_BLOB = 7,..}.
c520: 0a 61 6c 69 61 73 20 5f 30 20 42 49 44 49 5f 54  .alias _0 BIDI_T
c530: 59 50 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  YPE;....enum : u
c540: 69 6e 74 20 7b 20 42 49 44 49 5f 41 43 43 45 53  int { BIDI_ACCES
c550: 53 5f 41 44 4d 49 4e 49 53 54 52 41 54 4f 52 20  S_ADMINISTRATOR 
c560: 3d 20 30 78 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  = 0x1 }..enum : 
c570: 75 69 6e 74 20 7b 20 42 49 44 49 5f 41 43 43 45  uint { BIDI_ACCE
c580: 53 53 5f 55 53 45 52 20 3d 20 30 78 32 20 7d 0d  SS_USER = 0x2 }.
c590: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
c5a0: 20 45 52 52 4f 52 5f 42 49 44 49 5f 53 54 41 54   ERROR_BIDI_STAT
c5b0: 55 53 5f 4f 4b 20 3d 20 30 20 7d 0d 0a 61 6c 69  US_OK = 0 }..ali
c5c0: 61 73 20 45 52 52 4f 52 5f 4e 4f 54 5f 53 55 50  as ERROR_NOT_SUP
c5d0: 50 4f 52 54 45 44 20 45 52 52 4f 52 5f 42 49 44  PORTED ERROR_BID
c5e0: 49 5f 4e 4f 54 5f 53 55 50 50 4f 52 54 45 44 3b  I_NOT_SUPPORTED;
c5f0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
c600: 7b 20 45 52 52 4f 52 5f 42 49 44 49 5f 45 52 52  { ERROR_BIDI_ERR
c610: 4f 52 5f 42 41 53 45 20 3d 20 31 33 30 30 30 20  OR_BASE = 13000 
c620: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
c630: 20 45 52 52 4f 52 5f 42 49 44 49 5f 53 54 41 54   ERROR_BIDI_STAT
c640: 55 53 5f 57 41 52 4e 49 4e 47 20 3d 20 45 52 52  US_WARNING = ERR
c650: 4f 52 5f 42 49 44 49 5f 45 52 52 4f 52 5f 42 41  OR_BIDI_ERROR_BA
c660: 53 45 20 2b 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  SE + 1 }..enum :
c670: 20 75 69 6e 74 20 7b 20 45 52 52 4f 52 5f 42 49   uint { ERROR_BI
c680: 44 49 5f 53 43 48 45 4d 41 5f 52 45 41 44 5f 4f  DI_SCHEMA_READ_O
c690: 4e 4c 59 20 3d 20 45 52 52 4f 52 5f 42 49 44 49  NLY = ERROR_BIDI
c6a0: 5f 45 52 52 4f 52 5f 42 41 53 45 20 2b 20 32 20  _ERROR_BASE + 2 
c6b0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
c6c0: 20 45 52 52 4f 52 5f 42 49 44 49 5f 53 45 52 56   ERROR_BIDI_SERV
c6d0: 45 52 5f 4f 46 46 4c 49 4e 45 20 3d 20 45 52 52  ER_OFFLINE = ERR
c6e0: 4f 52 5f 42 49 44 49 5f 45 52 52 4f 52 5f 42 41  OR_BIDI_ERROR_BA
c6f0: 53 45 20 2b 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a  SE + 3 }..enum :
c700: 20 75 69 6e 74 20 7b 20 45 52 52 4f 52 5f 42 49   uint { ERROR_BI
c710: 44 49 5f 44 45 56 49 43 45 5f 4f 46 46 4c 49 4e  DI_DEVICE_OFFLIN
c720: 45 20 3d 20 45 52 52 4f 52 5f 42 49 44 49 5f 45  E = ERROR_BIDI_E
c730: 52 52 4f 52 5f 42 41 53 45 20 2b 20 34 20 7d 0d  RROR_BASE + 4 }.
c740: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 45  .enum : uint { E
c750: 52 52 4f 52 5f 42 49 44 49 5f 53 43 48 45 4d 41  RROR_BIDI_SCHEMA
c760: 5f 4e 4f 54 5f 53 55 50 50 4f 52 54 45 44 20 3d  _NOT_SUPPORTED =
c770: 20 45 52 52 4f 52 5f 42 49 44 49 5f 45 52 52 4f   ERROR_BIDI_ERRO
c780: 52 5f 42 41 53 45 20 2b 20 35 20 7d 0d 0a 0d 0a  R_BASE + 5 }....
c790: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
c7a0: 65 78 70 6f 72 74 20 44 57 4f 52 44 20 57 61 69  export DWORD Wai
c7b0: 74 46 6f 72 50 72 69 6e 74 65 72 43 68 61 6e 67  tForPrinterChang
c7c0: 65 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50 72  e(..  HANDLE hPr
c7d0: 69 6e 74 65 72 2c 0d 0a 20 20 44 57 4f 52 44 20  inter,..  DWORD 
c7e0: 46 6c 61 67 73 0d 0a 29 3b 0d 0a 0d 0a 65 78 74  Flags..);....ext
c7f0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
c800: 6f 72 74 20 48 41 4e 44 4c 45 20 46 69 6e 64 46  ort HANDLE FindF
c810: 69 72 73 74 50 72 69 6e 74 65 72 43 68 61 6e 67  irstPrinterChang
c820: 65 4e 6f 74 69 66 69 63 61 74 69 6f 6e 28 0d 0a  eNotification(..
c830: 20 20 48 41 4e 44 4c 45 20 68 50 72 69 6e 74 65    HANDLE hPrinte
c840: 72 2c 0d 0a 20 20 44 57 4f 52 44 20 66 64 77 46  r,..  DWORD fdwF
c850: 6c 61 67 73 2c 0d 0a 20 20 44 57 4f 52 44 20 66  lags,..  DWORD f
c860: 64 77 4f 70 74 69 6f 6e 73 2c 0d 0a 20 20 4c 50  dwOptions,..  LP
c870: 56 4f 49 44 20 70 50 72 69 6e 74 65 72 4e 6f 74  VOID pPrinterNot
c880: 69 66 79 4f 70 74 69 6f 6e 73 0d 0a 29 3b 0d 0a  ifyOptions..);..
c890: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
c8a0: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 46 69  ) export BOOL Fi
c8b0: 6e 64 4e 65 78 74 50 72 69 6e 74 65 72 43 68 61  ndNextPrinterCha
c8c0: 6e 67 65 4e 6f 74 69 66 69 63 61 74 69 6f 6e 28  ngeNotification(
c8d0: 0d 0a 20 20 48 41 4e 44 4c 45 20 68 43 68 61 6e  ..  HANDLE hChan
c8e0: 67 65 2c 0d 0a 20 20 50 44 57 4f 52 44 20 70 64  ge,..  PDWORD pd
c8f0: 77 43 68 61 6e 67 65 2c 0d 0a 20 20 4c 50 56 4f  wChange,..  LPVO
c900: 49 44 20 70 76 52 65 73 65 72 76 65 64 2c 0d 0a  ID pvReserved,..
c910: 20 20 4c 50 56 4f 49 44 20 2a 70 70 50 72 69 6e    LPVOID *ppPrin
c920: 74 65 72 4e 6f 74 69 66 79 49 6e 66 6f 0d 0a 29  terNotifyInfo..)
c930: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
c940: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
c950: 20 46 72 65 65 50 72 69 6e 74 65 72 4e 6f 74 69   FreePrinterNoti
c960: 66 79 49 6e 66 6f 28 0d 0a 20 20 50 50 52 49 4e  fyInfo(..  PPRIN
c970: 54 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 20  TER_NOTIFY_INFO 
c980: 70 50 72 69 6e 74 65 72 4e 6f 74 69 66 79 49 6e  pPrinterNotifyIn
c990: 66 6f 0d 0a 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  fo..);....extern
c9a0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
c9b0: 20 42 4f 4f 4c 20 46 69 6e 64 43 6c 6f 73 65 50   BOOL FindCloseP
c9c0: 72 69 6e 74 65 72 43 68 61 6e 67 65 4e 6f 74 69  rinterChangeNoti
c9d0: 66 69 63 61 74 69 6f 6e 28 0d 0a 20 20 48 41 4e  fication(..  HAN
c9e0: 44 4c 45 20 68 43 68 61 6e 67 65 0d 0a 29 3b 0d  DLE hChange..);.
c9f0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
ca00: 20 50 52 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f   PRINTER_CHANGE_
ca10: 41 44 44 5f 50 52 49 4e 54 45 52 20 3d 20 30 78  ADD_PRINTER = 0x
ca20: 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  00000001 }..enum
ca30: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
ca40: 52 5f 43 48 41 4e 47 45 5f 53 45 54 5f 50 52 49  R_CHANGE_SET_PRI
ca50: 4e 54 45 52 20 3d 20 30 78 30 30 30 30 30 30 30  NTER = 0x0000000
ca60: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
ca70: 20 7b 20 50 52 49 4e 54 45 52 5f 43 48 41 4e 47   { PRINTER_CHANG
ca80: 45 5f 44 45 4c 45 54 45 5f 50 52 49 4e 54 45 52  E_DELETE_PRINTER
ca90: 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
caa0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
cab0: 52 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f 46 41  RINTER_CHANGE_FA
cac0: 49 4c 45 44 5f 43 4f 4e 4e 45 43 54 49 4f 4e 5f  ILED_CONNECTION_
cad0: 50 52 49 4e 54 45 52 20 3d 20 30 78 30 30 30 30  PRINTER = 0x0000
cae0: 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0008 }..enum : u
caf0: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 43 48  int { PRINTER_CH
cb00: 41 4e 47 45 5f 50 52 49 4e 54 45 52 20 3d 20 30  ANGE_PRINTER = 0
cb10: 78 30 30 30 30 30 30 46 46 20 7d 0d 0a 65 6e 75  x000000FF }..enu
cb20: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
cb30: 45 52 5f 43 48 41 4e 47 45 5f 41 44 44 5f 4a 4f  ER_CHANGE_ADD_JO
cb40: 42 20 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d  B = 0x00000100 }
cb50: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
cb60: 50 52 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f 53  PRINTER_CHANGE_S
cb70: 45 54 5f 4a 4f 42 20 3d 20 30 78 30 30 30 30 30  ET_JOB = 0x00000
cb80: 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  200 }..enum : ui
cb90: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 43 48 41  nt { PRINTER_CHA
cba0: 4e 47 45 5f 44 45 4c 45 54 45 5f 4a 4f 42 20 3d  NGE_DELETE_JOB =
cbb0: 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a 65   0x00000400 }..e
cbc0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49  num : uint { PRI
cbd0: 4e 54 45 52 5f 43 48 41 4e 47 45 5f 57 52 49 54  NTER_CHANGE_WRIT
cbe0: 45 5f 4a 4f 42 20 3d 20 30 78 30 30 30 30 30 38  E_JOB = 0x000008
cbf0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
cc00: 74 20 7b 20 50 52 49 4e 54 45 52 5f 43 48 41 4e  t { PRINTER_CHAN
cc10: 47 45 5f 4a 4f 42 20 3d 20 30 78 30 30 30 30 46  GE_JOB = 0x0000F
cc20: 46 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  F00 }..enum : ui
cc30: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 43 48 41  nt { PRINTER_CHA
cc40: 4e 47 45 5f 41 44 44 5f 46 4f 52 4d 20 3d 20 30  NGE_ADD_FORM = 0
cc50: 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75  x00010000 }..enu
cc60: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
cc70: 45 52 5f 43 48 41 4e 47 45 5f 53 45 54 5f 46 4f  ER_CHANGE_SET_FO
cc80: 52 4d 20 3d 20 30 78 30 30 30 32 30 30 30 30 20  RM = 0x00020000 
cc90: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
cca0: 20 50 52 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f   PRINTER_CHANGE_
ccb0: 44 45 4c 45 54 45 5f 46 4f 52 4d 20 3d 20 30 78  DELETE_FORM = 0x
ccc0: 30 30 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00040000 }..enum
ccd0: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
cce0: 52 5f 43 48 41 4e 47 45 5f 46 4f 52 4d 20 3d 20  R_CHANGE_FORM = 
ccf0: 30 78 30 30 30 37 30 30 30 30 20 7d 0d 0a 65 6e  0x00070000 }..en
cd00: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
cd10: 54 45 52 5f 43 48 41 4e 47 45 5f 41 44 44 5f 50  TER_CHANGE_ADD_P
cd20: 4f 52 54 20 3d 20 30 78 30 30 31 30 30 30 30 30  ORT = 0x00100000
cd30: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
cd40: 7b 20 50 52 49 4e 54 45 52 5f 43 48 41 4e 47 45  { PRINTER_CHANGE
cd50: 5f 43 4f 4e 46 49 47 55 52 45 5f 50 4f 52 54 20  _CONFIGURE_PORT 
cd60: 3d 20 30 78 30 30 32 30 30 30 30 30 20 7d 0d 0a  = 0x00200000 }..
cd70: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
cd80: 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f 44 45 4c  INTER_CHANGE_DEL
cd90: 45 54 45 5f 50 4f 52 54 20 3d 20 30 78 30 30 34  ETE_PORT = 0x004
cda0: 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
cdb0: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 43  uint { PRINTER_C
cdc0: 48 41 4e 47 45 5f 50 4f 52 54 20 3d 20 30 78 30  HANGE_PORT = 0x0
cdd0: 30 37 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0700000 }..enum 
cde0: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
cdf0: 5f 43 48 41 4e 47 45 5f 41 44 44 5f 50 52 49 4e  _CHANGE_ADD_PRIN
ce00: 54 5f 50 52 4f 43 45 53 53 4f 52 20 3d 20 30 78  T_PROCESSOR = 0x
ce10: 30 31 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  01000000 }..enum
ce20: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
ce30: 52 5f 43 48 41 4e 47 45 5f 44 45 4c 45 54 45 5f  R_CHANGE_DELETE_
ce40: 50 52 49 4e 54 5f 50 52 4f 43 45 53 53 4f 52 20  PRINT_PROCESSOR 
ce50: 3d 20 30 78 30 34 30 30 30 30 30 30 20 7d 0d 0a  = 0x04000000 }..
ce60: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
ce70: 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f 50 52 49  INTER_CHANGE_PRI
ce80: 4e 54 5f 50 52 4f 43 45 53 53 4f 52 20 3d 20 30  NT_PROCESSOR = 0
ce90: 78 30 37 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x07000000 }..enu
cea0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
ceb0: 45 52 5f 43 48 41 4e 47 45 5f 41 44 44 5f 50 52  ER_CHANGE_ADD_PR
cec0: 49 4e 54 45 52 5f 44 52 49 56 45 52 20 3d 20 30  INTER_DRIVER = 0
ced0: 78 31 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x10000000 }..enu
cee0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
cef0: 45 52 5f 43 48 41 4e 47 45 5f 53 45 54 5f 50 52  ER_CHANGE_SET_PR
cf00: 49 4e 54 45 52 5f 44 52 49 56 45 52 20 3d 20 30  INTER_DRIVER = 0
cf10: 78 32 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x20000000 }..enu
cf20: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
cf30: 45 52 5f 43 48 41 4e 47 45 5f 44 45 4c 45 54 45  ER_CHANGE_DELETE
cf40: 5f 50 52 49 4e 54 45 52 5f 44 52 49 56 45 52 20  _PRINTER_DRIVER 
cf50: 3d 20 30 78 34 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x40000000 }..
cf60: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
cf70: 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f 50 52 49  INTER_CHANGE_PRI
cf80: 4e 54 45 52 5f 44 52 49 56 45 52 20 3d 20 30 78  NTER_DRIVER = 0x
cf90: 37 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  70000000 }..enum
cfa0: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
cfb0: 52 5f 43 48 41 4e 47 45 5f 54 49 4d 45 4f 55 54  R_CHANGE_TIMEOUT
cfc0: 20 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d 0d   = 0x80000000 }.
cfd0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
cfe0: 52 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f 41 4c  RINTER_CHANGE_AL
cff0: 4c 20 3d 20 30 78 37 37 37 37 46 46 46 46 20 7d  L = 0x7777FFFF }
d000: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
d010: 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44  ws) export DWORD
d020: 20 50 72 69 6e 74 65 72 4d 65 73 73 61 67 65 42   PrinterMessageB
d030: 6f 78 41 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68  oxA(..  HANDLE h
d040: 50 72 69 6e 74 65 72 2c 0d 0a 20 20 44 57 4f 52  Printer,..  DWOR
d050: 44 20 45 72 72 6f 72 2c 0d 0a 20 20 48 57 4e 44  D Error,..  HWND
d060: 20 68 57 6e 64 2c 0d 0a 20 20 4c 50 53 54 52 20   hWnd,..  LPSTR 
d070: 70 54 65 78 74 2c 0d 0a 20 20 4c 50 53 54 52 20  pText,..  LPSTR 
d080: 70 43 61 70 74 69 6f 6e 2c 0d 0a 20 20 44 57 4f  pCaption,..  DWO
d090: 52 44 20 64 77 54 79 70 65 0d 0a 29 3b 0d 0a 65  RD dwType..);..e
d0a0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
d0b0: 78 70 6f 72 74 20 44 57 4f 52 44 20 50 72 69 6e  xport DWORD Prin
d0c0: 74 65 72 4d 65 73 73 61 67 65 42 6f 78 57 28 0d  terMessageBoxW(.
d0d0: 0a 20 20 48 41 4e 44 4c 45 20 68 50 72 69 6e 74  .  HANDLE hPrint
d0e0: 65 72 2c 0d 0a 20 20 44 57 4f 52 44 20 45 72 72  er,..  DWORD Err
d0f0: 6f 72 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64  or,..  HWND hWnd
d100: 2c 0d 0a 20 20 4c 50 57 53 54 52 20 70 54 65 78  ,..  LPWSTR pTex
d110: 74 2c 0d 0a 20 20 4c 50 57 53 54 52 20 70 43 61  t,..  LPWSTR pCa
d120: 70 74 69 6f 6e 2c 0d 0a 20 20 44 57 4f 52 44 20  ption,..  DWORD 
d130: 64 77 54 79 70 65 0d 0a 29 3b 0d 0a 2f 2f 20 23  dwType..);..// #
d140: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
d150: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
d160: 0d 0a 61 6c 69 61 73 20 50 72 69 6e 74 65 72 4d  ..alias PrinterM
d170: 65 73 73 61 67 65 42 6f 78 41 20 50 72 69 6e 74  essageBoxA Print
d180: 65 72 4d 65 73 73 61 67 65 42 6f 78 3b 0d 0a 2f  erMessageBox;../
d190: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
d1a0: 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  CODE....enum : u
d1b0: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 45 52  int { PRINTER_ER
d1c0: 52 4f 52 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20  ROR_INFORMATION 
d1d0: 3d 20 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x80000000 }..
d1e0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
d1f0: 49 4e 54 45 52 5f 45 52 52 4f 52 5f 57 41 52 4e  INTER_ERROR_WARN
d200: 49 4e 47 20 3d 20 30 78 34 30 30 30 30 30 30 30  ING = 0x40000000
d210: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
d220: 7b 20 50 52 49 4e 54 45 52 5f 45 52 52 4f 52 5f  { PRINTER_ERROR_
d230: 53 45 56 45 52 45 20 3d 20 30 78 32 30 30 30 30  SEVERE = 0x20000
d240: 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
d250: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 45  uint { PRINTER_E
d260: 52 52 4f 52 5f 4f 55 54 4f 46 50 41 50 45 52 20  RROR_OUTOFPAPER 
d270: 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a  = 0x00000001 }..
d280: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
d290: 49 4e 54 45 52 5f 45 52 52 4f 52 5f 4a 41 4d 20  INTER_ERROR_JAM 
d2a0: 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a  = 0x00000002 }..
d2b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
d2c0: 49 4e 54 45 52 5f 45 52 52 4f 52 5f 4f 55 54 4f  INTER_ERROR_OUTO
d2d0: 46 54 4f 4e 45 52 20 3d 20 30 78 30 30 30 30 30  FTONER = 0x00000
d2e0: 30 30 34 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28  004 }....extern(
d2f0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
d300: 42 4f 4f 4c 20 43 6c 6f 73 65 50 72 69 6e 74 65  BOOL ClosePrinte
d310: 72 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50 72  r(..  HANDLE hPr
d320: 69 6e 74 65 72 0d 0a 29 3b 0d 0a 0d 0a 65 78 74  inter..);....ext
d330: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
d340: 6f 72 74 20 42 4f 4f 4c 20 41 64 64 46 6f 72 6d  ort BOOL AddForm
d350: 41 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50 72  A(..  HANDLE hPr
d360: 69 6e 74 65 72 2c 0d 0a 20 20 44 57 4f 52 44 20  inter,..  DWORD 
d370: 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50 42 59 54 45  Level,..  LPBYTE
d380: 20 70 46 6f 72 6d 0d 0a 29 3b 0d 0a 65 78 74 65   pForm..);..exte
d390: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
d3a0: 72 74 20 42 4f 4f 4c 20 41 64 64 46 6f 72 6d 57  rt BOOL AddFormW
d3b0: 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50 72 69  (..  HANDLE hPri
d3c0: 6e 74 65 72 2c 0d 0a 20 20 44 57 4f 52 44 20 4c  nter,..  DWORD L
d3d0: 65 76 65 6c 2c 0d 0a 20 20 4c 50 42 59 54 45 20  evel,..  LPBYTE 
d3e0: 70 46 6f 72 6d 0d 0a 29 3b 0d 0a 2f 2f 20 23 69  pForm..);..// #i
d3f0: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
d400: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
d410: 0a 61 6c 69 61 73 20 41 64 64 46 6f 72 6d 41 20  .alias AddFormA 
d420: 41 64 64 46 6f 72 6d 3b 0d 0a 2f 2f 20 23 65 6e  AddForm;..// #en
d430: 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
d440: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
d450: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44  s) export BOOL D
d460: 65 6c 65 74 65 46 6f 72 6d 41 28 0d 0a 20 20 48  eleteFormA(..  H
d470: 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 2c 0d  ANDLE hPrinter,.
d480: 0a 20 20 4c 50 53 54 52 20 70 46 6f 72 6d 4e 61  .  LPSTR pFormNa
d490: 6d 65 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57  me..);..extern(W
d4a0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
d4b0: 4f 4f 4c 20 44 65 6c 65 74 65 46 6f 72 6d 57 28  OOL DeleteFormW(
d4c0: 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50 72 69 6e  ..  HANDLE hPrin
d4d0: 74 65 72 2c 0d 0a 20 20 4c 50 57 53 54 52 20 70  ter,..  LPWSTR p
d4e0: 46 6f 72 6d 4e 61 6d 65 0d 0a 29 3b 0d 0a 2f 2f  FormName..);..//
d4f0: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
d500: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
d510: 73 65 0d 0a 61 6c 69 61 73 20 44 65 6c 65 74 65  se..alias Delete
d520: 46 6f 72 6d 41 20 44 65 6c 65 74 65 46 6f 72 6d  FormA DeleteForm
d530: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
d540: 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
d550: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
d560: 72 74 20 42 4f 4f 4c 20 47 65 74 46 6f 72 6d 41  rt BOOL GetFormA
d570: 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 50 72 69  (..  HANDLE hPri
d580: 6e 74 65 72 2c 0d 0a 20 20 4c 50 53 54 52 20 70  nter,..  LPSTR p
d590: 46 6f 72 6d 4e 61 6d 65 2c 0d 0a 20 20 44 57 4f  FormName,..  DWO
d5a0: 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50 42  RD Level,..  LPB
d5b0: 59 54 45 20 70 46 6f 72 6d 2c 0d 0a 20 20 44 57  YTE pForm,..  DW
d5c0: 4f 52 44 20 63 62 42 75 66 2c 0d 0a 20 20 4c 50  ORD cbBuf,..  LP
d5d0: 44 57 4f 52 44 20 70 63 62 4e 65 65 64 65 64 0d  DWORD pcbNeeded.
d5e0: 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  .);..extern(Wind
d5f0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
d600: 20 47 65 74 46 6f 72 6d 57 28 0d 0a 20 20 48 41   GetFormW(..  HA
d610: 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 2c 0d 0a  NDLE hPrinter,..
d620: 20 20 4c 50 57 53 54 52 20 70 46 6f 72 6d 4e 61    LPWSTR pFormNa
d630: 6d 65 2c 0d 0a 20 20 44 57 4f 52 44 20 4c 65 76  me,..  DWORD Lev
d640: 65 6c 2c 0d 0a 20 20 4c 50 42 59 54 45 20 70 46  el,..  LPBYTE pF
d650: 6f 72 6d 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62  orm,..  DWORD cb
d660: 42 75 66 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20  Buf,..  LPDWORD 
d670: 70 63 62 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a 2f  pcbNeeded..);../
d680: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
d690: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
d6a0: 6c 73 65 0d 0a 61 6c 69 61 73 20 47 65 74 46 6f  lse..alias GetFo
d6b0: 72 6d 41 20 47 65 74 46 6f 72 6d 3b 0d 0a 2f 2f  rmA GetForm;..//
d6c0: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
d6d0: 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
d6e0: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
d6f0: 4f 4c 20 53 65 74 46 6f 72 6d 41 28 0d 0a 20 20  OL SetFormA(..  
d700: 48 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 2c  HANDLE hPrinter,
d710: 0d 0a 20 20 4c 50 53 54 52 20 70 46 6f 72 6d 4e  ..  LPSTR pFormN
d720: 61 6d 65 2c 0d 0a 20 20 44 57 4f 52 44 20 4c 65  ame,..  DWORD Le
d730: 76 65 6c 2c 0d 0a 20 20 4c 50 42 59 54 45 20 70  vel,..  LPBYTE p
d740: 46 6f 72 6d 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e  Form..);..extern
d750: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
d760: 20 42 4f 4f 4c 20 53 65 74 46 6f 72 6d 57 28 0d   BOOL SetFormW(.
d770: 0a 20 20 48 41 4e 44 4c 45 20 68 50 72 69 6e 74  .  HANDLE hPrint
d780: 65 72 2c 0d 0a 20 20 4c 50 57 53 54 52 20 70 46  er,..  LPWSTR pF
d790: 6f 72 6d 4e 61 6d 65 2c 0d 0a 20 20 44 57 4f 52  ormName,..  DWOR
d7a0: 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50 42 59  D Level,..  LPBY
d7b0: 54 45 20 70 46 6f 72 6d 0d 0a 29 3b 0d 0a 2f 2f  TE pForm..);..//
d7c0: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
d7d0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
d7e0: 73 65 0d 0a 61 6c 69 61 73 20 53 65 74 46 6f 72  se..alias SetFor
d7f0: 6d 41 20 53 65 74 46 6f 72 6d 3b 0d 0a 2f 2f 20  mA SetForm;..// 
d800: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
d810: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
d820: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
d830: 4c 20 45 6e 75 6d 46 6f 72 6d 73 41 28 0d 0a 20  L EnumFormsA(.. 
d840: 20 48 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72   HANDLE hPrinter
d850: 2c 0d 0a 20 20 44 57 4f 52 44 20 4c 65 76 65 6c  ,..  DWORD Level
d860: 2c 0d 0a 20 20 4c 50 42 59 54 45 20 70 46 6f 72  ,..  LPBYTE pFor
d870: 6d 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62 42 75  m,..  DWORD cbBu
d880: 66 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63  f,..  LPDWORD pc
d890: 62 4e 65 65 64 65 64 2c 0d 0a 20 20 4c 50 44 57  bNeeded,..  LPDW
d8a0: 4f 52 44 20 70 63 52 65 74 75 72 6e 65 64 0d 0a  ORD pcReturned..
d8b0: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
d8c0: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
d8d0: 45 6e 75 6d 46 6f 72 6d 73 57 28 0d 0a 20 20 48  EnumFormsW(..  H
d8e0: 41 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 2c 0d  ANDLE hPrinter,.
d8f0: 0a 20 20 44 57 4f 52 44 20 4c 65 76 65 6c 2c 0d  .  DWORD Level,.
d900: 0a 20 20 4c 50 42 59 54 45 20 70 46 6f 72 6d 2c  .  LPBYTE pForm,
d910: 0d 0a 20 20 44 57 4f 52 44 20 63 62 42 75 66 2c  ..  DWORD cbBuf,
d920: 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e  ..  LPDWORD pcbN
d930: 65 65 64 65 64 2c 0d 0a 20 20 4c 50 44 57 4f 52  eeded,..  LPDWOR
d940: 44 20 70 63 52 65 74 75 72 6e 65 64 0d 0a 29 3b  D pcReturned..);
d950: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
d960: 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ODE..// #.....//
d970: 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 45 6e   #else..alias En
d980: 75 6d 46 6f 72 6d 73 41 20 45 6e 75 6d 46 6f 72  umFormsA EnumFor
d990: 6d 73 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  ms;..// #endif /
d9a0: 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78  / !UNICODE....ex
d9b0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
d9c0: 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 75 6d 4d 6f  port BOOL EnumMo
d9d0: 6e 69 74 6f 72 73 41 28 0d 0a 20 20 4c 50 53 54  nitorsA(..  LPST
d9e0: 52 20 70 4e 61 6d 65 2c 0d 0a 20 20 44 57 4f 52  R pName,..  DWOR
d9f0: 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50 42 59  D Level,..  LPBY
da00: 54 45 20 70 4d 6f 6e 69 74 6f 72 73 2c 0d 0a 20  TE pMonitors,.. 
da10: 20 44 57 4f 52 44 20 63 62 42 75 66 2c 0d 0a 20   DWORD cbBuf,.. 
da20: 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65 65 64   LPDWORD pcbNeed
da30: 65 64 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70  ed,..  LPDWORD p
da40: 63 52 65 74 75 72 6e 65 64 0d 0a 29 3b 0d 0a 65  cReturned..);..e
da50: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
da60: 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 75 6d 4d  xport BOOL EnumM
da70: 6f 6e 69 74 6f 72 73 57 28 0d 0a 20 20 4c 50 57  onitorsW(..  LPW
da80: 53 54 52 20 70 4e 61 6d 65 2c 0d 0a 20 20 44 57  STR pName,..  DW
da90: 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50  ORD Level,..  LP
daa0: 42 59 54 45 20 70 4d 6f 6e 69 74 6f 72 73 2c 0d  BYTE pMonitors,.
dab0: 0a 20 20 44 57 4f 52 44 20 63 62 42 75 66 2c 0d  .  DWORD cbBuf,.
dac0: 0a 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65  .  LPDWORD pcbNe
dad0: 65 64 65 64 2c 0d 0a 20 20 4c 50 44 57 4f 52 44  eded,..  LPDWORD
dae0: 20 70 63 52 65 74 75 72 6e 65 64 0d 0a 29 3b 0d   pcReturned..);.
daf0: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
db00: 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  DE..// #.....// 
db10: 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 45 6e 75  #else..alias Enu
db20: 6d 4d 6f 6e 69 74 6f 72 73 41 20 45 6e 75 6d 4d  mMonitorsA EnumM
db30: 6f 6e 69 74 6f 72 73 3b 0d 0a 2f 2f 20 23 65 6e  onitors;..// #en
db40: 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
db50: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
db60: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 41  s) export BOOL A
db70: 64 64 4d 6f 6e 69 74 6f 72 41 28 0d 0a 20 20 4c  ddMonitorA(..  L
db80: 50 53 54 52 20 70 4e 61 6d 65 2c 0d 0a 20 20 44  PSTR pName,..  D
db90: 57 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20 4c  WORD Level,..  L
dba0: 50 42 59 54 45 20 70 4d 6f 6e 69 74 6f 72 73 0d  PBYTE pMonitors.
dbb0: 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  .);..extern(Wind
dbc0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
dbd0: 20 41 64 64 4d 6f 6e 69 74 6f 72 57 28 0d 0a 20   AddMonitorW(.. 
dbe0: 20 4c 50 57 53 54 52 20 70 4e 61 6d 65 2c 0d 0a   LPWSTR pName,..
dbf0: 20 20 44 57 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a    DWORD Level,..
dc00: 20 20 4c 50 42 59 54 45 20 70 4d 6f 6e 69 74 6f    LPBYTE pMonito
dc10: 72 73 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  rs..);..// #ifde
dc20: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
dc30: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
dc40: 69 61 73 20 41 64 64 4d 6f 6e 69 74 6f 72 41 20  ias AddMonitorA 
dc50: 41 64 64 4d 6f 6e 69 74 6f 72 3b 0d 0a 2f 2f 20  AddMonitor;..// 
dc60: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
dc70: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
dc80: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
dc90: 4c 20 44 65 6c 65 74 65 4d 6f 6e 69 74 6f 72 41  L DeleteMonitorA
dca0: 28 0d 0a 20 20 4c 50 53 54 52 20 70 4e 61 6d 65  (..  LPSTR pName
dcb0: 2c 0d 0a 20 20 4c 50 53 54 52 20 70 45 6e 76 69  ,..  LPSTR pEnvi
dcc0: 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 4c 50 53 54  ronment,..  LPST
dcd0: 52 20 70 4d 6f 6e 69 74 6f 72 4e 61 6d 65 0d 0a  R pMonitorName..
dce0: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
dcf0: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
dd00: 44 65 6c 65 74 65 4d 6f 6e 69 74 6f 72 57 28 0d  DeleteMonitorW(.
dd10: 0a 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65 2c  .  LPWSTR pName,
dd20: 0d 0a 20 20 4c 50 57 53 54 52 20 70 45 6e 76 69  ..  LPWSTR pEnvi
dd30: 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 4c 50 57 53  ronment,..  LPWS
dd40: 54 52 20 70 4d 6f 6e 69 74 6f 72 4e 61 6d 65 0d  TR pMonitorName.
dd50: 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  .);..// #ifdef U
dd60: 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d  NICODE..// #....
dd70: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73  .// #else..alias
dd80: 20 44 65 6c 65 74 65 4d 6f 6e 69 74 6f 72 41 20   DeleteMonitorA 
dd90: 44 65 6c 65 74 65 4d 6f 6e 69 74 6f 72 3b 0d 0a  DeleteMonitor;..
dda0: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
ddb0: 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
ddc0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
ddd0: 42 4f 4f 4c 20 45 6e 75 6d 50 6f 72 74 73 41 28  BOOL EnumPortsA(
dde0: 0d 0a 20 20 4c 50 53 54 52 20 70 4e 61 6d 65 2c  ..  LPSTR pName,
ddf0: 0d 0a 20 20 44 57 4f 52 44 20 4c 65 76 65 6c 2c  ..  DWORD Level,
de00: 0d 0a 20 20 4c 50 42 59 54 45 20 70 50 6f 72 74  ..  LPBYTE pPort
de10: 73 2c 0d 0a 20 20 44 57 4f 52 44 20 63 62 42 75  s,..  DWORD cbBu
de20: 66 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63  f,..  LPDWORD pc
de30: 62 4e 65 65 64 65 64 2c 0d 0a 20 20 4c 50 44 57  bNeeded,..  LPDW
de40: 4f 52 44 20 70 63 52 65 74 75 72 6e 65 64 0d 0a  ORD pcReturned..
de50: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
de60: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
de70: 45 6e 75 6d 50 6f 72 74 73 57 28 0d 0a 20 20 4c  EnumPortsW(..  L
de80: 50 57 53 54 52 20 70 4e 61 6d 65 2c 0d 0a 20 20  PWSTR pName,..  
de90: 44 57 4f 52 44 20 4c 65 76 65 6c 2c 0d 0a 20 20  DWORD Level,..  
dea0: 4c 50 42 59 54 45 20 70 50 6f 72 74 73 2c 0d 0a  LPBYTE pPorts,..
deb0: 20 20 44 57 4f 52 44 20 63 62 42 75 66 2c 0d 0a    DWORD cbBuf,..
dec0: 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65 65    LPDWORD pcbNee
ded0: 64 65 64 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20  ded,..  LPDWORD 
dee0: 70 63 52 65 74 75 72 6e 65 64 0d 0a 29 3b 0d 0a  pcReturned..);..
def0: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
df00: 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
df10: 65 6c 73 65 0d 0a 61 6c 69 61 73 20 45 6e 75 6d  else..alias Enum
df20: 50 6f 72 74 73 41 20 45 6e 75 6d 50 6f 72 74 73  PortsA EnumPorts
df30: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
df40: 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
df50: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
df60: 72 74 20 42 4f 4f 4c 20 41 64 64 50 6f 72 74 41  rt BOOL AddPortA
df70: 28 0d 0a 20 20 4c 50 53 54 52 20 70 4e 61 6d 65  (..  LPSTR pName
df80: 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d  ,..  HWND hWnd,.
df90: 0a 20 20 4c 50 53 54 52 20 70 4d 6f 6e 69 74 6f  .  LPSTR pMonito
dfa0: 72 4e 61 6d 65 0d 0a 29 3b 0d 0a 65 78 74 65 72  rName..);..exter
dfb0: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
dfc0: 74 20 42 4f 4f 4c 20 41 64 64 50 6f 72 74 57 28  t BOOL AddPortW(
dfd0: 0d 0a 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65  ..  LPWSTR pName
dfe0: 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d  ,..  HWND hWnd,.
dff0: 0a 20 20 4c 50 57 53 54 52 20 70 4d 6f 6e 69 74  .  LPWSTR pMonit
e000: 6f 72 4e 61 6d 65 0d 0a 29 3b 0d 0a 2f 2f 20 23  orName..);..// #
e010: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
e020: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65  / #.....// #else
e030: 0d 0a 61 6c 69 61 73 20 41 64 64 50 6f 72 74 41  ..alias AddPortA
e040: 20 41 64 64 50 6f 72 74 3b 0d 0a 2f 2f 20 23 65   AddPort;..// #e
e050: 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
e060: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
e070: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
e080: 43 6f 6e 66 69 67 75 72 65 50 6f 72 74 41 28 0d  ConfigurePortA(.
e090: 0a 20 20 4c 50 53 54 52 20 70 4e 61 6d 65 2c 0d  .  LPSTR pName,.
e0a0: 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c 0d 0a 20  .  HWND hWnd,.. 
e0b0: 20 4c 50 53 54 52 20 70 50 6f 72 74 4e 61 6d 65   LPSTR pPortName
e0c0: 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ..);..extern(Win
e0d0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
e0e0: 4c 20 43 6f 6e 66 69 67 75 72 65 50 6f 72 74 57  L ConfigurePortW
e0f0: 28 0d 0a 20 20 4c 50 57 53 54 52 20 70 4e 61 6d  (..  LPWSTR pNam
e100: 65 2c 0d 0a 20 20 48 57 4e 44 20 68 57 6e 64 2c  e,..  HWND hWnd,
e110: 0d 0a 20 20 4c 50 57 53 54 52 20 70 50 6f 72 74  ..  LPWSTR pPort
e120: 4e 61 6d 65 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66  Name..);..// #if
e130: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20  def UNICODE..// 
e140: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  #.....// #else..
e150: 61 6c 69 61 73 20 43 6f 6e 66 69 67 75 72 65 50  alias ConfigureP
e160: 6f 72 74 41 20 43 6f 6e 66 69 67 75 72 65 50 6f  ortA ConfigurePo
e170: 72 74 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  rt;..// #endif /
e180: 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78  / !UNICODE....ex
e190: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
e1a0: 70 6f 72 74 20 42 4f 4f 4c 20 44 65 6c 65 74 65  port BOOL Delete
e1b0: 50 6f 72 74 41 28 0d 0a 20 20 4c 50 53 54 52 20  PortA(..  LPSTR 
e1c0: 70 4e 61 6d 65 2c 0d 0a 20 20 48 57 4e 44 20 68  pName,..  HWND h
e1d0: 57 6e 64 2c 0d 0a 20 20 4c 50 53 54 52 20 70 50  Wnd,..  LPSTR pP
e1e0: 6f 72 74 4e 61 6d 65 0d 0a 29 3b 0d 0a 65 78 74  ortName..);..ext
e1f0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
e200: 6f 72 74 20 42 4f 4f 4c 20 44 65 6c 65 74 65 50  ort BOOL DeleteP
e210: 6f 72 74 57 28 0d 0a 20 20 4c 50 57 53 54 52 20  ortW(..  LPWSTR 
e220: 70 4e 61 6d 65 2c 0d 0a 20 20 48 57 4e 44 20 68  pName,..  HWND h
e230: 57 6e 64 2c 0d 0a 20 20 4c 50 57 53 54 52 20 70  Wnd,..  LPWSTR p
e240: 50 6f 72 74 4e 61 6d 65 0d 0a 29 3b 0d 0a 2f 2f  PortName..);..//
e250: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
e260: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
e270: 73 65 0d 0a 61 6c 69 61 73 20 44 65 6c 65 74 65  se..alias Delete
e280: 50 6f 72 74 41 20 44 65 6c 65 74 65 50 6f 72 74  PortA DeletePort
e290: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ;..// #endif // 
e2a0: 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
e2b0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
e2c0: 72 74 20 42 4f 4f 4c 20 58 63 76 44 61 74 61 57  rt BOOL XcvDataW
e2d0: 28 0d 0a 20 20 48 41 4e 44 4c 45 20 68 58 63 76  (..  HANDLE hXcv
e2e0: 2c 0d 0a 20 20 50 43 57 53 54 52 20 70 73 7a 44  ,..  PCWSTR pszD
e2f0: 61 74 61 4e 61 6d 65 2c 0d 0a 20 20 50 42 59 54  ataName,..  PBYT
e300: 45 20 70 49 6e 70 75 74 44 61 74 61 2c 0d 0a 20  E pInputData,.. 
e310: 20 44 57 4f 52 44 20 63 62 49 6e 70 75 74 44 61   DWORD cbInputDa
e320: 74 61 2c 0d 0a 20 20 50 42 59 54 45 20 70 4f 75  ta,..  PBYTE pOu
e330: 74 70 75 74 44 61 74 61 2c 0d 0a 20 20 44 57 4f  tputData,..  DWO
e340: 52 44 20 63 62 4f 75 74 70 75 74 44 61 74 61 2c  RD cbOutputData,
e350: 0d 0a 20 20 50 44 57 4f 52 44 20 70 63 62 4f 75  ..  PDWORD pcbOu
e360: 74 70 75 74 4e 65 65 64 65 64 2c 0d 0a 20 20 50  tputNeeded,..  P
e370: 44 57 4f 52 44 20 70 64 77 53 74 61 74 75 73 0d  DWORD pdwStatus.
e380: 0a 29 3b 0d 0a 61 6c 69 61 73 20 58 63 76 44 61  .);..alias XcvDa
e390: 74 61 57 20 58 63 76 44 61 74 61 3b 0d 0a 0d 0a  taW XcvData;....
e3a0: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
e3b0: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 44  export BOOL GetD
e3c0: 65 66 61 75 6c 74 50 72 69 6e 74 65 72 41 28 0d  efaultPrinterA(.
e3d0: 0a 20 20 4c 50 53 54 52 20 70 73 7a 42 75 66 66  .  LPSTR pszBuff
e3e0: 65 72 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70  er,..  LPDWORD p
e3f0: 63 63 68 42 75 66 66 65 72 29 3b 0d 0a 65 78 74  cchBuffer);..ext
e400: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
e410: 6f 72 74 20 42 4f 4f 4c 20 47 65 74 44 65 66 61  ort BOOL GetDefa
e420: 75 6c 74 50 72 69 6e 74 65 72 57 28 0d 0a 20 20  ultPrinterW(..  
e430: 4c 50 57 53 54 52 20 70 73 7a 42 75 66 66 65 72  LPWSTR pszBuffer
e440: 2c 0d 0a 20 20 4c 50 44 57 4f 52 44 20 70 63 63  ,..  LPDWORD pcc
e450: 68 42 75 66 66 65 72 29 3b 0d 0a 2f 2f 20 23 69  hBuffer);..// #i
e460: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f  fdef UNICODE..//
e470: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
e480: 0a 61 6c 69 61 73 20 47 65 74 44 65 66 61 75 6c  .alias GetDefaul
e490: 74 50 72 69 6e 74 65 72 41 20 47 65 74 44 65 66  tPrinterA GetDef
e4a0: 61 75 6c 74 50 72 69 6e 74 65 72 3b 0d 0a 2f 2f  aultPrinter;..//
e4b0: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
e4c0: 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
e4d0: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
e4e0: 4f 4c 20 53 65 74 44 65 66 61 75 6c 74 50 72 69  OL SetDefaultPri
e4f0: 6e 74 65 72 41 28 0d 0a 20 20 4c 50 43 53 54 52  nterA(..  LPCSTR
e500: 20 70 73 7a 50 72 69 6e 74 65 72 29 3b 0d 0a 65   pszPrinter);..e
e510: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
e520: 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74 44 65  xport BOOL SetDe
e530: 66 61 75 6c 74 50 72 69 6e 74 65 72 57 28 0d 0a  faultPrinterW(..
e540: 20 20 4c 50 43 57 53 54 52 20 70 73 7a 50 72 69    LPCWSTR pszPri
e550: 6e 74 65 72 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  nter);..// #ifde
e560: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
e570: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
e580: 69 61 73 20 53 65 74 44 65 66 61 75 6c 74 50 72  ias SetDefaultPr
e590: 69 6e 74 65 72 41 20 53 65 74 44 65 66 61 75 6c  interA SetDefaul
e5a0: 74 50 72 69 6e 74 65 72 3b 0d 0a 2f 2f 20 23 65  tPrinter;..// #e
e5b0: 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
e5c0: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
e5d0: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
e5e0: 53 65 74 50 6f 72 74 41 28 0d 0a 20 20 4c 50 53  SetPortA(..  LPS
e5f0: 54 52 20 70 4e 61 6d 65 2c 0d 0a 20 20 4c 50 53  TR pName,..  LPS
e600: 54 52 20 70 50 6f 72 74 4e 61 6d 65 2c 0d 0a 20  TR pPortName,.. 
e610: 20 44 57 4f 52 44 20 64 77 4c 65 76 65 6c 2c 0d   DWORD dwLevel,.
e620: 0a 20 20 4c 50 42 59 54 45 20 70 50 6f 72 74 49  .  LPBYTE pPortI
e630: 6e 66 6f 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28  nfo..);..extern(
e640: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
e650: 42 4f 4f 4c 20 53 65 74 50 6f 72 74 57 28 0d 0a  BOOL SetPortW(..
e660: 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65 2c 0d    LPWSTR pName,.
e670: 0a 20 20 4c 50 57 53 54 52 20 70 50 6f 72 74 4e  .  LPWSTR pPortN
e680: 61 6d 65 2c 0d 0a 20 20 44 57 4f 52 44 20 64 77  ame,..  DWORD dw
e690: 4c 65 76 65 6c 2c 0d 0a 20 20 4c 50 42 59 54 45  Level,..  LPBYTE
e6a0: 20 70 50 6f 72 74 49 6e 66 6f 0d 0a 29 3b 0d 0a   pPortInfo..);..
e6b0: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
e6c0: 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  E..// #.....// #
e6d0: 65 6c 73 65 0d 0a 61 6c 69 61 73 20 53 65 74 50  else..alias SetP
e6e0: 6f 72 74 41 20 53 65 74 50 6f 72 74 3b 0d 0a 2f  ortA SetPort;../
e6f0: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
e700: 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
e710: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
e720: 4f 4f 4c 20 41 64 64 50 72 69 6e 74 65 72 43 6f  OOL AddPrinterCo
e730: 6e 6e 65 63 74 69 6f 6e 41 28 0d 0a 20 20 4c 50  nnectionA(..  LP
e740: 53 54 52 20 70 4e 61 6d 65 0d 0a 29 3b 0d 0a 65  STR pName..);..e
e750: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
e760: 78 70 6f 72 74 20 42 4f 4f 4c 20 41 64 64 50 72  xport BOOL AddPr
e770: 69 6e 74 65 72 43 6f 6e 6e 65 63 74 69 6f 6e 57  interConnectionW
e780: 28 0d 0a 20 20 4c 50 57 53 54 52 20 70 4e 61 6d  (..  LPWSTR pNam
e790: 65 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  e..);..// #ifdef
e7a0: 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
e7b0: 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
e7c0: 61 73 20 41 64 64 50 72 69 6e 74 65 72 43 6f 6e  as AddPrinterCon
e7d0: 6e 65 63 74 69 6f 6e 41 20 41 64 64 50 72 69 6e  nectionA AddPrin
e7e0: 74 65 72 43 6f 6e 6e 65 63 74 69 6f 6e 3b 0d 0a  terConnection;..
e7f0: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
e800: 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
e810: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
e820: 42 4f 4f 4c 20 44 65 6c 65 74 65 50 72 69 6e 74  BOOL DeletePrint
e830: 65 72 43 6f 6e 6e 65 63 74 69 6f 6e 41 28 0d 0a  erConnectionA(..
e840: 20 20 4c 50 53 54 52 20 70 4e 61 6d 65 0d 0a 29    LPSTR pName..)
e850: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
e860: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44  s) export BOOL D
e870: 65 6c 65 74 65 50 72 69 6e 74 65 72 43 6f 6e 6e  eletePrinterConn
e880: 65 63 74 69 6f 6e 57 28 0d 0a 20 20 4c 50 57 53  ectionW(..  LPWS
e890: 54 52 20 70 4e 61 6d 65 0d 0a 29 3b 0d 0a 2f 2f  TR pName..);..//
e8a0: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
e8b0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c  .// #.....// #el
e8c0: 73 65 0d 0a 61 6c 69 61 73 20 44 65 6c 65 74 65  se..alias Delete
e8d0: 50 72 69 6e 74 65 72 43 6f 6e 6e 65 63 74 69 6f  PrinterConnectio
e8e0: 6e 41 20 44 65 6c 65 74 65 50 72 69 6e 74 65 72  nA DeletePrinter
e8f0: 43 6f 6e 6e 65 63 74 69 6f 6e 3b 0d 0a 2f 2f 20  Connection;..// 
e900: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
e910: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
e920: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 41 4e  dows) export HAN
e930: 44 4c 45 20 43 6f 6e 6e 65 63 74 54 6f 50 72 69  DLE ConnectToPri
e940: 6e 74 65 72 44 6c 67 28 0d 0a 20 20 48 57 4e 44  nterDlg(..  HWND
e950: 20 68 77 6e 64 2c 0d 0a 20 20 44 57 4f 52 44 20   hwnd,..  DWORD 
e960: 46 6c 61 67 73 0d 0a 29 3b 0d 0a 0d 0a 73 74 72  Flags..);....str
e970: 75 63 74 20 5f 50 52 4f 56 49 44 4f 52 5f 49 4e  uct _PROVIDOR_IN
e980: 46 4f 5f 31 41 20 7b 0d 0a 20 20 4c 50 53 54 52  FO_1A {..  LPSTR
e990: 20 70 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52   pName;..  LPSTR
e9a0: 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 3b 0d 0a   pEnvironment;..
e9b0: 20 20 4c 50 53 54 52 20 70 44 4c 4c 4e 61 6d 65    LPSTR pDLLName
e9c0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 4f  ;..}..alias _PRO
e9d0: 56 49 44 4f 52 5f 49 4e 46 4f 5f 31 41 20 50 52  VIDOR_INFO_1A PR
e9e0: 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 31 41 3b 0d  OVIDOR_INFO_1A;.
e9f0: 0a 61 6c 69 61 73 20 5f 50 52 4f 56 49 44 4f 52  .alias _PROVIDOR
ea00: 5f 49 4e 46 4f 5f 31 41 2a 20 50 50 52 4f 56 49  _INFO_1A* PPROVI
ea10: 44 4f 52 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 61 6c  DOR_INFO_1A;..al
ea20: 69 61 73 20 5f 50 52 4f 56 49 44 4f 52 5f 49 4e  ias _PROVIDOR_IN
ea30: 46 4f 5f 31 41 2a 20 4c 50 50 52 4f 56 49 44 4f  FO_1A* LPPROVIDO
ea40: 52 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 0d 0a 73 74  R_INFO_1A;....st
ea50: 72 75 63 74 20 5f 50 52 4f 56 49 44 4f 52 5f 49  ruct _PROVIDOR_I
ea60: 4e 46 4f 5f 31 57 20 7b 0d 0a 20 20 4c 50 57 53  NFO_1W {..  LPWS
ea70: 54 52 20 70 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57  TR pName;..  LPW
ea80: 53 54 52 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74  STR pEnvironment
ea90: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44 4c 4c  ;..  LPWSTR pDLL
eaa0: 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  Name;..}..alias 
eab0: 5f 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 31  _PROVIDOR_INFO_1
eac0: 57 20 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f  W PROVIDOR_INFO_
ead0: 31 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 56  1W;..alias _PROV
eae0: 49 44 4f 52 5f 49 4e 46 4f 5f 31 57 2a 20 50 50  IDOR_INFO_1W* PP
eaf0: 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 31 57 3b  ROVIDOR_INFO_1W;
eb00: 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 56 49 44 4f  ..alias _PROVIDO
eb10: 52 5f 49 4e 46 4f 5f 31 57 2a 20 4c 50 50 52 4f  R_INFO_1W* LPPRO
eb20: 56 49 44 4f 52 5f 49 4e 46 4f 5f 31 57 3b 0d 0a  VIDOR_INFO_1W;..
eb30: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
eb40: 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  ODE..// .....// 
eb50: 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 50 52 4f  #else..alias PRO
eb60: 56 49 44 4f 52 5f 49 4e 46 4f 5f 31 41 20 50 52  VIDOR_INFO_1A PR
eb70: 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 31 3b 0d 0a  OVIDOR_INFO_1;..
eb80: 61 6c 69 61 73 20 50 50 52 4f 56 49 44 4f 52 5f  alias PPROVIDOR_
eb90: 49 4e 46 4f 5f 31 41 20 50 50 52 4f 56 49 44 4f  INFO_1A PPROVIDO
eba0: 52 5f 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73  R_INFO_1;..alias
ebb0: 20 4c 50 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f   LPPROVIDOR_INFO
ebc0: 5f 31 41 20 4c 50 50 52 4f 56 49 44 4f 52 5f 49  _1A LPPROVIDOR_I
ebd0: 4e 46 4f 5f 31 3b 0d 0a 2f 2f 20 23 65 6e 64 69  NFO_1;..// #endi
ebe0: 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a  f // UNICODE....
ebf0: 73 74 72 75 63 74 20 5f 50 52 4f 56 49 44 4f 52  struct _PROVIDOR
ec00: 5f 49 4e 46 4f 5f 32 41 20 7b 0d 0a 20 20 4c 50  _INFO_2A {..  LP
ec10: 53 54 52 20 70 4f 72 64 65 72 3b 0d 0a 7d 0d 0a  STR pOrder;..}..
ec20: 61 6c 69 61 73 20 5f 50 52 4f 56 49 44 4f 52 5f  alias _PROVIDOR_
ec30: 49 4e 46 4f 5f 32 41 20 50 52 4f 56 49 44 4f 52  INFO_2A PROVIDOR
ec40: 5f 49 4e 46 4f 5f 32 41 3b 0d 0a 61 6c 69 61 73  _INFO_2A;..alias
ec50: 20 5f 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f   _PROVIDOR_INFO_
ec60: 32 41 2a 20 50 50 52 4f 56 49 44 4f 52 5f 49 4e  2A* PPROVIDOR_IN
ec70: 46 4f 5f 32 41 3b 0d 0a 61 6c 69 61 73 20 5f 50  FO_2A;..alias _P
ec80: 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 32 41 2a  ROVIDOR_INFO_2A*
ec90: 20 4c 50 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f   LPPROVIDOR_INFO
eca0: 5f 32 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  _2A;....struct _
ecb0: 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 32 57  PROVIDOR_INFO_2W
ecc0: 20 7b 0d 0a 20 20 4c 50 57 53 54 52 20 70 4f 72   {..  LPWSTR pOr
ecd0: 64 65 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  der;..}..alias _
ece0: 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 32 57  PROVIDOR_INFO_2W
ecf0: 20 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 32   PROVIDOR_INFO_2
ed00: 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 56 49  W;..alias _PROVI
ed10: 44 4f 52 5f 49 4e 46 4f 5f 32 57 2a 20 50 50 52  DOR_INFO_2W* PPR
ed20: 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 32 57 3b 0d  OVIDOR_INFO_2W;.
ed30: 0a 61 6c 69 61 73 20 5f 50 52 4f 56 49 44 4f 52  .alias _PROVIDOR
ed40: 5f 49 4e 46 4f 5f 32 57 2a 20 4c 50 50 52 4f 56  _INFO_2W* LPPROV
ed50: 49 44 4f 52 5f 49 4e 46 4f 5f 32 57 3b 0d 0a 0d  IDOR_INFO_2W;...
ed60: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
ed70: 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  DE..// .....// #
ed80: 65 6c 73 65 0d 0a 61 6c 69 61 73 20 50 52 4f 56  else..alias PROV
ed90: 49 44 4f 52 5f 49 4e 46 4f 5f 32 41 20 50 52 4f  IDOR_INFO_2A PRO
eda0: 56 49 44 4f 52 5f 49 4e 46 4f 5f 32 3b 0d 0a 61  VIDOR_INFO_2;..a
edb0: 6c 69 61 73 20 50 50 52 4f 56 49 44 4f 52 5f 49  lias PPROVIDOR_I
edc0: 4e 46 4f 5f 32 41 20 50 50 52 4f 56 49 44 4f 52  NFO_2A PPROVIDOR
edd0: 5f 49 4e 46 4f 5f 32 3b 0d 0a 61 6c 69 61 73 20  _INFO_2;..alias 
ede0: 4c 50 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f  LPPROVIDOR_INFO_
edf0: 32 41 20 4c 50 50 52 4f 56 49 44 4f 52 5f 49 4e  2A LPPROVIDOR_IN
ee00: 46 4f 5f 32 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66  FO_2;..// #endif
ee10: 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65   // UNICODE....e
ee20: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
ee30: 78 70 6f 72 74 20 42 4f 4f 4c 20 41 64 64 50 72  xport BOOL AddPr
ee40: 69 6e 74 50 72 6f 76 69 64 6f 72 41 28 0d 0a 20  intProvidorA(.. 
ee50: 20 4c 50 53 54 52 20 70 4e 61 6d 65 2c 0d 0a 20   LPSTR pName,.. 
ee60: 20 44 57 4f 52 44 20 6c 65 76 65 6c 2c 0d 0a 20   DWORD level,.. 
ee70: 20 4c 50 42 59 54 45 20 70 50 72 6f 76 69 64 6f   LPBYTE pProvido
ee80: 72 49 6e 66 6f 0d 0a 29 3b 0d 0a 65 78 74 65 72  rInfo..);..exter
ee90: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
eea0: 74 20 42 4f 4f 4c 20 41 64 64 50 72 69 6e 74 50  t BOOL AddPrintP
eeb0: 72 6f 76 69 64 6f 72 57 28 0d 0a 20 20 4c 50 57  rovidorW(..  LPW
eec0: 53 54 52 20 70 4e 61 6d 65 2c 0d 0a 20 20 44 57  STR pName,..  DW
eed0: 4f 52 44 20 6c 65 76 65 6c 2c 0d 0a 20 20 4c 50  ORD level,..  LP
eee0: 42 59 54 45 20 70 50 72 6f 76 69 64 6f 72 49 6e  BYTE pProvidorIn
eef0: 66 6f 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  fo..);..// #ifde
ef00: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
ef10: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
ef20: 69 61 73 20 41 64 64 50 72 69 6e 74 50 72 6f 76  ias AddPrintProv
ef30: 69 64 6f 72 41 20 41 64 64 50 72 69 6e 74 50 72  idorA AddPrintPr
ef40: 6f 76 69 64 6f 72 3b 0d 0a 2f 2f 20 23 65 6e 64  ovidor;..// #end
ef50: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
ef60: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
ef70: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44 65  ) export BOOL De
ef80: 6c 65 74 65 50 72 69 6e 74 50 72 6f 76 69 64 6f  letePrintProvido
ef90: 72 41 28 0d 0a 20 20 4c 50 53 54 52 20 70 4e 61  rA(..  LPSTR pNa
efa0: 6d 65 2c 0d 0a 20 20 4c 50 53 54 52 20 70 45 6e  me,..  LPSTR pEn
efb0: 76 69 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 4c 50  vironment,..  LP
efc0: 53 54 52 20 70 50 72 69 6e 74 50 72 6f 76 69 64  STR pPrintProvid
efd0: 6f 72 4e 61 6d 65 0d 0a 29 3b 0d 0a 65 78 74 65  orName..);..exte
efe0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
eff0: 72 74 20 42 4f 4f 4c 20 44 65 6c 65 74 65 50 72  rt BOOL DeletePr
f000: 69 6e 74 50 72 6f 76 69 64 6f 72 57 28 0d 0a 20  intProvidorW(.. 
f010: 20 4c 50 57 53 54 52 20 70 4e 61 6d 65 2c 0d 0a   LPWSTR pName,..
f020: 20 20 4c 50 57 53 54 52 20 70 45 6e 76 69 72 6f    LPWSTR pEnviro
f030: 6e 6d 65 6e 74 2c 0d 0a 20 20 4c 50 57 53 54 52  nment,..  LPWSTR
f040: 20 70 50 72 69 6e 74 50 72 6f 76 69 64 6f 72 4e   pPrintProvidorN
f050: 61 6d 65 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64  ame..);..// #ifd
f060: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23  ef UNICODE..// #
f070: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61  .....// #else..a
f080: 6c 69 61 73 20 44 65 6c 65 74 65 50 72 69 6e 74  lias DeletePrint
f090: 50 72 6f 76 69 64 6f 72 41 20 44 65 6c 65 74 65  ProvidorA Delete
f0a0: 50 72 69 6e 74 50 72 6f 76 69 64 6f 72 3b 0d 0a  PrintProvidor;..
f0b0: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
f0c0: 49 43 4f 44 45 0d 0a 0d 0a 63 6f 6e 73 74 20 54  ICODE....const T
f0d0: 43 48 41 52 5b 5d 20 53 50 4c 52 45 47 5f 44 45  CHAR[] SPLREG_DE
f0e0: 46 41 55 4c 54 5f 53 50 4f 4f 4c 5f 44 49 52 45  FAULT_SPOOL_DIRE
f0f0: 43 54 4f 52 59 20 3d 20 22 44 65 66 61 75 6c 74  CTORY = "Default
f100: 53 70 6f 6f 6c 44 69 72 65 63 74 6f 72 79 22 3b  SpoolDirectory";
f110: 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20  ..const TCHAR[] 
f120: 53 50 4c 52 45 47 5f 50 4f 52 54 5f 54 48 52 45  SPLREG_PORT_THRE
f130: 41 44 5f 50 52 49 4f 52 49 54 59 5f 44 45 46 41  AD_PRIORITY_DEFA
f140: 55 4c 54 20 3d 20 22 50 6f 72 74 54 68 72 65 61  ULT = "PortThrea
f150: 64 50 72 69 6f 72 69 74 79 44 65 66 61 75 6c 74  dPriorityDefault
f160: 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
f170: 5d 20 53 50 4c 52 45 47 5f 50 4f 52 54 5f 54 48  ] SPLREG_PORT_TH
f180: 52 45 41 44 5f 50 52 49 4f 52 49 54 59 20 3d 20  READ_PRIORITY = 
f190: 22 50 6f 72 74 54 68 72 65 61 64 50 72 69 6f 72  "PortThreadPrior
f1a0: 69 74 79 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48  ity";..const TCH
f1b0: 41 52 5b 5d 20 53 50 4c 52 45 47 5f 53 43 48 45  AR[] SPLREG_SCHE
f1c0: 44 55 4c 45 52 5f 54 48 52 45 41 44 5f 50 52 49  DULER_THREAD_PRI
f1d0: 4f 52 49 54 59 5f 44 45 46 41 55 4c 54 20 3d 20  ORITY_DEFAULT = 
f1e0: 22 53 63 68 65 64 75 6c 65 72 54 68 72 65 61 64  "SchedulerThread
f1f0: 50 72 69 6f 72 69 74 79 44 65 66 61 75 6c 74 22  PriorityDefault"
f200: 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d  ;..const TCHAR[]
f210: 20 53 50 4c 52 45 47 5f 53 43 48 45 44 55 4c 45   SPLREG_SCHEDULE
f220: 52 5f 54 48 52 45 41 44 5f 50 52 49 4f 52 49 54  R_THREAD_PRIORIT
f230: 59 20 3d 20 22 53 63 68 65 64 75 6c 65 72 54 68  Y = "SchedulerTh
f240: 72 65 61 64 50 72 69 6f 72 69 74 79 22 3b 0d 0a  readPriority";..
f250: 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50  const TCHAR[] SP
f260: 4c 52 45 47 5f 42 45 45 50 5f 45 4e 41 42 4c 45  LREG_BEEP_ENABLE
f270: 44 20 3d 20 22 42 65 65 70 45 6e 61 62 6c 65 64  D = "BeepEnabled
f280: 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
f290: 5d 20 53 50 4c 52 45 47 5f 4e 45 54 5f 50 4f 50  ] SPLREG_NET_POP
f2a0: 55 50 20 3d 20 22 4e 65 74 50 6f 70 75 70 22 3b  UP = "NetPopup";
f2b0: 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20  ..const TCHAR[] 
f2c0: 53 50 4c 52 45 47 5f 52 45 54 52 59 5f 50 4f 50  SPLREG_RETRY_POP
f2d0: 55 50 20 3d 20 22 52 65 74 72 79 50 6f 70 75 70  UP = "RetryPopup
f2e0: 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
f2f0: 5d 20 53 50 4c 52 45 47 5f 4e 45 54 5f 50 4f 50  ] SPLREG_NET_POP
f300: 55 50 5f 54 4f 5f 43 4f 4d 50 55 54 45 52 20 3d  UP_TO_COMPUTER =
f310: 20 22 4e 65 74 50 6f 70 75 70 54 6f 43 6f 6d 70   "NetPopupToComp
f320: 75 74 65 72 22 3b 0d 0a 63 6f 6e 73 74 20 54 43  uter";..const TC
f330: 48 41 52 5b 5d 20 53 50 4c 52 45 47 5f 45 56 45  HAR[] SPLREG_EVE
f340: 4e 54 5f 4c 4f 47 20 3d 20 22 45 76 65 6e 74 4c  NT_LOG = "EventL
f350: 6f 67 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41  og";..const TCHA
f360: 52 5b 5d 20 53 50 4c 52 45 47 5f 4d 41 4a 4f 52  R[] SPLREG_MAJOR
f370: 5f 56 45 52 53 49 4f 4e 20 3d 20 22 4d 61 6a 6f  _VERSION = "Majo
f380: 72 56 65 72 73 69 6f 6e 22 3b 0d 0a 63 6f 6e 73  rVersion";..cons
f390: 74 20 54 43 48 41 52 5b 5d 20 53 50 4c 52 45 47  t TCHAR[] SPLREG
f3a0: 5f 4d 49 4e 4f 52 5f 56 45 52 53 49 4f 4e 20 3d  _MINOR_VERSION =
f3b0: 20 22 4d 69 6e 6f 72 56 65 72 73 69 6f 6e 22 3b   "MinorVersion";
f3c0: 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20  ..const TCHAR[] 
f3d0: 53 50 4c 52 45 47 5f 41 52 43 48 49 54 45 43 54  SPLREG_ARCHITECT
f3e0: 55 52 45 20 3d 20 22 41 72 63 68 69 74 65 63 74  URE = "Architect
f3f0: 75 72 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48  ure";..const TCH
f400: 41 52 5b 5d 20 53 50 4c 52 45 47 5f 4f 53 5f 56  AR[] SPLREG_OS_V
f410: 45 52 53 49 4f 4e 20 3d 20 22 4f 53 56 65 72 73  ERSION = "OSVers
f420: 69 6f 6e 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48  ion";..const TCH
f430: 41 52 5b 5d 20 53 50 4c 52 45 47 5f 4f 53 5f 56  AR[] SPLREG_OS_V
f440: 45 52 53 49 4f 4e 45 58 20 3d 20 22 4f 53 56 65  ERSIONEX = "OSVe
f450: 72 73 69 6f 6e 45 78 22 3b 0d 0a 63 6f 6e 73 74  rsionEx";..const
f460: 20 54 43 48 41 52 5b 5d 20 53 50 4c 52 45 47 5f   TCHAR[] SPLREG_
f470: 44 53 5f 50 52 45 53 45 4e 54 20 3d 20 22 44 73  DS_PRESENT = "Ds
f480: 50 72 65 73 65 6e 74 22 3b 0d 0a 63 6f 6e 73 74  Present";..const
f490: 20 54 43 48 41 52 5b 5d 20 53 50 4c 52 45 47 5f   TCHAR[] SPLREG_
f4a0: 44 53 5f 50 52 45 53 45 4e 54 5f 46 4f 52 5f 55  DS_PRESENT_FOR_U
f4b0: 53 45 52 20 3d 20 22 44 73 50 72 65 73 65 6e 74  SER = "DsPresent
f4c0: 46 6f 72 55 73 65 72 22 3b 0d 0a 63 6f 6e 73 74  ForUser";..const
f4d0: 20 54 43 48 41 52 5b 5d 20 53 50 4c 52 45 47 5f   TCHAR[] SPLREG_
f4e0: 52 45 4d 4f 54 45 5f 46 41 58 20 3d 20 22 52 65  REMOTE_FAX = "Re
f4f0: 6d 6f 74 65 46 61 78 22 3b 0d 0a 63 6f 6e 73 74  moteFax";..const
f500: 20 54 43 48 41 52 5b 5d 20 53 50 4c 52 45 47 5f   TCHAR[] SPLREG_
f510: 52 45 53 54 41 52 54 5f 4a 4f 42 5f 4f 4e 5f 50  RESTART_JOB_ON_P
f520: 4f 4f 4c 5f 45 52 52 4f 52 20 3d 20 22 52 65 73  OOL_ERROR = "Res
f530: 74 61 72 74 4a 6f 62 4f 6e 50 6f 6f 6c 45 72 72  tartJobOnPoolErr
f540: 6f 72 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41  or";..const TCHA
f550: 52 5b 5d 20 53 50 4c 52 45 47 5f 52 45 53 54 41  R[] SPLREG_RESTA
f560: 52 54 5f 4a 4f 42 5f 4f 4e 5f 50 4f 4f 4c 5f 45  RT_JOB_ON_POOL_E
f570: 4e 41 42 4c 45 44 20 3d 20 22 52 65 73 74 61 72  NABLED = "Restar
f580: 74 4a 6f 62 4f 6e 50 6f 6f 6c 45 6e 61 62 6c 65  tJobOnPoolEnable
f590: 64 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  d";..const TCHAR
f5a0: 5b 5d 20 53 50 4c 52 45 47 5f 44 4e 53 5f 4d 41  [] SPLREG_DNS_MA
f5b0: 43 48 49 4e 45 5f 4e 41 4d 45 20 3d 20 22 44 4e  CHINE_NAME = "DN
f5c0: 53 4d 61 63 68 69 6e 65 4e 61 6d 65 22 3b 0d 0a  SMachineName";..
f5d0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
f5e0: 53 45 52 56 45 52 5f 41 43 43 45 53 53 5f 41 44  SERVER_ACCESS_AD
f5f0: 4d 49 4e 49 53 54 45 52 20 3d 20 30 78 30 30 30  MINISTER = 0x000
f600: 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00001 }..enum : 
f610: 75 69 6e 74 20 7b 20 53 45 52 56 45 52 5f 41 43  uint { SERVER_AC
f620: 43 45 53 53 5f 45 4e 55 4d 45 52 41 54 45 20 3d  CESS_ENUMERATE =
f630: 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 0d   0x00000002 }...
f640: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
f650: 52 49 4e 54 45 52 5f 41 43 43 45 53 53 5f 41 44  RINTER_ACCESS_AD
f660: 4d 49 4e 49 53 54 45 52 20 3d 20 30 78 30 30 30  MINISTER = 0x000
f670: 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00004 }..enum : 
f680: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 41  uint { PRINTER_A
f690: 43 43 45 53 53 5f 55 53 45 20 3d 20 30 78 30 30  CCESS_USE = 0x00
f6a0: 30 30 30 30 30 38 20 7d 0d 0a 0d 0a 65 6e 75 6d  000008 }....enum
f6b0: 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 41 43   : uint { JOB_AC
f6c0: 43 45 53 53 5f 41 44 4d 49 4e 49 53 54 45 52 20  CESS_ADMINISTER 
f6d0: 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a  = 0x00000010 }..
f6e0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
f6f0: 53 45 52 56 45 52 5f 41 4c 4c 5f 41 43 43 45 53  SERVER_ALL_ACCES
f700: 53 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47  S = STANDARD_RIG
f710: 48 54 53 5f 52 45 51 55 49 52 45 44 20 7c 20 53  HTS_REQUIRED | S
f720: 45 52 56 45 52 5f 41 43 43 45 53 53 5f 41 44 4d  ERVER_ACCESS_ADM
f730: 49 4e 49 53 54 45 52 20 7c 20 53 45 52 56 45 52  INISTER | SERVER
f740: 5f 41 43 43 45 53 53 5f 45 4e 55 4d 45 52 41 54  _ACCESS_ENUMERAT
f750: 45 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  E }....enum : ui
f760: 6e 74 20 7b 20 53 45 52 56 45 52 5f 52 45 41 44  nt { SERVER_READ
f770: 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48   = STANDARD_RIGH
f780: 54 53 5f 52 45 41 44 20 7c 20 53 45 52 56 45 52  TS_READ | SERVER
f790: 5f 41 43 43 45 53 53 5f 45 4e 55 4d 45 52 41 54  _ACCESS_ENUMERAT
f7a0: 45 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  E }....enum : ui
f7b0: 6e 74 20 7b 20 53 45 52 56 45 52 5f 57 52 49 54  nt { SERVER_WRIT
f7c0: 45 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47  E = STANDARD_RIG
f7d0: 48 54 53 5f 57 52 49 54 45 20 7c 20 53 45 52 56  HTS_WRITE | SERV
f7e0: 45 52 5f 41 43 43 45 53 53 5f 41 44 4d 49 4e 49  ER_ACCESS_ADMINI
f7f0: 53 54 45 52 20 7c 20 53 45 52 56 45 52 5f 41 43  STER | SERVER_AC
f800: 43 45 53 53 5f 45 4e 55 4d 45 52 41 54 45 20 7d  CESS_ENUMERATE }
f810: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
f820: 7b 20 53 45 52 56 45 52 5f 45 58 45 43 55 54 45  { SERVER_EXECUTE
f830: 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48   = STANDARD_RIGH
f840: 54 53 5f 45 58 45 43 55 54 45 20 7c 20 53 45 52  TS_EXECUTE | SER
f850: 56 45 52 5f 41 43 43 45 53 53 5f 45 4e 55 4d 45  VER_ACCESS_ENUME
f860: 52 41 54 45 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  RATE }....enum :
f870: 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f   uint { PRINTER_
f880: 41 4c 4c 5f 41 43 43 45 53 53 20 3d 20 53 54 41  ALL_ACCESS = STA
f890: 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45 51  NDARD_RIGHTS_REQ
f8a0: 55 49 52 45 44 20 7c 20 50 52 49 4e 54 45 52 5f  UIRED | PRINTER_
f8b0: 41 43 43 45 53 53 5f 41 44 4d 49 4e 49 53 54 45  ACCESS_ADMINISTE
f8c0: 52 20 7c 20 50 52 49 4e 54 45 52 5f 41 43 43 45  R | PRINTER_ACCE
f8d0: 53 53 5f 55 53 45 20 7d 0d 0a 0d 0a 65 6e 75 6d  SS_USE }....enum
f8e0: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
f8f0: 52 5f 52 45 41 44 20 3d 20 53 54 41 4e 44 41 52  R_READ = STANDAR
f900: 44 5f 52 49 47 48 54 53 5f 52 45 41 44 20 7c 20  D_RIGHTS_READ | 
f910: 50 52 49 4e 54 45 52 5f 41 43 43 45 53 53 5f 55  PRINTER_ACCESS_U
f920: 53 45 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  SE }....enum : u
f930: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 57 52  int { PRINTER_WR
f940: 49 54 45 20 3d 20 53 54 41 4e 44 41 52 44 5f 52  ITE = STANDARD_R
f950: 49 47 48 54 53 5f 57 52 49 54 45 20 7c 20 50 52  IGHTS_WRITE | PR
f960: 49 4e 54 45 52 5f 41 43 43 45 53 53 5f 55 53 45  INTER_ACCESS_USE
f970: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
f980: 74 20 7b 20 50 52 49 4e 54 45 52 5f 45 58 45 43  t { PRINTER_EXEC
f990: 55 54 45 20 3d 20 53 54 41 4e 44 41 52 44 5f 52  UTE = STANDARD_R
f9a0: 49 47 48 54 53 5f 45 58 45 43 55 54 45 20 7c 20  IGHTS_EXECUTE | 
f9b0: 50 52 49 4e 54 45 52 5f 41 43 43 45 53 53 5f 55  PRINTER_ACCESS_U
f9c0: 53 45 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  SE }....enum : u
f9d0: 69 6e 74 20 7b 20 4a 4f 42 5f 41 4c 4c 5f 41 43  int { JOB_ALL_AC
f9e0: 43 45 53 53 20 3d 20 53 54 41 4e 44 41 52 44 5f  CESS = STANDARD_
f9f0: 52 49 47 48 54 53 5f 52 45 51 55 49 52 45 44 20  RIGHTS_REQUIRED 
fa00: 7c 20 4a 4f 42 5f 41 43 43 45 53 53 5f 41 44 4d  | JOB_ACCESS_ADM
fa10: 49 4e 49 53 54 45 52 20 7d 0d 0a 0d 0a 65 6e 75  INISTER }....enu
fa20: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 52  m : uint { JOB_R
fa30: 45 41 44 20 3d 20 53 54 41 4e 44 41 52 44 5f 52  EAD = STANDARD_R
fa40: 49 47 48 54 53 5f 52 45 41 44 20 7c 20 4a 4f 42  IGHTS_READ | JOB
fa50: 5f 41 43 43 45 53 53 5f 41 44 4d 49 4e 49 53 54  _ACCESS_ADMINIST
fa60: 45 52 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  ER }....enum : u
fa70: 69 6e 74 20 7b 20 4a 4f 42 5f 57 52 49 54 45 20  int { JOB_WRITE 
fa80: 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54  = STANDARD_RIGHT
fa90: 53 5f 57 52 49 54 45 20 7c 20 4a 4f 42 5f 41 43  S_WRITE | JOB_AC
faa0: 43 45 53 53 5f 41 44 4d 49 4e 49 53 54 45 52 20  CESS_ADMINISTER 
fab0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
fac0: 20 7b 20 4a 4f 42 5f 45 58 45 43 55 54 45 20 3d   { JOB_EXECUTE =
fad0: 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53   STANDARD_RIGHTS
fae0: 5f 45 58 45 43 55 54 45 20 7c 20 4a 4f 42 5f 41  _EXECUTE | JOB_A
faf0: 43 43 45 53 53 5f 41 44 4d 49 4e 49 53 54 45 52  CCESS_ADMINISTER
fb00: 20 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 54 43 48 41   }....const TCHA
fb10: 52 5b 5d 20 53 50 4c 44 53 5f 53 50 4f 4f 4c 45  R[] SPLDS_SPOOLE
fb20: 52 5f 4b 45 59 20 3d 20 22 44 73 53 70 6f 6f 6c  R_KEY = "DsSpool
fb30: 65 72 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41  er";..const TCHA
fb40: 52 5b 5d 20 53 50 4c 44 53 5f 44 52 49 56 45 52  R[] SPLDS_DRIVER
fb50: 5f 4b 45 59 20 3d 20 22 44 73 44 72 69 76 65 72  _KEY = "DsDriver
fb60: 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
fb70: 5d 20 53 50 4c 44 53 5f 55 53 45 52 5f 4b 45 59  ] SPLDS_USER_KEY
fb80: 20 3d 20 22 44 73 55 73 65 72 22 3b 0d 0a 0d 0a   = "DsUser";....
fb90: 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50  const TCHAR[] SP
fba0: 4c 44 53 5f 41 53 53 45 54 5f 4e 55 4d 42 45 52  LDS_ASSET_NUMBER
fbb0: 20 3d 20 22 61 73 73 65 74 4e 75 6d 62 65 72 22   = "assetNumber"
fbc0: 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d  ;..const TCHAR[]
fbd0: 20 53 50 4c 44 53 5f 42 59 54 45 53 5f 50 45 52   SPLDS_BYTES_PER
fbe0: 5f 4d 49 4e 55 54 45 20 3d 20 22 62 79 74 65 73  _MINUTE = "bytes
fbf0: 50 65 72 4d 69 6e 75 74 65 22 3b 0d 0a 63 6f 6e  PerMinute";..con
fc00: 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c 44 53  st TCHAR[] SPLDS
fc10: 5f 44 45 53 43 52 49 50 54 49 4f 4e 20 3d 20 22  _DESCRIPTION = "
fc20: 64 65 73 63 72 69 70 74 69 6f 6e 22 3b 0d 0a 63  description";..c
fc30: 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c  onst TCHAR[] SPL
fc40: 44 53 5f 44 52 49 56 45 52 5f 4e 41 4d 45 20 3d  DS_DRIVER_NAME =
fc50: 20 22 64 72 69 76 65 72 4e 61 6d 65 22 3b 0d 0a   "driverName";..
fc60: 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50  const TCHAR[] SP
fc70: 4c 44 53 5f 44 52 49 56 45 52 5f 56 45 52 53 49  LDS_DRIVER_VERSI
fc80: 4f 4e 20 3d 20 22 64 72 69 76 65 72 56 65 72 73  ON = "driverVers
fc90: 69 6f 6e 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48  ion";..const TCH
fca0: 41 52 5b 5d 20 53 50 4c 44 53 5f 4c 4f 43 41 54  AR[] SPLDS_LOCAT
fcb0: 49 4f 4e 20 3d 20 22 6c 6f 63 61 74 69 6f 6e 22  ION = "location"
fcc0: 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d  ;..const TCHAR[]
fcd0: 20 53 50 4c 44 53 5f 50 4f 52 54 5f 4e 41 4d 45   SPLDS_PORT_NAME
fce0: 20 3d 20 22 70 6f 72 74 4e 61 6d 65 22 3b 0d 0a   = "portName";..
fcf0: 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50  const TCHAR[] SP
fd00: 4c 44 53 5f 50 52 49 4e 54 5f 41 54 54 52 49 42  LDS_PRINT_ATTRIB
fd10: 55 54 45 53 20 3d 20 22 70 72 69 6e 74 41 74 74  UTES = "printAtt
fd20: 72 69 62 75 74 65 73 22 3b 0d 0a 63 6f 6e 73 74  ributes";..const
fd30: 20 54 43 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50   TCHAR[] SPLDS_P
fd40: 52 49 4e 54 5f 42 49 4e 5f 4e 41 4d 45 53 20 3d  RINT_BIN_NAMES =
fd50: 20 22 70 72 69 6e 74 42 69 6e 4e 61 6d 65 73 22   "printBinNames"
fd60: 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d  ;..const TCHAR[]
fd70: 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f 43 4f 4c   SPLDS_PRINT_COL
fd80: 4c 41 54 45 20 3d 20 22 70 72 69 6e 74 43 6f 6c  LATE = "printCol
fd90: 6c 61 74 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43  late";..const TC
fda0: 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e  HAR[] SPLDS_PRIN
fdb0: 54 5f 43 4f 4c 4f 52 20 3d 20 22 70 72 69 6e 74  T_COLOR = "print
fdc0: 43 6f 6c 6f 72 22 3b 0d 0a 63 6f 6e 73 74 20 54  Color";..const T
fdd0: 43 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49  CHAR[] SPLDS_PRI
fde0: 4e 54 5f 44 55 50 4c 45 58 5f 53 55 50 50 4f 52  NT_DUPLEX_SUPPOR
fdf0: 54 45 44 20 3d 20 22 70 72 69 6e 74 44 75 70 6c  TED = "printDupl
fe00: 65 78 53 75 70 70 6f 72 74 65 64 22 3b 0d 0a 63  exSupported";..c
fe10: 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c  onst TCHAR[] SPL
fe20: 44 53 5f 50 52 49 4e 54 5f 45 4e 44 5f 54 49 4d  DS_PRINT_END_TIM
fe30: 45 20 3d 20 22 70 72 69 6e 74 45 6e 64 54 69 6d  E = "printEndTim
fe40: 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  e";..const TCHAR
fe50: 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54 45 52  [] SPLDS_PRINTER
fe60: 5f 43 4c 41 53 53 20 3d 20 22 70 72 69 6e 74 51  _CLASS = "printQ
fe70: 75 65 75 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43  ueue";..const TC
fe80: 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e  HAR[] SPLDS_PRIN
fe90: 54 45 52 5f 4e 41 4d 45 20 3d 20 22 70 72 69 6e  TER_NAME = "prin
fea0: 74 65 72 4e 61 6d 65 22 3b 0d 0a 63 6f 6e 73 74  terName";..const
feb0: 20 54 43 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50   TCHAR[] SPLDS_P
fec0: 52 49 4e 54 5f 4b 45 45 50 5f 50 52 49 4e 54 45  RINT_KEEP_PRINTE
fed0: 44 5f 4a 4f 42 53 20 3d 20 22 70 72 69 6e 74 4b  D_JOBS = "printK
fee0: 65 65 70 50 72 69 6e 74 65 64 4a 6f 62 73 22 3b  eepPrintedJobs";
fef0: 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20  ..const TCHAR[] 
ff00: 53 50 4c 44 53 5f 50 52 49 4e 54 5f 4c 41 4e 47  SPLDS_PRINT_LANG
ff10: 55 41 47 45 20 3d 20 22 70 72 69 6e 74 4c 61 6e  UAGE = "printLan
ff20: 67 75 61 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54  guage";..const T
ff30: 43 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49  CHAR[] SPLDS_PRI
ff40: 4e 54 5f 4d 41 43 5f 41 44 44 52 45 53 53 20 3d  NT_MAC_ADDRESS =
ff50: 20 22 70 72 69 6e 74 4d 41 43 41 64 64 72 65 73   "printMACAddres
ff60: 73 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  s";..const TCHAR
ff70: 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f 4d  [] SPLDS_PRINT_M
ff80: 41 58 5f 58 5f 45 58 54 45 4e 54 20 3d 20 22 70  AX_X_EXTENT = "p
ff90: 72 69 6e 74 4d 61 78 58 45 78 74 65 6e 74 22 3b  rintMaxXExtent";
ffa0: 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20  ..const TCHAR[] 
ffb0: 53 50 4c 44 53 5f 50 52 49 4e 54 5f 4d 41 58 5f  SPLDS_PRINT_MAX_
ffc0: 59 5f 45 58 54 45 4e 54 20 3d 20 22 70 72 69 6e  Y_EXTENT = "prin
ffd0: 74 4d 61 78 59 45 78 74 65 6e 74 22 3b 0d 0a 63  tMaxYExtent";..c
ffe0: 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c  onst TCHAR[] SPL
fff0: 44 53 5f 50 52 49 4e 54 5f 4d 41 58 5f 52 45 53  DS_PRINT_MAX_RES
10000 4f 4c 55 54 49 4f 4e 5f 53 55 50 50 4f 52 54 45  OLUTION_SUPPORTE
10010 44 20 3d 20 22 70 72 69 6e 74 4d 61 78 52 65 73  D = "printMaxRes
10020 6f 6c 75 74 69 6f 6e 53 75 70 70 6f 72 74 65 64  olutionSupported
10030 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
10040 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f 4d 45  ] SPLDS_PRINT_ME
10050 44 49 41 5f 52 45 41 44 59 20 3d 20 22 70 72 69  DIA_READY = "pri
10060 6e 74 4d 65 64 69 61 52 65 61 64 79 22 3b 0d 0a  ntMediaReady";..
10070 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50  const TCHAR[] SP
10080 4c 44 53 5f 50 52 49 4e 54 5f 4d 45 44 49 41 5f  LDS_PRINT_MEDIA_
10090 53 55 50 50 4f 52 54 45 44 20 3d 20 22 70 72 69  SUPPORTED = "pri
100a0 6e 74 4d 65 64 69 61 53 75 70 70 6f 72 74 65 64  ntMediaSupported
100b0 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
100c0 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f 4d 45  ] SPLDS_PRINT_ME
100d0 4d 4f 52 59 20 3d 20 22 70 72 69 6e 74 4d 65 6d  MORY = "printMem
100e0 6f 72 79 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48  ory";..const TCH
100f0 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54  AR[] SPLDS_PRINT
10100 5f 4d 49 4e 5f 58 5f 45 58 54 45 4e 54 20 3d 20  _MIN_X_EXTENT = 
10110 22 70 72 69 6e 74 4d 69 6e 58 45 78 74 65 6e 74  "printMinXExtent
10120 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
10130 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f 4d 49  ] SPLDS_PRINT_MI
10140 4e 5f 59 5f 45 58 54 45 4e 54 20 3d 20 22 70 72  N_Y_EXTENT = "pr
10150 69 6e 74 4d 69 6e 59 45 78 74 65 6e 74 22 3b 0d  intMinYExtent";.
10160 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53  .const TCHAR[] S
10170 50 4c 44 53 5f 50 52 49 4e 54 5f 4e 45 54 57 4f  PLDS_PRINT_NETWO
10180 52 4b 5f 41 44 44 52 45 53 53 20 3d 20 22 70 72  RK_ADDRESS = "pr
10190 69 6e 74 4e 65 74 77 6f 72 6b 41 64 64 72 65 73  intNetworkAddres
101a0 73 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  s";..const TCHAR
101b0 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f 4e  [] SPLDS_PRINT_N
101c0 4f 54 49 46 59 20 3d 20 22 70 72 69 6e 74 4e 6f  OTIFY = "printNo
101d0 74 69 66 79 22 3b 0d 0a 63 6f 6e 73 74 20 54 43  tify";..const TC
101e0 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e  HAR[] SPLDS_PRIN
101f0 54 5f 4e 55 4d 42 45 52 5f 55 50 20 3d 20 22 70  T_NUMBER_UP = "p
10200 72 69 6e 74 4e 75 6d 62 65 72 55 70 22 3b 0d 0a  rintNumberUp";..
10210 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50  const TCHAR[] SP
10220 4c 44 53 5f 50 52 49 4e 54 5f 4f 52 49 45 4e 54  LDS_PRINT_ORIENT
10230 41 54 49 4f 4e 53 5f 53 55 50 50 4f 52 54 45 44  ATIONS_SUPPORTED
10240 20 3d 20 22 70 72 69 6e 74 4f 72 69 65 6e 74 61   = "printOrienta
10250 74 69 6f 6e 73 53 75 70 70 6f 72 74 65 64 22 3b  tionsSupported";
10260 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20  ..const TCHAR[] 
10270 53 50 4c 44 53 5f 50 52 49 4e 54 5f 4f 57 4e 45  SPLDS_PRINT_OWNE
10280 52 20 3d 20 22 70 72 69 6e 74 4f 77 6e 65 72 22  R = "printOwner"
10290 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d  ;..const TCHAR[]
102a0 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f 50 41 47   SPLDS_PRINT_PAG
102b0 45 53 5f 50 45 52 5f 4d 49 4e 55 54 45 20 3d 20  ES_PER_MINUTE = 
102c0 22 70 72 69 6e 74 50 61 67 65 73 50 65 72 4d 69  "printPagesPerMi
102d0 6e 75 74 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43  nute";..const TC
102e0 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e  HAR[] SPLDS_PRIN
102f0 54 5f 52 41 54 45 20 3d 20 22 70 72 69 6e 74 52  T_RATE = "printR
10300 61 74 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48  ate";..const TCH
10310 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54  AR[] SPLDS_PRINT
10320 5f 52 41 54 45 5f 55 4e 49 54 20 3d 20 22 70 72  _RATE_UNIT = "pr
10330 69 6e 74 52 61 74 65 55 6e 69 74 22 3b 0d 0a 63  intRateUnit";..c
10340 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c  onst TCHAR[] SPL
10350 44 53 5f 50 52 49 4e 54 5f 53 45 50 41 52 41 54  DS_PRINT_SEPARAT
10360 4f 52 5f 46 49 4c 45 20 3d 20 22 70 72 69 6e 74  OR_FILE = "print
10370 53 65 70 61 72 61 74 6f 72 46 69 6c 65 22 3b 0d  SeparatorFile";.
10380 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53  .const TCHAR[] S
10390 50 4c 44 53 5f 50 52 49 4e 54 5f 53 48 41 52 45  PLDS_PRINT_SHARE
103a0 5f 4e 41 4d 45 20 3d 20 22 70 72 69 6e 74 53 68  _NAME = "printSh
103b0 61 72 65 4e 61 6d 65 22 3b 0d 0a 63 6f 6e 73 74  areName";..const
103c0 20 54 43 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50   TCHAR[] SPLDS_P
103d0 52 49 4e 54 5f 53 50 4f 4f 4c 49 4e 47 20 3d 20  RINT_SPOOLING = 
103e0 22 70 72 69 6e 74 53 70 6f 6f 6c 69 6e 67 22 3b  "printSpooling";
103f0 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20  ..const TCHAR[] 
10400 53 50 4c 44 53 5f 50 52 49 4e 54 5f 53 54 41 50  SPLDS_PRINT_STAP
10410 4c 49 4e 47 5f 53 55 50 50 4f 52 54 45 44 20 3d  LING_SUPPORTED =
10420 20 22 70 72 69 6e 74 53 74 61 70 6c 69 6e 67 53   "printStaplingS
10430 75 70 70 6f 72 74 65 64 22 3b 0d 0a 63 6f 6e 73  upported";..cons
10440 74 20 54 43 48 41 52 5b 5d 20 53 50 4c 44 53 5f  t TCHAR[] SPLDS_
10450 50 52 49 4e 54 5f 53 54 41 52 54 5f 54 49 4d 45  PRINT_START_TIME
10460 20 3d 20 22 70 72 69 6e 74 53 74 61 72 74 54 69   = "printStartTi
10470 6d 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41  me";..const TCHA
10480 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f  R[] SPLDS_PRINT_
10490 53 54 41 54 55 53 20 3d 20 22 70 72 69 6e 74 53  STATUS = "printS
104a0 74 61 74 75 73 22 3b 0d 0a 63 6f 6e 73 74 20 54  tatus";..const T
104b0 43 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49  CHAR[] SPLDS_PRI
104c0 4f 52 49 54 59 20 3d 20 22 70 72 69 6f 72 69 74  ORITY = "priorit
104d0 79 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  y";..const TCHAR
104e0 5b 5d 20 53 50 4c 44 53 5f 53 45 52 56 45 52 5f  [] SPLDS_SERVER_
104f0 4e 41 4d 45 20 3d 20 22 73 65 72 76 65 72 4e 61  NAME = "serverNa
10500 6d 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41  me";..const TCHA
10510 52 5b 5d 20 53 50 4c 44 53 5f 53 48 4f 52 54 5f  R[] SPLDS_SHORT_
10520 53 45 52 56 45 52 5f 4e 41 4d 45 20 3d 20 22 73  SERVER_NAME = "s
10530 68 6f 72 74 53 65 72 76 65 72 4e 61 6d 65 22 3b  hortServerName";
10540 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20  ..const TCHAR[] 
10550 53 50 4c 44 53 5f 55 4e 43 5f 4e 41 4d 45 20 3d  SPLDS_UNC_NAME =
10560 20 22 75 4e 43 4e 61 6d 65 22 3b 0d 0a 63 6f 6e   "uNCName";..con
10570 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c 44 53  st TCHAR[] SPLDS
10580 5f 55 52 4c 20 3d 20 22 75 72 6c 22 3b 0d 0a 63  _URL = "url";..c
10590 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c  onst TCHAR[] SPL
105a0 44 53 5f 46 4c 41 47 53 20 3d 20 22 66 6c 61 67  DS_FLAGS = "flag
105b0 73 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  s";..const TCHAR
105c0 5b 5d 20 53 50 4c 44 53 5f 56 45 52 53 49 4f 4e  [] SPLDS_VERSION
105d0 5f 4e 55 4d 42 45 52 20 3d 20 22 76 65 72 73 69  _NUMBER = "versi
105e0 6f 6e 4e 75 6d 62 65 72 22 3b 0d 0a 0d 0a 63 6f  onNumber";....co
105f0 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c 44  nst TCHAR[] SPLD
10600 53 5f 50 52 49 4e 54 45 52 5f 4e 41 4d 45 5f 41  S_PRINTER_NAME_A
10610 4c 49 41 53 45 53 20 3d 20 22 70 72 69 6e 74 65  LIASES = "printe
10620 72 4e 61 6d 65 41 6c 69 61 73 65 73 22 3b 0d 0a  rNameAliases";..
10630 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50  const TCHAR[] SP
10640 4c 44 53 5f 50 52 49 4e 54 45 52 5f 4c 4f 43 41  LDS_PRINTER_LOCA
10650 54 49 4f 4e 53 20 3d 20 22 70 72 69 6e 74 65 72  TIONS = "printer
10660 4c 6f 63 61 74 69 6f 6e 73 22 3b 0d 0a 63 6f 6e  Locations";..con
10670 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c 44 53  st TCHAR[] SPLDS
10680 5f 50 52 49 4e 54 45 52 5f 4d 4f 44 45 4c 20 3d  _PRINTER_MODEL =
10690 20 22 70 72 69 6e 74 65 72 4d 6f 64 65 6c 22 3b   "printerModel";
106a0 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 5f  ....// #ifdef __
106b0 63 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 7d 0d  cplusplus..// }.
106c0 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f  .// #endif....//
106d0 20 23 65 6e 64 69 66 20 2f 2f 20 5f 57 49 4e 53   #endif // _WINS
106e0 50 4f 4f 4c 5f 0d 0a                             POOL_..