Hex Artifact Content

Not logged in

Artifact cc2fc3e0b2848583aecade3df6015ed40f38a758:


0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 77 69 6e  module win32.win
0010: 73 70 6f 6f 6c 3b 0d 0a 0d 0a 2f 2f 20 54 72 61  spool;....// Tra
0020: 6e 73 6c 61 74 65 64 20 66 72 6f 6d 20 4d 69 63  nslated from Mic
0030: 72 6f 73 6f 66 74 20 50 6c 61 74 66 6f 72 6d 20  rosoft Platform 
0040: 53 44 4b 20 41 75 67 75 73 74 20 32 30 30 31 20  SDK August 2001 
0050: 45 64 69 74 69 6f 6e 0d 0a 2f 2f 20 62 79 20 59  Edition..// by Y
0060: 2e 54 6f 6d 69 6e 6f 0d 0a 0d 0a 69 6d 70 6f 72  .Tomino....impor
0070: 74 20 77 69 6e 33 32 2e 77 69 6e 64 65 66 3b 0d  t win32.windef;.
0080: 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 69  .import win32.wi
0090: 6e 62 61 73 65 3b 0d 0a 69 6d 70 6f 72 74 20 77  nbase;..import w
00a0: 69 6e 33 32 2e 77 69 6e 67 64 69 3b 0d 0a 0d 0a  in32.wingdi;....
00b0: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 57 49 4e 53  // #ifndef _WINS
00c0: 50 4f 4f 4c 5f 0d 0a 2f 2f 20 23 64 65 66 69 6e  POOL_..// #defin
00d0: 65 20 5f 57 49 4e 53 50 4f 4f 4c 5f 0d 0a 0d 0a  e _WINSPOOL_....
00e0: 2f 2f 20 23 69 66 64 65 66 20 5f 57 49 4e 55 53  // #ifdef _WINUS
00f0: 45 52 5f 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  ER_..// #.....//
0100: 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 69   #endif....// #i
0110: 66 64 65 66 20 5f 5f 63 70 6c 75 73 70 6c 75 73  fdef __cplusplus
0120: 0d 0a 2f 2f 20 65 78 74 65 72 6e 20 22 43 22 20  ..// extern "C" 
0130: 7b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a  {..// #endif....
0140: 73 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52 5f  struct _PRINTER_
0150: 49 4e 46 4f 5f 31 41 20 7b 0d 0a 20 20 44 57 4f  INFO_1A {..  DWO
0160: 52 44 20 46 6c 61 67 73 3b 0d 0a 20 20 4c 50 53  RD Flags;..  LPS
0170: 54 52 20 70 44 65 73 63 72 69 70 74 69 6f 6e 3b  TR pDescription;
0180: 0d 0a 20 20 4c 50 53 54 52 20 70 4e 61 6d 65 3b  ..  LPSTR pName;
0190: 0d 0a 20 20 4c 50 53 54 52 20 70 43 6f 6d 6d 65  ..  LPSTR pComme
01a0: 6e 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50  nt;..}..alias _P
01b0: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 31 41 20 50  RINTER_INFO_1A P
01c0: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 31 41 3b 0d  RINTER_INFO_1A;.
01d0: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
01e0: 49 4e 46 4f 5f 31 41 2a 20 50 50 52 49 4e 54 45  INFO_1A* PPRINTE
01f0: 52 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61  R_INFO_1A;..alia
0200: 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f  s _PRINTER_INFO_
0210: 31 41 2a 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e  1A* LPPRINTER_IN
0220: 46 4f 5f 31 41 3b 0d 0a 0d 0a 73 74 72 75 63 74  FO_1A;....struct
0230: 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 31   _PRINTER_INFO_1
0240: 57 20 7b 0d 0a 20 20 44 57 4f 52 44 20 46 6c 61  W {..  DWORD Fla
0250: 67 73 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44  gs;..  LPWSTR pD
0260: 65 73 63 72 69 70 74 69 6f 6e 3b 0d 0a 20 20 4c  escription;..  L
0270: 50 57 53 54 52 20 70 4e 61 6d 65 3b 0d 0a 20 20  PWSTR pName;..  
0280: 4c 50 57 53 54 52 20 70 43 6f 6d 6d 65 6e 74 3b  LPWSTR pComment;
0290: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e  ..}..alias _PRIN
02a0: 54 45 52 5f 49 4e 46 4f 5f 31 57 20 50 52 49 4e  TER_INFO_1W PRIN
02b0: 54 45 52 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 61 6c  TER_INFO_1W;..al
02c0: 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46  ias _PRINTER_INF
02d0: 4f 5f 31 57 2a 20 50 50 52 49 4e 54 45 52 5f 49  O_1W* PPRINTER_I
02e0: 4e 46 4f 5f 31 57 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_1W;..alias _
02f0: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 31 57 2a  PRINTER_INFO_1W*
0300: 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f   LPPRINTER_INFO_
0310: 31 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  1W;....// #ifdef
0320: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
0330: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 31 57 20  PRINTER_INFO_1W 
0340: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 31 3b 0d  PRINTER_INFO_1;.
0350: 0a 61 6c 69 61 73 20 50 50 52 49 4e 54 45 52 5f  .alias PPRINTER_
0360: 49 4e 46 4f 5f 31 57 20 50 50 52 49 4e 54 45 52  INFO_1W PPRINTER
0370: 5f 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73 20  _INFO_1;..alias 
0380: 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 31  LPPRINTER_INFO_1
0390: 57 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f  W LPPRINTER_INFO
03a0: 5f 31 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  _1;..// #else../
03b0: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
03c0: 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73   // UNICODE....s
03d0: 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52 5f 49  truct _PRINTER_I
03e0: 4e 46 4f 5f 32 41 20 7b 0d 0a 20 20 4c 50 53 54  NFO_2A {..  LPST
03f0: 52 20 70 53 65 72 76 65 72 4e 61 6d 65 3b 0d 0a  R pServerName;..
0400: 20 20 4c 50 53 54 52 20 70 50 72 69 6e 74 65 72    LPSTR pPrinter
0410: 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70  Name;..  LPSTR p
0420: 53 68 61 72 65 4e 61 6d 65 3b 0d 0a 20 20 4c 50  ShareName;..  LP
0430: 53 54 52 20 70 50 6f 72 74 4e 61 6d 65 3b 0d 0a  STR pPortName;..
0440: 20 20 4c 50 53 54 52 20 70 44 72 69 76 65 72 4e    LPSTR pDriverN
0450: 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 43  ame;..  LPSTR pC
0460: 6f 6d 6d 65 6e 74 3b 0d 0a 20 20 4c 50 53 54 52  omment;..  LPSTR
0470: 20 70 4c 6f 63 61 74 69 6f 6e 3b 0d 0a 20 20 4c   pLocation;..  L
0480: 50 44 45 56 4d 4f 44 45 41 20 70 44 65 76 4d 6f  PDEVMODEA pDevMo
0490: 64 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 53 65  de;..  LPSTR pSe
04a0: 70 46 69 6c 65 3b 0d 0a 20 20 4c 50 53 54 52 20  pFile;..  LPSTR 
04b0: 70 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 3b  pPrintProcessor;
04c0: 0d 0a 20 20 4c 50 53 54 52 20 70 44 61 74 61 74  ..  LPSTR pDatat
04d0: 79 70 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 50  ype;..  LPSTR pP
04e0: 61 72 61 6d 65 74 65 72 73 3b 0d 0a 20 20 50 53  arameters;..  PS
04f0: 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 54  ECURITY_DESCRIPT
0500: 4f 52 20 70 53 65 63 75 72 69 74 79 44 65 73 63  OR pSecurityDesc
0510: 72 69 70 74 6f 72 3b 0d 0a 20 20 44 57 4f 52 44  riptor;..  DWORD
0520: 20 41 74 74 72 69 62 75 74 65 73 3b 0d 0a 20 20   Attributes;..  
0530: 44 57 4f 52 44 20 50 72 69 6f 72 69 74 79 3b 0d  DWORD Priority;.
0540: 0a 20 20 44 57 4f 52 44 20 44 65 66 61 75 6c 74  .  DWORD Default
0550: 50 72 69 6f 72 69 74 79 3b 0d 0a 20 20 44 57 4f  Priority;..  DWO
0560: 52 44 20 53 74 61 72 74 54 69 6d 65 3b 0d 0a 20  RD StartTime;.. 
0570: 20 44 57 4f 52 44 20 55 6e 74 69 6c 54 69 6d 65   DWORD UntilTime
0580: 3b 0d 0a 20 20 44 57 4f 52 44 20 53 74 61 74 75  ;..  DWORD Statu
0590: 73 3b 0d 0a 20 20 44 57 4f 52 44 20 63 4a 6f 62  s;..  DWORD cJob
05a0: 73 3b 0d 0a 20 20 44 57 4f 52 44 20 41 76 65 72  s;..  DWORD Aver
05b0: 61 67 65 50 50 4d 3b 0d 0a 7d 0d 0a 61 6c 69 61  agePPM;..}..alia
05c0: 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f  s _PRINTER_INFO_
05d0: 32 41 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f  2A PRINTER_INFO_
05e0: 32 41 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e  2A;..alias _PRIN
05f0: 54 45 52 5f 49 4e 46 4f 5f 32 41 2a 20 50 50 52  TER_INFO_2A* PPR
0600: 49 4e 54 45 52 5f 49 4e 46 4f 5f 32 41 3b 0d 0a  INTER_INFO_2A;..
0610: 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49  alias _PRINTER_I
0620: 4e 46 4f 5f 32 41 2a 20 4c 50 50 52 49 4e 54 45  NFO_2A* LPPRINTE
0630: 52 5f 49 4e 46 4f 5f 32 41 3b 0d 0a 0d 0a 73 74  R_INFO_2A;....st
0640: 72 75 63 74 20 5f 50 52 49 4e 54 45 52 5f 49 4e  ruct _PRINTER_IN
0650: 46 4f 5f 32 57 20 7b 0d 0a 20 20 4c 50 57 53 54  FO_2W {..  LPWST
0660: 52 20 70 53 65 72 76 65 72 4e 61 6d 65 3b 0d 0a  R pServerName;..
0670: 20 20 4c 50 57 53 54 52 20 70 50 72 69 6e 74 65    LPWSTR pPrinte
0680: 72 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53 54 52  rName;..  LPWSTR
0690: 20 70 53 68 61 72 65 4e 61 6d 65 3b 0d 0a 20 20   pShareName;..  
06a0: 4c 50 57 53 54 52 20 70 50 6f 72 74 4e 61 6d 65  LPWSTR pPortName
06b0: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44 72 69  ;..  LPWSTR pDri
06c0: 76 65 72 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53  verName;..  LPWS
06d0: 54 52 20 70 43 6f 6d 6d 65 6e 74 3b 0d 0a 20 20  TR pComment;..  
06e0: 4c 50 57 53 54 52 20 70 4c 6f 63 61 74 69 6f 6e  LPWSTR pLocation
06f0: 3b 0d 0a 20 20 4c 50 44 45 56 4d 4f 44 45 57 20  ;..  LPDEVMODEW 
0700: 70 44 65 76 4d 6f 64 65 3b 0d 0a 20 20 4c 50 57  pDevMode;..  LPW
0710: 53 54 52 20 70 53 65 70 46 69 6c 65 3b 0d 0a 20  STR pSepFile;.. 
0720: 20 4c 50 57 53 54 52 20 70 50 72 69 6e 74 50 72   LPWSTR pPrintPr
0730: 6f 63 65 73 73 6f 72 3b 0d 0a 20 20 4c 50 57 53  ocessor;..  LPWS
0740: 54 52 20 70 44 61 74 61 74 79 70 65 3b 0d 0a 20  TR pDatatype;.. 
0750: 20 4c 50 57 53 54 52 20 70 50 61 72 61 6d 65 74   LPWSTR pParamet
0760: 65 72 73 3b 0d 0a 20 20 50 53 45 43 55 52 49 54  ers;..  PSECURIT
0770: 59 5f 44 45 53 43 52 49 50 54 4f 52 20 70 53 65  Y_DESCRIPTOR pSe
0780: 63 75 72 69 74 79 44 65 73 63 72 69 70 74 6f 72  curityDescriptor
0790: 3b 0d 0a 20 20 44 57 4f 52 44 20 41 74 74 72 69  ;..  DWORD Attri
07a0: 62 75 74 65 73 3b 0d 0a 20 20 44 57 4f 52 44 20  butes;..  DWORD 
07b0: 50 72 69 6f 72 69 74 79 3b 0d 0a 20 20 44 57 4f  Priority;..  DWO
07c0: 52 44 20 44 65 66 61 75 6c 74 50 72 69 6f 72 69  RD DefaultPriori
07d0: 74 79 3b 0d 0a 20 20 44 57 4f 52 44 20 53 74 61  ty;..  DWORD Sta
07e0: 72 74 54 69 6d 65 3b 0d 0a 20 20 44 57 4f 52 44  rtTime;..  DWORD
07f0: 20 55 6e 74 69 6c 54 69 6d 65 3b 0d 0a 20 20 44   UntilTime;..  D
0800: 57 4f 52 44 20 53 74 61 74 75 73 3b 0d 0a 20 20  WORD Status;..  
0810: 44 57 4f 52 44 20 63 4a 6f 62 73 3b 0d 0a 20 20  DWORD cJobs;..  
0820: 44 57 4f 52 44 20 41 76 65 72 61 67 65 50 50 4d  DWORD AveragePPM
0830: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49  ;..}..alias _PRI
0840: 4e 54 45 52 5f 49 4e 46 4f 5f 32 57 20 50 52 49  NTER_INFO_2W PRI
0850: 4e 54 45 52 5f 49 4e 46 4f 5f 32 57 3b 0d 0a 61  NTER_INFO_2W;..a
0860: 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e  lias _PRINTER_IN
0870: 46 4f 5f 32 57 2a 20 50 50 52 49 4e 54 45 52 5f  FO_2W* PPRINTER_
0880: 49 4e 46 4f 5f 32 57 3b 0d 0a 61 6c 69 61 73 20  INFO_2W;..alias 
0890: 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 32 57  _PRINTER_INFO_2W
08a0: 2a 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f  * LPPRINTER_INFO
08b0: 5f 32 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  _2W;....// #ifde
08c0: 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
08d0: 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 32 57   PRINTER_INFO_2W
08e0: 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 32 3b   PRINTER_INFO_2;
08f0: 0d 0a 61 6c 69 61 73 20 50 50 52 49 4e 54 45 52  ..alias PPRINTER
0900: 5f 49 4e 46 4f 5f 32 57 20 50 50 52 49 4e 54 45  _INFO_2W PPRINTE
0910: 52 5f 49 4e 46 4f 5f 32 3b 0d 0a 61 6c 69 61 73  R_INFO_2;..alias
0920: 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f   LPPRINTER_INFO_
0930: 32 57 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46  2W LPPRINTER_INF
0940: 4f 5f 32 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  O_2;..// #else..
0950: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
0960: 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a  f // UNICODE....
0970: 73 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52 5f  struct _PRINTER_
0980: 49 4e 46 4f 5f 33 20 7b 0d 0a 20 20 50 53 45 43  INFO_3 {..  PSEC
0990: 55 52 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52  URITY_DESCRIPTOR
09a0: 20 70 53 65 63 75 72 69 74 79 44 65 73 63 72 69   pSecurityDescri
09b0: 70 74 6f 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  ptor;..}..alias 
09c0: 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 33 20  _PRINTER_INFO_3 
09d0: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 33 3b 0d  PRINTER_INFO_3;.
09e0: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
09f0: 49 4e 46 4f 5f 33 2a 20 50 50 52 49 4e 54 45 52  INFO_3* PPRINTER
0a00: 5f 49 4e 46 4f 5f 33 3b 0d 0a 61 6c 69 61 73 20  _INFO_3;..alias 
0a10: 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 33 2a  _PRINTER_INFO_3*
0a20: 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f   LPPRINTER_INFO_
0a30: 33 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52  3;....struct _PR
0a40: 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 41 20 7b 0d  INTER_INFO_4A {.
0a50: 0a 20 20 4c 50 53 54 52 20 70 50 72 69 6e 74 65  .  LPSTR pPrinte
0a60: 72 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20  rName;..  LPSTR 
0a70: 70 53 65 72 76 65 72 4e 61 6d 65 3b 0d 0a 20 20  pServerName;..  
0a80: 44 57 4f 52 44 20 41 74 74 72 69 62 75 74 65 73  DWORD Attributes
0a90: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49  ;..}..alias _PRI
0aa0: 4e 54 45 52 5f 49 4e 46 4f 5f 34 41 20 50 52 49  NTER_INFO_4A PRI
0ab0: 4e 54 45 52 5f 49 4e 46 4f 5f 34 41 3b 0d 0a 61  NTER_INFO_4A;..a
0ac0: 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e  lias _PRINTER_IN
0ad0: 46 4f 5f 34 41 2a 20 50 50 52 49 4e 54 45 52 5f  FO_4A* PPRINTER_
0ae0: 49 4e 46 4f 5f 34 41 3b 0d 0a 61 6c 69 61 73 20  INFO_4A;..alias 
0af0: 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 41  _PRINTER_INFO_4A
0b00: 2a 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f  * LPPRINTER_INFO
0b10: 5f 34 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  _4A;....struct _
0b20: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 57 20  PRINTER_INFO_4W 
0b30: 7b 0d 0a 20 20 4c 50 57 53 54 52 20 70 50 72 69  {..  LPWSTR pPri
0b40: 6e 74 65 72 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57  nterName;..  LPW
0b50: 53 54 52 20 70 53 65 72 76 65 72 4e 61 6d 65 3b  STR pServerName;
0b60: 0d 0a 20 20 44 57 4f 52 44 20 41 74 74 72 69 62  ..  DWORD Attrib
0b70: 75 74 65 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  utes;..}..alias 
0b80: 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 57  _PRINTER_INFO_4W
0b90: 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 57   PRINTER_INFO_4W
0ba0: 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45  ;..alias _PRINTE
0bb0: 52 5f 49 4e 46 4f 5f 34 57 2a 20 50 50 52 49 4e  R_INFO_4W* PPRIN
0bc0: 54 45 52 5f 49 4e 46 4f 5f 34 57 3b 0d 0a 61 6c  TER_INFO_4W;..al
0bd0: 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46  ias _PRINTER_INF
0be0: 4f 5f 34 57 2a 20 4c 50 50 52 49 4e 54 45 52 5f  O_4W* LPPRINTER_
0bf0: 49 4e 46 4f 5f 34 57 3b 0d 0a 0d 0a 2f 2f 20 23  INFO_4W;....// #
0c00: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
0c10: 6c 69 61 73 20 50 52 49 4e 54 45 52 5f 49 4e 46  lias PRINTER_INF
0c20: 4f 5f 34 57 20 50 52 49 4e 54 45 52 5f 49 4e 46  O_4W PRINTER_INF
0c30: 4f 5f 34 3b 0d 0a 61 6c 69 61 73 20 50 50 52 49  O_4;..alias PPRI
0c40: 4e 54 45 52 5f 49 4e 46 4f 5f 34 57 20 50 50 52  NTER_INFO_4W PPR
0c50: 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 3b 0d 0a 61  INTER_INFO_4;..a
0c60: 6c 69 61 73 20 4c 50 50 52 49 4e 54 45 52 5f 49  lias LPPRINTER_I
0c70: 4e 46 4f 5f 34 57 20 4c 50 50 52 49 4e 54 45 52  NFO_4W LPPRINTER
0c80: 5f 49 4e 46 4f 5f 34 3b 0d 0a 2f 2f 20 23 65 6c  _INFO_4;..// #el
0c90: 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
0ca0: 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45  endif // UNICODE
0cb0: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52 49 4e  ....struct _PRIN
0cc0: 54 45 52 5f 49 4e 46 4f 5f 35 41 20 7b 0d 0a 20  TER_INFO_5A {.. 
0cd0: 20 4c 50 53 54 52 20 70 50 72 69 6e 74 65 72 4e   LPSTR pPrinterN
0ce0: 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 50  ame;..  LPSTR pP
0cf0: 6f 72 74 4e 61 6d 65 3b 0d 0a 20 20 44 57 4f 52  ortName;..  DWOR
0d00: 44 20 41 74 74 72 69 62 75 74 65 73 3b 0d 0a 20  D Attributes;.. 
0d10: 20 44 57 4f 52 44 20 44 65 76 69 63 65 4e 6f 74   DWORD DeviceNot
0d20: 53 65 6c 65 63 74 65 64 54 69 6d 65 6f 75 74 3b  SelectedTimeout;
0d30: 0d 0a 20 20 44 57 4f 52 44 20 54 72 61 6e 73 6d  ..  DWORD Transm
0d40: 69 73 73 69 6f 6e 52 65 74 72 79 54 69 6d 65 6f  issionRetryTimeo
0d50: 75 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50  ut;..}..alias _P
0d60: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 35 41 20 50  RINTER_INFO_5A P
0d70: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 35 41 3b 0d  RINTER_INFO_5A;.
0d80: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
0d90: 49 4e 46 4f 5f 35 41 2a 20 50 50 52 49 4e 54 45  INFO_5A* PPRINTE
0da0: 52 5f 49 4e 46 4f 5f 35 41 3b 0d 0a 61 6c 69 61  R_INFO_5A;..alia
0db0: 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f  s _PRINTER_INFO_
0dc0: 35 41 2a 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e  5A* LPPRINTER_IN
0dd0: 46 4f 5f 35 41 3b 0d 0a 0d 0a 73 74 72 75 63 74  FO_5A;....struct
0de0: 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 35   _PRINTER_INFO_5
0df0: 57 20 7b 0d 0a 20 20 4c 50 57 53 54 52 20 70 50  W {..  LPWSTR pP
0e00: 72 69 6e 74 65 72 4e 61 6d 65 3b 0d 0a 20 20 4c  rinterName;..  L
0e10: 50 57 53 54 52 20 70 50 6f 72 74 4e 61 6d 65 3b  PWSTR pPortName;
0e20: 0d 0a 20 20 44 57 4f 52 44 20 41 74 74 72 69 62  ..  DWORD Attrib
0e30: 75 74 65 73 3b 0d 0a 20 20 44 57 4f 52 44 20 44  utes;..  DWORD D
0e40: 65 76 69 63 65 4e 6f 74 53 65 6c 65 63 74 65 64  eviceNotSelected
0e50: 54 69 6d 65 6f 75 74 3b 0d 0a 20 20 44 57 4f 52  Timeout;..  DWOR
0e60: 44 20 54 72 61 6e 73 6d 69 73 73 69 6f 6e 52 65  D TransmissionRe
0e70: 74 72 79 54 69 6d 65 6f 75 74 3b 0d 0a 7d 0d 0a  tryTimeout;..}..
0e80: 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49  alias _PRINTER_I
0e90: 4e 46 4f 5f 35 57 20 50 52 49 4e 54 45 52 5f 49  NFO_5W PRINTER_I
0ea0: 4e 46 4f 5f 35 57 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_5W;..alias _
0eb0: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 35 57 2a  PRINTER_INFO_5W*
0ec0: 20 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 35   PPRINTER_INFO_5
0ed0: 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54  W;..alias _PRINT
0ee0: 45 52 5f 49 4e 46 4f 5f 35 57 2a 20 4c 50 50 52  ER_INFO_5W* LPPR
0ef0: 49 4e 54 45 52 5f 49 4e 46 4f 5f 35 57 3b 0d 0a  INTER_INFO_5W;..
0f00: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
0f10: 4f 44 45 0d 0a 61 6c 69 61 73 20 50 52 49 4e 54  ODE..alias PRINT
0f20: 45 52 5f 49 4e 46 4f 5f 35 57 20 50 52 49 4e 54  ER_INFO_5W PRINT
0f30: 45 52 5f 49 4e 46 4f 5f 35 3b 0d 0a 61 6c 69 61  ER_INFO_5;..alia
0f40: 73 20 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f  s PPRINTER_INFO_
0f50: 35 57 20 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f  5W PPRINTER_INFO
0f60: 5f 35 3b 0d 0a 61 6c 69 61 73 20 4c 50 50 52 49  _5;..alias LPPRI
0f70: 4e 54 45 52 5f 49 4e 46 4f 5f 35 57 20 4c 50 50  NTER_INFO_5W LPP
0f80: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 35 3b 0d 0a  RINTER_INFO_5;..
0f90: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e  // #else..// ...
0fa0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55  ..// #endif // U
0fb0: 4e 49 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74  NICODE....struct
0fc0: 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 36   _PRINTER_INFO_6
0fd0: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 53 74   {..  DWORD dwSt
0fe0: 61 74 75 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  atus;..}..alias 
0ff0: 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 36 20  _PRINTER_INFO_6 
1000: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 36 3b 0d  PRINTER_INFO_6;.
1010: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
1020: 49 4e 46 4f 5f 36 2a 20 50 50 52 49 4e 54 45 52  INFO_6* PPRINTER
1030: 5f 49 4e 46 4f 5f 36 3b 0d 0a 61 6c 69 61 73 20  _INFO_6;..alias 
1040: 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 36 2a  _PRINTER_INFO_6*
1050: 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f   LPPRINTER_INFO_
1060: 36 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52  6;....struct _PR
1070: 49 4e 54 45 52 5f 49 4e 46 4f 5f 37 41 20 7b 0d  INTER_INFO_7A {.
1080: 0a 20 20 4c 50 53 54 52 20 70 73 7a 4f 62 6a 65  .  LPSTR pszObje
1090: 63 74 47 55 49 44 3b 0d 0a 20 20 44 57 4f 52 44  ctGUID;..  DWORD
10a0: 20 64 77 41 63 74 69 6f 6e 3b 0d 0a 7d 0d 0a 61   dwAction;..}..a
10b0: 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e  lias _PRINTER_IN
10c0: 46 4f 5f 37 41 20 50 52 49 4e 54 45 52 5f 49 4e  FO_7A PRINTER_IN
10d0: 46 4f 5f 37 41 3b 0d 0a 61 6c 69 61 73 20 5f 50  FO_7A;..alias _P
10e0: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 37 41 2a 20  RINTER_INFO_7A* 
10f0: 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 37 41  PPRINTER_INFO_7A
1100: 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45  ;..alias _PRINTE
1110: 52 5f 49 4e 46 4f 5f 37 41 2a 20 4c 50 50 52 49  R_INFO_7A* LPPRI
1120: 4e 54 45 52 5f 49 4e 46 4f 5f 37 41 3b 0d 0a 0d  NTER_INFO_7A;...
1130: 0a 73 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52  .struct _PRINTER
1140: 5f 49 4e 46 4f 5f 37 57 20 7b 0d 0a 20 20 4c 50  _INFO_7W {..  LP
1150: 57 53 54 52 20 70 73 7a 4f 62 6a 65 63 74 47 55  WSTR pszObjectGU
1160: 49 44 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 41  ID;..  DWORD dwA
1170: 63 74 69 6f 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  ction;..}..alias
1180: 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 37   _PRINTER_INFO_7
1190: 57 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 37  W PRINTER_INFO_7
11a0: 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54  W;..alias _PRINT
11b0: 45 52 5f 49 4e 46 4f 5f 37 57 2a 20 50 50 52 49  ER_INFO_7W* PPRI
11c0: 4e 54 45 52 5f 49 4e 46 4f 5f 37 57 3b 0d 0a 61  NTER_INFO_7W;..a
11d0: 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e  lias _PRINTER_IN
11e0: 46 4f 5f 37 57 2a 20 4c 50 50 52 49 4e 54 45 52  FO_7W* LPPRINTER
11f0: 5f 49 4e 46 4f 5f 37 57 3b 0d 0a 0d 0a 2f 2f 20  _INFO_7W;....// 
1200: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
1210: 61 6c 69 61 73 20 50 52 49 4e 54 45 52 5f 49 4e  alias PRINTER_IN
1220: 46 4f 5f 37 57 20 50 52 49 4e 54 45 52 5f 49 4e  FO_7W PRINTER_IN
1230: 46 4f 5f 37 3b 0d 0a 61 6c 69 61 73 20 50 50 52  FO_7;..alias PPR
1240: 49 4e 54 45 52 5f 49 4e 46 4f 5f 37 57 20 50 50  INTER_INFO_7W PP
1250: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 37 3b 0d 0a  RINTER_INFO_7;..
1260: 61 6c 69 61 73 20 4c 50 50 52 49 4e 54 45 52 5f  alias LPPRINTER_
1270: 49 4e 46 4f 5f 37 57 20 4c 50 50 52 49 4e 54 45  INFO_7W LPPRINTE
1280: 52 5f 49 4e 46 4f 5f 37 3b 0d 0a 2f 2f 20 23 65  R_INFO_7;..// #e
1290: 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20  lse..// .....// 
12a0: 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44  #endif // UNICOD
12b0: 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  E....enum : uint
12c0: 20 7b 20 44 53 50 52 49 4e 54 5f 50 55 42 4c 49   { DSPRINT_PUBLI
12d0: 53 48 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  SH = 0x00000001 
12e0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
12f0: 20 44 53 50 52 49 4e 54 5f 55 50 44 41 54 45 20   DSPRINT_UPDATE 
1300: 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a  = 0x00000002 }..
1310: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 53  enum : uint { DS
1320: 50 52 49 4e 54 5f 55 4e 50 55 42 4c 49 53 48 20  PRINT_UNPUBLISH 
1330: 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a  = 0x00000004 }..
1340: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 53  enum : uint { DS
1350: 50 52 49 4e 54 5f 52 45 50 55 42 4c 49 53 48 20  PRINT_REPUBLISH 
1360: 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a  = 0x00000008 }..
1370: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 53  enum : uint { DS
1380: 50 52 49 4e 54 5f 50 45 4e 44 49 4e 47 20 3d 20  PRINT_PENDING = 
1390: 30 78 38 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a  0x80000000 }....
13a0: 73 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52 5f  struct _PRINTER_
13b0: 49 4e 46 4f 5f 38 41 20 7b 0d 0a 20 20 4c 50 44  INFO_8A {..  LPD
13c0: 45 56 4d 4f 44 45 41 20 70 44 65 76 4d 6f 64 65  EVMODEA pDevMode
13d0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49  ;..}..alias _PRI
13e0: 4e 54 45 52 5f 49 4e 46 4f 5f 38 41 20 50 52 49  NTER_INFO_8A PRI
13f0: 4e 54 45 52 5f 49 4e 46 4f 5f 38 41 3b 0d 0a 61  NTER_INFO_8A;..a
1400: 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e  lias _PRINTER_IN
1410: 46 4f 5f 38 41 2a 20 50 50 52 49 4e 54 45 52 5f  FO_8A* PPRINTER_
1420: 49 4e 46 4f 5f 38 41 3b 0d 0a 61 6c 69 61 73 20  INFO_8A;..alias 
1430: 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 38 41  _PRINTER_INFO_8A
1440: 2a 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f  * LPPRINTER_INFO
1450: 5f 38 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  _8A;....struct _
1460: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 38 57 20  PRINTER_INFO_8W 
1470: 7b 0d 0a 20 20 4c 50 44 45 56 4d 4f 44 45 57 20  {..  LPDEVMODEW 
1480: 70 44 65 76 4d 6f 64 65 3b 0d 0a 7d 0d 0a 61 6c  pDevMode;..}..al
1490: 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46  ias _PRINTER_INF
14a0: 4f 5f 38 57 20 50 52 49 4e 54 45 52 5f 49 4e 46  O_8W PRINTER_INF
14b0: 4f 5f 38 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52  O_8W;..alias _PR
14c0: 49 4e 54 45 52 5f 49 4e 46 4f 5f 38 57 2a 20 50  INTER_INFO_8W* P
14d0: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 38 57 3b  PRINTER_INFO_8W;
14e0: 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52  ..alias _PRINTER
14f0: 5f 49 4e 46 4f 5f 38 57 2a 20 4c 50 50 52 49 4e  _INFO_8W* LPPRIN
1500: 54 45 52 5f 49 4e 46 4f 5f 38 57 3b 0d 0a 0d 0a  TER_INFO_8W;....
1510: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
1520: 45 0d 0a 61 6c 69 61 73 20 50 52 49 4e 54 45 52  E..alias PRINTER
1530: 5f 49 4e 46 4f 5f 38 57 20 50 52 49 4e 54 45 52  _INFO_8W PRINTER
1540: 5f 49 4e 46 4f 5f 38 3b 0d 0a 61 6c 69 61 73 20  _INFO_8;..alias 
1550: 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 38 57  PPRINTER_INFO_8W
1560: 20 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 38   PPRINTER_INFO_8
1570: 3b 0d 0a 61 6c 69 61 73 20 4c 50 50 52 49 4e 54  ;..alias LPPRINT
1580: 45 52 5f 49 4e 46 4f 5f 38 57 20 4c 50 50 52 49  ER_INFO_8W LPPRI
1590: 4e 54 45 52 5f 49 4e 46 4f 5f 38 3b 0d 0a 2f 2f  NTER_INFO_8;..//
15a0: 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   #else..// .....
15b0: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49  // #endif // UNI
15c0: 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  CODE....struct _
15d0: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 39 41 20  PRINTER_INFO_9A 
15e0: 7b 0d 0a 20 20 4c 50 44 45 56 4d 4f 44 45 41 20  {..  LPDEVMODEA 
15f0: 70 44 65 76 4d 6f 64 65 3b 0d 0a 7d 0d 0a 61 6c  pDevMode;..}..al
1600: 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e 46  ias _PRINTER_INF
1610: 4f 5f 39 41 20 50 52 49 4e 54 45 52 5f 49 4e 46  O_9A PRINTER_INF
1620: 4f 5f 39 41 3b 0d 0a 61 6c 69 61 73 20 5f 50 52  O_9A;..alias _PR
1630: 49 4e 54 45 52 5f 49 4e 46 4f 5f 39 41 2a 20 50  INTER_INFO_9A* P
1640: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 39 41 3b  PRINTER_INFO_9A;
1650: 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52  ..alias _PRINTER
1660: 5f 49 4e 46 4f 5f 39 41 2a 20 4c 50 50 52 49 4e  _INFO_9A* LPPRIN
1670: 54 45 52 5f 49 4e 46 4f 5f 39 41 3b 0d 0a 0d 0a  TER_INFO_9A;....
1680: 73 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52 5f  struct _PRINTER_
1690: 49 4e 46 4f 5f 39 57 20 7b 0d 0a 20 20 4c 50 44  INFO_9W {..  LPD
16a0: 45 56 4d 4f 44 45 57 20 70 44 65 76 4d 6f 64 65  EVMODEW pDevMode
16b0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49  ;..}..alias _PRI
16c0: 4e 54 45 52 5f 49 4e 46 4f 5f 39 57 20 50 52 49  NTER_INFO_9W PRI
16d0: 4e 54 45 52 5f 49 4e 46 4f 5f 39 57 3b 0d 0a 61  NTER_INFO_9W;..a
16e0: 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 49 4e  lias _PRINTER_IN
16f0: 46 4f 5f 39 57 2a 20 50 50 52 49 4e 54 45 52 5f  FO_9W* PPRINTER_
1700: 49 4e 46 4f 5f 39 57 3b 0d 0a 61 6c 69 61 73 20  INFO_9W;..alias 
1710: 5f 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 39 57  _PRINTER_INFO_9W
1720: 2a 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f  * LPPRINTER_INFO
1730: 5f 39 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  _9W;....// #ifde
1740: 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
1750: 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 39 57   PRINTER_INFO_9W
1760: 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 39 3b   PRINTER_INFO_9;
1770: 0d 0a 61 6c 69 61 73 20 50 50 52 49 4e 54 45 52  ..alias PPRINTER
1780: 5f 49 4e 46 4f 5f 39 57 20 50 50 52 49 4e 54 45  _INFO_9W PPRINTE
1790: 52 5f 49 4e 46 4f 5f 39 3b 0d 0a 61 6c 69 61 73  R_INFO_9;..alias
17a0: 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f   LPPRINTER_INFO_
17b0: 39 57 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46  9W LPPRINTER_INF
17c0: 4f 5f 39 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  O_9;..// #else..
17d0: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
17e0: 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a  f // UNICODE....
17f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
1800: 49 4e 54 45 52 5f 43 4f 4e 54 52 4f 4c 5f 50 41  INTER_CONTROL_PA
1810: 55 53 45 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  USE = 1 }..enum 
1820: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
1830: 5f 43 4f 4e 54 52 4f 4c 5f 52 45 53 55 4d 45 20  _CONTROL_RESUME 
1840: 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 2 }..enum : ui
1850: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 43 4f 4e  nt { PRINTER_CON
1860: 54 52 4f 4c 5f 50 55 52 47 45 20 3d 20 33 20 7d  TROL_PURGE = 3 }
1870: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1880: 50 52 49 4e 54 45 52 5f 43 4f 4e 54 52 4f 4c 5f  PRINTER_CONTROL_
1890: 53 45 54 5f 53 54 41 54 55 53 20 3d 20 34 20 7d  SET_STATUS = 4 }
18a0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
18b0: 7b 20 50 52 49 4e 54 45 52 5f 53 54 41 54 55 53  { PRINTER_STATUS
18c0: 5f 50 41 55 53 45 44 20 3d 20 30 78 30 30 30 30  _PAUSED = 0x0000
18d0: 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
18e0: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 53 54  int { PRINTER_ST
18f0: 41 54 55 53 5f 45 52 52 4f 52 20 3d 20 30 78 30  ATUS_ERROR = 0x0
1900: 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
1910: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
1920: 5f 53 54 41 54 55 53 5f 50 45 4e 44 49 4e 47 5f  _STATUS_PENDING_
1930: 44 45 4c 45 54 49 4f 4e 20 3d 20 30 78 30 30 30  DELETION = 0x000
1940: 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00004 }..enum : 
1950: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 53  uint { PRINTER_S
1960: 54 41 54 55 53 5f 50 41 50 45 52 5f 4a 41 4d 20  TATUS_PAPER_JAM 
1970: 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a  = 0x00000008 }..
1980: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
1990: 49 4e 54 45 52 5f 53 54 41 54 55 53 5f 50 41 50  INTER_STATUS_PAP
19a0: 45 52 5f 4f 55 54 20 3d 20 30 78 30 30 30 30 30  ER_OUT = 0x00000
19b0: 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  010 }..enum : ui
19c0: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 53 54 41  nt { PRINTER_STA
19d0: 54 55 53 5f 4d 41 4e 55 41 4c 5f 46 45 45 44 20  TUS_MANUAL_FEED 
19e0: 3d 20 30 78 30 30 30 30 30 30 32 30 20 7d 0d 0a  = 0x00000020 }..
19f0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
1a00: 49 4e 54 45 52 5f 53 54 41 54 55 53 5f 50 41 50  INTER_STATUS_PAP
1a10: 45 52 5f 50 52 4f 42 4c 45 4d 20 3d 20 30 78 30  ER_PROBLEM = 0x0
1a20: 30 30 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20  0000040 }..enum 
1a30: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
1a40: 5f 53 54 41 54 55 53 5f 4f 46 46 4c 49 4e 45 20  _STATUS_OFFLINE 
1a50: 3d 20 30 78 30 30 30 30 30 30 38 30 20 7d 0d 0a  = 0x00000080 }..
1a60: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
1a70: 49 4e 54 45 52 5f 53 54 41 54 55 53 5f 49 4f 5f  INTER_STATUS_IO_
1a80: 41 43 54 49 56 45 20 3d 20 30 78 30 30 30 30 30  ACTIVE = 0x00000
1a90: 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  100 }..enum : ui
1aa0: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 53 54 41  nt { PRINTER_STA
1ab0: 54 55 53 5f 42 55 53 59 20 3d 20 30 78 30 30 30  TUS_BUSY = 0x000
1ac0: 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00200 }..enum : 
1ad0: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 53  uint { PRINTER_S
1ae0: 54 41 54 55 53 5f 50 52 49 4e 54 49 4e 47 20 3d  TATUS_PRINTING =
1af0: 20 30 78 30 30 30 30 30 34 30 30 20 7d 0d 0a 65   0x00000400 }..e
1b00: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49  num : uint { PRI
1b10: 4e 54 45 52 5f 53 54 41 54 55 53 5f 4f 55 54 50  NTER_STATUS_OUTP
1b20: 55 54 5f 42 49 4e 5f 46 55 4c 4c 20 3d 20 30 78  UT_BIN_FULL = 0x
1b30: 30 30 30 30 30 38 30 30 20 7d 0d 0a 65 6e 75 6d  00000800 }..enum
1b40: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
1b50: 52 5f 53 54 41 54 55 53 5f 4e 4f 54 5f 41 56 41  R_STATUS_NOT_AVA
1b60: 49 4c 41 42 4c 45 20 3d 20 30 78 30 30 30 30 31  ILABLE = 0x00001
1b70: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
1b80: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 53 54 41  nt { PRINTER_STA
1b90: 54 55 53 5f 57 41 49 54 49 4e 47 20 3d 20 30 78  TUS_WAITING = 0x
1ba0: 30 30 30 30 32 30 30 30 20 7d 0d 0a 65 6e 75 6d  00002000 }..enum
1bb0: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
1bc0: 52 5f 53 54 41 54 55 53 5f 50 52 4f 43 45 53 53  R_STATUS_PROCESS
1bd0: 49 4e 47 20 3d 20 30 78 30 30 30 30 34 30 30 30  ING = 0x00004000
1be0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1bf0: 7b 20 50 52 49 4e 54 45 52 5f 53 54 41 54 55 53  { PRINTER_STATUS
1c00: 5f 49 4e 49 54 49 41 4c 49 5a 49 4e 47 20 3d 20  _INITIALIZING = 
1c10: 30 78 30 30 30 30 38 30 30 30 20 7d 0d 0a 65 6e  0x00008000 }..en
1c20: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
1c30: 54 45 52 5f 53 54 41 54 55 53 5f 57 41 52 4d 49  TER_STATUS_WARMI
1c40: 4e 47 5f 55 50 20 3d 20 30 78 30 30 30 31 30 30  NG_UP = 0x000100
1c50: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
1c60: 74 20 7b 20 50 52 49 4e 54 45 52 5f 53 54 41 54  t { PRINTER_STAT
1c70: 55 53 5f 54 4f 4e 45 52 5f 4c 4f 57 20 3d 20 30  US_TONER_LOW = 0
1c80: 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75  x00020000 }..enu
1c90: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
1ca0: 45 52 5f 53 54 41 54 55 53 5f 4e 4f 5f 54 4f 4e  ER_STATUS_NO_TON
1cb0: 45 52 20 3d 20 30 78 30 30 30 34 30 30 30 30 20  ER = 0x00040000 
1cc0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
1cd0: 20 50 52 49 4e 54 45 52 5f 53 54 41 54 55 53 5f   PRINTER_STATUS_
1ce0: 50 41 47 45 5f 50 55 4e 54 20 3d 20 30 78 30 30  PAGE_PUNT = 0x00
1cf0: 30 38 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  080000 }..enum :
1d00: 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f   uint { PRINTER_
1d10: 53 54 41 54 55 53 5f 55 53 45 52 5f 49 4e 54 45  STATUS_USER_INTE
1d20: 52 56 45 4e 54 49 4f 4e 20 3d 20 30 78 30 30 31  RVENTION = 0x001
1d30: 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
1d40: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 53  uint { PRINTER_S
1d50: 54 41 54 55 53 5f 4f 55 54 5f 4f 46 5f 4d 45 4d  TATUS_OUT_OF_MEM
1d60: 4f 52 59 20 3d 20 30 78 30 30 32 30 30 30 30 30  ORY = 0x00200000
1d70: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1d80: 7b 20 50 52 49 4e 54 45 52 5f 53 54 41 54 55 53  { PRINTER_STATUS
1d90: 5f 44 4f 4f 52 5f 4f 50 45 4e 20 3d 20 30 78 30  _DOOR_OPEN = 0x0
1da0: 30 34 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  0400000 }..enum 
1db0: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
1dc0: 5f 53 54 41 54 55 53 5f 53 45 52 56 45 52 5f 55  _STATUS_SERVER_U
1dd0: 4e 4b 4e 4f 57 4e 20 3d 20 30 78 30 30 38 30 30  NKNOWN = 0x00800
1de0: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
1df0: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 53 54 41  nt { PRINTER_STA
1e00: 54 55 53 5f 50 4f 57 45 52 5f 53 41 56 45 20 3d  TUS_POWER_SAVE =
1e10: 20 30 78 30 31 30 30 30 30 30 30 20 7d 0d 0a 0d   0x01000000 }...
1e20: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
1e30: 52 49 4e 54 45 52 5f 41 54 54 52 49 42 55 54 45  RINTER_ATTRIBUTE
1e40: 5f 51 55 45 55 45 44 20 3d 20 30 78 30 30 30 30  _QUEUED = 0x0000
1e50: 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
1e60: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 41 54  int { PRINTER_AT
1e70: 54 52 49 42 55 54 45 5f 44 49 52 45 43 54 20 3d  TRIBUTE_DIRECT =
1e80: 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65   0x00000002 }..e
1e90: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49  num : uint { PRI
1ea0: 4e 54 45 52 5f 41 54 54 52 49 42 55 54 45 5f 44  NTER_ATTRIBUTE_D
1eb0: 45 46 41 55 4c 54 20 3d 20 30 78 30 30 30 30 30  EFAULT = 0x00000
1ec0: 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
1ed0: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 41 54 54  nt { PRINTER_ATT
1ee0: 52 49 42 55 54 45 5f 53 48 41 52 45 44 20 3d 20  RIBUTE_SHARED = 
1ef0: 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 6e  0x00000008 }..en
1f00: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
1f10: 54 45 52 5f 41 54 54 52 49 42 55 54 45 5f 4e 45  TER_ATTRIBUTE_NE
1f20: 54 57 4f 52 4b 20 3d 20 30 78 30 30 30 30 30 30  TWORK = 0x000000
1f30: 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
1f40: 74 20 7b 20 50 52 49 4e 54 45 52 5f 41 54 54 52  t { PRINTER_ATTR
1f50: 49 42 55 54 45 5f 48 49 44 44 45 4e 20 3d 20 30  IBUTE_HIDDEN = 0
1f60: 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75  x00000020 }..enu
1f70: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
1f80: 45 52 5f 41 54 54 52 49 42 55 54 45 5f 4c 4f 43  ER_ATTRIBUTE_LOC
1f90: 41 4c 20 3d 20 30 78 30 30 30 30 30 30 34 30 20  AL = 0x00000040 
1fa0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
1fb0: 20 7b 20 50 52 49 4e 54 45 52 5f 41 54 54 52 49   { PRINTER_ATTRI
1fc0: 42 55 54 45 5f 45 4e 41 42 4c 45 5f 44 45 56 51  BUTE_ENABLE_DEVQ
1fd0: 20 3d 20 30 78 30 30 30 30 30 30 38 30 20 7d 0d   = 0x00000080 }.
1fe0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
1ff0: 52 49 4e 54 45 52 5f 41 54 54 52 49 42 55 54 45  RINTER_ATTRIBUTE
2000: 5f 4b 45 45 50 50 52 49 4e 54 45 44 4a 4f 42 53  _KEEPPRINTEDJOBS
2010: 20 3d 20 30 78 30 30 30 30 30 31 30 30 20 7d 0d   = 0x00000100 }.
2020: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
2030: 52 49 4e 54 45 52 5f 41 54 54 52 49 42 55 54 45  RINTER_ATTRIBUTE
2040: 5f 44 4f 5f 43 4f 4d 50 4c 45 54 45 5f 46 49 52  _DO_COMPLETE_FIR
2050: 53 54 20 3d 20 30 78 30 30 30 30 30 32 30 30 20  ST = 0x00000200 
2060: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
2070: 20 7b 20 50 52 49 4e 54 45 52 5f 41 54 54 52 49   { PRINTER_ATTRI
2080: 42 55 54 45 5f 57 4f 52 4b 5f 4f 46 46 4c 49 4e  BUTE_WORK_OFFLIN
2090: 45 20 3d 20 30 78 30 30 30 30 30 34 30 30 20 7d  E = 0x00000400 }
20a0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
20b0: 50 52 49 4e 54 45 52 5f 41 54 54 52 49 42 55 54  PRINTER_ATTRIBUT
20c0: 45 5f 45 4e 41 42 4c 45 5f 42 49 44 49 20 3d 20  E_ENABLE_BIDI = 
20d0: 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 65 6e  0x00000800 }..en
20e0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
20f0: 54 45 52 5f 41 54 54 52 49 42 55 54 45 5f 52 41  TER_ATTRIBUTE_RA
2100: 57 5f 4f 4e 4c 59 20 3d 20 30 78 30 30 30 30 31  W_ONLY = 0x00001
2110: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
2120: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 41 54 54  nt { PRINTER_ATT
2130: 52 49 42 55 54 45 5f 50 55 42 4c 49 53 48 45 44  RIBUTE_PUBLISHED
2140: 20 3d 20 30 78 30 30 30 30 32 30 30 30 20 7d 0d   = 0x00002000 }.
2150: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
2160: 52 49 4e 54 45 52 5f 41 54 54 52 49 42 55 54 45  RINTER_ATTRIBUTE
2170: 5f 46 41 58 20 3d 20 30 78 30 30 30 30 34 30 30  _FAX = 0x0000400
2180: 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
2190: 6e 74 20 7b 20 4e 4f 5f 50 52 49 4f 52 49 54 59  nt { NO_PRIORITY
21a0: 20 3d 20 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 0 }..enum : u
21b0: 69 6e 74 20 7b 20 4d 41 58 5f 50 52 49 4f 52 49  int { MAX_PRIORI
21c0: 54 59 20 3d 20 39 39 20 7d 0d 0a 65 6e 75 6d 20  TY = 99 }..enum 
21d0: 3a 20 75 69 6e 74 20 7b 20 4d 49 4e 5f 50 52 49  : uint { MIN_PRI
21e0: 4f 52 49 54 59 20 3d 20 31 20 7d 0d 0a 65 6e 75  ORITY = 1 }..enu
21f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 44 45 46 5f 50  m : uint { DEF_P
2200: 52 49 4f 52 49 54 59 20 3d 20 31 20 7d 0d 0a 0d  RIORITY = 1 }...
2210: 0a 73 74 72 75 63 74 20 5f 4a 4f 42 5f 49 4e 46  .struct _JOB_INF
2220: 4f 5f 31 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20  O_1A {..  DWORD 
2230: 4a 6f 62 49 64 3b 0d 0a 20 20 4c 50 53 54 52 20  JobId;..  LPSTR 
2240: 70 50 72 69 6e 74 65 72 4e 61 6d 65 3b 0d 0a 20  pPrinterName;.. 
2250: 20 4c 50 53 54 52 20 70 4d 61 63 68 69 6e 65 4e   LPSTR pMachineN
2260: 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 55  ame;..  LPSTR pU
2270: 73 65 72 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53 54  serName;..  LPST
2280: 52 20 70 44 6f 63 75 6d 65 6e 74 3b 0d 0a 20 20  R pDocument;..  
2290: 4c 50 53 54 52 20 70 44 61 74 61 74 79 70 65 3b  LPSTR pDatatype;
22a0: 0d 0a 20 20 4c 50 53 54 52 20 70 53 74 61 74 75  ..  LPSTR pStatu
22b0: 73 3b 0d 0a 20 20 44 57 4f 52 44 20 53 74 61 74  s;..  DWORD Stat
22c0: 75 73 3b 0d 0a 20 20 44 57 4f 52 44 20 50 72 69  us;..  DWORD Pri
22d0: 6f 72 69 74 79 3b 0d 0a 20 20 44 57 4f 52 44 20  ority;..  DWORD 
22e0: 50 6f 73 69 74 69 6f 6e 3b 0d 0a 20 20 44 57 4f  Position;..  DWO
22f0: 52 44 20 54 6f 74 61 6c 50 61 67 65 73 3b 0d 0a  RD TotalPages;..
2300: 20 20 44 57 4f 52 44 20 50 61 67 65 73 50 72 69    DWORD PagesPri
2310: 6e 74 65 64 3b 0d 0a 20 20 53 59 53 54 45 4d 54  nted;..  SYSTEMT
2320: 49 4d 45 20 53 75 62 6d 69 74 74 65 64 3b 0d 0a  IME Submitted;..
2330: 7d 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42 5f 49 4e  }..alias _JOB_IN
2340: 46 4f 5f 31 41 20 4a 4f 42 5f 49 4e 46 4f 5f 31  FO_1A JOB_INFO_1
2350: 41 3b 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42 5f 49  A;..alias _JOB_I
2360: 4e 46 4f 5f 31 41 2a 20 50 4a 4f 42 5f 49 4e 46  NFO_1A* PJOB_INF
2370: 4f 5f 31 41 3b 0d 0a 61 6c 69 61 73 20 5f 4a 4f  O_1A;..alias _JO
2380: 42 5f 49 4e 46 4f 5f 31 41 2a 20 4c 50 4a 4f 42  B_INFO_1A* LPJOB
2390: 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 0d 0a 73 74 72  _INFO_1A;....str
23a0: 75 63 74 20 5f 4a 4f 42 5f 49 4e 46 4f 5f 31 57  uct _JOB_INFO_1W
23b0: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 4a 6f 62 49   {..  DWORD JobI
23c0: 64 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 50 72  d;..  LPWSTR pPr
23d0: 69 6e 74 65 72 4e 61 6d 65 3b 0d 0a 20 20 4c 50  interName;..  LP
23e0: 57 53 54 52 20 70 4d 61 63 68 69 6e 65 4e 61 6d  WSTR pMachineNam
23f0: 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 55 73  e;..  LPWSTR pUs
2400: 65 72 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53 54  erName;..  LPWST
2410: 52 20 70 44 6f 63 75 6d 65 6e 74 3b 0d 0a 20 20  R pDocument;..  
2420: 4c 50 57 53 54 52 20 70 44 61 74 61 74 79 70 65  LPWSTR pDatatype
2430: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 53 74 61  ;..  LPWSTR pSta
2440: 74 75 73 3b 0d 0a 20 20 44 57 4f 52 44 20 53 74  tus;..  DWORD St
2450: 61 74 75 73 3b 0d 0a 20 20 44 57 4f 52 44 20 50  atus;..  DWORD P
2460: 72 69 6f 72 69 74 79 3b 0d 0a 20 20 44 57 4f 52  riority;..  DWOR
2470: 44 20 50 6f 73 69 74 69 6f 6e 3b 0d 0a 20 20 44  D Position;..  D
2480: 57 4f 52 44 20 54 6f 74 61 6c 50 61 67 65 73 3b  WORD TotalPages;
2490: 0d 0a 20 20 44 57 4f 52 44 20 50 61 67 65 73 50  ..  DWORD PagesP
24a0: 72 69 6e 74 65 64 3b 0d 0a 20 20 53 59 53 54 45  rinted;..  SYSTE
24b0: 4d 54 49 4d 45 20 53 75 62 6d 69 74 74 65 64 3b  MTIME Submitted;
24c0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42 5f  ..}..alias _JOB_
24d0: 49 4e 46 4f 5f 31 57 20 4a 4f 42 5f 49 4e 46 4f  INFO_1W JOB_INFO
24e0: 5f 31 57 3b 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42  _1W;..alias _JOB
24f0: 5f 49 4e 46 4f 5f 31 57 2a 20 50 4a 4f 42 5f 49  _INFO_1W* PJOB_I
2500: 4e 46 4f 5f 31 57 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_1W;..alias _
2510: 4a 4f 42 5f 49 4e 46 4f 5f 31 57 2a 20 4c 50 4a  JOB_INFO_1W* LPJ
2520: 4f 42 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 0d 0a 2f  OB_INFO_1W;..../
2530: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
2540: 0d 0a 61 6c 69 61 73 20 4a 4f 42 5f 49 4e 46 4f  ..alias JOB_INFO
2550: 5f 31 57 20 4a 4f 42 5f 49 4e 46 4f 5f 31 3b 0d  _1W JOB_INFO_1;.
2560: 0a 61 6c 69 61 73 20 50 4a 4f 42 5f 49 4e 46 4f  .alias PJOB_INFO
2570: 5f 31 57 20 50 4a 4f 42 5f 49 4e 46 4f 5f 31 3b  _1W PJOB_INFO_1;
2580: 0d 0a 61 6c 69 61 73 20 4c 50 4a 4f 42 5f 49 4e  ..alias LPJOB_IN
2590: 46 4f 5f 31 57 20 4c 50 4a 4f 42 5f 49 4e 46 4f  FO_1W LPJOB_INFO
25a0: 5f 31 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  _1;..// #else../
25b0: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
25c0: 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73   // UNICODE....s
25d0: 74 72 75 63 74 20 5f 4a 4f 42 5f 49 4e 46 4f 5f  truct _JOB_INFO_
25e0: 32 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 4a 6f  2A {..  DWORD Jo
25f0: 62 49 64 3b 0d 0a 20 20 4c 50 53 54 52 20 70 50  bId;..  LPSTR pP
2600: 72 69 6e 74 65 72 4e 61 6d 65 3b 0d 0a 20 20 4c  rinterName;..  L
2610: 50 53 54 52 20 70 4d 61 63 68 69 6e 65 4e 61 6d  PSTR pMachineNam
2620: 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 55 73 65  e;..  LPSTR pUse
2630: 72 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20  rName;..  LPSTR 
2640: 70 44 6f 63 75 6d 65 6e 74 3b 0d 0a 20 20 4c 50  pDocument;..  LP
2650: 53 54 52 20 70 4e 6f 74 69 66 79 4e 61 6d 65 3b  STR pNotifyName;
2660: 0d 0a 20 20 4c 50 53 54 52 20 70 44 61 74 61 74  ..  LPSTR pDatat
2670: 79 70 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 50  ype;..  LPSTR pP
2680: 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 3b 0d 0a  rintProcessor;..
2690: 20 20 4c 50 53 54 52 20 70 50 61 72 61 6d 65 74    LPSTR pParamet
26a0: 65 72 73 3b 0d 0a 20 20 4c 50 53 54 52 20 70 44  ers;..  LPSTR pD
26b0: 72 69 76 65 72 4e 61 6d 65 3b 0d 0a 20 20 4c 50  riverName;..  LP
26c0: 44 45 56 4d 4f 44 45 41 20 70 44 65 76 4d 6f 64  DEVMODEA pDevMod
26d0: 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 53 74 61  e;..  LPSTR pSta
26e0: 74 75 73 3b 0d 0a 20 20 50 53 45 43 55 52 49 54  tus;..  PSECURIT
26f0: 59 5f 44 45 53 43 52 49 50 54 4f 52 20 70 53 65  Y_DESCRIPTOR pSe
2700: 63 75 72 69 74 79 44 65 73 63 72 69 70 74 6f 72  curityDescriptor
2710: 3b 0d 0a 20 20 44 57 4f 52 44 20 53 74 61 74 75  ;..  DWORD Statu
2720: 73 3b 0d 0a 20 20 44 57 4f 52 44 20 50 72 69 6f  s;..  DWORD Prio
2730: 72 69 74 79 3b 0d 0a 20 20 44 57 4f 52 44 20 50  rity;..  DWORD P
2740: 6f 73 69 74 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52  osition;..  DWOR
2750: 44 20 53 74 61 72 74 54 69 6d 65 3b 0d 0a 20 20  D StartTime;..  
2760: 44 57 4f 52 44 20 55 6e 74 69 6c 54 69 6d 65 3b  DWORD UntilTime;
2770: 0d 0a 20 20 44 57 4f 52 44 20 54 6f 74 61 6c 50  ..  DWORD TotalP
2780: 61 67 65 73 3b 0d 0a 20 20 44 57 4f 52 44 20 53  ages;..  DWORD S
2790: 69 7a 65 3b 0d 0a 20 20 53 59 53 54 45 4d 54 49  ize;..  SYSTEMTI
27a0: 4d 45 20 53 75 62 6d 69 74 74 65 64 3b 0d 0a 20  ME Submitted;.. 
27b0: 20 44 57 4f 52 44 20 54 69 6d 65 3b 0d 0a 20 20   DWORD Time;..  
27c0: 44 57 4f 52 44 20 50 61 67 65 73 50 72 69 6e 74  DWORD PagesPrint
27d0: 65 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4a  ed;..}..alias _J
27e0: 4f 42 5f 49 4e 46 4f 5f 32 41 20 4a 4f 42 5f 49  OB_INFO_2A JOB_I
27f0: 4e 46 4f 5f 32 41 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_2A;..alias _
2800: 4a 4f 42 5f 49 4e 46 4f 5f 32 41 2a 20 50 4a 4f  JOB_INFO_2A* PJO
2810: 42 5f 49 4e 46 4f 5f 32 41 3b 0d 0a 61 6c 69 61  B_INFO_2A;..alia
2820: 73 20 5f 4a 4f 42 5f 49 4e 46 4f 5f 32 41 2a 20  s _JOB_INFO_2A* 
2830: 4c 50 4a 4f 42 5f 49 4e 46 4f 5f 32 41 3b 0d 0a  LPJOB_INFO_2A;..
2840: 0d 0a 73 74 72 75 63 74 20 5f 4a 4f 42 5f 49 4e  ..struct _JOB_IN
2850: 46 4f 5f 32 57 20 7b 0d 0a 20 20 44 57 4f 52 44  FO_2W {..  DWORD
2860: 20 4a 6f 62 49 64 3b 0d 0a 20 20 4c 50 57 53 54   JobId;..  LPWST
2870: 52 20 70 50 72 69 6e 74 65 72 4e 61 6d 65 3b 0d  R pPrinterName;.
2880: 0a 20 20 4c 50 57 53 54 52 20 70 4d 61 63 68 69  .  LPWSTR pMachi
2890: 6e 65 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53 54  neName;..  LPWST
28a0: 52 20 70 55 73 65 72 4e 61 6d 65 3b 0d 0a 20 20  R pUserName;..  
28b0: 4c 50 57 53 54 52 20 70 44 6f 63 75 6d 65 6e 74  LPWSTR pDocument
28c0: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 4e 6f 74  ;..  LPWSTR pNot
28d0: 69 66 79 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53  ifyName;..  LPWS
28e0: 54 52 20 70 44 61 74 61 74 79 70 65 3b 0d 0a 20  TR pDatatype;.. 
28f0: 20 4c 50 57 53 54 52 20 70 50 72 69 6e 74 50 72   LPWSTR pPrintPr
2900: 6f 63 65 73 73 6f 72 3b 0d 0a 20 20 4c 50 57 53  ocessor;..  LPWS
2910: 54 52 20 70 50 61 72 61 6d 65 74 65 72 73 3b 0d  TR pParameters;.
2920: 0a 20 20 4c 50 57 53 54 52 20 70 44 72 69 76 65  .  LPWSTR pDrive
2930: 72 4e 61 6d 65 3b 0d 0a 20 20 4c 50 44 45 56 4d  rName;..  LPDEVM
2940: 4f 44 45 57 20 70 44 65 76 4d 6f 64 65 3b 0d 0a  ODEW pDevMode;..
2950: 20 20 4c 50 57 53 54 52 20 70 53 74 61 74 75 73    LPWSTR pStatus
2960: 3b 0d 0a 20 20 50 53 45 43 55 52 49 54 59 5f 44  ;..  PSECURITY_D
2970: 45 53 43 52 49 50 54 4f 52 20 70 53 65 63 75 72  ESCRIPTOR pSecur
2980: 69 74 79 44 65 73 63 72 69 70 74 6f 72 3b 0d 0a  ityDescriptor;..
2990: 20 20 44 57 4f 52 44 20 53 74 61 74 75 73 3b 0d    DWORD Status;.
29a0: 0a 20 20 44 57 4f 52 44 20 50 72 69 6f 72 69 74  .  DWORD Priorit
29b0: 79 3b 0d 0a 20 20 44 57 4f 52 44 20 50 6f 73 69  y;..  DWORD Posi
29c0: 74 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 53  tion;..  DWORD S
29d0: 74 61 72 74 54 69 6d 65 3b 0d 0a 20 20 44 57 4f  tartTime;..  DWO
29e0: 52 44 20 55 6e 74 69 6c 54 69 6d 65 3b 0d 0a 20  RD UntilTime;.. 
29f0: 20 44 57 4f 52 44 20 54 6f 74 61 6c 50 61 67 65   DWORD TotalPage
2a00: 73 3b 0d 0a 20 20 44 57 4f 52 44 20 53 69 7a 65  s;..  DWORD Size
2a10: 3b 0d 0a 20 20 53 59 53 54 45 4d 54 49 4d 45 20  ;..  SYSTEMTIME 
2a20: 53 75 62 6d 69 74 74 65 64 3b 0d 0a 20 20 44 57  Submitted;..  DW
2a30: 4f 52 44 20 54 69 6d 65 3b 0d 0a 20 20 44 57 4f  ORD Time;..  DWO
2a40: 52 44 20 50 61 67 65 73 50 72 69 6e 74 65 64 3b  RD PagesPrinted;
2a50: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42 5f  ..}..alias _JOB_
2a60: 49 4e 46 4f 5f 32 57 20 4a 4f 42 5f 49 4e 46 4f  INFO_2W JOB_INFO
2a70: 5f 32 57 3b 0d 0a 61 6c 69 61 73 20 5f 4a 4f 42  _2W;..alias _JOB
2a80: 5f 49 4e 46 4f 5f 32 57 2a 20 50 4a 4f 42 5f 49  _INFO_2W* PJOB_I
2a90: 4e 46 4f 5f 32 57 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_2W;..alias _
2aa0: 4a 4f 42 5f 49 4e 46 4f 5f 32 57 2a 20 4c 50 4a  JOB_INFO_2W* LPJ
2ab0: 4f 42 5f 49 4e 46 4f 5f 32 57 3b 0d 0a 0d 0a 2f  OB_INFO_2W;..../
2ac0: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
2ad0: 0d 0a 61 6c 69 61 73 20 4a 4f 42 5f 49 4e 46 4f  ..alias JOB_INFO
2ae0: 5f 32 57 20 4a 4f 42 5f 49 4e 46 4f 5f 32 3b 0d  _2W JOB_INFO_2;.
2af0: 0a 61 6c 69 61 73 20 50 4a 4f 42 5f 49 4e 46 4f  .alias PJOB_INFO
2b00: 5f 32 57 20 50 4a 4f 42 5f 49 4e 46 4f 5f 32 3b  _2W PJOB_INFO_2;
2b10: 0d 0a 61 6c 69 61 73 20 4c 50 4a 4f 42 5f 49 4e  ..alias LPJOB_IN
2b20: 46 4f 5f 32 57 20 4c 50 4a 4f 42 5f 49 4e 46 4f  FO_2W LPJOB_INFO
2b30: 5f 32 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  _2;..// #else../
2b40: 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66  / .....// #endif
2b50: 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73   // UNICODE....s
2b60: 74 72 75 63 74 20 5f 4a 4f 42 5f 49 4e 46 4f 5f  truct _JOB_INFO_
2b70: 33 20 7b 0d 0a 20 20 44 57 4f 52 44 20 4a 6f 62  3 {..  DWORD Job
2b80: 49 64 3b 0d 0a 20 20 44 57 4f 52 44 20 4e 65 78  Id;..  DWORD Nex
2b90: 74 4a 6f 62 49 64 3b 0d 0a 20 20 44 57 4f 52 44  tJobId;..  DWORD
2ba0: 20 52 65 73 65 72 76 65 64 3b 0d 0a 7d 0d 0a 61   Reserved;..}..a
2bb0: 6c 69 61 73 20 5f 4a 4f 42 5f 49 4e 46 4f 5f 33  lias _JOB_INFO_3
2bc0: 20 4a 4f 42 5f 49 4e 46 4f 5f 33 3b 0d 0a 61 6c   JOB_INFO_3;..al
2bd0: 69 61 73 20 5f 4a 4f 42 5f 49 4e 46 4f 5f 33 2a  ias _JOB_INFO_3*
2be0: 20 50 4a 4f 42 5f 49 4e 46 4f 5f 33 3b 0d 0a 61   PJOB_INFO_3;..a
2bf0: 6c 69 61 73 20 5f 4a 4f 42 5f 49 4e 46 4f 5f 33  lias _JOB_INFO_3
2c00: 2a 20 4c 50 4a 4f 42 5f 49 4e 46 4f 5f 33 3b 0d  * LPJOB_INFO_3;.
2c10: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
2c20: 20 4a 4f 42 5f 43 4f 4e 54 52 4f 4c 5f 50 41 55   JOB_CONTROL_PAU
2c30: 53 45 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a  SE = 1 }..enum :
2c40: 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 43 4f 4e 54   uint { JOB_CONT
2c50: 52 4f 4c 5f 52 45 53 55 4d 45 20 3d 20 32 20 7d  ROL_RESUME = 2 }
2c60: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2c70: 4a 4f 42 5f 43 4f 4e 54 52 4f 4c 5f 43 41 4e 43  JOB_CONTROL_CANC
2c80: 45 4c 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a  EL = 3 }..enum :
2c90: 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 43 4f 4e 54   uint { JOB_CONT
2ca0: 52 4f 4c 5f 52 45 53 54 41 52 54 20 3d 20 34 20  ROL_RESTART = 4 
2cb0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
2cc0: 20 4a 4f 42 5f 43 4f 4e 54 52 4f 4c 5f 44 45 4c   JOB_CONTROL_DEL
2cd0: 45 54 45 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20  ETE = 5 }..enum 
2ce0: 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 43 4f 4e  : uint { JOB_CON
2cf0: 54 52 4f 4c 5f 53 45 4e 54 5f 54 4f 5f 50 52 49  TROL_SENT_TO_PRI
2d00: 4e 54 45 52 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d  NTER = 6 }..enum
2d10: 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 43 4f   : uint { JOB_CO
2d20: 4e 54 52 4f 4c 5f 4c 41 53 54 5f 50 41 47 45 5f  NTROL_LAST_PAGE_
2d30: 45 4a 45 43 54 45 44 20 3d 20 37 20 7d 0d 0a 0d  EJECTED = 7 }...
2d40: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
2d50: 4f 42 5f 53 54 41 54 55 53 5f 50 41 55 53 45 44  OB_STATUS_PAUSED
2d60: 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d   = 0x00000001 }.
2d70: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
2d80: 4f 42 5f 53 54 41 54 55 53 5f 45 52 52 4f 52 20  OB_STATUS_ERROR 
2d90: 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a  = 0x00000002 }..
2da0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
2db0: 42 5f 53 54 41 54 55 53 5f 44 45 4c 45 54 49 4e  B_STATUS_DELETIN
2dc0: 47 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d  G = 0x00000004 }
2dd0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2de0: 4a 4f 42 5f 53 54 41 54 55 53 5f 53 50 4f 4f 4c  JOB_STATUS_SPOOL
2df0: 49 4e 47 20 3d 20 30 78 30 30 30 30 30 30 30 38  ING = 0x00000008
2e00: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2e10: 7b 20 4a 4f 42 5f 53 54 41 54 55 53 5f 50 52 49  { JOB_STATUS_PRI
2e20: 4e 54 49 4e 47 20 3d 20 30 78 30 30 30 30 30 30  NTING = 0x000000
2e30: 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  10 }..enum : uin
2e40: 74 20 7b 20 4a 4f 42 5f 53 54 41 54 55 53 5f 4f  t { JOB_STATUS_O
2e50: 46 46 4c 49 4e 45 20 3d 20 30 78 30 30 30 30 30  FFLINE = 0x00000
2e60: 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  020 }..enum : ui
2e70: 6e 74 20 7b 20 4a 4f 42 5f 53 54 41 54 55 53 5f  nt { JOB_STATUS_
2e80: 50 41 50 45 52 4f 55 54 20 3d 20 30 78 30 30 30  PAPEROUT = 0x000
2e90: 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00040 }..enum : 
2ea0: 75 69 6e 74 20 7b 20 4a 4f 42 5f 53 54 41 54 55  uint { JOB_STATU
2eb0: 53 5f 50 52 49 4e 54 45 44 20 3d 20 30 78 30 30  S_PRINTED = 0x00
2ec0: 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000080 }..enum :
2ed0: 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 53 54 41 54   uint { JOB_STAT
2ee0: 55 53 5f 44 45 4c 45 54 45 44 20 3d 20 30 78 30  US_DELETED = 0x0
2ef0: 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000100 }..enum 
2f00: 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 53 54 41  : uint { JOB_STA
2f10: 54 55 53 5f 42 4c 4f 43 4b 45 44 5f 44 45 56 51  TUS_BLOCKED_DEVQ
2f20: 20 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d   = 0x00000200 }.
2f30: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
2f40: 4f 42 5f 53 54 41 54 55 53 5f 55 53 45 52 5f 49  OB_STATUS_USER_I
2f50: 4e 54 45 52 56 45 4e 54 49 4f 4e 20 3d 20 30 78  NTERVENTION = 0x
2f60: 30 30 30 30 30 34 30 30 20 7d 0d 0a 65 6e 75 6d  00000400 }..enum
2f70: 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 53 54   : uint { JOB_ST
2f80: 41 54 55 53 5f 52 45 53 54 41 52 54 20 3d 20 30  ATUS_RESTART = 0
2f90: 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 65 6e 75  x00000800 }..enu
2fa0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 53  m : uint { JOB_S
2fb0: 54 41 54 55 53 5f 43 4f 4d 50 4c 45 54 45 20 3d  TATUS_COMPLETE =
2fc0: 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d 0a 0d   0x00001000 }...
2fd0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a  .enum : uint { J
2fe0: 4f 42 5f 50 4f 53 49 54 49 4f 4e 5f 55 4e 53 50  OB_POSITION_UNSP
2ff0: 45 43 49 46 49 45 44 20 3d 20 30 20 7d 0d 0a 0d  ECIFIED = 0 }...
3000: 0a 73 74 72 75 63 74 20 5f 41 44 44 4a 4f 42 5f  .struct _ADDJOB_
3010: 49 4e 46 4f 5f 31 41 20 7b 0d 0a 20 20 4c 50 53  INFO_1A {..  LPS
3020: 54 52 20 50 61 74 68 3b 0d 0a 20 20 44 57 4f 52  TR Path;..  DWOR
3030: 44 20 4a 6f 62 49 64 3b 0d 0a 7d 0d 0a 61 6c 69  D JobId;..}..ali
3040: 61 73 20 5f 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f  as _ADDJOB_INFO_
3050: 31 41 20 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31  1A ADDJOB_INFO_1
3060: 41 3b 0d 0a 61 6c 69 61 73 20 5f 41 44 44 4a 4f  A;..alias _ADDJO
3070: 42 5f 49 4e 46 4f 5f 31 41 2a 20 50 41 44 44 4a  B_INFO_1A* PADDJ
3080: 4f 42 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 61 6c 69  OB_INFO_1A;..ali
3090: 61 73 20 5f 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f  as _ADDJOB_INFO_
30a0: 31 41 2a 20 4c 50 41 44 44 4a 4f 42 5f 49 4e 46  1A* LPADDJOB_INF
30b0: 4f 5f 31 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  O_1A;....struct 
30c0: 5f 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31 57 20  _ADDJOB_INFO_1W 
30d0: 7b 0d 0a 20 20 4c 50 57 53 54 52 20 50 61 74 68  {..  LPWSTR Path
30e0: 3b 0d 0a 20 20 44 57 4f 52 44 20 4a 6f 62 49 64  ;..  DWORD JobId
30f0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 41 44 44  ;..}..alias _ADD
3100: 4a 4f 42 5f 49 4e 46 4f 5f 31 57 20 41 44 44 4a  JOB_INFO_1W ADDJ
3110: 4f 42 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 61 6c 69  OB_INFO_1W;..ali
3120: 61 73 20 5f 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f  as _ADDJOB_INFO_
3130: 31 57 2a 20 50 41 44 44 4a 4f 42 5f 49 4e 46 4f  1W* PADDJOB_INFO
3140: 5f 31 57 3b 0d 0a 61 6c 69 61 73 20 5f 41 44 44  _1W;..alias _ADD
3150: 4a 4f 42 5f 49 4e 46 4f 5f 31 57 2a 20 4c 50 41  JOB_INFO_1W* LPA
3160: 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31 57 3b 0d 0a  DDJOB_INFO_1W;..
3170: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
3180: 4f 44 45 0d 0a 61 6c 69 61 73 20 41 44 44 4a 4f  ODE..alias ADDJO
3190: 42 5f 49 4e 46 4f 5f 31 57 20 41 44 44 4a 4f 42  B_INFO_1W ADDJOB
31a0: 5f 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73 20  _INFO_1;..alias 
31b0: 50 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31 57 20  PADDJOB_INFO_1W 
31c0: 50 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31 3b 0d  PADDJOB_INFO_1;.
31d0: 0a 61 6c 69 61 73 20 4c 50 41 44 44 4a 4f 42 5f  .alias LPADDJOB_
31e0: 49 4e 46 4f 5f 31 57 20 4c 50 41 44 44 4a 4f 42  INFO_1W LPADDJOB
31f0: 5f 49 4e 46 4f 5f 31 3b 0d 0a 2f 2f 20 23 65 6c  _INFO_1;..// #el
3200: 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
3210: 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45  endif // UNICODE
3220: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 44 52 49 56  ....struct _DRIV
3230: 45 52 5f 49 4e 46 4f 5f 31 41 20 7b 0d 0a 20 20  ER_INFO_1A {..  
3240: 4c 50 53 54 52 20 70 4e 61 6d 65 3b 0d 0a 7d 0d  LPSTR pName;..}.
3250: 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49  .alias _DRIVER_I
3260: 4e 46 4f 5f 31 41 20 44 52 49 56 45 52 5f 49 4e  NFO_1A DRIVER_IN
3270: 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61 73 20 5f 44  FO_1A;..alias _D
3280: 52 49 56 45 52 5f 49 4e 46 4f 5f 31 41 2a 20 50  RIVER_INFO_1A* P
3290: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 31 41 3b 0d  DRIVER_INFO_1A;.
32a0: 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49  .alias _DRIVER_I
32b0: 4e 46 4f 5f 31 41 2a 20 4c 50 44 52 49 56 45 52  NFO_1A* LPDRIVER
32c0: 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 0d 0a 73 74 72  _INFO_1A;....str
32d0: 75 63 74 20 5f 44 52 49 56 45 52 5f 49 4e 46 4f  uct _DRIVER_INFO
32e0: 5f 31 57 20 7b 0d 0a 20 20 4c 50 57 53 54 52 20  _1W {..  LPWSTR 
32f0: 70 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  pName;..}..alias
3300: 20 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f 31 57   _DRIVER_INFO_1W
3310: 20 44 52 49 56 45 52 5f 49 4e 46 4f 5f 31 57 3b   DRIVER_INFO_1W;
3320: 0d 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f  ..alias _DRIVER_
3330: 49 4e 46 4f 5f 31 57 2a 20 50 44 52 49 56 45 52  INFO_1W* PDRIVER
3340: 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 61 6c 69 61 73  _INFO_1W;..alias
3350: 20 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f 31 57   _DRIVER_INFO_1W
3360: 2a 20 4c 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f  * LPDRIVER_INFO_
3370: 31 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  1W;....// #ifdef
3380: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
3390: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 31 57 20 44  DRIVER_INFO_1W D
33a0: 52 49 56 45 52 5f 49 4e 46 4f 5f 31 3b 0d 0a 61  RIVER_INFO_1;..a
33b0: 6c 69 61 73 20 50 44 52 49 56 45 52 5f 49 4e 46  lias PDRIVER_INF
33c0: 4f 5f 31 57 20 50 44 52 49 56 45 52 5f 49 4e 46  O_1W PDRIVER_INF
33d0: 4f 5f 31 3b 0d 0a 61 6c 69 61 73 20 4c 50 44 52  O_1;..alias LPDR
33e0: 49 56 45 52 5f 49 4e 46 4f 5f 31 57 20 4c 50 44  IVER_INFO_1W LPD
33f0: 52 49 56 45 52 5f 49 4e 46 4f 5f 31 3b 0d 0a 2f  RIVER_INFO_1;../
3400: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d  / #else..// ....
3410: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e  .// #endif // UN
3420: 49 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20  ICODE....struct 
3430: 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f 32 41 20  _DRIVER_INFO_2A 
3440: 7b 0d 0a 20 20 44 57 4f 52 44 20 63 56 65 72 73  {..  DWORD cVers
3450: 69 6f 6e 3b 0d 0a 20 20 4c 50 53 54 52 20 70 4e  ion;..  LPSTR pN
3460: 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 45  ame;..  LPSTR pE
3470: 6e 76 69 72 6f 6e 6d 65 6e 74 3b 0d 0a 20 20 4c  nvironment;..  L
3480: 50 53 54 52 20 70 44 72 69 76 65 72 50 61 74 68  PSTR pDriverPath
3490: 3b 0d 0a 20 20 4c 50 53 54 52 20 70 44 61 74 61  ;..  LPSTR pData
34a0: 46 69 6c 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70  File;..  LPSTR p
34b0: 43 6f 6e 66 69 67 46 69 6c 65 3b 0d 0a 7d 0d 0a  ConfigFile;..}..
34c0: 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e  alias _DRIVER_IN
34d0: 46 4f 5f 32 41 20 44 52 49 56 45 52 5f 49 4e 46  FO_2A DRIVER_INF
34e0: 4f 5f 32 41 3b 0d 0a 61 6c 69 61 73 20 5f 44 52  O_2A;..alias _DR
34f0: 49 56 45 52 5f 49 4e 46 4f 5f 32 41 2a 20 50 44  IVER_INFO_2A* PD
3500: 52 49 56 45 52 5f 49 4e 46 4f 5f 32 41 3b 0d 0a  RIVER_INFO_2A;..
3510: 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e  alias _DRIVER_IN
3520: 46 4f 5f 32 41 2a 20 4c 50 44 52 49 56 45 52 5f  FO_2A* LPDRIVER_
3530: 49 4e 46 4f 5f 32 41 3b 0d 0a 0d 0a 73 74 72 75  INFO_2A;....stru
3540: 63 74 20 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f  ct _DRIVER_INFO_
3550: 32 57 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63 56  2W {..  DWORD cV
3560: 65 72 73 69 6f 6e 3b 0d 0a 20 20 4c 50 57 53 54  ersion;..  LPWST
3570: 52 20 70 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53  R pName;..  LPWS
3580: 54 52 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 3b  TR pEnvironment;
3590: 0d 0a 20 20 4c 50 57 53 54 52 20 70 44 72 69 76  ..  LPWSTR pDriv
35a0: 65 72 50 61 74 68 3b 0d 0a 20 20 4c 50 57 53 54  erPath;..  LPWST
35b0: 52 20 70 44 61 74 61 46 69 6c 65 3b 0d 0a 20 20  R pDataFile;..  
35c0: 4c 50 57 53 54 52 20 70 43 6f 6e 66 69 67 46 69  LPWSTR pConfigFi
35d0: 6c 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 44  le;..}..alias _D
35e0: 52 49 56 45 52 5f 49 4e 46 4f 5f 32 57 20 44 52  RIVER_INFO_2W DR
35f0: 49 56 45 52 5f 49 4e 46 4f 5f 32 57 3b 0d 0a 61  IVER_INFO_2W;..a
3600: 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e 46  lias _DRIVER_INF
3610: 4f 5f 32 57 2a 20 50 44 52 49 56 45 52 5f 49 4e  O_2W* PDRIVER_IN
3620: 46 4f 5f 32 57 3b 0d 0a 61 6c 69 61 73 20 5f 44  FO_2W;..alias _D
3630: 52 49 56 45 52 5f 49 4e 46 4f 5f 32 57 2a 20 4c  RIVER_INFO_2W* L
3640: 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 32 57 3b  PDRIVER_INFO_2W;
3650: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
3660: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 44 52 49  ICODE..alias DRI
3670: 56 45 52 5f 49 4e 46 4f 5f 32 57 20 44 52 49 56  VER_INFO_2W DRIV
3680: 45 52 5f 49 4e 46 4f 5f 32 3b 0d 0a 61 6c 69 61  ER_INFO_2;..alia
3690: 73 20 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 32  s PDRIVER_INFO_2
36a0: 57 20 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 32  W PDRIVER_INFO_2
36b0: 3b 0d 0a 61 6c 69 61 73 20 4c 50 44 52 49 56 45  ;..alias LPDRIVE
36c0: 52 5f 49 4e 46 4f 5f 32 57 20 4c 50 44 52 49 56  R_INFO_2W LPDRIV
36d0: 45 52 5f 49 4e 46 4f 5f 32 3b 0d 0a 2f 2f 20 23  ER_INFO_2;..// #
36e0: 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  else..// .....//
36f0: 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
3700: 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 44 52  DE....struct _DR
3710: 49 56 45 52 5f 49 4e 46 4f 5f 33 41 20 7b 0d 0a  IVER_INFO_3A {..
3720: 20 20 44 57 4f 52 44 20 63 56 65 72 73 69 6f 6e    DWORD cVersion
3730: 3b 0d 0a 20 20 4c 50 53 54 52 20 70 4e 61 6d 65  ;..  LPSTR pName
3740: 3b 0d 0a 20 20 4c 50 53 54 52 20 70 45 6e 76 69  ;..  LPSTR pEnvi
3750: 72 6f 6e 6d 65 6e 74 3b 0d 0a 20 20 4c 50 53 54  ronment;..  LPST
3760: 52 20 70 44 72 69 76 65 72 50 61 74 68 3b 0d 0a  R pDriverPath;..
3770: 20 20 4c 50 53 54 52 20 70 44 61 74 61 46 69 6c    LPSTR pDataFil
3780: 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 43 6f 6e  e;..  LPSTR pCon
3790: 66 69 67 46 69 6c 65 3b 0d 0a 20 20 4c 50 53 54  figFile;..  LPST
37a0: 52 20 70 48 65 6c 70 46 69 6c 65 3b 0d 0a 20 20  R pHelpFile;..  
37b0: 4c 50 53 54 52 20 70 44 65 70 65 6e 64 65 6e 74  LPSTR pDependent
37c0: 46 69 6c 65 73 3b 0d 0a 20 20 4c 50 53 54 52 20  Files;..  LPSTR 
37d0: 70 4d 6f 6e 69 74 6f 72 4e 61 6d 65 3b 0d 0a 20  pMonitorName;.. 
37e0: 20 4c 50 53 54 52 20 70 44 65 66 61 75 6c 74 44   LPSTR pDefaultD
37f0: 61 74 61 54 79 70 65 3b 0d 0a 7d 0d 0a 61 6c 69  ataType;..}..ali
3800: 61 73 20 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f  as _DRIVER_INFO_
3810: 33 41 20 44 52 49 56 45 52 5f 49 4e 46 4f 5f 33  3A DRIVER_INFO_3
3820: 41 3b 0d 0a 61 6c 69 61 73 20 5f 44 52 49 56 45  A;..alias _DRIVE
3830: 52 5f 49 4e 46 4f 5f 33 41 2a 20 50 44 52 49 56  R_INFO_3A* PDRIV
3840: 45 52 5f 49 4e 46 4f 5f 33 41 3b 0d 0a 61 6c 69  ER_INFO_3A;..ali
3850: 61 73 20 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f  as _DRIVER_INFO_
3860: 33 41 2a 20 4c 50 44 52 49 56 45 52 5f 49 4e 46  3A* LPDRIVER_INF
3870: 4f 5f 33 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  O_3A;....struct 
3880: 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f 33 57 20  _DRIVER_INFO_3W 
3890: 7b 0d 0a 20 20 44 57 4f 52 44 20 63 56 65 72 73  {..  DWORD cVers
38a0: 69 6f 6e 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70  ion;..  LPWSTR p
38b0: 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20  Name;..  LPWSTR 
38c0: 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 3b 0d 0a 20  pEnvironment;.. 
38d0: 20 4c 50 57 53 54 52 20 70 44 72 69 76 65 72 50   LPWSTR pDriverP
38e0: 61 74 68 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70  ath;..  LPWSTR p
38f0: 44 61 74 61 46 69 6c 65 3b 0d 0a 20 20 4c 50 57  DataFile;..  LPW
3900: 53 54 52 20 70 43 6f 6e 66 69 67 46 69 6c 65 3b  STR pConfigFile;
3910: 0d 0a 20 20 4c 50 57 53 54 52 20 70 48 65 6c 70  ..  LPWSTR pHelp
3920: 46 69 6c 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20  File;..  LPWSTR 
3930: 70 44 65 70 65 6e 64 65 6e 74 46 69 6c 65 73 3b  pDependentFiles;
3940: 0d 0a 20 20 4c 50 57 53 54 52 20 70 4d 6f 6e 69  ..  LPWSTR pMoni
3950: 74 6f 72 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53  torName;..  LPWS
3960: 54 52 20 70 44 65 66 61 75 6c 74 44 61 74 61 54  TR pDefaultDataT
3970: 79 70 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ype;..}..alias _
3980: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 33 57 20 44  DRIVER_INFO_3W D
3990: 52 49 56 45 52 5f 49 4e 46 4f 5f 33 57 3b 0d 0a  RIVER_INFO_3W;..
39a0: 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e  alias _DRIVER_IN
39b0: 46 4f 5f 33 57 2a 20 50 44 52 49 56 45 52 5f 49  FO_3W* PDRIVER_I
39c0: 4e 46 4f 5f 33 57 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_3W;..alias _
39d0: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 33 57 2a 20  DRIVER_INFO_3W* 
39e0: 4c 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 33 57  LPDRIVER_INFO_3W
39f0: 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  ;....// #ifdef U
3a00: 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 44 52  NICODE..alias DR
3a10: 49 56 45 52 5f 49 4e 46 4f 5f 33 57 20 44 52 49  IVER_INFO_3W DRI
3a20: 56 45 52 5f 49 4e 46 4f 5f 33 3b 0d 0a 61 6c 69  VER_INFO_3;..ali
3a30: 61 73 20 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f  as PDRIVER_INFO_
3a40: 33 57 20 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f  3W PDRIVER_INFO_
3a50: 33 3b 0d 0a 61 6c 69 61 73 20 4c 50 44 52 49 56  3;..alias LPDRIV
3a60: 45 52 5f 49 4e 46 4f 5f 33 57 20 4c 50 44 52 49  ER_INFO_3W LPDRI
3a70: 56 45 52 5f 49 4e 46 4f 5f 33 3b 0d 0a 2f 2f 20  VER_INFO_3;..// 
3a80: 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
3a90: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43  / #endif // UNIC
3aa0: 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 44  ODE....struct _D
3ab0: 52 49 56 45 52 5f 49 4e 46 4f 5f 34 41 20 7b 0d  RIVER_INFO_4A {.
3ac0: 0a 20 20 44 57 4f 52 44 20 63 56 65 72 73 69 6f  .  DWORD cVersio
3ad0: 6e 3b 0d 0a 20 20 4c 50 53 54 52 20 70 4e 61 6d  n;..  LPSTR pNam
3ae0: 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 45 6e 76  e;..  LPSTR pEnv
3af0: 69 72 6f 6e 6d 65 6e 74 3b 0d 0a 20 20 4c 50 53  ironment;..  LPS
3b00: 54 52 20 70 44 72 69 76 65 72 50 61 74 68 3b 0d  TR pDriverPath;.
3b10: 0a 20 20 4c 50 53 54 52 20 70 44 61 74 61 46 69  .  LPSTR pDataFi
3b20: 6c 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 43 6f  le;..  LPSTR pCo
3b30: 6e 66 69 67 46 69 6c 65 3b 0d 0a 20 20 4c 50 53  nfigFile;..  LPS
3b40: 54 52 20 70 48 65 6c 70 46 69 6c 65 3b 0d 0a 20  TR pHelpFile;.. 
3b50: 20 4c 50 53 54 52 20 70 44 65 70 65 6e 64 65 6e   LPSTR pDependen
3b60: 74 46 69 6c 65 73 3b 0d 0a 20 20 4c 50 53 54 52  tFiles;..  LPSTR
3b70: 20 70 4d 6f 6e 69 74 6f 72 4e 61 6d 65 3b 0d 0a   pMonitorName;..
3b80: 20 20 4c 50 53 54 52 20 70 44 65 66 61 75 6c 74    LPSTR pDefault
3b90: 44 61 74 61 54 79 70 65 3b 0d 0a 20 20 4c 50 53  DataType;..  LPS
3ba0: 54 52 20 70 73 7a 7a 50 72 65 76 69 6f 75 73 4e  TR pszzPreviousN
3bb0: 61 6d 65 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20  ames;..}..alias 
3bc0: 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f 34 41 20  _DRIVER_INFO_4A 
3bd0: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 34 41 3b 0d  DRIVER_INFO_4A;.
3be0: 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49  .alias _DRIVER_I
3bf0: 4e 46 4f 5f 34 41 2a 20 50 44 52 49 56 45 52 5f  NFO_4A* PDRIVER_
3c00: 49 4e 46 4f 5f 34 41 3b 0d 0a 61 6c 69 61 73 20  INFO_4A;..alias 
3c10: 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f 34 41 2a  _DRIVER_INFO_4A*
3c20: 20 4c 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 34   LPDRIVER_INFO_4
3c30: 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 44 52  A;....struct _DR
3c40: 49 56 45 52 5f 49 4e 46 4f 5f 34 57 20 7b 0d 0a  IVER_INFO_4W {..
3c50: 20 20 44 57 4f 52 44 20 63 56 65 72 73 69 6f 6e    DWORD cVersion
3c60: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 4e 61 6d  ;..  LPWSTR pNam
3c70: 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 45 6e  e;..  LPWSTR pEn
3c80: 76 69 72 6f 6e 6d 65 6e 74 3b 0d 0a 20 20 4c 50  vironment;..  LP
3c90: 57 53 54 52 20 70 44 72 69 76 65 72 50 61 74 68  WSTR pDriverPath
3ca0: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44 61 74  ;..  LPWSTR pDat
3cb0: 61 46 69 6c 65 3b 0d 0a 20 20 4c 50 57 53 54 52  aFile;..  LPWSTR
3cc0: 20 70 43 6f 6e 66 69 67 46 69 6c 65 3b 0d 0a 20   pConfigFile;.. 
3cd0: 20 4c 50 57 53 54 52 20 70 48 65 6c 70 46 69 6c   LPWSTR pHelpFil
3ce0: 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44 65  e;..  LPWSTR pDe
3cf0: 70 65 6e 64 65 6e 74 46 69 6c 65 73 3b 0d 0a 20  pendentFiles;.. 
3d00: 20 4c 50 57 53 54 52 20 70 4d 6f 6e 69 74 6f 72   LPWSTR pMonitor
3d10: 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20  Name;..  LPWSTR 
3d20: 70 44 65 66 61 75 6c 74 44 61 74 61 54 79 70 65  pDefaultDataType
3d30: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 7a  ;..  LPWSTR pszz
3d40: 50 72 65 76 69 6f 75 73 4e 61 6d 65 73 3b 0d 0a  PreviousNames;..
3d50: 7d 0d 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52  }..alias _DRIVER
3d60: 5f 49 4e 46 4f 5f 34 57 20 44 52 49 56 45 52 5f  _INFO_4W DRIVER_
3d70: 49 4e 46 4f 5f 34 57 3b 0d 0a 61 6c 69 61 73 20  INFO_4W;..alias 
3d80: 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f 34 57 2a  _DRIVER_INFO_4W*
3d90: 20 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 34 57   PDRIVER_INFO_4W
3da0: 3b 0d 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52  ;..alias _DRIVER
3db0: 5f 49 4e 46 4f 5f 34 57 2a 20 4c 50 44 52 49 56  _INFO_4W* LPDRIV
3dc0: 45 52 5f 49 4e 46 4f 5f 34 57 3b 0d 0a 0d 0a 2f  ER_INFO_4W;..../
3dd0: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
3de0: 0d 0a 61 6c 69 61 73 20 44 52 49 56 45 52 5f 49  ..alias DRIVER_I
3df0: 4e 46 4f 5f 34 57 20 44 52 49 56 45 52 5f 49 4e  NFO_4W DRIVER_IN
3e00: 46 4f 5f 34 3b 0d 0a 61 6c 69 61 73 20 50 44 52  FO_4;..alias PDR
3e10: 49 56 45 52 5f 49 4e 46 4f 5f 34 57 20 50 44 52  IVER_INFO_4W PDR
3e20: 49 56 45 52 5f 49 4e 46 4f 5f 34 3b 0d 0a 61 6c  IVER_INFO_4;..al
3e30: 69 61 73 20 4c 50 44 52 49 56 45 52 5f 49 4e 46  ias LPDRIVER_INF
3e40: 4f 5f 34 57 20 4c 50 44 52 49 56 45 52 5f 49 4e  O_4W LPDRIVER_IN
3e50: 46 4f 5f 34 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  FO_4;..// #else.
3e60: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
3e70: 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d  if // UNICODE...
3e80: 0a 73 74 72 75 63 74 20 5f 44 52 49 56 45 52 5f  .struct _DRIVER_
3e90: 49 4e 46 4f 5f 35 41 20 7b 0d 0a 20 20 44 57 4f  INFO_5A {..  DWO
3ea0: 52 44 20 63 56 65 72 73 69 6f 6e 3b 0d 0a 20 20  RD cVersion;..  
3eb0: 4c 50 53 54 52 20 70 4e 61 6d 65 3b 0d 0a 20 20  LPSTR pName;..  
3ec0: 4c 50 53 54 52 20 70 45 6e 76 69 72 6f 6e 6d 65  LPSTR pEnvironme
3ed0: 6e 74 3b 0d 0a 20 20 4c 50 53 54 52 20 70 44 72  nt;..  LPSTR pDr
3ee0: 69 76 65 72 50 61 74 68 3b 0d 0a 20 20 4c 50 53  iverPath;..  LPS
3ef0: 54 52 20 70 44 61 74 61 46 69 6c 65 3b 0d 0a 20  TR pDataFile;.. 
3f00: 20 4c 50 53 54 52 20 70 43 6f 6e 66 69 67 46 69   LPSTR pConfigFi
3f10: 6c 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 44  le;..  DWORD dwD
3f20: 72 69 76 65 72 41 74 74 72 69 62 75 74 65 73 3b  riverAttributes;
3f30: 0d 0a 20 20 44 57 4f 52 44 20 64 77 43 6f 6e 66  ..  DWORD dwConf
3f40: 69 67 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57  igVersion;..  DW
3f50: 4f 52 44 20 64 77 44 72 69 76 65 72 56 65 72 73  ORD dwDriverVers
3f60: 69 6f 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ion;..}..alias _
3f70: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 35 41 20 44  DRIVER_INFO_5A D
3f80: 52 49 56 45 52 5f 49 4e 46 4f 5f 35 41 3b 0d 0a  RIVER_INFO_5A;..
3f90: 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e  alias _DRIVER_IN
3fa0: 46 4f 5f 35 41 2a 20 50 44 52 49 56 45 52 5f 49  FO_5A* PDRIVER_I
3fb0: 4e 46 4f 5f 35 41 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_5A;..alias _
3fc0: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 35 41 2a 20  DRIVER_INFO_5A* 
3fd0: 4c 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 35 41  LPDRIVER_INFO_5A
3fe0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 44 52 49  ;....struct _DRI
3ff0: 56 45 52 5f 49 4e 46 4f 5f 35 57 20 7b 0d 0a 20  VER_INFO_5W {.. 
4000: 20 44 57 4f 52 44 20 63 56 65 72 73 69 6f 6e 3b   DWORD cVersion;
4010: 0d 0a 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65  ..  LPWSTR pName
4020: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 45 6e 76  ;..  LPWSTR pEnv
4030: 69 72 6f 6e 6d 65 6e 74 3b 0d 0a 20 20 4c 50 57  ironment;..  LPW
4040: 53 54 52 20 70 44 72 69 76 65 72 50 61 74 68 3b  STR pDriverPath;
4050: 0d 0a 20 20 4c 50 57 53 54 52 20 70 44 61 74 61  ..  LPWSTR pData
4060: 46 69 6c 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20  File;..  LPWSTR 
4070: 70 43 6f 6e 66 69 67 46 69 6c 65 3b 0d 0a 20 20  pConfigFile;..  
4080: 44 57 4f 52 44 20 64 77 44 72 69 76 65 72 41 74  DWORD dwDriverAt
4090: 74 72 69 62 75 74 65 73 3b 0d 0a 20 20 44 57 4f  tributes;..  DWO
40a0: 52 44 20 64 77 43 6f 6e 66 69 67 56 65 72 73 69  RD dwConfigVersi
40b0: 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 44  on;..  DWORD dwD
40c0: 72 69 76 65 72 56 65 72 73 69 6f 6e 3b 0d 0a 7d  riverVersion;..}
40d0: 0d 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f  ..alias _DRIVER_
40e0: 49 4e 46 4f 5f 35 57 20 44 52 49 56 45 52 5f 49  INFO_5W DRIVER_I
40f0: 4e 46 4f 5f 35 57 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_5W;..alias _
4100: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 35 57 2a 20  DRIVER_INFO_5W* 
4110: 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 35 57 3b  PDRIVER_INFO_5W;
4120: 0d 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f  ..alias _DRIVER_
4130: 49 4e 46 4f 5f 35 57 2a 20 4c 50 44 52 49 56 45  INFO_5W* LPDRIVE
4140: 52 5f 49 4e 46 4f 5f 35 57 3b 0d 0a 0d 0a 2f 2f  R_INFO_5W;....//
4150: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
4160: 0a 61 6c 69 61 73 20 44 52 49 56 45 52 5f 49 4e  .alias DRIVER_IN
4170: 46 4f 5f 35 57 20 44 52 49 56 45 52 5f 49 4e 46  FO_5W DRIVER_INF
4180: 4f 5f 35 3b 0d 0a 61 6c 69 61 73 20 50 44 52 49  O_5;..alias PDRI
4190: 56 45 52 5f 49 4e 46 4f 5f 35 57 20 50 44 52 49  VER_INFO_5W PDRI
41a0: 56 45 52 5f 49 4e 46 4f 5f 35 3b 0d 0a 61 6c 69  VER_INFO_5;..ali
41b0: 61 73 20 4c 50 44 52 49 56 45 52 5f 49 4e 46 4f  as LPDRIVER_INFO
41c0: 5f 35 57 20 4c 50 44 52 49 56 45 52 5f 49 4e 46  _5W LPDRIVER_INF
41d0: 4f 5f 35 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  O_5;..// #else..
41e0: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  // .....// #endi
41f0: 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a  f // UNICODE....
4200: 73 74 72 75 63 74 20 5f 44 52 49 56 45 52 5f 49  struct _DRIVER_I
4210: 4e 46 4f 5f 36 41 20 7b 0d 0a 20 20 44 57 4f 52  NFO_6A {..  DWOR
4220: 44 20 63 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 4c  D cVersion;..  L
4230: 50 53 54 52 20 70 4e 61 6d 65 3b 0d 0a 20 20 4c  PSTR pName;..  L
4240: 50 53 54 52 20 70 45 6e 76 69 72 6f 6e 6d 65 6e  PSTR pEnvironmen
4250: 74 3b 0d 0a 20 20 4c 50 53 54 52 20 70 44 72 69  t;..  LPSTR pDri
4260: 76 65 72 50 61 74 68 3b 0d 0a 20 20 4c 50 53 54  verPath;..  LPST
4270: 52 20 70 44 61 74 61 46 69 6c 65 3b 0d 0a 20 20  R pDataFile;..  
4280: 4c 50 53 54 52 20 70 43 6f 6e 66 69 67 46 69 6c  LPSTR pConfigFil
4290: 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 48 65 6c  e;..  LPSTR pHel
42a0: 70 46 69 6c 65 3b 0d 0a 20 20 4c 50 53 54 52 20  pFile;..  LPSTR 
42b0: 70 44 65 70 65 6e 64 65 6e 74 46 69 6c 65 73 3b  pDependentFiles;
42c0: 0d 0a 20 20 4c 50 53 54 52 20 70 4d 6f 6e 69 74  ..  LPSTR pMonit
42d0: 6f 72 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52  orName;..  LPSTR
42e0: 20 70 44 65 66 61 75 6c 74 44 61 74 61 54 79 70   pDefaultDataTyp
42f0: 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 7a  e;..  LPSTR pszz
4300: 50 72 65 76 69 6f 75 73 4e 61 6d 65 73 3b 0d 0a  PreviousNames;..
4310: 20 20 46 49 4c 45 54 49 4d 45 20 66 74 44 72 69    FILETIME ftDri
4320: 76 65 72 44 61 74 65 3b 0d 0a 20 20 44 57 4f 52  verDate;..  DWOR
4330: 44 4c 4f 4e 47 20 64 77 6c 44 72 69 76 65 72 56  DLONG dwlDriverV
4340: 65 72 73 69 6f 6e 3b 0d 0a 20 20 4c 50 53 54 52  ersion;..  LPSTR
4350: 20 70 73 7a 4d 66 67 4e 61 6d 65 3b 0d 0a 20 20   pszMfgName;..  
4360: 4c 50 53 54 52 20 70 73 7a 4f 45 4d 55 72 6c 3b  LPSTR pszOEMUrl;
4370: 0d 0a 20 20 4c 50 53 54 52 20 70 73 7a 48 61 72  ..  LPSTR pszHar
4380: 64 77 61 72 65 49 44 3b 0d 0a 20 20 4c 50 53 54  dwareID;..  LPST
4390: 52 20 70 73 7a 50 72 6f 76 69 64 65 72 3b 0d 0a  R pszProvider;..
43a0: 7d 0d 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52  }..alias _DRIVER
43b0: 5f 49 4e 46 4f 5f 36 41 20 44 52 49 56 45 52 5f  _INFO_6A DRIVER_
43c0: 49 4e 46 4f 5f 36 41 3b 0d 0a 61 6c 69 61 73 20  INFO_6A;..alias 
43d0: 5f 44 52 49 56 45 52 5f 49 4e 46 4f 5f 36 41 2a  _DRIVER_INFO_6A*
43e0: 20 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 36 41   PDRIVER_INFO_6A
43f0: 3b 0d 0a 61 6c 69 61 73 20 5f 44 52 49 56 45 52  ;..alias _DRIVER
4400: 5f 49 4e 46 4f 5f 36 41 2a 20 4c 50 44 52 49 56  _INFO_6A* LPDRIV
4410: 45 52 5f 49 4e 46 4f 5f 36 41 3b 0d 0a 0d 0a 73  ER_INFO_6A;....s
4420: 74 72 75 63 74 20 5f 44 52 49 56 45 52 5f 49 4e  truct _DRIVER_IN
4430: 46 4f 5f 36 57 20 7b 0d 0a 20 20 44 57 4f 52 44  FO_6W {..  DWORD
4440: 20 63 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 4c 50   cVersion;..  LP
4450: 57 53 54 52 20 70 4e 61 6d 65 3b 0d 0a 20 20 4c  WSTR pName;..  L
4460: 50 57 53 54 52 20 70 45 6e 76 69 72 6f 6e 6d 65  PWSTR pEnvironme
4470: 6e 74 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44  nt;..  LPWSTR pD
4480: 72 69 76 65 72 50 61 74 68 3b 0d 0a 20 20 4c 50  riverPath;..  LP
4490: 57 53 54 52 20 70 44 61 74 61 46 69 6c 65 3b 0d  WSTR pDataFile;.
44a0: 0a 20 20 4c 50 57 53 54 52 20 70 43 6f 6e 66 69  .  LPWSTR pConfi
44b0: 67 46 69 6c 65 3b 0d 0a 20 20 4c 50 57 53 54 52  gFile;..  LPWSTR
44c0: 20 70 48 65 6c 70 46 69 6c 65 3b 0d 0a 20 20 4c   pHelpFile;..  L
44d0: 50 57 53 54 52 20 70 44 65 70 65 6e 64 65 6e 74  PWSTR pDependent
44e0: 46 69 6c 65 73 3b 0d 0a 20 20 4c 50 57 53 54 52  Files;..  LPWSTR
44f0: 20 70 4d 6f 6e 69 74 6f 72 4e 61 6d 65 3b 0d 0a   pMonitorName;..
4500: 20 20 4c 50 57 53 54 52 20 70 44 65 66 61 75 6c    LPWSTR pDefaul
4510: 74 44 61 74 61 54 79 70 65 3b 0d 0a 20 20 4c 50  tDataType;..  LP
4520: 57 53 54 52 20 70 73 7a 7a 50 72 65 76 69 6f 75  WSTR pszzPreviou
4530: 73 4e 61 6d 65 73 3b 0d 0a 20 20 46 49 4c 45 54  sNames;..  FILET
4540: 49 4d 45 20 66 74 44 72 69 76 65 72 44 61 74 65  IME ftDriverDate
4550: 3b 0d 0a 20 20 44 57 4f 52 44 4c 4f 4e 47 20 64  ;..  DWORDLONG d
4560: 77 6c 44 72 69 76 65 72 56 65 72 73 69 6f 6e 3b  wlDriverVersion;
4570: 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 4d 66  ..  LPWSTR pszMf
4580: 67 4e 61 6d 65 3b 0d 0a 20 20 4c 50 57 53 54 52  gName;..  LPWSTR
4590: 20 70 73 7a 4f 45 4d 55 72 6c 3b 0d 0a 20 20 4c   pszOEMUrl;..  L
45a0: 50 57 53 54 52 20 70 73 7a 48 61 72 64 77 61 72  PWSTR pszHardwar
45b0: 65 49 44 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70  eID;..  LPWSTR p
45c0: 73 7a 50 72 6f 76 69 64 65 72 3b 0d 0a 7d 0d 0a  szProvider;..}..
45d0: 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e  alias _DRIVER_IN
45e0: 46 4f 5f 36 57 20 44 52 49 56 45 52 5f 49 4e 46  FO_6W DRIVER_INF
45f0: 4f 5f 36 57 3b 0d 0a 61 6c 69 61 73 20 5f 44 52  O_6W;..alias _DR
4600: 49 56 45 52 5f 49 4e 46 4f 5f 36 57 2a 20 50 44  IVER_INFO_6W* PD
4610: 52 49 56 45 52 5f 49 4e 46 4f 5f 36 57 3b 0d 0a  RIVER_INFO_6W;..
4620: 61 6c 69 61 73 20 5f 44 52 49 56 45 52 5f 49 4e  alias _DRIVER_IN
4630: 46 4f 5f 36 57 2a 20 4c 50 44 52 49 56 45 52 5f  FO_6W* LPDRIVER_
4640: 49 4e 46 4f 5f 36 57 3b 0d 0a 0d 0a 2f 2f 20 23  INFO_6W;....// #
4650: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
4660: 6c 69 61 73 20 44 52 49 56 45 52 5f 49 4e 46 4f  lias DRIVER_INFO
4670: 5f 36 57 20 44 52 49 56 45 52 5f 49 4e 46 4f 5f  _6W DRIVER_INFO_
4680: 36 3b 0d 0a 61 6c 69 61 73 20 50 44 52 49 56 45  6;..alias PDRIVE
4690: 52 5f 49 4e 46 4f 5f 36 57 20 50 44 52 49 56 45  R_INFO_6W PDRIVE
46a0: 52 5f 49 4e 46 4f 5f 36 3b 0d 0a 61 6c 69 61 73  R_INFO_6;..alias
46b0: 20 4c 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 36   LPDRIVER_INFO_6
46c0: 57 20 4c 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f  W LPDRIVER_INFO_
46d0: 36 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  6;..// #else..//
46e0: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20   .....// #endif 
46f0: 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e  // UNICODE....en
4700: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 52 49 56  um : uint { DRIV
4710: 45 52 5f 4b 45 52 4e 45 4c 4d 4f 44 45 20 3d 20  ER_KERNELMODE = 
4720: 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 65 6e  0x00000001 }..en
4730: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 52 49 56  um : uint { DRIV
4740: 45 52 5f 55 53 45 52 4d 4f 44 45 20 3d 20 30 78  ER_USERMODE = 0x
4750: 30 30 30 30 30 30 30 32 20 7d 0d 0a 0d 0a 65 6e  00000002 }....en
4760: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 50 44 5f  um : uint { DPD_
4770: 44 45 4c 45 54 45 5f 55 4e 55 53 45 44 5f 46 49  DELETE_UNUSED_FI
4780: 4c 45 53 20 3d 20 30 78 30 30 30 30 30 30 30 31  LES = 0x00000001
4790: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
47a0: 7b 20 44 50 44 5f 44 45 4c 45 54 45 5f 53 50 45  { DPD_DELETE_SPE
47b0: 43 49 46 49 43 5f 56 45 52 53 49 4f 4e 20 3d 20  CIFIC_VERSION = 
47c0: 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e  0x00000002 }..en
47d0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 50 44 5f  um : uint { DPD_
47e0: 44 45 4c 45 54 45 5f 41 4c 4c 5f 46 49 4c 45 53  DELETE_ALL_FILES
47f0: 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d   = 0x00000004 }.
4800: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
4810: 20 41 50 44 5f 53 54 52 49 43 54 5f 55 50 47 52   APD_STRICT_UPGR
4820: 41 44 45 20 3d 20 30 78 30 30 30 30 30 30 30 31  ADE = 0x00000001
4830: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
4840: 7b 20 41 50 44 5f 53 54 52 49 43 54 5f 44 4f 57  { APD_STRICT_DOW
4850: 4e 47 52 41 44 45 20 3d 20 30 78 30 30 30 30 30  NGRADE = 0x00000
4860: 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  002 }..enum : ui
4870: 6e 74 20 7b 20 41 50 44 5f 43 4f 50 59 5f 41 4c  nt { APD_COPY_AL
4880: 4c 5f 46 49 4c 45 53 20 3d 20 30 78 30 30 30 30  L_FILES = 0x0000
4890: 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
48a0: 69 6e 74 20 7b 20 41 50 44 5f 43 4f 50 59 5f 4e  int { APD_COPY_N
48b0: 45 57 5f 46 49 4c 45 53 20 3d 20 30 78 30 30 30  EW_FILES = 0x000
48c0: 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00008 }..enum : 
48d0: 75 69 6e 74 20 7b 20 41 50 44 5f 43 4f 50 59 5f  uint { APD_COPY_
48e0: 46 52 4f 4d 5f 44 49 52 45 43 54 4f 52 59 20 3d  FROM_DIRECTORY =
48f0: 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 0d   0x00000010 }...
4900: 0a 73 74 72 75 63 74 20 5f 44 4f 43 5f 49 4e 46  .struct _DOC_INF
4910: 4f 5f 31 41 20 7b 0d 0a 20 20 4c 50 53 54 52 20  O_1A {..  LPSTR 
4920: 70 44 6f 63 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53  pDocName;..  LPS
4930: 54 52 20 70 4f 75 74 70 75 74 46 69 6c 65 3b 0d  TR pOutputFile;.
4940: 0a 20 20 4c 50 53 54 52 20 70 44 61 74 61 74 79  .  LPSTR pDataty
4950: 70 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 44  pe;..}..alias _D
4960: 4f 43 5f 49 4e 46 4f 5f 31 41 20 44 4f 43 5f 49  OC_INFO_1A DOC_I
4970: 4e 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_1A;..alias _
4980: 44 4f 43 5f 49 4e 46 4f 5f 31 41 2a 20 50 44 4f  DOC_INFO_1A* PDO
4990: 43 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61  C_INFO_1A;..alia
49a0: 73 20 5f 44 4f 43 5f 49 4e 46 4f 5f 31 41 2a 20  s _DOC_INFO_1A* 
49b0: 4c 50 44 4f 43 5f 49 4e 46 4f 5f 31 41 3b 0d 0a  LPDOC_INFO_1A;..
49c0: 0d 0a 73 74 72 75 63 74 20 5f 44 4f 43 5f 49 4e  ..struct _DOC_IN
49d0: 46 4f 5f 31 57 20 7b 0d 0a 20 20 4c 50 57 53 54  FO_1W {..  LPWST
49e0: 52 20 70 44 6f 63 4e 61 6d 65 3b 0d 0a 20 20 4c  R pDocName;..  L
49f0: 50 57 53 54 52 20 70 4f 75 74 70 75 74 46 69 6c  PWSTR pOutputFil
4a00: 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44 61  e;..  LPWSTR pDa
4a10: 74 61 74 79 70 65 3b 0d 0a 7d 0d 0a 61 6c 69 61  tatype;..}..alia
4a20: 73 20 5f 44 4f 43 5f 49 4e 46 4f 5f 31 57 20 44  s _DOC_INFO_1W D
4a30: 4f 43 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 61 6c 69  OC_INFO_1W;..ali
4a40: 61 73 20 5f 44 4f 43 5f 49 4e 46 4f 5f 31 57 2a  as _DOC_INFO_1W*
4a50: 20 50 44 4f 43 5f 49 4e 46 4f 5f 31 57 3b 0d 0a   PDOC_INFO_1W;..
4a60: 61 6c 69 61 73 20 5f 44 4f 43 5f 49 4e 46 4f 5f  alias _DOC_INFO_
4a70: 31 57 2a 20 4c 50 44 4f 43 5f 49 4e 46 4f 5f 31  1W* LPDOC_INFO_1
4a80: 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  W;....// #ifdef 
4a90: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 44  UNICODE..alias D
4aa0: 4f 43 5f 49 4e 46 4f 5f 31 57 20 44 4f 43 5f 49  OC_INFO_1W DOC_I
4ab0: 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73 20 50 44  NFO_1;..alias PD
4ac0: 4f 43 5f 49 4e 46 4f 5f 31 57 20 50 44 4f 43 5f  OC_INFO_1W PDOC_
4ad0: 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73 20 4c  INFO_1;..alias L
4ae0: 50 44 4f 43 5f 49 4e 46 4f 5f 31 57 20 4c 50 44  PDOC_INFO_1W LPD
4af0: 4f 43 5f 49 4e 46 4f 5f 31 3b 0d 0a 2f 2f 20 23  OC_INFO_1;..// #
4b00: 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  else..// .....//
4b10: 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
4b20: 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 46 4f  DE....struct _FO
4b30: 52 4d 5f 49 4e 46 4f 5f 31 41 20 7b 0d 0a 20 20  RM_INFO_1A {..  
4b40: 44 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20 20  DWORD Flags;..  
4b50: 4c 50 53 54 52 20 70 4e 61 6d 65 3b 0d 0a 20 20  LPSTR pName;..  
4b60: 53 49 5a 45 4c 20 53 69 7a 65 3b 0d 0a 20 20 52  SIZEL Size;..  R
4b70: 45 43 54 4c 20 49 6d 61 67 65 61 62 6c 65 41 72  ECTL ImageableAr
4b80: 65 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 46  ea;..}..alias _F
4b90: 4f 52 4d 5f 49 4e 46 4f 5f 31 41 20 46 4f 52 4d  ORM_INFO_1A FORM
4ba0: 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61 73  _INFO_1A;..alias
4bb0: 20 5f 46 4f 52 4d 5f 49 4e 46 4f 5f 31 41 2a 20   _FORM_INFO_1A* 
4bc0: 50 46 4f 52 4d 5f 49 4e 46 4f 5f 31 41 3b 0d 0a  PFORM_INFO_1A;..
4bd0: 61 6c 69 61 73 20 5f 46 4f 52 4d 5f 49 4e 46 4f  alias _FORM_INFO
4be0: 5f 31 41 2a 20 4c 50 46 4f 52 4d 5f 49 4e 46 4f  _1A* LPFORM_INFO
4bf0: 5f 31 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  _1A;....struct _
4c00: 46 4f 52 4d 5f 49 4e 46 4f 5f 31 57 20 7b 0d 0a  FORM_INFO_1W {..
4c10: 20 20 44 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a    DWORD Flags;..
4c20: 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65 3b 0d    LPWSTR pName;.
4c30: 0a 20 20 53 49 5a 45 4c 20 53 69 7a 65 3b 0d 0a  .  SIZEL Size;..
4c40: 20 20 52 45 43 54 4c 20 49 6d 61 67 65 61 62 6c    RECTL Imageabl
4c50: 65 41 72 65 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  eArea;..}..alias
4c60: 20 5f 46 4f 52 4d 5f 49 4e 46 4f 5f 31 57 20 46   _FORM_INFO_1W F
4c70: 4f 52 4d 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 61 6c  ORM_INFO_1W;..al
4c80: 69 61 73 20 5f 46 4f 52 4d 5f 49 4e 46 4f 5f 31  ias _FORM_INFO_1
4c90: 57 2a 20 50 46 4f 52 4d 5f 49 4e 46 4f 5f 31 57  W* PFORM_INFO_1W
4ca0: 3b 0d 0a 61 6c 69 61 73 20 5f 46 4f 52 4d 5f 49  ;..alias _FORM_I
4cb0: 4e 46 4f 5f 31 57 2a 20 4c 50 46 4f 52 4d 5f 49  NFO_1W* LPFORM_I
4cc0: 4e 46 4f 5f 31 57 3b 0d 0a 0d 0a 2f 2f 20 23 69  NFO_1W;....// #i
4cd0: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c  fdef UNICODE..al
4ce0: 69 61 73 20 46 4f 52 4d 5f 49 4e 46 4f 5f 31 57  ias FORM_INFO_1W
4cf0: 20 46 4f 52 4d 5f 49 4e 46 4f 5f 31 3b 0d 0a 61   FORM_INFO_1;..a
4d00: 6c 69 61 73 20 50 46 4f 52 4d 5f 49 4e 46 4f 5f  lias PFORM_INFO_
4d10: 31 57 20 50 46 4f 52 4d 5f 49 4e 46 4f 5f 31 3b  1W PFORM_INFO_1;
4d20: 0d 0a 61 6c 69 61 73 20 4c 50 46 4f 52 4d 5f 49  ..alias LPFORM_I
4d30: 4e 46 4f 5f 31 57 20 4c 50 46 4f 52 4d 5f 49 4e  NFO_1W LPFORM_IN
4d40: 46 4f 5f 31 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  FO_1;..// #else.
4d50: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  .// .....// #end
4d60: 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d  if // UNICODE...
4d70: 0a 73 74 72 75 63 74 20 5f 44 4f 43 5f 49 4e 46  .struct _DOC_INF
4d80: 4f 5f 32 41 20 7b 0d 0a 20 20 4c 50 53 54 52 20  O_2A {..  LPSTR 
4d90: 70 44 6f 63 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53  pDocName;..  LPS
4da0: 54 52 20 70 4f 75 74 70 75 74 46 69 6c 65 3b 0d  TR pOutputFile;.
4db0: 0a 20 20 4c 50 53 54 52 20 70 44 61 74 61 74 79  .  LPSTR pDataty
4dc0: 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4d  pe;..  DWORD dwM
4dd0: 6f 64 65 3b 0d 0a 20 20 44 57 4f 52 44 20 4a 6f  ode;..  DWORD Jo
4de0: 62 49 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  bId;..}..alias _
4df0: 44 4f 43 5f 49 4e 46 4f 5f 32 41 20 44 4f 43 5f  DOC_INFO_2A DOC_
4e00: 49 4e 46 4f 5f 32 41 3b 0d 0a 61 6c 69 61 73 20  INFO_2A;..alias 
4e10: 5f 44 4f 43 5f 49 4e 46 4f 5f 32 41 2a 20 50 44  _DOC_INFO_2A* PD
4e20: 4f 43 5f 49 4e 46 4f 5f 32 41 3b 0d 0a 61 6c 69  OC_INFO_2A;..ali
4e30: 61 73 20 5f 44 4f 43 5f 49 4e 46 4f 5f 32 41 2a  as _DOC_INFO_2A*
4e40: 20 4c 50 44 4f 43 5f 49 4e 46 4f 5f 32 41 3b 0d   LPDOC_INFO_2A;.
4e50: 0a 0d 0a 73 74 72 75 63 74 20 5f 44 4f 43 5f 49  ...struct _DOC_I
4e60: 4e 46 4f 5f 32 57 20 7b 0d 0a 20 20 4c 50 57 53  NFO_2W {..  LPWS
4e70: 54 52 20 70 44 6f 63 4e 61 6d 65 3b 0d 0a 20 20  TR pDocName;..  
4e80: 4c 50 57 53 54 52 20 70 4f 75 74 70 75 74 46 69  LPWSTR pOutputFi
4e90: 6c 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44  le;..  LPWSTR pD
4ea0: 61 74 61 74 79 70 65 3b 0d 0a 20 20 44 57 4f 52  atatype;..  DWOR
4eb0: 44 20 64 77 4d 6f 64 65 3b 0d 0a 20 20 44 57 4f  D dwMode;..  DWO
4ec0: 52 44 20 4a 6f 62 49 64 3b 0d 0a 7d 0d 0a 61 6c  RD JobId;..}..al
4ed0: 69 61 73 20 5f 44 4f 43 5f 49 4e 46 4f 5f 32 57  ias _DOC_INFO_2W
4ee0: 20 44 4f 43 5f 49 4e 46 4f 5f 32 57 3b 0d 0a 61   DOC_INFO_2W;..a
4ef0: 6c 69 61 73 20 5f 44 4f 43 5f 49 4e 46 4f 5f 32  lias _DOC_INFO_2
4f00: 57 2a 20 50 44 4f 43 5f 49 4e 46 4f 5f 32 57 3b  W* PDOC_INFO_2W;
4f10: 0d 0a 61 6c 69 61 73 20 5f 44 4f 43 5f 49 4e 46  ..alias _DOC_INF
4f20: 4f 5f 32 57 2a 20 4c 50 44 4f 43 5f 49 4e 46 4f  O_2W* LPDOC_INFO
4f30: 5f 32 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65  _2W;....// #ifde
4f40: 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
4f50: 20 44 4f 43 5f 49 4e 46 4f 5f 32 57 20 44 4f 43   DOC_INFO_2W DOC
4f60: 5f 49 4e 46 4f 5f 32 3b 0d 0a 61 6c 69 61 73 20  _INFO_2;..alias 
4f70: 50 44 4f 43 5f 49 4e 46 4f 5f 32 57 20 50 44 4f  PDOC_INFO_2W PDO
4f80: 43 5f 49 4e 46 4f 5f 32 3b 0d 0a 61 6c 69 61 73  C_INFO_2;..alias
4f90: 20 4c 50 44 4f 43 5f 49 4e 46 4f 5f 32 57 20 4c   LPDOC_INFO_2W L
4fa0: 50 44 4f 43 5f 49 4e 46 4f 5f 32 3b 0d 0a 2f 2f  PDOC_INFO_2;..//
4fb0: 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   #else..// .....
4fc0: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49  // #endif // UNI
4fd0: 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  CODE....enum : u
4fe0: 69 6e 74 20 7b 20 44 49 5f 43 48 41 4e 4e 45 4c  int { DI_CHANNEL
4ff0: 20 3d 20 31 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a   = 1 }....enum :
5000: 20 75 69 6e 74 20 7b 20 44 49 5f 52 45 41 44 5f   uint { DI_READ_
5010: 53 50 4f 4f 4c 5f 4a 4f 42 20 3d 20 33 20 7d 0d  SPOOL_JOB = 3 }.
5020: 0a 0d 0a 73 74 72 75 63 74 20 5f 44 4f 43 5f 49  ...struct _DOC_I
5030: 4e 46 4f 5f 33 41 20 7b 0d 0a 20 20 4c 50 53 54  NFO_3A {..  LPST
5040: 52 20 70 44 6f 63 4e 61 6d 65 3b 0d 0a 20 20 4c  R pDocName;..  L
5050: 50 53 54 52 20 70 4f 75 74 70 75 74 46 69 6c 65  PSTR pOutputFile
5060: 3b 0d 0a 20 20 4c 50 53 54 52 20 70 44 61 74 61  ;..  LPSTR pData
5070: 74 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44 20 64  type;..  DWORD d
5080: 77 46 6c 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61  wFlags;..}..alia
5090: 73 20 5f 44 4f 43 5f 49 4e 46 4f 5f 33 41 20 44  s _DOC_INFO_3A D
50a0: 4f 43 5f 49 4e 46 4f 5f 33 41 3b 0d 0a 61 6c 69  OC_INFO_3A;..ali
50b0: 61 73 20 5f 44 4f 43 5f 49 4e 46 4f 5f 33 41 2a  as _DOC_INFO_3A*
50c0: 20 50 44 4f 43 5f 49 4e 46 4f 5f 33 41 3b 0d 0a   PDOC_INFO_3A;..
50d0: 61 6c 69 61 73 20 5f 44 4f 43 5f 49 4e 46 4f 5f  alias _DOC_INFO_
50e0: 33 41 2a 20 4c 50 44 4f 43 5f 49 4e 46 4f 5f 33  3A* LPDOC_INFO_3
50f0: 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 44 4f  A;....struct _DO
5100: 43 5f 49 4e 46 4f 5f 33 57 20 7b 0d 0a 20 20 4c  C_INFO_3W {..  L
5110: 50 57 53 54 52 20 70 44 6f 63 4e 61 6d 65 3b 0d  PWSTR pDocName;.
5120: 0a 20 20 4c 50 57 53 54 52 20 70 4f 75 74 70 75  .  LPWSTR pOutpu
5130: 74 46 69 6c 65 3b 0d 0a 20 20 4c 50 57 53 54 52  tFile;..  LPWSTR
5140: 20 70 44 61 74 61 74 79 70 65 3b 0d 0a 20 20 44   pDatatype;..  D
5150: 57 4f 52 44 20 64 77 46 6c 61 67 73 3b 0d 0a 7d  WORD dwFlags;..}
5160: 0d 0a 61 6c 69 61 73 20 5f 44 4f 43 5f 49 4e 46  ..alias _DOC_INF
5170: 4f 5f 33 57 20 44 4f 43 5f 49 4e 46 4f 5f 33 57  O_3W DOC_INFO_3W
5180: 3b 0d 0a 61 6c 69 61 73 20 5f 44 4f 43 5f 49 4e  ;..alias _DOC_IN
5190: 46 4f 5f 33 57 2a 20 50 44 4f 43 5f 49 4e 46 4f  FO_3W* PDOC_INFO
51a0: 5f 33 57 3b 0d 0a 61 6c 69 61 73 20 5f 44 4f 43  _3W;..alias _DOC
51b0: 5f 49 4e 46 4f 5f 33 57 2a 20 4c 50 44 4f 43 5f  _INFO_3W* LPDOC_
51c0: 49 4e 46 4f 5f 33 57 3b 0d 0a 0d 0a 2f 2f 20 23  INFO_3W;....// #
51d0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
51e0: 6c 69 61 73 20 44 4f 43 5f 49 4e 46 4f 5f 33 57  lias DOC_INFO_3W
51f0: 20 44 4f 43 5f 49 4e 46 4f 5f 33 3b 0d 0a 61 6c   DOC_INFO_3;..al
5200: 69 61 73 20 50 44 4f 43 5f 49 4e 46 4f 5f 33 57  ias PDOC_INFO_3W
5210: 20 50 44 4f 43 5f 49 4e 46 4f 5f 33 3b 0d 0a 61   PDOC_INFO_3;..a
5220: 6c 69 61 73 20 4c 50 44 4f 43 5f 49 4e 46 4f 5f  lias LPDOC_INFO_
5230: 33 57 20 4c 50 44 4f 43 5f 49 4e 46 4f 5f 33 3b  3W LPDOC_INFO_3;
5240: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e  ..// #else..// .
5250: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
5260: 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d   UNICODE....enum
5270: 20 3a 20 75 69 6e 74 20 7b 20 44 49 5f 4d 45 4d   : uint { DI_MEM
5280: 4f 52 59 4d 41 50 5f 57 52 49 54 45 20 3d 20 30  ORYMAP_WRITE = 0
5290: 78 30 30 30 30 30 30 30 31 20 7d 0d 0a 0d 0a 65  x00000001 }....e
52a0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 4f 52  num : uint { FOR
52b0: 4d 5f 55 53 45 52 20 3d 20 30 78 30 30 30 30 30  M_USER = 0x00000
52c0: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
52d0: 6e 74 20 7b 20 46 4f 52 4d 5f 42 55 49 4c 54 49  nt { FORM_BUILTI
52e0: 4e 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d  N = 0x00000001 }
52f0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5300: 46 4f 52 4d 5f 50 52 49 4e 54 45 52 20 3d 20 30  FORM_PRINTER = 0
5310: 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 0d 0a 73  x00000002 }....s
5320: 74 72 75 63 74 20 5f 50 52 49 4e 54 50 52 4f 43  truct _PRINTPROC
5330: 45 53 53 4f 52 5f 49 4e 46 4f 5f 31 41 20 7b 0d  ESSOR_INFO_1A {.
5340: 0a 20 20 4c 50 53 54 52 20 70 4e 61 6d 65 3b 0d  .  LPSTR pName;.
5350: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54  .}..alias _PRINT
5360: 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31  PROCESSOR_INFO_1
5370: 41 20 50 52 49 4e 54 50 52 4f 43 45 53 53 4f 52  A PRINTPROCESSOR
5380: 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61 73  _INFO_1A;..alias
5390: 20 5f 50 52 49 4e 54 50 52 4f 43 45 53 53 4f 52   _PRINTPROCESSOR
53a0: 5f 49 4e 46 4f 5f 31 41 2a 20 50 50 52 49 4e 54  _INFO_1A* PPRINT
53b0: 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31  PROCESSOR_INFO_1
53c0: 41 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54  A;..alias _PRINT
53d0: 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31  PROCESSOR_INFO_1
53e0: 41 2a 20 4c 50 50 52 49 4e 54 50 52 4f 43 45 53  A* LPPRINTPROCES
53f0: 53 4f 52 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 0d 0a  SOR_INFO_1A;....
5400: 73 74 72 75 63 74 20 5f 50 52 49 4e 54 50 52 4f  struct _PRINTPRO
5410: 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31 57 20 7b  CESSOR_INFO_1W {
5420: 0d 0a 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65  ..  LPWSTR pName
5430: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49  ;..}..alias _PRI
5440: 4e 54 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46 4f  NTPROCESSOR_INFO
5450: 5f 31 57 20 50 52 49 4e 54 50 52 4f 43 45 53 53  _1W PRINTPROCESS
5460: 4f 52 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 61 6c 69  OR_INFO_1W;..ali
5470: 61 73 20 5f 50 52 49 4e 54 50 52 4f 43 45 53 53  as _PRINTPROCESS
5480: 4f 52 5f 49 4e 46 4f 5f 31 57 2a 20 50 50 52 49  OR_INFO_1W* PPRI
5490: 4e 54 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46 4f  NTPROCESSOR_INFO
54a0: 5f 31 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49  _1W;..alias _PRI
54b0: 4e 54 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46 4f  NTPROCESSOR_INFO
54c0: 5f 31 57 2a 20 4c 50 50 52 49 4e 54 50 52 4f 43  _1W* LPPRINTPROC
54d0: 45 53 53 4f 52 5f 49 4e 46 4f 5f 31 57 3b 0d 0a  ESSOR_INFO_1W;..
54e0: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
54f0: 4f 44 45 0d 0a 61 6c 69 61 73 20 50 52 49 4e 54  ODE..alias PRINT
5500: 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31  PROCESSOR_INFO_1
5510: 57 20 50 52 49 4e 54 50 52 4f 43 45 53 53 4f 52  W PRINTPROCESSOR
5520: 5f 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73 20  _INFO_1;..alias 
5530: 50 50 52 49 4e 54 50 52 4f 43 45 53 53 4f 52 5f  PPRINTPROCESSOR_
5540: 49 4e 46 4f 5f 31 57 20 50 50 52 49 4e 54 50 52  INFO_1W PPRINTPR
5550: 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31 3b 0d  OCESSOR_INFO_1;.
5560: 0a 61 6c 69 61 73 20 4c 50 50 52 49 4e 54 50 52  .alias LPPRINTPR
5570: 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31 57 20  OCESSOR_INFO_1W 
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 3b 0d 0a 2f 2f 20 23 65 6c  _INFO_1;..// #el
55a0: 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23  se..// .....// #
55b0: 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45  endif // UNICODE
55c0: 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52 49 4e  ....struct _PRIN
55d0: 54 50 52 4f 43 45 53 53 4f 52 5f 43 41 50 53 5f  TPROCESSOR_CAPS_
55e0: 31 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64 77 4c  1 {..  DWORD dwL
55f0: 65 76 65 6c 3b 0d 0a 20 20 44 57 4f 52 44 20 64  evel;..  DWORD d
5600: 77 4e 75 70 4f 70 74 69 6f 6e 73 3b 0d 0a 20 20  wNupOptions;..  
5610: 44 57 4f 52 44 20 64 77 50 61 67 65 4f 72 64 65  DWORD dwPageOrde
5620: 72 46 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52 44  rFlags;..  DWORD
5630: 20 64 77 4e 75 6d 62 65 72 4f 66 43 6f 70 69 65   dwNumberOfCopie
5640: 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52  s;..}..alias _PR
5650: 49 4e 54 50 52 4f 43 45 53 53 4f 52 5f 43 41 50  INTPROCESSOR_CAP
5660: 53 5f 31 20 50 52 49 4e 54 50 52 4f 43 45 53 53  S_1 PRINTPROCESS
5670: 4f 52 5f 43 41 50 53 5f 31 3b 0d 0a 61 6c 69 61  OR_CAPS_1;..alia
5680: 73 20 5f 50 52 49 4e 54 50 52 4f 43 45 53 53 4f  s _PRINTPROCESSO
5690: 52 5f 43 41 50 53 5f 31 2a 20 50 50 52 49 4e 54  R_CAPS_1* PPRINT
56a0: 50 52 4f 43 45 53 53 4f 52 5f 43 41 50 53 5f 31  PROCESSOR_CAPS_1
56b0: 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
56c0: 20 7b 20 4e 4f 52 4d 41 4c 5f 50 52 49 4e 54 20   { NORMAL_PRINT 
56d0: 3d 20 30 78 30 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x00000000 }..
56e0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45  enum : uint { RE
56f0: 56 45 52 53 45 5f 50 52 49 4e 54 20 3d 20 30 78  VERSE_PRINT = 0x
5700: 30 30 30 30 30 30 30 31 20 7d 0d 0a 0d 0a 73 74  00000001 }....st
5710: 72 75 63 74 20 5f 50 4f 52 54 5f 49 4e 46 4f 5f  ruct _PORT_INFO_
5720: 31 41 20 7b 0d 0a 20 20 4c 50 53 54 52 20 70 4e  1A {..  LPSTR pN
5730: 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ame;..}..alias _
5740: 50 4f 52 54 5f 49 4e 46 4f 5f 31 41 20 50 4f 52  PORT_INFO_1A POR
5750: 54 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 61 6c 69 61  T_INFO_1A;..alia
5760: 73 20 5f 50 4f 52 54 5f 49 4e 46 4f 5f 31 41 2a  s _PORT_INFO_1A*
5770: 20 50 50 4f 52 54 5f 49 4e 46 4f 5f 31 41 3b 0d   PPORT_INFO_1A;.
5780: 0a 61 6c 69 61 73 20 5f 50 4f 52 54 5f 49 4e 46  .alias _PORT_INF
5790: 4f 5f 31 41 2a 20 4c 50 50 4f 52 54 5f 49 4e 46  O_1A* LPPORT_INF
57a0: 4f 5f 31 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  O_1A;....struct 
57b0: 5f 50 4f 52 54 5f 49 4e 46 4f 5f 31 57 20 7b 0d  _PORT_INFO_1W {.
57c0: 0a 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65 3b  .  LPWSTR pName;
57d0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 4f 52 54  ..}..alias _PORT
57e0: 5f 49 4e 46 4f 5f 31 57 20 50 4f 52 54 5f 49 4e  _INFO_1W PORT_IN
57f0: 46 4f 5f 31 57 3b 0d 0a 61 6c 69 61 73 20 5f 50  FO_1W;..alias _P
5800: 4f 52 54 5f 49 4e 46 4f 5f 31 57 2a 20 50 50 4f  ORT_INFO_1W* PPO
5810: 52 54 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 61 6c 69  RT_INFO_1W;..ali
5820: 61 73 20 5f 50 4f 52 54 5f 49 4e 46 4f 5f 31 57  as _PORT_INFO_1W
5830: 2a 20 4c 50 50 4f 52 54 5f 49 4e 46 4f 5f 31 57  * LPPORT_INFO_1W
5840: 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  ;....// #ifdef U
5850: 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 50 4f  NICODE..alias PO
5860: 52 54 5f 49 4e 46 4f 5f 31 57 20 50 4f 52 54 5f  RT_INFO_1W PORT_
5870: 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73 20 50  INFO_1;..alias P
5880: 50 4f 52 54 5f 49 4e 46 4f 5f 31 57 20 50 50 4f  PORT_INFO_1W PPO
5890: 52 54 5f 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61  RT_INFO_1;..alia
58a0: 73 20 4c 50 50 4f 52 54 5f 49 4e 46 4f 5f 31 57  s LPPORT_INFO_1W
58b0: 20 4c 50 50 4f 52 54 5f 49 4e 46 4f 5f 31 3b 0d   LPPORT_INFO_1;.
58c0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e  .// #else..// ..
58d0: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
58e0: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63  UNICODE....struc
58f0: 74 20 5f 50 4f 52 54 5f 49 4e 46 4f 5f 32 41 20  t _PORT_INFO_2A 
5900: 7b 0d 0a 20 20 4c 50 53 54 52 20 70 50 6f 72 74  {..  LPSTR pPort
5910: 4e 61 6d 65 3b 0d 0a 20 20 4c 50 53 54 52 20 70  Name;..  LPSTR p
5920: 4d 6f 6e 69 74 6f 72 4e 61 6d 65 3b 0d 0a 20 20  MonitorName;..  
5930: 4c 50 53 54 52 20 70 44 65 73 63 72 69 70 74 69  LPSTR pDescripti
5940: 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 66 50 6f  on;..  DWORD fPo
5950: 72 74 54 79 70 65 3b 0d 0a 20 20 44 57 4f 52 44  rtType;..  DWORD
5960: 20 52 65 73 65 72 76 65 64 3b 0d 0a 7d 0d 0a 61   Reserved;..}..a
5970: 6c 69 61 73 20 5f 50 4f 52 54 5f 49 4e 46 4f 5f  lias _PORT_INFO_
5980: 32 41 20 50 4f 52 54 5f 49 4e 46 4f 5f 32 41 3b  2A PORT_INFO_2A;
5990: 0d 0a 61 6c 69 61 73 20 5f 50 4f 52 54 5f 49 4e  ..alias _PORT_IN
59a0: 46 4f 5f 32 41 2a 20 50 50 4f 52 54 5f 49 4e 46  FO_2A* PPORT_INF
59b0: 4f 5f 32 41 3b 0d 0a 61 6c 69 61 73 20 5f 50 4f  O_2A;..alias _PO
59c0: 52 54 5f 49 4e 46 4f 5f 32 41 2a 20 4c 50 50 4f  RT_INFO_2A* LPPO
59d0: 52 54 5f 49 4e 46 4f 5f 32 41 3b 0d 0a 0d 0a 73  RT_INFO_2A;....s
59e0: 74 72 75 63 74 20 5f 50 4f 52 54 5f 49 4e 46 4f  truct _PORT_INFO
59f0: 5f 32 57 20 7b 0d 0a 20 20 4c 50 57 53 54 52 20  _2W {..  LPWSTR 
5a00: 70 50 6f 72 74 4e 61 6d 65 3b 0d 0a 20 20 4c 50  pPortName;..  LP
5a10: 57 53 54 52 20 70 4d 6f 6e 69 74 6f 72 4e 61 6d  WSTR pMonitorNam
5a20: 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 44 65  e;..  LPWSTR pDe
5a30: 73 63 72 69 70 74 69 6f 6e 3b 0d 0a 20 20 44 57  scription;..  DW
5a40: 4f 52 44 20 66 50 6f 72 74 54 79 70 65 3b 0d 0a  ORD fPortType;..
5a50: 20 20 44 57 4f 52 44 20 52 65 73 65 72 76 65 64    DWORD Reserved
5a60: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 4f 52  ;..}..alias _POR
5a70: 54 5f 49 4e 46 4f 5f 32 57 20 50 4f 52 54 5f 49  T_INFO_2W PORT_I
5a80: 4e 46 4f 5f 32 57 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_2W;..alias _
5a90: 50 4f 52 54 5f 49 4e 46 4f 5f 32 57 2a 20 50 50  PORT_INFO_2W* PP
5aa0: 4f 52 54 5f 49 4e 46 4f 5f 32 57 3b 0d 0a 61 6c  ORT_INFO_2W;..al
5ab0: 69 61 73 20 5f 50 4f 52 54 5f 49 4e 46 4f 5f 32  ias _PORT_INFO_2
5ac0: 57 2a 20 4c 50 50 4f 52 54 5f 49 4e 46 4f 5f 32  W* LPPORT_INFO_2
5ad0: 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  W;....// #ifdef 
5ae0: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 50  UNICODE..alias P
5af0: 4f 52 54 5f 49 4e 46 4f 5f 32 57 20 50 4f 52 54  ORT_INFO_2W PORT
5b00: 5f 49 4e 46 4f 5f 32 3b 0d 0a 61 6c 69 61 73 20  _INFO_2;..alias 
5b10: 50 50 4f 52 54 5f 49 4e 46 4f 5f 32 57 20 50 50  PPORT_INFO_2W PP
5b20: 4f 52 54 5f 49 4e 46 4f 5f 32 3b 0d 0a 61 6c 69  ORT_INFO_2;..ali
5b30: 61 73 20 4c 50 50 4f 52 54 5f 49 4e 46 4f 5f 32  as LPPORT_INFO_2
5b40: 57 20 4c 50 50 4f 52 54 5f 49 4e 46 4f 5f 32 3b  W LPPORT_INFO_2;
5b50: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e  ..// #else..// .
5b60: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
5b70: 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d   UNICODE....enum
5b80: 20 3a 20 75 69 6e 74 20 7b 20 50 4f 52 54 5f 54   : uint { PORT_T
5b90: 59 50 45 5f 57 52 49 54 45 20 3d 20 30 78 30 30  YPE_WRITE = 0x00
5ba0: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
5bb0: 74 20 7b 20 50 4f 52 54 5f 54 59 50 45 5f 52 45  t { PORT_TYPE_RE
5bc0: 41 44 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65  AD = 0x0002 }..e
5bd0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 52  num : uint { POR
5be0: 54 5f 54 59 50 45 5f 52 45 44 49 52 45 43 54 45  T_TYPE_REDIRECTE
5bf0: 44 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e  D = 0x0004 }..en
5c00: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 52 54  um : uint { PORT
5c10: 5f 54 59 50 45 5f 4e 45 54 5f 41 54 54 41 43 48  _TYPE_NET_ATTACH
5c20: 45 44 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 0d  ED = 0x0008 }...
5c30: 0a 73 74 72 75 63 74 20 5f 50 4f 52 54 5f 49 4e  .struct _PORT_IN
5c40: 46 4f 5f 33 41 20 7b 0d 0a 20 20 44 57 4f 52 44  FO_3A {..  DWORD
5c50: 20 64 77 53 74 61 74 75 73 3b 0d 0a 20 20 4c 50   dwStatus;..  LP
5c60: 53 54 52 20 70 73 7a 53 74 61 74 75 73 3b 0d 0a  STR pszStatus;..
5c70: 20 20 44 57 4f 52 44 20 64 77 53 65 76 65 72 69    DWORD dwSeveri
5c80: 74 79 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50  ty;..}..alias _P
5c90: 4f 52 54 5f 49 4e 46 4f 5f 33 41 20 50 4f 52 54  ORT_INFO_3A PORT
5ca0: 5f 49 4e 46 4f 5f 33 41 3b 0d 0a 61 6c 69 61 73  _INFO_3A;..alias
5cb0: 20 5f 50 4f 52 54 5f 49 4e 46 4f 5f 33 41 2a 20   _PORT_INFO_3A* 
5cc0: 50 50 4f 52 54 5f 49 4e 46 4f 5f 33 41 3b 0d 0a  PPORT_INFO_3A;..
5cd0: 61 6c 69 61 73 20 5f 50 4f 52 54 5f 49 4e 46 4f  alias _PORT_INFO
5ce0: 5f 33 41 2a 20 4c 50 50 4f 52 54 5f 49 4e 46 4f  _3A* LPPORT_INFO
5cf0: 5f 33 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  _3A;....struct _
5d00: 50 4f 52 54 5f 49 4e 46 4f 5f 33 57 20 7b 0d 0a  PORT_INFO_3W {..
5d10: 20 20 44 57 4f 52 44 20 64 77 53 74 61 74 75 73    DWORD dwStatus
5d20: 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70 73 7a 53  ;..  LPWSTR pszS
5d30: 74 61 74 75 73 3b 0d 0a 20 20 44 57 4f 52 44 20  tatus;..  DWORD 
5d40: 64 77 53 65 76 65 72 69 74 79 3b 0d 0a 7d 0d 0a  dwSeverity;..}..
5d50: 61 6c 69 61 73 20 5f 50 4f 52 54 5f 49 4e 46 4f  alias _PORT_INFO
5d60: 5f 33 57 20 50 4f 52 54 5f 49 4e 46 4f 5f 33 57  _3W PORT_INFO_3W
5d70: 3b 0d 0a 61 6c 69 61 73 20 5f 50 4f 52 54 5f 49  ;..alias _PORT_I
5d80: 4e 46 4f 5f 33 57 2a 20 50 50 4f 52 54 5f 49 4e  NFO_3W* PPORT_IN
5d90: 46 4f 5f 33 57 3b 0d 0a 61 6c 69 61 73 20 5f 50  FO_3W;..alias _P
5da0: 4f 52 54 5f 49 4e 46 4f 5f 33 57 2a 20 4c 50 50  ORT_INFO_3W* LPP
5db0: 4f 52 54 5f 49 4e 46 4f 5f 33 57 3b 0d 0a 0d 0a  ORT_INFO_3W;....
5dc0: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
5dd0: 45 0d 0a 61 6c 69 61 73 20 50 4f 52 54 5f 49 4e  E..alias PORT_IN
5de0: 46 4f 5f 33 57 20 50 4f 52 54 5f 49 4e 46 4f 5f  FO_3W PORT_INFO_
5df0: 33 3b 0d 0a 61 6c 69 61 73 20 50 50 4f 52 54 5f  3;..alias PPORT_
5e00: 49 4e 46 4f 5f 33 57 20 50 50 4f 52 54 5f 49 4e  INFO_3W PPORT_IN
5e10: 46 4f 5f 33 3b 0d 0a 61 6c 69 61 73 20 4c 50 50  FO_3;..alias LPP
5e20: 4f 52 54 5f 49 4e 46 4f 5f 33 57 20 4c 50 50 4f  ORT_INFO_3W LPPO
5e30: 52 54 5f 49 4e 46 4f 5f 33 3b 0d 0a 2f 2f 20 23  RT_INFO_3;..// #
5e40: 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  else..// .....//
5e50: 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
5e60: 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  DE....enum : uin
5e70: 74 20 7b 20 50 4f 52 54 5f 53 54 41 54 55 53 5f  t { PORT_STATUS_
5e80: 54 59 50 45 5f 45 52 52 4f 52 20 3d 20 31 20 7d  TYPE_ERROR = 1 }
5e90: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
5ea0: 50 4f 52 54 5f 53 54 41 54 55 53 5f 54 59 50 45  PORT_STATUS_TYPE
5eb0: 5f 57 41 52 4e 49 4e 47 20 3d 20 32 20 7d 0d 0a  _WARNING = 2 }..
5ec0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f  enum : uint { PO
5ed0: 52 54 5f 53 54 41 54 55 53 5f 54 59 50 45 5f 49  RT_STATUS_TYPE_I
5ee0: 4e 46 4f 20 3d 20 33 20 7d 0d 0a 0d 0a 65 6e 75  NFO = 3 }....enu
5ef0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 52 54 5f  m : uint { PORT_
5f00: 53 54 41 54 55 53 5f 4f 46 46 4c 49 4e 45 20 3d  STATUS_OFFLINE =
5f10: 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
5f20: 74 20 7b 20 50 4f 52 54 5f 53 54 41 54 55 53 5f  t { PORT_STATUS_
5f30: 50 41 50 45 52 5f 4a 41 4d 20 3d 20 32 20 7d 0d  PAPER_JAM = 2 }.
5f40: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
5f50: 4f 52 54 5f 53 54 41 54 55 53 5f 50 41 50 45 52  ORT_STATUS_PAPER
5f60: 5f 4f 55 54 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d  _OUT = 3 }..enum
5f70: 20 3a 20 75 69 6e 74 20 7b 20 50 4f 52 54 5f 53   : uint { PORT_S
5f80: 54 41 54 55 53 5f 4f 55 54 50 55 54 5f 42 49 4e  TATUS_OUTPUT_BIN
5f90: 5f 46 55 4c 4c 20 3d 20 34 20 7d 0d 0a 65 6e 75  _FULL = 4 }..enu
5fa0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f 52 54 5f  m : uint { PORT_
5fb0: 53 54 41 54 55 53 5f 50 41 50 45 52 5f 50 52 4f  STATUS_PAPER_PRO
5fc0: 42 4c 45 4d 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d  BLEM = 5 }..enum
5fd0: 20 3a 20 75 69 6e 74 20 7b 20 50 4f 52 54 5f 53   : uint { PORT_S
5fe0: 54 41 54 55 53 5f 4e 4f 5f 54 4f 4e 45 52 20 3d  TATUS_NO_TONER =
5ff0: 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   6 }..enum : uin
6000: 74 20 7b 20 50 4f 52 54 5f 53 54 41 54 55 53 5f  t { PORT_STATUS_
6010: 44 4f 4f 52 5f 4f 50 45 4e 20 3d 20 37 20 7d 0d  DOOR_OPEN = 7 }.
6020: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
6030: 4f 52 54 5f 53 54 41 54 55 53 5f 55 53 45 52 5f  ORT_STATUS_USER_
6040: 49 4e 54 45 52 56 45 4e 54 49 4f 4e 20 3d 20 38  INTERVENTION = 8
6050: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
6060: 7b 20 50 4f 52 54 5f 53 54 41 54 55 53 5f 4f 55  { PORT_STATUS_OU
6070: 54 5f 4f 46 5f 4d 45 4d 4f 52 59 20 3d 20 39 20  T_OF_MEMORY = 9 
6080: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
6090: 20 7b 20 50 4f 52 54 5f 53 54 41 54 55 53 5f 54   { PORT_STATUS_T
60a0: 4f 4e 45 52 5f 4c 4f 57 20 3d 20 31 30 20 7d 0d  ONER_LOW = 10 }.
60b0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
60c0: 20 50 4f 52 54 5f 53 54 41 54 55 53 5f 57 41 52   PORT_STATUS_WAR
60d0: 4d 49 4e 47 5f 55 50 20 3d 20 31 31 20 7d 0d 0a  MING_UP = 11 }..
60e0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 4f  enum : uint { PO
60f0: 52 54 5f 53 54 41 54 55 53 5f 50 4f 57 45 52 5f  RT_STATUS_POWER_
6100: 53 41 56 45 20 3d 20 31 32 20 7d 0d 0a 0d 0a 73  SAVE = 12 }....s
6110: 74 72 75 63 74 20 5f 4d 4f 4e 49 54 4f 52 5f 49  truct _MONITOR_I
6120: 4e 46 4f 5f 31 41 20 7b 0d 0a 20 20 4c 50 53 54  NFO_1A {..  LPST
6130: 52 20 70 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69  R pName;..}..ali
6140: 61 73 20 5f 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f  as _MONITOR_INFO
6150: 5f 31 41 20 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f  _1A MONITOR_INFO
6160: 5f 31 41 3b 0d 0a 61 6c 69 61 73 20 5f 4d 4f 4e  _1A;..alias _MON
6170: 49 54 4f 52 5f 49 4e 46 4f 5f 31 41 2a 20 50 4d  ITOR_INFO_1A* PM
6180: 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 31 41 3b 0d  ONITOR_INFO_1A;.
6190: 0a 61 6c 69 61 73 20 5f 4d 4f 4e 49 54 4f 52 5f  .alias _MONITOR_
61a0: 49 4e 46 4f 5f 31 41 2a 20 4c 50 4d 4f 4e 49 54  INFO_1A* LPMONIT
61b0: 4f 52 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 0d 0a 73  OR_INFO_1A;....s
61c0: 74 72 75 63 74 20 5f 4d 4f 4e 49 54 4f 52 5f 49  truct _MONITOR_I
61d0: 4e 46 4f 5f 31 57 20 7b 0d 0a 20 20 4c 50 57 53  NFO_1W {..  LPWS
61e0: 54 52 20 70 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c  TR pName;..}..al
61f0: 69 61 73 20 5f 4d 4f 4e 49 54 4f 52 5f 49 4e 46  ias _MONITOR_INF
6200: 4f 5f 31 57 20 4d 4f 4e 49 54 4f 52 5f 49 4e 46  O_1W MONITOR_INF
6210: 4f 5f 31 57 3b 0d 0a 61 6c 69 61 73 20 5f 4d 4f  O_1W;..alias _MO
6220: 4e 49 54 4f 52 5f 49 4e 46 4f 5f 31 57 2a 20 50  NITOR_INFO_1W* P
6230: 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 31 57 3b  MONITOR_INFO_1W;
6240: 0d 0a 61 6c 69 61 73 20 5f 4d 4f 4e 49 54 4f 52  ..alias _MONITOR
6250: 5f 49 4e 46 4f 5f 31 57 2a 20 4c 50 4d 4f 4e 49  _INFO_1W* LPMONI
6260: 54 4f 52 5f 49 4e 46 4f 5f 31 57 3b 0d 0a 0d 0a  TOR_INFO_1W;....
6270: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
6280: 45 0d 0a 61 6c 69 61 73 20 4d 4f 4e 49 54 4f 52  E..alias MONITOR
6290: 5f 49 4e 46 4f 5f 31 57 20 4d 4f 4e 49 54 4f 52  _INFO_1W MONITOR
62a0: 5f 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61 73 20  _INFO_1;..alias 
62b0: 50 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 31 57  PMONITOR_INFO_1W
62c0: 20 50 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 31   PMONITOR_INFO_1
62d0: 3b 0d 0a 61 6c 69 61 73 20 4c 50 4d 4f 4e 49 54  ;..alias LPMONIT
62e0: 4f 52 5f 49 4e 46 4f 5f 31 57 20 4c 50 4d 4f 4e  OR_INFO_1W LPMON
62f0: 49 54 4f 52 5f 49 4e 46 4f 5f 31 3b 0d 0a 2f 2f  ITOR_INFO_1;..//
6300: 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   #else..// .....
6310: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49  // #endif // UNI
6320: 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  CODE....struct _
6330: 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 41 20  MONITOR_INFO_2A 
6340: 7b 0d 0a 20 20 4c 50 53 54 52 20 70 4e 61 6d 65  {..  LPSTR pName
6350: 3b 0d 0a 20 20 4c 50 53 54 52 20 70 45 6e 76 69  ;..  LPSTR pEnvi
6360: 72 6f 6e 6d 65 6e 74 3b 0d 0a 20 20 4c 50 53 54  ronment;..  LPST
6370: 52 20 70 44 4c 4c 4e 61 6d 65 3b 0d 0a 7d 0d 0a  R pDLLName;..}..
6380: 61 6c 69 61 73 20 5f 4d 4f 4e 49 54 4f 52 5f 49  alias _MONITOR_I
6390: 4e 46 4f 5f 32 41 20 4d 4f 4e 49 54 4f 52 5f 49  NFO_2A MONITOR_I
63a0: 4e 46 4f 5f 32 41 3b 0d 0a 61 6c 69 61 73 20 5f  NFO_2A;..alias _
63b0: 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 41 2a  MONITOR_INFO_2A*
63c0: 20 50 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32   PMONITOR_INFO_2
63d0: 41 3b 0d 0a 61 6c 69 61 73 20 5f 4d 4f 4e 49 54  A;..alias _MONIT
63e0: 4f 52 5f 49 4e 46 4f 5f 32 41 2a 20 4c 50 4d 4f  OR_INFO_2A* LPMO
63f0: 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 41 3b 0d 0a  NITOR_INFO_2A;..
6400: 0d 0a 73 74 72 75 63 74 20 5f 4d 4f 4e 49 54 4f  ..struct _MONITO
6410: 52 5f 49 4e 46 4f 5f 32 57 20 7b 0d 0a 20 20 4c  R_INFO_2W {..  L
6420: 50 57 53 54 52 20 70 4e 61 6d 65 3b 0d 0a 20 20  PWSTR pName;..  
6430: 4c 50 57 53 54 52 20 70 45 6e 76 69 72 6f 6e 6d  LPWSTR pEnvironm
6440: 65 6e 74 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70  ent;..  LPWSTR p
6450: 44 4c 4c 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69  DLLName;..}..ali
6460: 61 73 20 5f 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f  as _MONITOR_INFO
6470: 5f 32 57 20 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f  _2W MONITOR_INFO
6480: 5f 32 57 3b 0d 0a 61 6c 69 61 73 20 5f 4d 4f 4e  _2W;..alias _MON
6490: 49 54 4f 52 5f 49 4e 46 4f 5f 32 57 2a 20 50 4d  ITOR_INFO_2W* PM
64a0: 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 57 3b 0d  ONITOR_INFO_2W;.
64b0: 0a 61 6c 69 61 73 20 5f 4d 4f 4e 49 54 4f 52 5f  .alias _MONITOR_
64c0: 49 4e 46 4f 5f 32 57 2a 20 4c 50 4d 4f 4e 49 54  INFO_2W* LPMONIT
64d0: 4f 52 5f 49 4e 46 4f 5f 32 57 3b 0d 0a 0d 0a 2f  OR_INFO_2W;..../
64e0: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
64f0: 0d 0a 61 6c 69 61 73 20 4d 4f 4e 49 54 4f 52 5f  ..alias MONITOR_
6500: 49 4e 46 4f 5f 32 57 20 4d 4f 4e 49 54 4f 52 5f  INFO_2W MONITOR_
6510: 49 4e 46 4f 5f 32 3b 0d 0a 61 6c 69 61 73 20 50  INFO_2;..alias P
6520: 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 57 20  MONITOR_INFO_2W 
6530: 50 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 3b  PMONITOR_INFO_2;
6540: 0d 0a 61 6c 69 61 73 20 4c 50 4d 4f 4e 49 54 4f  ..alias LPMONITO
6550: 52 5f 49 4e 46 4f 5f 32 57 20 4c 50 4d 4f 4e 49  R_INFO_2W LPMONI
6560: 54 4f 52 5f 49 4e 46 4f 5f 32 3b 0d 0a 2f 2f 20  TOR_INFO_2;..// 
6570: 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f  #else..// ...../
6580: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43  / #endif // UNIC
6590: 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 44  ODE....struct _D
65a0: 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31 41  ATATYPES_INFO_1A
65b0: 20 7b 0d 0a 20 20 4c 50 53 54 52 20 70 4e 61 6d   {..  LPSTR pNam
65c0: 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 44 41  e;..}..alias _DA
65d0: 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31 41 20  TATYPES_INFO_1A 
65e0: 44 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31  DATATYPES_INFO_1
65f0: 41 3b 0d 0a 61 6c 69 61 73 20 5f 44 41 54 41 54  A;..alias _DATAT
6600: 59 50 45 53 5f 49 4e 46 4f 5f 31 41 2a 20 50 44  YPES_INFO_1A* PD
6610: 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31 41  ATATYPES_INFO_1A
6620: 3b 0d 0a 61 6c 69 61 73 20 5f 44 41 54 41 54 59  ;..alias _DATATY
6630: 50 45 53 5f 49 4e 46 4f 5f 31 41 2a 20 4c 50 44  PES_INFO_1A* LPD
6640: 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31 41  ATATYPES_INFO_1A
6650: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 44 41 54  ;....struct _DAT
6660: 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31 57 20 7b  ATYPES_INFO_1W {
6670: 0d 0a 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65  ..  LPWSTR pName
6680: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 44 41 54  ;..}..alias _DAT
6690: 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31 57 20 44  ATYPES_INFO_1W D
66a0: 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31 57  ATATYPES_INFO_1W
66b0: 3b 0d 0a 61 6c 69 61 73 20 5f 44 41 54 41 54 59  ;..alias _DATATY
66c0: 50 45 53 5f 49 4e 46 4f 5f 31 57 2a 20 50 44 41  PES_INFO_1W* PDA
66d0: 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31 57 3b  TATYPES_INFO_1W;
66e0: 0d 0a 61 6c 69 61 73 20 5f 44 41 54 41 54 59 50  ..alias _DATATYP
66f0: 45 53 5f 49 4e 46 4f 5f 31 57 2a 20 4c 50 44 41  ES_INFO_1W* LPDA
6700: 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31 57 3b  TATYPES_INFO_1W;
6710: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
6720: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 44 41 54  ICODE..alias DAT
6730: 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31 57 20 44  ATYPES_INFO_1W D
6740: 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31 3b  ATATYPES_INFO_1;
6750: 0d 0a 61 6c 69 61 73 20 50 44 41 54 41 54 59 50  ..alias PDATATYP
6760: 45 53 5f 49 4e 46 4f 5f 31 57 20 50 44 41 54 41  ES_INFO_1W PDATA
6770: 54 59 50 45 53 5f 49 4e 46 4f 5f 31 3b 0d 0a 61  TYPES_INFO_1;..a
6780: 6c 69 61 73 20 4c 50 44 41 54 41 54 59 50 45 53  lias LPDATATYPES
6790: 5f 49 4e 46 4f 5f 31 57 20 4c 50 44 41 54 41 54  _INFO_1W LPDATAT
67a0: 59 50 45 53 5f 49 4e 46 4f 5f 31 3b 0d 0a 2f 2f  YPES_INFO_1;..//
67b0: 20 23 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a   #else..// .....
67c0: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49  // #endif // UNI
67d0: 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  CODE....struct _
67e0: 50 52 49 4e 54 45 52 5f 44 45 46 41 55 4c 54 53  PRINTER_DEFAULTS
67f0: 41 20 7b 0d 0a 20 20 4c 50 53 54 52 20 70 44 61  A {..  LPSTR pDa
6800: 74 61 74 79 70 65 3b 0d 0a 20 20 4c 50 44 45 56  tatype;..  LPDEV
6810: 4d 4f 44 45 41 20 70 44 65 76 4d 6f 64 65 3b 0d  MODEA pDevMode;.
6820: 0a 20 20 41 43 43 45 53 53 5f 4d 41 53 4b 20 44  .  ACCESS_MASK D
6830: 65 73 69 72 65 64 41 63 63 65 73 73 3b 0d 0a 7d  esiredAccess;..}
6840: 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52  ..alias _PRINTER
6850: 5f 44 45 46 41 55 4c 54 53 41 20 50 52 49 4e 54  _DEFAULTSA PRINT
6860: 45 52 5f 44 45 46 41 55 4c 54 53 41 3b 0d 0a 61  ER_DEFAULTSA;..a
6870: 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 44 45  lias _PRINTER_DE
6880: 46 41 55 4c 54 53 41 2a 20 50 50 52 49 4e 54 45  FAULTSA* PPRINTE
6890: 52 5f 44 45 46 41 55 4c 54 53 41 3b 0d 0a 61 6c  R_DEFAULTSA;..al
68a0: 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 44 45 46  ias _PRINTER_DEF
68b0: 41 55 4c 54 53 41 2a 20 4c 50 50 52 49 4e 54 45  AULTSA* LPPRINTE
68c0: 52 5f 44 45 46 41 55 4c 54 53 41 3b 0d 0a 0d 0a  R_DEFAULTSA;....
68d0: 73 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52 5f  struct _PRINTER_
68e0: 44 45 46 41 55 4c 54 53 57 20 7b 0d 0a 20 20 4c  DEFAULTSW {..  L
68f0: 50 57 53 54 52 20 70 44 61 74 61 74 79 70 65 3b  PWSTR pDatatype;
6900: 0d 0a 20 20 4c 50 44 45 56 4d 4f 44 45 57 20 70  ..  LPDEVMODEW p
6910: 44 65 76 4d 6f 64 65 3b 0d 0a 20 20 41 43 43 45  DevMode;..  ACCE
6920: 53 53 5f 4d 41 53 4b 20 44 65 73 69 72 65 64 41  SS_MASK DesiredA
6930: 63 63 65 73 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73  ccess;..}..alias
6940: 20 5f 50 52 49 4e 54 45 52 5f 44 45 46 41 55 4c   _PRINTER_DEFAUL
6950: 54 53 57 20 50 52 49 4e 54 45 52 5f 44 45 46 41  TSW PRINTER_DEFA
6960: 55 4c 54 53 57 3b 0d 0a 61 6c 69 61 73 20 5f 50  ULTSW;..alias _P
6970: 52 49 4e 54 45 52 5f 44 45 46 41 55 4c 54 53 57  RINTER_DEFAULTSW
6980: 2a 20 50 50 52 49 4e 54 45 52 5f 44 45 46 41 55  * PPRINTER_DEFAU
6990: 4c 54 53 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52  LTSW;..alias _PR
69a0: 49 4e 54 45 52 5f 44 45 46 41 55 4c 54 53 57 2a  INTER_DEFAULTSW*
69b0: 20 4c 50 50 52 49 4e 54 45 52 5f 44 45 46 41 55   LPPRINTER_DEFAU
69c0: 4c 54 53 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64  LTSW;....// #ifd
69d0: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
69e0: 73 20 50 52 49 4e 54 45 52 5f 44 45 46 41 55 4c  s PRINTER_DEFAUL
69f0: 54 53 57 20 50 52 49 4e 54 45 52 5f 44 45 46 41  TSW PRINTER_DEFA
6a00: 55 4c 54 53 3b 0d 0a 61 6c 69 61 73 20 50 50 52  ULTS;..alias PPR
6a10: 49 4e 54 45 52 5f 44 45 46 41 55 4c 54 53 57 20  INTER_DEFAULTSW 
6a20: 50 50 52 49 4e 54 45 52 5f 44 45 46 41 55 4c 54  PPRINTER_DEFAULT
6a30: 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 50 52 49 4e  S;..alias LPPRIN
6a40: 54 45 52 5f 44 45 46 41 55 4c 54 53 57 20 4c 50  TER_DEFAULTSW LP
6a50: 50 52 49 4e 54 45 52 5f 44 45 46 41 55 4c 54 53  PRINTER_DEFAULTS
6a60: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
6a70: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
6a80: 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73 74 72  / UNICODE....str
6a90: 75 63 74 20 5f 50 52 49 4e 54 45 52 5f 45 4e 55  uct _PRINTER_ENU
6aa0: 4d 5f 56 41 4c 55 45 53 41 20 7b 0d 0a 20 20 4c  M_VALUESA {..  L
6ab0: 50 53 54 52 20 70 56 61 6c 75 65 4e 61 6d 65 3b  PSTR pValueName;
6ac0: 0d 0a 20 20 44 57 4f 52 44 20 63 62 56 61 6c 75  ..  DWORD cbValu
6ad0: 65 4e 61 6d 65 3b 0d 0a 20 20 44 57 4f 52 44 20  eName;..  DWORD 
6ae0: 64 77 54 79 70 65 3b 0d 0a 20 20 4c 50 42 59 54  dwType;..  LPBYT
6af0: 45 20 70 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52  E pData;..  DWOR
6b00: 44 20 63 62 44 61 74 61 3b 0d 0a 7d 0d 0a 61 6c  D cbData;..}..al
6b10: 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 45 4e 55  ias _PRINTER_ENU
6b20: 4d 5f 56 41 4c 55 45 53 41 20 50 52 49 4e 54 45  M_VALUESA PRINTE
6b30: 52 5f 45 4e 55 4d 5f 56 41 4c 55 45 53 41 3b 0d  R_ENUM_VALUESA;.
6b40: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
6b50: 45 4e 55 4d 5f 56 41 4c 55 45 53 41 2a 20 50 50  ENUM_VALUESA* PP
6b60: 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 56 41 4c 55  RINTER_ENUM_VALU
6b70: 45 53 41 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49  ESA;..alias _PRI
6b80: 4e 54 45 52 5f 45 4e 55 4d 5f 56 41 4c 55 45 53  NTER_ENUM_VALUES
6b90: 41 2a 20 4c 50 50 52 49 4e 54 45 52 5f 45 4e 55  A* LPPRINTER_ENU
6ba0: 4d 5f 56 41 4c 55 45 53 41 3b 0d 0a 0d 0a 73 74  M_VALUESA;....st
6bb0: 72 75 63 74 20 5f 50 52 49 4e 54 45 52 5f 45 4e  ruct _PRINTER_EN
6bc0: 55 4d 5f 56 41 4c 55 45 53 57 20 7b 0d 0a 20 20  UM_VALUESW {..  
6bd0: 4c 50 57 53 54 52 20 70 56 61 6c 75 65 4e 61 6d  LPWSTR pValueNam
6be0: 65 3b 0d 0a 20 20 44 57 4f 52 44 20 63 62 56 61  e;..  DWORD cbVa
6bf0: 6c 75 65 4e 61 6d 65 3b 0d 0a 20 20 44 57 4f 52  lueName;..  DWOR
6c00: 44 20 64 77 54 79 70 65 3b 0d 0a 20 20 4c 50 42  D dwType;..  LPB
6c10: 59 54 45 20 70 44 61 74 61 3b 0d 0a 20 20 44 57  YTE pData;..  DW
6c20: 4f 52 44 20 63 62 44 61 74 61 3b 0d 0a 7d 0d 0a  ORD cbData;..}..
6c30: 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 45  alias _PRINTER_E
6c40: 4e 55 4d 5f 56 41 4c 55 45 53 57 20 50 52 49 4e  NUM_VALUESW PRIN
6c50: 54 45 52 5f 45 4e 55 4d 5f 56 41 4c 55 45 53 57  TER_ENUM_VALUESW
6c60: 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45  ;..alias _PRINTE
6c70: 52 5f 45 4e 55 4d 5f 56 41 4c 55 45 53 57 2a 20  R_ENUM_VALUESW* 
6c80: 50 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 56 41  PPRINTER_ENUM_VA
6c90: 4c 55 45 53 57 3b 0d 0a 61 6c 69 61 73 20 5f 50  LUESW;..alias _P
6ca0: 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 56 41 4c 55  RINTER_ENUM_VALU
6cb0: 45 53 57 2a 20 4c 50 50 52 49 4e 54 45 52 5f 45  ESW* LPPRINTER_E
6cc0: 4e 55 4d 5f 56 41 4c 55 45 53 57 3b 0d 0a 0d 0a  NUM_VALUESW;....
6cd0: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
6ce0: 45 0d 0a 61 6c 69 61 73 20 50 52 49 4e 54 45 52  E..alias PRINTER
6cf0: 5f 45 4e 55 4d 5f 56 41 4c 55 45 53 57 20 50 52  _ENUM_VALUESW PR
6d00: 49 4e 54 45 52 5f 45 4e 55 4d 5f 56 41 4c 55 45  INTER_ENUM_VALUE
6d10: 53 3b 0d 0a 61 6c 69 61 73 20 50 50 52 49 4e 54  S;..alias PPRINT
6d20: 45 52 5f 45 4e 55 4d 5f 56 41 4c 55 45 53 57 20  ER_ENUM_VALUESW 
6d30: 50 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 56 41  PPRINTER_ENUM_VA
6d40: 4c 55 45 53 3b 0d 0a 61 6c 69 61 73 20 4c 50 50  LUES;..alias LPP
6d50: 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 56 41 4c 55  RINTER_ENUM_VALU
6d60: 45 53 57 20 4c 50 50 52 49 4e 54 45 52 5f 45 4e  ESW LPPRINTER_EN
6d70: 55 4d 5f 56 41 4c 55 45 53 3b 0d 0a 2f 2f 20 23  UM_VALUES;..// #
6d80: 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f  else..// .....//
6d90: 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f   #endif // UNICO
6da0: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
6db0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
6dc0: 4c 20 45 6e 75 6d 50 72 69 6e 74 65 72 73 41 28  L EnumPrintersA(
6dd0: 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20 46  ..     DWORD   F
6de0: 6c 61 67 73 2c 0d 0a 20 20 20 20 20 4c 50 53 54  lags,..     LPST
6df0: 52 20 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 44 57  R Name,..     DW
6e00: 4f 52 44 20 20 20 4c 65 76 65 6c 2c 0d 0a 20 20  ORD   Level,..  
6e10: 20 20 20 4c 50 42 59 54 45 20 20 70 50 72 69 6e     LPBYTE  pPrin
6e20: 74 65 72 45 6e 75 6d 2c 0d 0a 20 20 20 20 20 44  terEnum,..     D
6e30: 57 4f 52 44 20 20 20 63 62 42 75 66 2c 0d 0a 20  WORD   cbBuf,.. 
6e40: 20 20 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e      LPDWORD pcbN
6e50: 65 65 64 65 64 2c 0d 0a 20 20 20 20 20 4c 50 44  eeded,..     LPD
6e60: 57 4f 52 44 20 70 63 52 65 74 75 72 6e 65 64 0d  WORD pcReturned.
6e70: 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  .);..extern(Wind
6e80: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
6e90: 20 45 6e 75 6d 50 72 69 6e 74 65 72 73 57 28 0d   EnumPrintersW(.
6ea0: 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20 46 6c  .     DWORD   Fl
6eb0: 61 67 73 2c 0d 0a 20 20 20 20 20 4c 50 57 53 54  ags,..     LPWST
6ec0: 52 20 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 44 57  R Name,..     DW
6ed0: 4f 52 44 20 20 20 4c 65 76 65 6c 2c 0d 0a 20 20  ORD   Level,..  
6ee0: 20 20 20 4c 50 42 59 54 45 20 20 70 50 72 69 6e     LPBYTE  pPrin
6ef0: 74 65 72 45 6e 75 6d 2c 0d 0a 20 20 20 20 20 44  terEnum,..     D
6f00: 57 4f 52 44 20 20 20 63 62 42 75 66 2c 0d 0a 20  WORD   cbBuf,.. 
6f10: 20 20 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e      LPDWORD pcbN
6f20: 65 65 64 65 64 2c 0d 0a 20 20 20 20 20 4c 50 44  eeded,..     LPD
6f30: 57 4f 52 44 20 70 63 52 65 74 75 72 6e 65 64 0d  WORD pcReturned.
6f40: 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  .);..// #ifdef U
6f50: 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 45 6e  NICODE..alias En
6f60: 75 6d 50 72 69 6e 74 65 72 73 57 20 45 6e 75 6d  umPrintersW Enum
6f70: 50 72 69 6e 74 65 72 73 3b 0d 0a 2f 2f 20 23 65  Printers;..// #e
6f80: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
6f90: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
6fa0: 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  ODE....enum : ui
6fb0: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 45 4e 55  nt { PRINTER_ENU
6fc0: 4d 5f 44 45 46 41 55 4c 54 20 3d 20 30 78 30 30  M_DEFAULT = 0x00
6fd0: 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..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 4c 4f 43 41 4c 20 3d 20 30 78 30  ENUM_LOCAL = 0x0
7000: 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 75 6d 20  0000002 }..enum 
7010: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
7020: 5f 45 4e 55 4d 5f 43 4f 4e 4e 45 43 54 49 4f 4e  _ENUM_CONNECTION
7030: 53 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d  S = 0x00000004 }
7040: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
7050: 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 46 41 56  PRINTER_ENUM_FAV
7060: 4f 52 49 54 45 20 3d 20 30 78 30 30 30 30 30 30  ORITE = 0x000000
7070: 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
7080: 74 20 7b 20 50 52 49 4e 54 45 52 5f 45 4e 55 4d  t { PRINTER_ENUM
7090: 5f 4e 41 4d 45 20 3d 20 30 78 30 30 30 30 30 30  _NAME = 0x000000
70a0: 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
70b0: 74 20 7b 20 50 52 49 4e 54 45 52 5f 45 4e 55 4d  t { PRINTER_ENUM
70c0: 5f 52 45 4d 4f 54 45 20 3d 20 30 78 30 30 30 30  _REMOTE = 0x0000
70d0: 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0010 }..enum : u
70e0: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 45 4e  int { PRINTER_EN
70f0: 55 4d 5f 53 48 41 52 45 44 20 3d 20 30 78 30 30  UM_SHARED = 0x00
7100: 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000020 }..enum :
7110: 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f   uint { PRINTER_
7120: 45 4e 55 4d 5f 4e 45 54 57 4f 52 4b 20 3d 20 30  ENUM_NETWORK = 0
7130: 78 30 30 30 30 30 30 34 30 20 7d 0d 0a 0d 0a 65  x00000040 }....e
7140: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49  num : uint { PRI
7150: 4e 54 45 52 5f 45 4e 55 4d 5f 45 58 50 41 4e 44  NTER_ENUM_EXPAND
7160: 20 3d 20 30 78 30 30 30 30 34 30 30 30 20 7d 0d   = 0x00004000 }.
7170: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
7180: 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 43 4f 4e 54  RINTER_ENUM_CONT
7190: 41 49 4e 45 52 20 3d 20 30 78 30 30 30 30 38 30  AINER = 0x000080
71a0: 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  00 }....enum : u
71b0: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 45 4e  int { PRINTER_EN
71c0: 55 4d 5f 49 43 4f 4e 4d 41 53 4b 20 3d 20 30 78  UM_ICONMASK = 0x
71d0: 30 30 66 66 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00ff0000 }..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 31 20 3d 20 30  R_ENUM_ICON1 = 0
7200: 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75  x00010000 }..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 32 20 3d 20  ER_ENUM_ICON2 = 
7230: 30 78 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e  0x00020000 }..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 33 20 3d  TER_ENUM_ICON3 =
7260: 20 30 78 30 30 30 34 30 30 30 30 20 7d 0d 0a 65   0x00040000 }..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 34 20  NTER_ENUM_ICON4 
7290: 3d 20 30 78 30 30 30 38 30 30 30 30 20 7d 0d 0a  = 0x00080000 }..
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 35  INTER_ENUM_ICON5
72c0: 20 3d 20 30 78 30 30 31 30 30 30 30 30 20 7d 0d   = 0x00100000 }.
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: 36 20 3d 20 30 78 30 30 32 30 30 30 30 30 20 7d  6 = 0x00200000 }
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 37 20 3d 20 30 78 30 30 34 30 30 30 30 30 20  N7 = 0x00400000 
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 49 43   PRINTER_ENUM_IC
7350: 4f 4e 38 20 3d 20 30 78 30 30 38 30 30 30 30 30  ON8 = 0x00800000
7360: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
7370: 7b 20 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 48  { PRINTER_ENUM_H
7380: 49 44 45 20 3d 20 30 78 30 31 30 30 30 30 30 30  IDE = 0x01000000
7390: 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   }....enum : uin
73a0: 74 20 7b 20 53 50 4f 4f 4c 5f 46 49 4c 45 5f 50  t { SPOOL_FILE_P
73b0: 45 52 53 49 53 54 45 4e 54 20 3d 20 30 78 30 30  ERSISTENT = 0x00
73c0: 30 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  000001 }..enum :
73d0: 20 75 69 6e 74 20 7b 20 53 50 4f 4f 4c 5f 46 49   uint { SPOOL_FI
73e0: 4c 45 5f 54 45 4d 50 4f 52 41 52 59 20 3d 20 30  LE_TEMPORARY = 0
73f0: 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 0d 0a 65  x00000002 }....e
7400: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
7410: 78 70 6f 72 74 20 42 4f 4f 4c 20 4f 70 65 6e 50  xport BOOL OpenP
7420: 72 69 6e 74 65 72 41 28 0d 0a 20 20 20 20 4c 50  rinterA(..    LP
7430: 53 54 52 20 20 20 20 70 50 72 69 6e 74 65 72 4e  STR    pPrinterN
7440: 61 6d 65 2c 0d 0a 20 20 20 20 4c 50 48 41 4e 44  ame,..    LPHAND
7450: 4c 45 20 70 68 50 72 69 6e 74 65 72 2c 0d 0a 20  LE phPrinter,.. 
7460: 20 20 20 4c 50 50 52 49 4e 54 45 52 5f 44 45 46     LPPRINTER_DEF
7470: 41 55 4c 54 53 41 20 70 44 65 66 61 75 6c 74 0d  AULTSA pDefault.
7480: 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  .);..extern(Wind
7490: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
74a0: 20 4f 70 65 6e 50 72 69 6e 74 65 72 57 28 0d 0a   OpenPrinterW(..
74b0: 20 20 20 20 4c 50 57 53 54 52 20 20 20 20 70 50      LPWSTR    pP
74c0: 72 69 6e 74 65 72 4e 61 6d 65 2c 0d 0a 20 20 20  rinterName,..   
74d0: 20 4c 50 48 41 4e 44 4c 45 20 70 68 50 72 69 6e   LPHANDLE phPrin
74e0: 74 65 72 2c 0d 0a 20 20 20 20 4c 50 50 52 49 4e  ter,..    LPPRIN
74f0: 54 45 52 5f 44 45 46 41 55 4c 54 53 57 20 70 44  TER_DEFAULTSW pD
7500: 65 66 61 75 6c 74 0d 0a 29 3b 0d 0a 2f 2f 20 23  efault..);..// #
7510: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
7520: 6c 69 61 73 20 4f 70 65 6e 50 72 69 6e 74 65 72  lias OpenPrinter
7530: 57 20 4f 70 65 6e 50 72 69 6e 74 65 72 3b 0d 0a  W OpenPrinter;..
7540: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
7550: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
7560: 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
7570: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
7580: 72 74 20 42 4f 4f 4c 20 52 65 73 65 74 50 72 69  rt BOOL ResetPri
7590: 6e 74 65 72 41 28 0d 0a 20 20 20 20 48 41 4e 44  nterA(..    HAND
75a0: 4c 45 20 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a  LE   hPrinter,..
75b0: 20 20 20 20 4c 50 50 52 49 4e 54 45 52 5f 44 45      LPPRINTER_DE
75c0: 46 41 55 4c 54 53 41 20 70 44 65 66 61 75 6c 74  FAULTSA pDefault
75d0: 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ..);..extern(Win
75e0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
75f0: 4c 20 52 65 73 65 74 50 72 69 6e 74 65 72 57 28  L ResetPrinterW(
7600: 0d 0a 20 20 20 20 48 41 4e 44 4c 45 20 20 20 68  ..    HANDLE   h
7610: 50 72 69 6e 74 65 72 2c 0d 0a 20 20 20 20 4c 50  Printer,..    LP
7620: 50 52 49 4e 54 45 52 5f 44 45 46 41 55 4c 54 53  PRINTER_DEFAULTS
7630: 57 20 70 44 65 66 61 75 6c 74 0d 0a 29 3b 0d 0a  W pDefault..);..
7640: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
7650: 45 0d 0a 61 6c 69 61 73 20 52 65 73 65 74 50 72  E..alias ResetPr
7660: 69 6e 74 65 72 57 20 52 65 73 65 74 50 72 69 6e  interW ResetPrin
7670: 74 65 72 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  ter;..// #else..
7680: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
7690: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
76a0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
76b0: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65  ) export BOOL Se
76c0: 74 4a 6f 62 41 28 0d 0a 20 20 20 20 20 48 41 4e  tJobA(..     HAN
76d0: 44 4c 45 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a  DLE  hPrinter,..
76e0: 20 20 20 20 20 44 57 4f 52 44 20 20 20 4a 6f 62       DWORD   Job
76f0: 49 64 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20  Id,..     DWORD 
7700: 20 20 4c 65 76 65 6c 2c 0d 0a 20 20 20 20 20 4c    Level,..     L
7710: 50 42 59 54 45 20 20 70 4a 6f 62 2c 0d 0a 20 20  PBYTE  pJob,..  
7720: 20 20 20 44 57 4f 52 44 20 20 20 43 6f 6d 6d 61     DWORD   Comma
7730: 6e 64 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57  nd..);..extern(W
7740: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
7750: 4f 4f 4c 20 53 65 74 4a 6f 62 57 28 0d 0a 20 20  OOL SetJobW(..  
7760: 20 20 20 48 41 4e 44 4c 45 20 20 68 50 72 69 6e     HANDLE  hPrin
7770: 74 65 72 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44  ter,..     DWORD
7780: 20 20 20 4a 6f 62 49 64 2c 0d 0a 20 20 20 20 20     JobId,..     
7790: 44 57 4f 52 44 20 20 20 4c 65 76 65 6c 2c 0d 0a  DWORD   Level,..
77a0: 20 20 20 20 20 4c 50 42 59 54 45 20 20 70 4a 6f       LPBYTE  pJo
77b0: 62 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20  b,..     DWORD  
77c0: 20 43 6f 6d 6d 61 6e 64 0d 0a 29 3b 0d 0a 2f 2f   Command..);..//
77d0: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
77e0: 0a 61 6c 69 61 73 20 53 65 74 4a 6f 62 57 20 53  .alias SetJobW S
77f0: 65 74 4a 6f 62 3b 0d 0a 2f 2f 20 23 65 6c 73 65  etJob;..// #else
7800: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
7810: 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
7820: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
7830: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
7840: 47 65 74 4a 6f 62 41 28 0d 0a 20 20 20 20 48 41  GetJobA(..    HA
7850: 4e 44 4c 45 20 20 20 68 50 72 69 6e 74 65 72 2c  NDLE   hPrinter,
7860: 0d 0a 20 20 20 20 44 57 4f 52 44 20 20 20 20 4a  ..    DWORD    J
7870: 6f 62 49 64 2c 0d 0a 20 20 20 20 44 57 4f 52 44  obId,..    DWORD
7880: 20 20 20 20 4c 65 76 65 6c 2c 0d 0a 20 20 20 20      Level,..    
7890: 4c 50 42 59 54 45 20 20 20 70 4a 6f 62 2c 0d 0a  LPBYTE   pJob,..
78a0: 20 20 20 20 44 57 4f 52 44 20 20 20 20 63 62 42      DWORD    cbB
78b0: 75 66 2c 0d 0a 20 20 20 20 4c 50 44 57 4f 52 44  uf,..    LPDWORD
78c0: 20 20 70 63 62 4e 65 65 64 65 64 0d 0a 29 3b 0d    pcbNeeded..);.
78d0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
78e0: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74   export BOOL Get
78f0: 4a 6f 62 57 28 0d 0a 20 20 20 20 48 41 4e 44 4c  JobW(..    HANDL
7900: 45 20 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20  E   hPrinter,.. 
7910: 20 20 20 44 57 4f 52 44 20 20 20 20 4a 6f 62 49     DWORD    JobI
7920: 64 2c 0d 0a 20 20 20 20 44 57 4f 52 44 20 20 20  d,..    DWORD   
7930: 20 4c 65 76 65 6c 2c 0d 0a 20 20 20 20 4c 50 42   Level,..    LPB
7940: 59 54 45 20 20 20 70 4a 6f 62 2c 0d 0a 20 20 20  YTE   pJob,..   
7950: 20 44 57 4f 52 44 20 20 20 20 63 62 42 75 66 2c   DWORD    cbBuf,
7960: 0d 0a 20 20 20 20 4c 50 44 57 4f 52 44 20 20 70  ..    LPDWORD  p
7970: 63 62 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a 2f 2f  cbNeeded..);..//
7980: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
7990: 0a 61 6c 69 61 73 20 47 65 74 4a 6f 62 57 20 47  .alias GetJobW G
79a0: 65 74 4a 6f 62 3b 0d 0a 2f 2f 20 23 65 6c 73 65  etJob;..// #else
79b0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
79c0: 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
79d0: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
79e0: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
79f0: 45 6e 75 6d 4a 6f 62 73 41 28 0d 0a 20 20 20 20  EnumJobsA(..    
7a00: 20 48 41 4e 44 4c 45 20 20 68 50 72 69 6e 74 65   HANDLE  hPrinte
7a10: 72 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20  r,..     DWORD  
7a20: 20 46 69 72 73 74 4a 6f 62 2c 0d 0a 20 20 20 20   FirstJob,..    
7a30: 20 44 57 4f 52 44 20 20 20 4e 6f 4a 6f 62 73 2c   DWORD   NoJobs,
7a40: 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20 4c  ..     DWORD   L
7a50: 65 76 65 6c 2c 0d 0a 20 20 20 20 20 4c 50 42 59  evel,..     LPBY
7a60: 54 45 20 20 70 4a 6f 62 2c 0d 0a 20 20 20 20 20  TE  pJob,..     
7a70: 44 57 4f 52 44 20 20 20 63 62 42 75 66 2c 0d 0a  DWORD   cbBuf,..
7a80: 20 20 20 20 20 4c 50 44 57 4f 52 44 20 70 63 62       LPDWORD pcb
7a90: 4e 65 65 64 65 64 2c 0d 0a 20 20 20 20 20 4c 50  Needed,..     LP
7aa0: 44 57 4f 52 44 20 70 63 52 65 74 75 72 6e 65 64  DWORD pcReturned
7ab0: 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ..);..extern(Win
7ac0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
7ad0: 4c 20 45 6e 75 6d 4a 6f 62 73 57 28 0d 0a 20 20  L EnumJobsW(..  
7ae0: 20 20 20 48 41 4e 44 4c 45 20 20 68 50 72 69 6e     HANDLE  hPrin
7af0: 74 65 72 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44  ter,..     DWORD
7b00: 20 20 20 46 69 72 73 74 4a 6f 62 2c 0d 0a 20 20     FirstJob,..  
7b10: 20 20 20 44 57 4f 52 44 20 20 20 4e 6f 4a 6f 62     DWORD   NoJob
7b20: 73 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20  s,..     DWORD  
7b30: 20 4c 65 76 65 6c 2c 0d 0a 20 20 20 20 20 4c 50   Level,..     LP
7b40: 42 59 54 45 20 20 70 4a 6f 62 2c 0d 0a 20 20 20  BYTE  pJob,..   
7b50: 20 20 44 57 4f 52 44 20 20 20 63 62 42 75 66 2c    DWORD   cbBuf,
7b60: 0d 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20 70  ..     LPDWORD p
7b70: 63 62 4e 65 65 64 65 64 2c 0d 0a 20 20 20 20 20  cbNeeded,..     
7b80: 4c 50 44 57 4f 52 44 20 70 63 52 65 74 75 72 6e  LPDWORD pcReturn
7b90: 65 64 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  ed..);..// #ifde
7ba0: 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
7bb0: 20 45 6e 75 6d 4a 6f 62 73 57 20 45 6e 75 6d 4a   EnumJobsW EnumJ
7bc0: 6f 62 73 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  obs;..// #else..
7bd0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
7be0: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
7bf0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
7c00: 29 20 65 78 70 6f 72 74 20 48 41 4e 44 4c 45 20  ) export HANDLE 
7c10: 41 64 64 50 72 69 6e 74 65 72 41 28 0d 0a 20 20  AddPrinterA(..  
7c20: 20 20 20 4c 50 53 54 52 20 20 20 70 4e 61 6d 65     LPSTR   pName
7c30: 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20  ,..     DWORD   
7c40: 4c 65 76 65 6c 2c 0d 0a 20 20 20 20 20 4c 50 42  Level,..     LPB
7c50: 59 54 45 20 20 70 50 72 69 6e 74 65 72 0d 0a 29  YTE  pPrinter..)
7c60: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
7c70: 73 29 20 65 78 70 6f 72 74 20 48 41 4e 44 4c 45  s) export HANDLE
7c80: 20 41 64 64 50 72 69 6e 74 65 72 57 28 0d 0a 20   AddPrinterW(.. 
7c90: 20 20 20 20 4c 50 57 53 54 52 20 20 20 70 4e 61      LPWSTR   pNa
7ca0: 6d 65 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20  me,..     DWORD 
7cb0: 20 20 4c 65 76 65 6c 2c 0d 0a 20 20 20 20 20 4c    Level,..     L
7cc0: 50 42 59 54 45 20 20 70 50 72 69 6e 74 65 72 0d  PBYTE  pPrinter.
7cd0: 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  .);..// #ifdef U
7ce0: 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 41 64  NICODE..alias Ad
7cf0: 64 50 72 69 6e 74 65 72 57 20 41 64 64 50 72 69  dPrinterW AddPri
7d00: 6e 74 65 72 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  nter;..// #else.
7d10: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
7d20: 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
7d30: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
7d40: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44  s) export BOOL D
7d50: 65 6c 65 74 65 50 72 69 6e 74 65 72 28 0d 0a 20  eletePrinter(.. 
7d60: 20 20 20 20 48 41 4e 44 4c 45 20 20 20 68 50 72      HANDLE   hPr
7d70: 69 6e 74 65 72 0d 0a 29 3b 0d 0a 0d 0a 65 78 74  inter..);....ext
7d80: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
7d90: 6f 72 74 20 42 4f 4f 4c 20 53 65 74 50 72 69 6e  ort BOOL SetPrin
7da0: 74 65 72 41 28 0d 0a 20 20 20 20 20 48 41 4e 44  terA(..     HAND
7db0: 4c 45 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20  LE  hPrinter,.. 
7dc0: 20 20 20 20 44 57 4f 52 44 20 20 20 4c 65 76 65      DWORD   Leve
7dd0: 6c 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54 45 20  l,..     LPBYTE 
7de0: 20 70 50 72 69 6e 74 65 72 2c 0d 0a 20 20 20 20   pPrinter,..    
7df0: 20 44 57 4f 52 44 20 20 20 43 6f 6d 6d 61 6e 64   DWORD   Command
7e00: 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ..);..extern(Win
7e10: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
7e20: 4c 20 53 65 74 50 72 69 6e 74 65 72 57 28 0d 0a  L SetPrinterW(..
7e30: 20 20 20 20 20 48 41 4e 44 4c 45 20 20 68 50 72       HANDLE  hPr
7e40: 69 6e 74 65 72 2c 0d 0a 20 20 20 20 20 44 57 4f  inter,..     DWO
7e50: 52 44 20 20 20 4c 65 76 65 6c 2c 0d 0a 20 20 20  RD   Level,..   
7e60: 20 20 4c 50 42 59 54 45 20 20 70 50 72 69 6e 74    LPBYTE  pPrint
7e70: 65 72 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20  er,..     DWORD 
7e80: 20 20 43 6f 6d 6d 61 6e 64 0d 0a 29 3b 0d 0a 2f    Command..);../
7e90: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
7ea0: 0d 0a 61 6c 69 61 73 20 53 65 74 50 72 69 6e 74  ..alias SetPrint
7eb0: 65 72 57 20 53 65 74 50 72 69 6e 74 65 72 3b 0d  erW SetPrinter;.
7ec0: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
7ed0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
7ee0: 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74   !UNICODE....ext
7ef0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
7f00: 6f 72 74 20 42 4f 4f 4c 20 47 65 74 50 72 69 6e  ort BOOL GetPrin
7f10: 74 65 72 41 28 0d 0a 20 20 20 20 20 48 41 4e 44  terA(..     HAND
7f20: 4c 45 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20  LE  hPrinter,.. 
7f30: 20 20 20 20 44 57 4f 52 44 20 20 20 4c 65 76 65      DWORD   Leve
7f40: 6c 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54 45 20  l,..     LPBYTE 
7f50: 20 70 50 72 69 6e 74 65 72 2c 0d 0a 20 20 20 20   pPrinter,..    
7f60: 20 44 57 4f 52 44 20 20 20 63 62 42 75 66 2c 0d   DWORD   cbBuf,.
7f70: 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20 70 63  .     LPDWORD pc
7f80: 62 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a 65 78 74  bNeeded..);..ext
7f90: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
7fa0: 6f 72 74 20 42 4f 4f 4c 20 47 65 74 50 72 69 6e  ort BOOL GetPrin
7fb0: 74 65 72 57 28 0d 0a 20 20 20 20 20 48 41 4e 44  terW(..     HAND
7fc0: 4c 45 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20  LE  hPrinter,.. 
7fd0: 20 20 20 20 44 57 4f 52 44 20 20 20 4c 65 76 65      DWORD   Leve
7fe0: 6c 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54 45 20  l,..     LPBYTE 
7ff0: 20 70 50 72 69 6e 74 65 72 2c 0d 0a 20 20 20 20   pPrinter,..    
8000: 20 44 57 4f 52 44 20 20 20 63 62 42 75 66 2c 0d   DWORD   cbBuf,.
8010: 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20 70 63  .     LPDWORD pc
8020: 62 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a 2f 2f 20  bNeeded..);..// 
8030: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
8040: 61 6c 69 61 73 20 47 65 74 50 72 69 6e 74 65 72  alias GetPrinter
8050: 57 20 47 65 74 50 72 69 6e 74 65 72 3b 0d 0a 2f  W GetPrinter;../
8060: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
8070: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
8080: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
8090: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
80a0: 74 20 42 4f 4f 4c 20 41 64 64 50 72 69 6e 74 65  t BOOL AddPrinte
80b0: 72 44 72 69 76 65 72 41 28 0d 0a 20 20 20 20 20  rDriverA(..     
80c0: 4c 50 53 54 52 20 20 20 70 4e 61 6d 65 2c 0d 0a  LPSTR   pName,..
80d0: 20 20 20 20 20 20 44 57 4f 52 44 20 20 20 4c 65        DWORD   Le
80e0: 76 65 6c 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54  vel,..     LPBYT
80f0: 45 20 20 70 44 72 69 76 65 72 49 6e 66 6f 0d 0a  E  pDriverInfo..
8100: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
8110: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
8120: 41 64 64 50 72 69 6e 74 65 72 44 72 69 76 65 72  AddPrinterDriver
8130: 57 28 0d 0a 20 20 20 20 20 4c 50 57 53 54 52 20  W(..     LPWSTR 
8140: 20 20 70 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 20    pName,..      
8150: 44 57 4f 52 44 20 20 20 4c 65 76 65 6c 2c 0d 0a  DWORD   Level,..
8160: 20 20 20 20 20 4c 50 42 59 54 45 20 20 70 44 72       LPBYTE  pDr
8170: 69 76 65 72 49 6e 66 6f 0d 0a 29 3b 0d 0a 2f 2f  iverInfo..);..//
8180: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
8190: 0a 61 6c 69 61 73 20 41 64 64 50 72 69 6e 74 65  .alias AddPrinte
81a0: 72 44 72 69 76 65 72 57 20 41 64 64 50 72 69 6e  rDriverW AddPrin
81b0: 74 65 72 44 72 69 76 65 72 3b 0d 0a 2f 2f 20 23  terDriver;..// #
81c0: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
81d0: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
81e0: 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
81f0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
8200: 4f 4f 4c 20 41 64 64 50 72 69 6e 74 65 72 44 72  OOL AddPrinterDr
8210: 69 76 65 72 45 78 41 28 0d 0a 20 20 20 20 20 4c  iverExA(..     L
8220: 50 53 54 52 20 20 20 70 4e 61 6d 65 2c 0d 0a 20  PSTR   pName,.. 
8230: 20 20 20 20 44 57 4f 52 44 20 20 20 20 20 4c 65      DWORD     Le
8240: 76 65 6c 2c 0d 0a 20 20 20 20 20 20 4c 50 42 59  vel,..      LPBY
8250: 54 45 20 70 44 72 69 76 65 72 49 6e 66 6f 2c 0d  TE pDriverInfo,.
8260: 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20 20 20  .     DWORD     
8270: 64 77 46 69 6c 65 43 6f 70 79 46 6c 61 67 73 0d  dwFileCopyFlags.
8280: 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  .);..extern(Wind
8290: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
82a0: 20 41 64 64 50 72 69 6e 74 65 72 44 72 69 76 65   AddPrinterDrive
82b0: 72 45 78 57 28 0d 0a 20 20 20 20 20 4c 50 57 53  rExW(..     LPWS
82c0: 54 52 20 20 20 70 4e 61 6d 65 2c 0d 0a 20 20 20  TR   pName,..   
82d0: 20 20 44 57 4f 52 44 20 20 20 20 20 4c 65 76 65    DWORD     Leve
82e0: 6c 2c 0d 0a 20 20 20 20 20 20 4c 50 42 59 54 45  l,..      LPBYTE
82f0: 20 70 44 72 69 76 65 72 49 6e 66 6f 2c 0d 0a 20   pDriverInfo,.. 
8300: 20 20 20 20 44 57 4f 52 44 20 20 20 20 20 64 77      DWORD     dw
8310: 46 69 6c 65 43 6f 70 79 46 6c 61 67 73 0d 0a 29  FileCopyFlags..)
8320: 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49  ;..// #ifdef UNI
8330: 43 4f 44 45 0d 0a 61 6c 69 61 73 20 41 64 64 50  CODE..alias AddP
8340: 72 69 6e 74 65 72 44 72 69 76 65 72 45 78 57 20  rinterDriverExW 
8350: 41 64 64 50 72 69 6e 74 65 72 44 72 69 76 65 72  AddPrinterDriver
8360: 45 78 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  Ex;..// #else../
8370: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
8380: 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
8390: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
83a0: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 75   export BOOL Enu
83b0: 6d 50 72 69 6e 74 65 72 44 72 69 76 65 72 73 41  mPrinterDriversA
83c0: 28 0d 0a 20 20 20 20 20 4c 50 53 54 52 20 20 20  (..     LPSTR   
83d0: 70 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 4c 50 53  pName,..     LPS
83e0: 54 52 20 20 20 70 45 6e 76 69 72 6f 6e 6d 65 6e  TR   pEnvironmen
83f0: 74 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20  t,..     DWORD  
8400: 20 4c 65 76 65 6c 2c 0d 0a 20 20 20 20 20 4c 50   Level,..     LP
8410: 42 59 54 45 20 20 70 44 72 69 76 65 72 49 6e 66  BYTE  pDriverInf
8420: 6f 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20  o,..     DWORD  
8430: 20 63 62 42 75 66 2c 0d 0a 20 20 20 20 20 4c 50   cbBuf,..     LP
8440: 44 57 4f 52 44 20 70 63 62 4e 65 65 64 65 64 2c  DWORD pcbNeeded,
8450: 0d 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20 70  ..     LPDWORD p
8460: 63 52 65 74 75 72 6e 65 64 0d 0a 29 3b 0d 0a 65  cReturned..);..e
8470: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
8480: 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 75 6d 50  xport BOOL EnumP
8490: 72 69 6e 74 65 72 44 72 69 76 65 72 73 57 28 0d  rinterDriversW(.
84a0: 0a 20 20 20 20 20 4c 50 57 53 54 52 20 20 20 70  .     LPWSTR   p
84b0: 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 4c 50 57 53  Name,..     LPWS
84c0: 54 52 20 20 20 70 45 6e 76 69 72 6f 6e 6d 65 6e  TR   pEnvironmen
84d0: 74 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20  t,..     DWORD  
84e0: 20 4c 65 76 65 6c 2c 0d 0a 20 20 20 20 20 4c 50   Level,..     LP
84f0: 42 59 54 45 20 20 70 44 72 69 76 65 72 49 6e 66  BYTE  pDriverInf
8500: 6f 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20  o,..     DWORD  
8510: 20 63 62 42 75 66 2c 0d 0a 20 20 20 20 20 4c 50   cbBuf,..     LP
8520: 44 57 4f 52 44 20 70 63 62 4e 65 65 64 65 64 2c  DWORD pcbNeeded,
8530: 0d 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20 70  ..     LPDWORD p
8540: 63 52 65 74 75 72 6e 65 64 0d 0a 29 3b 0d 0a 2f  cReturned..);../
8550: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
8560: 0d 0a 61 6c 69 61 73 20 45 6e 75 6d 50 72 69 6e  ..alias EnumPrin
8570: 74 65 72 44 72 69 76 65 72 73 57 20 45 6e 75 6d  terDriversW Enum
8580: 50 72 69 6e 74 65 72 44 72 69 76 65 72 73 3b 0d  PrinterDrivers;.
8590: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
85a0: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
85b0: 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74   !UNICODE....ext
85c0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
85d0: 6f 72 74 20 42 4f 4f 4c 20 47 65 74 50 72 69 6e  ort BOOL GetPrin
85e0: 74 65 72 44 72 69 76 65 72 41 28 0d 0a 20 20 20  terDriverA(..   
85f0: 20 20 48 41 4e 44 4c 45 20 20 68 50 72 69 6e 74    HANDLE  hPrint
8600: 65 72 2c 0d 0a 20 20 20 20 20 4c 50 53 54 52 20  er,..     LPSTR 
8610: 20 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0d    pEnvironment,.
8620: 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20 4c 65  .     DWORD   Le
8630: 76 65 6c 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54  vel,..     LPBYT
8640: 45 20 20 70 44 72 69 76 65 72 49 6e 66 6f 2c 0d  E  pDriverInfo,.
8650: 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20 63 62  .     DWORD   cb
8660: 42 75 66 2c 0d 0a 20 20 20 20 20 4c 50 44 57 4f  Buf,..     LPDWO
8670: 52 44 20 70 63 62 4e 65 65 64 65 64 0d 0a 29 3b  RD pcbNeeded..);
8680: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
8690: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65  ) export BOOL Ge
86a0: 74 50 72 69 6e 74 65 72 44 72 69 76 65 72 57 28  tPrinterDriverW(
86b0: 0d 0a 20 20 20 20 20 48 41 4e 44 4c 45 20 20 68  ..     HANDLE  h
86c0: 50 72 69 6e 74 65 72 2c 0d 0a 20 20 20 20 20 4c  Printer,..     L
86d0: 50 57 53 54 52 20 20 20 70 45 6e 76 69 72 6f 6e  PWSTR   pEnviron
86e0: 6d 65 6e 74 2c 0d 0a 20 20 20 20 20 44 57 4f 52  ment,..     DWOR
86f0: 44 20 20 20 4c 65 76 65 6c 2c 0d 0a 20 20 20 20  D   Level,..    
8700: 20 4c 50 42 59 54 45 20 20 70 44 72 69 76 65 72   LPBYTE  pDriver
8710: 49 6e 66 6f 2c 0d 0a 20 20 20 20 20 44 57 4f 52  Info,..     DWOR
8720: 44 20 20 20 63 62 42 75 66 2c 0d 0a 20 20 20 20  D   cbBuf,..    
8730: 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65 65 64   LPDWORD pcbNeed
8740: 65 64 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  ed..);..// #ifde
8750: 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
8760: 20 47 65 74 50 72 69 6e 74 65 72 44 72 69 76 65   GetPrinterDrive
8770: 72 57 20 47 65 74 50 72 69 6e 74 65 72 44 72 69  rW GetPrinterDri
8780: 76 65 72 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  ver;..// #else..
8790: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
87a0: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
87b0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
87c0: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65  ) export BOOL Ge
87d0: 74 50 72 69 6e 74 65 72 44 72 69 76 65 72 44 69  tPrinterDriverDi
87e0: 72 65 63 74 6f 72 79 41 28 0d 0a 20 20 20 20 20  rectoryA(..     
87f0: 4c 50 53 54 52 20 20 20 70 4e 61 6d 65 2c 0d 0a  LPSTR   pName,..
8800: 20 20 20 20 20 4c 50 53 54 52 20 20 20 70 45 6e       LPSTR   pEn
8810: 76 69 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 20 20  vironment,..    
8820: 20 44 57 4f 52 44 20 20 20 4c 65 76 65 6c 2c 0d   DWORD   Level,.
8830: 0a 20 20 20 20 20 4c 50 42 59 54 45 20 20 70 44  .     LPBYTE  pD
8840: 72 69 76 65 72 44 69 72 65 63 74 6f 72 79 2c 0d  riverDirectory,.
8850: 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20 63 62  .     DWORD   cb
8860: 42 75 66 2c 0d 0a 20 20 20 20 20 4c 50 44 57 4f  Buf,..     LPDWO
8870: 52 44 20 70 63 62 4e 65 65 64 65 64 0d 0a 29 3b  RD pcbNeeded..);
8880: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
8890: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65  ) export BOOL Ge
88a0: 74 50 72 69 6e 74 65 72 44 72 69 76 65 72 44 69  tPrinterDriverDi
88b0: 72 65 63 74 6f 72 79 57 28 0d 0a 20 20 20 20 20  rectoryW(..     
88c0: 4c 50 57 53 54 52 20 20 20 70 4e 61 6d 65 2c 0d  LPWSTR   pName,.
88d0: 0a 20 20 20 20 20 4c 50 57 53 54 52 20 20 20 70  .     LPWSTR   p
88e0: 45 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20  Environment,..  
88f0: 20 20 20 44 57 4f 52 44 20 20 20 4c 65 76 65 6c     DWORD   Level
8900: 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54 45 20 20  ,..     LPBYTE  
8910: 70 44 72 69 76 65 72 44 69 72 65 63 74 6f 72 79  pDriverDirectory
8920: 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20  ,..     DWORD   
8930: 63 62 42 75 66 2c 0d 0a 20 20 20 20 20 4c 50 44  cbBuf,..     LPD
8940: 57 4f 52 44 20 70 63 62 4e 65 65 64 65 64 0d 0a  WORD pcbNeeded..
8950: 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
8960: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 47 65 74  ICODE..alias Get
8970: 50 72 69 6e 74 65 72 44 72 69 76 65 72 44 69 72  PrinterDriverDir
8980: 65 63 74 6f 72 79 57 20 47 65 74 50 72 69 6e 74  ectoryW GetPrint
8990: 65 72 44 72 69 76 65 72 44 69 72 65 63 74 6f 72  erDriverDirector
89a0: 79 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  y;..// #else..//
89b0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
89c0: 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
89d0: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
89e0: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44 65 6c 65  export BOOL Dele
89f0: 74 65 50 72 69 6e 74 65 72 44 72 69 76 65 72 41  tePrinterDriverA
8a00: 28 0d 0a 20 20 20 20 4c 50 53 54 52 20 20 20 20  (..    LPSTR    
8a10: 70 4e 61 6d 65 2c 0d 0a 20 20 20 20 4c 50 53 54  pName,..    LPST
8a20: 52 20 20 20 20 70 45 6e 76 69 72 6f 6e 6d 65 6e  R    pEnvironmen
8a30: 74 2c 0d 0a 20 20 20 20 4c 50 53 54 52 20 20 20  t,..    LPSTR   
8a40: 20 70 44 72 69 76 65 72 4e 61 6d 65 0d 0a 29 3b   pDriverName..);
8a50: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
8a60: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44 65  ) export BOOL De
8a70: 6c 65 74 65 50 72 69 6e 74 65 72 44 72 69 76 65  letePrinterDrive
8a80: 72 57 28 0d 0a 20 20 20 20 4c 50 57 53 54 52 20  rW(..    LPWSTR 
8a90: 20 20 20 70 4e 61 6d 65 2c 0d 0a 20 20 20 20 4c     pName,..    L
8aa0: 50 57 53 54 52 20 20 20 20 70 45 6e 76 69 72 6f  PWSTR    pEnviro
8ab0: 6e 6d 65 6e 74 2c 0d 0a 20 20 20 20 4c 50 57 53  nment,..    LPWS
8ac0: 54 52 20 20 20 20 70 44 72 69 76 65 72 4e 61 6d  TR    pDriverNam
8ad0: 65 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  e..);..// #ifdef
8ae0: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
8af0: 44 65 6c 65 74 65 50 72 69 6e 74 65 72 44 72 69  DeletePrinterDri
8b00: 76 65 72 57 20 44 65 6c 65 74 65 50 72 69 6e 74  verW DeletePrint
8b10: 65 72 44 72 69 76 65 72 3b 0d 0a 2f 2f 20 23 65  erDriver;..// #e
8b20: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
8b30: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
8b40: 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
8b50: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
8b60: 4f 4c 20 44 65 6c 65 74 65 50 72 69 6e 74 65 72  OL DeletePrinter
8b70: 44 72 69 76 65 72 45 78 41 28 0d 0a 20 20 20 20  DriverExA(..    
8b80: 4c 50 53 54 52 20 20 20 20 70 4e 61 6d 65 2c 0d  LPSTR    pName,.
8b90: 0a 20 20 20 20 4c 50 53 54 52 20 20 20 20 70 45  .    LPSTR    pE
8ba0: 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 20  nvironment,..   
8bb0: 20 4c 50 53 54 52 20 20 20 20 70 44 72 69 76 65   LPSTR    pDrive
8bc0: 72 4e 61 6d 65 2c 0d 0a 20 20 20 20 44 57 4f 52  rName,..    DWOR
8bd0: 44 20 20 20 20 20 20 64 77 44 65 6c 65 74 65 46  D      dwDeleteF
8be0: 6c 61 67 2c 0d 0a 20 20 20 20 44 57 4f 52 44 20  lag,..    DWORD 
8bf0: 20 20 20 20 20 64 77 56 65 72 73 69 6f 6e 46 6c       dwVersionFl
8c00: 61 67 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57  ag..);..extern(W
8c10: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
8c20: 4f 4f 4c 20 44 65 6c 65 74 65 50 72 69 6e 74 65  OOL DeletePrinte
8c30: 72 44 72 69 76 65 72 45 78 57 28 0d 0a 20 20 20  rDriverExW(..   
8c40: 20 4c 50 57 53 54 52 20 20 20 20 70 4e 61 6d 65   LPWSTR    pName
8c50: 2c 0d 0a 20 20 20 20 4c 50 57 53 54 52 20 20 20  ,..    LPWSTR   
8c60: 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0d 0a   pEnvironment,..
8c70: 20 20 20 20 4c 50 57 53 54 52 20 20 20 20 70 44      LPWSTR    pD
8c80: 72 69 76 65 72 4e 61 6d 65 2c 0d 0a 20 20 20 20  riverName,..    
8c90: 44 57 4f 52 44 20 20 20 20 20 20 64 77 44 65 6c  DWORD      dwDel
8ca0: 65 74 65 46 6c 61 67 2c 0d 0a 20 20 20 20 44 57  eteFlag,..    DW
8cb0: 4f 52 44 20 20 20 20 20 20 64 77 56 65 72 73 69  ORD      dwVersi
8cc0: 6f 6e 46 6c 61 67 0d 0a 29 3b 0d 0a 2f 2f 20 23  onFlag..);..// #
8cd0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
8ce0: 6c 69 61 73 20 44 65 6c 65 74 65 50 72 69 6e 74  lias DeletePrint
8cf0: 65 72 44 72 69 76 65 72 45 78 57 20 44 65 6c 65  erDriverExW Dele
8d00: 74 65 50 72 69 6e 74 65 72 44 72 69 76 65 72 45  tePrinterDriverE
8d10: 78 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  x;..// #else..//
8d20: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
8d30: 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
8d40: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
8d50: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 41 64 64 50  export BOOL AddP
8d60: 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 41 28 0d  rintProcessorA(.
8d70: 0a 20 20 20 20 20 4c 50 53 54 52 20 20 20 70 4e  .     LPSTR   pN
8d80: 61 6d 65 2c 0d 0a 20 20 20 20 20 4c 50 53 54 52  ame,..     LPSTR
8d90: 20 20 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 2c     pEnvironment,
8da0: 0d 0a 20 20 20 20 20 4c 50 53 54 52 20 20 20 70  ..     LPSTR   p
8db0: 50 61 74 68 4e 61 6d 65 2c 0d 0a 20 20 20 20 20  PathName,..     
8dc0: 4c 50 53 54 52 20 20 20 70 50 72 69 6e 74 50 72  LPSTR   pPrintPr
8dd0: 6f 63 65 73 73 6f 72 4e 61 6d 65 0d 0a 29 3b 0d  ocessorName..);.
8de0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
8df0: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 41 64 64   export BOOL Add
8e00: 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 57 28  PrintProcessorW(
8e10: 0d 0a 20 20 20 20 20 4c 50 57 53 54 52 20 20 20  ..     LPWSTR   
8e20: 70 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 4c 50 57  pName,..     LPW
8e30: 53 54 52 20 20 20 70 45 6e 76 69 72 6f 6e 6d 65  STR   pEnvironme
8e40: 6e 74 2c 0d 0a 20 20 20 20 20 4c 50 57 53 54 52  nt,..     LPWSTR
8e50: 20 20 20 70 50 61 74 68 4e 61 6d 65 2c 0d 0a 20     pPathName,.. 
8e60: 20 20 20 20 4c 50 57 53 54 52 20 20 20 70 50 72      LPWSTR   pPr
8e70: 69 6e 74 50 72 6f 63 65 73 73 6f 72 4e 61 6d 65  intProcessorName
8e80: 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ..);..// #ifdef 
8e90: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 41  UNICODE..alias A
8ea0: 64 64 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72  ddPrintProcessor
8eb0: 57 20 41 64 64 50 72 69 6e 74 50 72 6f 63 65 73  W AddPrintProces
8ec0: 73 6f 72 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  sor;..// #else..
8ed0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
8ee0: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
8ef0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
8f00: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e  ) export BOOL En
8f10: 75 6d 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72  umPrintProcessor
8f20: 73 41 28 0d 0a 20 20 20 20 20 4c 50 53 54 52 20  sA(..     LPSTR 
8f30: 20 20 70 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 4c    pName,..     L
8f40: 50 53 54 52 20 20 20 70 45 6e 76 69 72 6f 6e 6d  PSTR   pEnvironm
8f50: 65 6e 74 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44  ent,..     DWORD
8f60: 20 20 20 4c 65 76 65 6c 2c 0d 0a 20 20 20 20 20     Level,..     
8f70: 4c 50 42 59 54 45 20 20 70 50 72 69 6e 74 50 72  LPBYTE  pPrintPr
8f80: 6f 63 65 73 73 6f 72 49 6e 66 6f 2c 0d 0a 20 20  ocessorInfo,..  
8f90: 20 20 20 44 57 4f 52 44 20 20 20 63 62 42 75 66     DWORD   cbBuf
8fa0: 2c 0d 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20  ,..     LPDWORD 
8fb0: 70 63 62 4e 65 65 64 65 64 2c 0d 0a 20 20 20 20  pcbNeeded,..    
8fc0: 20 4c 50 44 57 4f 52 44 20 70 63 52 65 74 75 72   LPDWORD pcRetur
8fd0: 6e 65 64 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28  ned..);..extern(
8fe0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
8ff0: 42 4f 4f 4c 20 45 6e 75 6d 50 72 69 6e 74 50 72  BOOL EnumPrintPr
9000: 6f 63 65 73 73 6f 72 73 57 28 0d 0a 20 20 20 20  ocessorsW(..    
9010: 20 4c 50 57 53 54 52 20 20 20 70 4e 61 6d 65 2c   LPWSTR   pName,
9020: 0d 0a 20 20 20 20 20 4c 50 57 53 54 52 20 20 20  ..     LPWSTR   
9030: 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0d 0a 20  pEnvironment,.. 
9040: 20 20 20 20 44 57 4f 52 44 20 20 20 4c 65 76 65      DWORD   Leve
9050: 6c 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54 45 20  l,..     LPBYTE 
9060: 20 70 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72   pPrintProcessor
9070: 49 6e 66 6f 2c 0d 0a 20 20 20 20 20 44 57 4f 52  Info,..     DWOR
9080: 44 20 20 20 63 62 42 75 66 2c 0d 0a 20 20 20 20  D   cbBuf,..    
9090: 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65 65 64   LPDWORD pcbNeed
90a0: 65 64 2c 0d 0a 20 20 20 20 20 4c 50 44 57 4f 52  ed,..     LPDWOR
90b0: 44 20 70 63 52 65 74 75 72 6e 65 64 0d 0a 29 3b  D pcReturned..);
90c0: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
90d0: 4f 44 45 0d 0a 61 6c 69 61 73 20 45 6e 75 6d 50  ODE..alias EnumP
90e0: 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 73 57 20  rintProcessorsW 
90f0: 45 6e 75 6d 50 72 69 6e 74 50 72 6f 63 65 73 73  EnumPrintProcess
9100: 6f 72 73 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  ors;..// #else..
9110: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
9120: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
9130: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
9140: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65  ) export BOOL Ge
9150: 74 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 44  tPrintProcessorD
9160: 69 72 65 63 74 6f 72 79 41 28 0d 0a 20 20 20 20  irectoryA(..    
9170: 20 4c 50 53 54 52 20 20 20 70 4e 61 6d 65 2c 0d   LPSTR   pName,.
9180: 0a 20 20 20 20 20 4c 50 53 54 52 20 20 20 70 45  .     LPSTR   pE
9190: 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 20  nvironment,..   
91a0: 20 20 44 57 4f 52 44 20 20 20 4c 65 76 65 6c 2c    DWORD   Level,
91b0: 0d 0a 20 20 20 20 20 4c 50 42 59 54 45 20 20 70  ..     LPBYTE  p
91c0: 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 49 6e  PrintProcessorIn
91d0: 66 6f 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20  fo,..     DWORD 
91e0: 20 20 63 62 42 75 66 2c 0d 0a 20 20 20 20 20 4c    cbBuf,..     L
91f0: 50 44 57 4f 52 44 20 70 63 62 4e 65 65 64 65 64  PDWORD pcbNeeded
9200: 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ..);..extern(Win
9210: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
9220: 4c 20 47 65 74 50 72 69 6e 74 50 72 6f 63 65 73  L GetPrintProces
9230: 73 6f 72 44 69 72 65 63 74 6f 72 79 57 28 0d 0a  sorDirectoryW(..
9240: 20 20 20 20 20 4c 50 57 53 54 52 20 20 20 70 4e       LPWSTR   pN
9250: 61 6d 65 2c 0d 0a 20 20 20 20 20 4c 50 57 53 54  ame,..     LPWST
9260: 52 20 20 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74  R   pEnvironment
9270: 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20  ,..     DWORD   
9280: 4c 65 76 65 6c 2c 0d 0a 20 20 20 20 20 4c 50 42  Level,..     LPB
9290: 59 54 45 20 20 70 50 72 69 6e 74 50 72 6f 63 65  YTE  pPrintProce
92a0: 73 73 6f 72 49 6e 66 6f 2c 0d 0a 20 20 20 20 20  ssorInfo,..     
92b0: 44 57 4f 52 44 20 20 20 63 62 42 75 66 2c 0d 0a  DWORD   cbBuf,..
92c0: 20 20 20 20 20 4c 50 44 57 4f 52 44 20 70 63 62       LPDWORD pcb
92d0: 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a 2f 2f 20 23  Needed..);..// #
92e0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
92f0: 6c 69 61 73 20 47 65 74 50 72 69 6e 74 50 72 6f  lias GetPrintPro
9300: 63 65 73 73 6f 72 44 69 72 65 63 74 6f 72 79 57  cessorDirectoryW
9310: 20 47 65 74 50 72 69 6e 74 50 72 6f 63 65 73 73   GetPrintProcess
9320: 6f 72 44 69 72 65 63 74 6f 72 79 3b 0d 0a 2f 2f  orDirectory;..//
9330: 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
9340: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
9350: 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
9360: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
9370: 20 42 4f 4f 4c 20 45 6e 75 6d 50 72 69 6e 74 50   BOOL EnumPrintP
9380: 72 6f 63 65 73 73 6f 72 44 61 74 61 74 79 70 65  rocessorDatatype
9390: 73 41 28 0d 0a 20 20 20 20 20 4c 50 53 54 52 20  sA(..     LPSTR 
93a0: 20 20 70 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 4c    pName,..     L
93b0: 50 53 54 52 20 20 20 70 50 72 69 6e 74 50 72 6f  PSTR   pPrintPro
93c0: 63 65 73 73 6f 72 4e 61 6d 65 2c 0d 0a 20 20 20  cessorName,..   
93d0: 20 20 44 57 4f 52 44 20 20 20 4c 65 76 65 6c 2c    DWORD   Level,
93e0: 0d 0a 20 20 20 20 20 4c 50 42 59 54 45 20 20 70  ..     LPBYTE  p
93f0: 44 61 74 61 74 79 70 65 73 2c 0d 0a 20 20 20 20  Datatypes,..    
9400: 20 44 57 4f 52 44 20 20 20 63 62 42 75 66 2c 0d   DWORD   cbBuf,.
9410: 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20 70 63  .     LPDWORD pc
9420: 62 4e 65 65 64 65 64 2c 0d 0a 20 20 20 20 20 4c  bNeeded,..     L
9430: 50 44 57 4f 52 44 20 70 63 52 65 74 75 72 6e 65  PDWORD pcReturne
9440: 64 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  d..);..extern(Wi
9450: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
9460: 4f 4c 20 45 6e 75 6d 50 72 69 6e 74 50 72 6f 63  OL EnumPrintProc
9470: 65 73 73 6f 72 44 61 74 61 74 79 70 65 73 57 28  essorDatatypesW(
9480: 0d 0a 20 20 20 20 20 4c 50 57 53 54 52 20 20 20  ..     LPWSTR   
9490: 70 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 4c 50 57  pName,..     LPW
94a0: 53 54 52 20 20 20 70 50 72 69 6e 74 50 72 6f 63  STR   pPrintProc
94b0: 65 73 73 6f 72 4e 61 6d 65 2c 0d 0a 20 20 20 20  essorName,..    
94c0: 20 44 57 4f 52 44 20 20 20 4c 65 76 65 6c 2c 0d   DWORD   Level,.
94d0: 0a 20 20 20 20 20 4c 50 42 59 54 45 20 20 70 44  .     LPBYTE  pD
94e0: 61 74 61 74 79 70 65 73 2c 0d 0a 20 20 20 20 20  atatypes,..     
94f0: 44 57 4f 52 44 20 20 20 63 62 42 75 66 2c 0d 0a  DWORD   cbBuf,..
9500: 20 20 20 20 20 4c 50 44 57 4f 52 44 20 70 63 62       LPDWORD pcb
9510: 4e 65 65 64 65 64 2c 0d 0a 20 20 20 20 20 4c 50  Needed,..     LP
9520: 44 57 4f 52 44 20 70 63 52 65 74 75 72 6e 65 64  DWORD pcReturned
9530: 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ..);..// #ifdef 
9540: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 45  UNICODE..alias E
9550: 6e 75 6d 50 72 69 6e 74 50 72 6f 63 65 73 73 6f  numPrintProcesso
9560: 72 44 61 74 61 74 79 70 65 73 57 20 45 6e 75 6d  rDatatypesW Enum
9570: 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 44 61  PrintProcessorDa
9580: 74 61 74 79 70 65 73 3b 0d 0a 2f 2f 20 23 65 6c  tatypes;..// #el
9590: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
95a0: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
95b0: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
95c0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
95d0: 4c 20 44 65 6c 65 74 65 50 72 69 6e 74 50 72 6f  L DeletePrintPro
95e0: 63 65 73 73 6f 72 41 28 0d 0a 20 20 20 20 20 4c  cessorA(..     L
95f0: 50 53 54 52 20 20 20 70 4e 61 6d 65 2c 0d 0a 20  PSTR   pName,.. 
9600: 20 20 20 20 4c 50 53 54 52 20 20 20 70 45 6e 76      LPSTR   pEnv
9610: 69 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 20 20 20  ironment,..     
9620: 4c 50 53 54 52 20 20 20 70 50 72 69 6e 74 50 72  LPSTR   pPrintPr
9630: 6f 63 65 73 73 6f 72 4e 61 6d 65 0d 0a 29 3b 0d  ocessorName..);.
9640: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
9650: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44 65 6c   export BOOL Del
9660: 65 74 65 50 72 69 6e 74 50 72 6f 63 65 73 73 6f  etePrintProcesso
9670: 72 57 28 0d 0a 20 20 20 20 20 4c 50 57 53 54 52  rW(..     LPWSTR
9680: 20 20 20 70 4e 61 6d 65 2c 0d 0a 20 20 20 20 20     pName,..     
9690: 4c 50 57 53 54 52 20 20 20 70 45 6e 76 69 72 6f  LPWSTR   pEnviro
96a0: 6e 6d 65 6e 74 2c 0d 0a 20 20 20 20 20 4c 50 57  nment,..     LPW
96b0: 53 54 52 20 20 20 70 50 72 69 6e 74 50 72 6f 63  STR   pPrintProc
96c0: 65 73 73 6f 72 4e 61 6d 65 0d 0a 29 3b 0d 0a 2f  essorName..);../
96d0: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
96e0: 0d 0a 61 6c 69 61 73 20 44 65 6c 65 74 65 50 72  ..alias DeletePr
96f0: 69 6e 74 50 72 6f 63 65 73 73 6f 72 57 20 44 65  intProcessorW De
9700: 6c 65 74 65 50 72 69 6e 74 50 72 6f 63 65 73 73  letePrintProcess
9710: 6f 72 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  or;..// #else../
9720: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
9730: 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
9740: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
9750: 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20 53 74   export DWORD St
9760: 61 72 74 44 6f 63 50 72 69 6e 74 65 72 41 28 0d  artDocPrinterA(.
9770: 0a 20 20 20 20 20 48 41 4e 44 4c 45 20 20 68 50  .     HANDLE  hP
9780: 72 69 6e 74 65 72 2c 0d 0a 20 20 20 20 20 44 57  rinter,..     DW
9790: 4f 52 44 20 20 20 4c 65 76 65 6c 2c 0d 0a 20 20  ORD   Level,..  
97a0: 20 20 20 4c 50 42 59 54 45 20 20 70 44 6f 63 49     LPBYTE  pDocI
97b0: 6e 66 6f 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28  nfo..);..extern(
97c0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
97d0: 44 57 4f 52 44 20 53 74 61 72 74 44 6f 63 50 72  DWORD StartDocPr
97e0: 69 6e 74 65 72 57 28 0d 0a 20 20 20 20 20 48 41  interW(..     HA
97f0: 4e 44 4c 45 20 20 68 50 72 69 6e 74 65 72 2c 0d  NDLE  hPrinter,.
9800: 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20 4c 65  .     DWORD   Le
9810: 76 65 6c 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54  vel,..     LPBYT
9820: 45 20 20 70 44 6f 63 49 6e 66 6f 0d 0a 29 3b 0d  E  pDocInfo..);.
9830: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
9840: 44 45 0d 0a 61 6c 69 61 73 20 53 74 61 72 74 44  DE..alias StartD
9850: 6f 63 50 72 69 6e 74 65 72 57 20 53 74 61 72 74  ocPrinterW Start
9860: 44 6f 63 50 72 69 6e 74 65 72 3b 0d 0a 2f 2f 20  DocPrinter;..// 
9870: 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a  #else..// #.....
9880: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e  // #endif // !UN
9890: 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28  ICODE....extern(
98a0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
98b0: 42 4f 4f 4c 20 53 74 61 72 74 50 61 67 65 50 72  BOOL StartPagePr
98c0: 69 6e 74 65 72 28 0d 0a 20 20 20 20 20 48 41 4e  inter(..     HAN
98d0: 44 4c 45 20 20 68 50 72 69 6e 74 65 72 0d 0a 29  DLE  hPrinter..)
98e0: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
98f0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
9900: 20 57 72 69 74 65 50 72 69 6e 74 65 72 28 0d 0a   WritePrinter(..
9910: 20 20 20 20 20 48 41 4e 44 4c 45 20 20 68 50 72       HANDLE  hPr
9920: 69 6e 74 65 72 2c 0d 0a 20 20 20 20 20 4c 50 56  inter,..     LPV
9930: 4f 49 44 20 20 70 42 75 66 2c 0d 0a 20 20 20 20  OID  pBuf,..    
9940: 20 44 57 4f 52 44 20 20 20 63 62 42 75 66 2c 0d   DWORD   cbBuf,.
9950: 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20 70 63  .     LPDWORD pc
9960: 57 72 69 74 74 65 6e 0d 0a 29 3b 0d 0a 0d 0a 65  Written..);....e
9970: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
9980: 78 70 6f 72 74 20 42 4f 4f 4c 20 46 6c 75 73 68  xport BOOL Flush
9990: 50 72 69 6e 74 65 72 28 0d 0a 20 20 20 20 20 48  Printer(..     H
99a0: 41 4e 44 4c 45 20 20 20 68 50 72 69 6e 74 65 72  ANDLE   hPrinter
99b0: 2c 0d 0a 20 20 20 20 20 4c 50 56 4f 49 44 20 20  ,..     LPVOID  
99c0: 20 70 42 75 66 2c 0d 0a 20 20 20 20 20 44 57 4f   pBuf,..     DWO
99d0: 52 44 20 20 20 20 63 62 42 75 66 2c 0d 0a 20 20  RD    cbBuf,..  
99e0: 20 20 20 4c 50 44 57 4f 52 44 20 70 63 57 72 69     LPDWORD pcWri
99f0: 74 74 65 6e 2c 0d 0a 20 20 20 20 20 44 57 4f 52  tten,..     DWOR
9a00: 44 20 20 20 20 63 53 6c 65 65 70 0d 0a 29 3b 0d  D    cSleep..);.
9a10: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
9a20: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45  s) export BOOL E
9a30: 6e 64 50 61 67 65 50 72 69 6e 74 65 72 28 0d 0a  ndPagePrinter(..
9a40: 20 20 20 20 48 41 4e 44 4c 45 20 20 20 68 50 72      HANDLE   hPr
9a50: 69 6e 74 65 72 0d 0a 29 3b 0d 0a 0d 0a 65 78 74  inter..);....ext
9a60: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
9a70: 6f 72 74 20 42 4f 4f 4c 20 41 62 6f 72 74 50 72  ort BOOL AbortPr
9a80: 69 6e 74 65 72 28 0d 0a 20 20 20 20 48 41 4e 44  inter(..    HAND
9a90: 4c 45 20 20 20 68 50 72 69 6e 74 65 72 0d 0a 29  LE   hPrinter..)
9aa0: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
9ab0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
9ac0: 20 52 65 61 64 50 72 69 6e 74 65 72 28 0d 0a 20   ReadPrinter(.. 
9ad0: 20 20 20 20 48 41 4e 44 4c 45 20 20 68 50 72 69      HANDLE  hPri
9ae0: 6e 74 65 72 2c 0d 0a 20 20 20 20 20 4c 50 56 4f  nter,..     LPVO
9af0: 49 44 20 20 70 42 75 66 2c 0d 0a 20 20 20 20 20  ID  pBuf,..     
9b00: 44 57 4f 52 44 20 20 20 63 62 42 75 66 2c 0d 0a  DWORD   cbBuf,..
9b10: 20 20 20 20 20 4c 50 44 57 4f 52 44 20 70 4e 6f       LPDWORD pNo
9b20: 42 79 74 65 73 52 65 61 64 0d 0a 29 3b 0d 0a 0d  BytesRead..);...
9b30: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
9b40: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 64   export BOOL End
9b50: 44 6f 63 50 72 69 6e 74 65 72 28 0d 0a 20 20 20  DocPrinter(..   
9b60: 20 48 41 4e 44 4c 45 20 20 20 68 50 72 69 6e 74   HANDLE   hPrint
9b70: 65 72 0d 0a 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e  er..);....extern
9b80: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
9b90: 20 42 4f 4f 4c 20 41 64 64 4a 6f 62 41 28 0d 0a   BOOL AddJobA(..
9ba0: 20 20 20 20 20 48 41 4e 44 4c 45 20 20 68 50 72       HANDLE  hPr
9bb0: 69 6e 74 65 72 2c 0d 0a 20 20 20 20 20 44 57 4f  inter,..     DWO
9bc0: 52 44 20 20 20 4c 65 76 65 6c 2c 0d 0a 20 20 20  RD   Level,..   
9bd0: 20 20 4c 50 42 59 54 45 20 20 70 44 61 74 61 2c    LPBYTE  pData,
9be0: 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20 63  ..     DWORD   c
9bf0: 62 42 75 66 2c 0d 0a 20 20 20 20 20 4c 50 44 57  bBuf,..     LPDW
9c00: 4f 52 44 20 70 63 62 4e 65 65 64 65 64 0d 0a 29  ORD pcbNeeded..)
9c10: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
9c20: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 41  s) export BOOL A
9c30: 64 64 4a 6f 62 57 28 0d 0a 20 20 20 20 20 48 41  ddJobW(..     HA
9c40: 4e 44 4c 45 20 20 68 50 72 69 6e 74 65 72 2c 0d  NDLE  hPrinter,.
9c50: 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20 4c 65  .     DWORD   Le
9c60: 76 65 6c 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54  vel,..     LPBYT
9c70: 45 20 20 70 44 61 74 61 2c 0d 0a 20 20 20 20 20  E  pData,..     
9c80: 44 57 4f 52 44 20 20 20 63 62 42 75 66 2c 0d 0a  DWORD   cbBuf,..
9c90: 20 20 20 20 20 4c 50 44 57 4f 52 44 20 70 63 62       LPDWORD pcb
9ca0: 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a 2f 2f 20 23  Needed..);..// #
9cb0: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
9cc0: 6c 69 61 73 20 41 64 64 4a 6f 62 57 20 41 64 64  lias AddJobW Add
9cd0: 4a 6f 62 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  Job;..// #else..
9ce0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
9cf0: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
9d00: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
9d10: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 53 63  ) export BOOL Sc
9d20: 68 65 64 75 6c 65 4a 6f 62 28 0d 0a 20 20 20 20  heduleJob(..    
9d30: 20 48 41 4e 44 4c 45 20 20 68 50 72 69 6e 74 65   HANDLE  hPrinte
9d40: 72 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20  r,..     DWORD  
9d50: 20 4a 6f 62 49 64 0d 0a 29 3b 0d 0a 0d 0a 65 78   JobId..);....ex
9d60: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
9d70: 70 6f 72 74 20 42 4f 4f 4c 20 50 72 69 6e 74 65  port BOOL Printe
9d80: 72 50 72 6f 70 65 72 74 69 65 73 28 0d 0a 20 20  rProperties(..  
9d90: 20 20 20 48 57 4e 44 20 20 20 20 68 57 6e 64 2c     HWND    hWnd,
9da0: 0d 0a 20 20 20 20 20 48 41 4e 44 4c 45 20 20 68  ..     HANDLE  h
9db0: 50 72 69 6e 74 65 72 0d 0a 29 3b 0d 0a 0d 0a 65  Printer..);....e
9dc0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
9dd0: 78 70 6f 72 74 20 4c 4f 4e 47 20 44 6f 63 75 6d  xport LONG Docum
9de0: 65 6e 74 50 72 6f 70 65 72 74 69 65 73 41 28 0d  entPropertiesA(.
9df0: 0a 20 20 20 20 20 48 57 4e 44 20 20 20 20 20 20  .     HWND      
9e00: 68 57 6e 64 2c 0d 0a 20 20 20 20 20 48 41 4e 44  hWnd,..     HAND
9e10: 4c 45 20 20 20 20 68 50 72 69 6e 74 65 72 2c 0d  LE    hPrinter,.
9e20: 0a 20 20 20 20 20 4c 50 53 54 52 20 20 20 70 44  .     LPSTR   pD
9e30: 65 76 69 63 65 4e 61 6d 65 2c 0d 0a 20 20 20 20  eviceName,..    
9e40: 20 50 44 45 56 4d 4f 44 45 41 20 70 44 65 76 4d   PDEVMODEA pDevM
9e50: 6f 64 65 4f 75 74 70 75 74 2c 0d 0a 20 20 20 20  odeOutput,..    
9e60: 20 50 44 45 56 4d 4f 44 45 41 20 70 44 65 76 4d   PDEVMODEA pDevM
9e70: 6f 64 65 49 6e 70 75 74 2c 0d 0a 20 20 20 20 20  odeInput,..     
9e80: 44 57 4f 52 44 20 20 20 20 20 66 4d 6f 64 65 0d  DWORD     fMode.
9e90: 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  .);..extern(Wind
9ea0: 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 4f 4e 47  ows) export LONG
9eb0: 20 44 6f 63 75 6d 65 6e 74 50 72 6f 70 65 72 74   DocumentPropert
9ec0: 69 65 73 57 28 0d 0a 20 20 20 20 20 48 57 4e 44  iesW(..     HWND
9ed0: 20 20 20 20 20 20 68 57 6e 64 2c 0d 0a 20 20 20        hWnd,..   
9ee0: 20 20 48 41 4e 44 4c 45 20 20 20 20 68 50 72 69    HANDLE    hPri
9ef0: 6e 74 65 72 2c 0d 0a 20 20 20 20 20 4c 50 57 53  nter,..     LPWS
9f00: 54 52 20 20 20 70 44 65 76 69 63 65 4e 61 6d 65  TR   pDeviceName
9f10: 2c 0d 0a 20 20 20 20 20 50 44 45 56 4d 4f 44 45  ,..     PDEVMODE
9f20: 57 20 70 44 65 76 4d 6f 64 65 4f 75 74 70 75 74  W pDevModeOutput
9f30: 2c 0d 0a 20 20 20 20 20 50 44 45 56 4d 4f 44 45  ,..     PDEVMODE
9f40: 57 20 70 44 65 76 4d 6f 64 65 49 6e 70 75 74 2c  W pDevModeInput,
9f50: 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20 20  ..     DWORD    
9f60: 20 66 4d 6f 64 65 0d 0a 29 3b 0d 0a 2f 2f 20 23   fMode..);..// #
9f70: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61  ifdef UNICODE..a
9f80: 6c 69 61 73 20 44 6f 63 75 6d 65 6e 74 50 72 6f  lias DocumentPro
9f90: 70 65 72 74 69 65 73 57 20 44 6f 63 75 6d 65 6e  pertiesW Documen
9fa0: 74 50 72 6f 70 65 72 74 69 65 73 3b 0d 0a 2f 2f  tProperties;..//
9fb0: 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
9fc0: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
9fd0: 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
9fe0: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
9ff0: 20 4c 4f 4e 47 20 41 64 76 61 6e 63 65 64 44 6f   LONG AdvancedDo
a000: 63 75 6d 65 6e 74 50 72 6f 70 65 72 74 69 65 73  cumentProperties
a010: 41 28 0d 0a 20 20 20 20 20 48 57 4e 44 20 20 20  A(..     HWND   
a020: 20 68 57 6e 64 2c 0d 0a 20 20 20 20 20 48 41 4e   hWnd,..     HAN
a030: 44 4c 45 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a  DLE  hPrinter,..
a040: 20 20 20 20 20 4c 50 53 54 52 20 20 20 70 44 65       LPSTR   pDe
a050: 76 69 63 65 4e 61 6d 65 2c 0d 0a 20 20 20 20 20  viceName,..     
a060: 50 44 45 56 4d 4f 44 45 41 20 70 44 65 76 4d 6f  PDEVMODEA pDevMo
a070: 64 65 4f 75 74 70 75 74 2c 0d 0a 20 20 20 20 20  deOutput,..     
a080: 50 44 45 56 4d 4f 44 45 41 20 70 44 65 76 4d 6f  PDEVMODEA pDevMo
a090: 64 65 49 6e 70 75 74 0d 0a 29 3b 0d 0a 65 78 74  deInput..);..ext
a0a0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
a0b0: 6f 72 74 20 4c 4f 4e 47 20 41 64 76 61 6e 63 65  ort LONG Advance
a0c0: 64 44 6f 63 75 6d 65 6e 74 50 72 6f 70 65 72 74  dDocumentPropert
a0d0: 69 65 73 57 28 0d 0a 20 20 20 20 20 48 57 4e 44  iesW(..     HWND
a0e0: 20 20 20 20 68 57 6e 64 2c 0d 0a 20 20 20 20 20      hWnd,..     
a0f0: 48 41 4e 44 4c 45 20 20 68 50 72 69 6e 74 65 72  HANDLE  hPrinter
a100: 2c 0d 0a 20 20 20 20 20 4c 50 57 53 54 52 20 20  ,..     LPWSTR  
a110: 20 70 44 65 76 69 63 65 4e 61 6d 65 2c 0d 0a 20   pDeviceName,.. 
a120: 20 20 20 20 50 44 45 56 4d 4f 44 45 57 20 70 44      PDEVMODEW pD
a130: 65 76 4d 6f 64 65 4f 75 74 70 75 74 2c 0d 0a 20  evModeOutput,.. 
a140: 20 20 20 20 50 44 45 56 4d 4f 44 45 57 20 70 44      PDEVMODEW pD
a150: 65 76 4d 6f 64 65 49 6e 70 75 74 0d 0a 29 3b 0d  evModeInput..);.
a160: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
a170: 44 45 0d 0a 61 6c 69 61 73 20 41 64 76 61 6e 63  DE..alias Advanc
a180: 65 64 44 6f 63 75 6d 65 6e 74 50 72 6f 70 65 72  edDocumentProper
a190: 74 69 65 73 57 20 41 64 76 61 6e 63 65 64 44 6f  tiesW AdvancedDo
a1a0: 63 75 6d 65 6e 74 50 72 6f 70 65 72 74 69 65 73  cumentProperties
a1b0: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
a1c0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  #.....// #endif 
a1d0: 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65  // !UNICODE....e
a1e0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
a1f0: 78 70 6f 72 74 20 44 57 4f 52 44 20 47 65 74 50  xport DWORD GetP
a200: 72 69 6e 74 65 72 44 61 74 61 41 28 0d 0a 20 20  rinterDataA(..  
a210: 20 20 20 48 41 4e 44 4c 45 20 20 20 68 50 72 69     HANDLE   hPri
a220: 6e 74 65 72 2c 0d 0a 20 20 20 20 20 4c 50 53 54  nter,..     LPST
a230: 52 20 20 70 56 61 6c 75 65 4e 61 6d 65 2c 0d 0a  R  pValueName,..
a240: 20 20 20 20 20 4c 50 44 57 4f 52 44 20 20 70 54       LPDWORD  pT
a250: 79 70 65 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54  ype,..     LPBYT
a260: 45 20 20 20 70 44 61 74 61 2c 0d 0a 20 20 20 20  E   pData,..    
a270: 20 44 57 4f 52 44 20 20 20 20 6e 53 69 7a 65 2c   DWORD    nSize,
a280: 0d 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20 20  ..     LPDWORD  
a290: 70 63 62 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a 65  pcbNeeded..);..e
a2a0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
a2b0: 78 70 6f 72 74 20 44 57 4f 52 44 20 47 65 74 50  xport DWORD GetP
a2c0: 72 69 6e 74 65 72 44 61 74 61 57 28 0d 0a 20 20  rinterDataW(..  
a2d0: 20 20 20 48 41 4e 44 4c 45 20 20 20 68 50 72 69     HANDLE   hPri
a2e0: 6e 74 65 72 2c 0d 0a 20 20 20 20 20 4c 50 57 53  nter,..     LPWS
a2f0: 54 52 20 20 70 56 61 6c 75 65 4e 61 6d 65 2c 0d  TR  pValueName,.
a300: 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20 20 70  .     LPDWORD  p
a310: 54 79 70 65 2c 0d 0a 20 20 20 20 20 4c 50 42 59  Type,..     LPBY
a320: 54 45 20 20 20 70 44 61 74 61 2c 0d 0a 20 20 20  TE   pData,..   
a330: 20 20 44 57 4f 52 44 20 20 20 20 6e 53 69 7a 65    DWORD    nSize
a340: 2c 0d 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20  ,..     LPDWORD 
a350: 20 70 63 62 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a   pcbNeeded..);..
a360: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
a370: 45 0d 0a 61 6c 69 61 73 20 47 65 74 50 72 69 6e  E..alias GetPrin
a380: 74 65 72 44 61 74 61 57 20 47 65 74 50 72 69 6e  terDataW GetPrin
a390: 74 65 72 44 61 74 61 3b 0d 0a 2f 2f 20 23 65 6c  terData;..// #el
a3a0: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
a3b0: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
a3c0: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
a3d0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f  dows) export DWO
a3e0: 52 44 20 47 65 74 50 72 69 6e 74 65 72 44 61 74  RD GetPrinterDat
a3f0: 61 45 78 41 28 0d 0a 20 20 20 20 20 48 41 4e 44  aExA(..     HAND
a400: 4c 45 20 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a  LE   hPrinter,..
a410: 20 20 20 20 20 4c 50 43 53 54 52 20 70 4b 65 79       LPCSTR pKey
a420: 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 4c 50 43 53  Name,..     LPCS
a430: 54 52 20 70 56 61 6c 75 65 4e 61 6d 65 2c 0d 0a  TR pValueName,..
a440: 20 20 20 20 20 4c 50 44 57 4f 52 44 20 20 70 54       LPDWORD  pT
a450: 79 70 65 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54  ype,..     LPBYT
a460: 45 20 20 20 70 44 61 74 61 2c 0d 0a 20 20 20 20  E   pData,..    
a470: 20 44 57 4f 52 44 20 20 20 20 6e 53 69 7a 65 2c   DWORD    nSize,
a480: 0d 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20 20  ..     LPDWORD  
a490: 70 63 62 4e 65 65 64 65 64 0d 0a 29 3b 0d 0a 65  pcbNeeded..);..e
a4a0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
a4b0: 78 70 6f 72 74 20 44 57 4f 52 44 20 47 65 74 50  xport DWORD GetP
a4c0: 72 69 6e 74 65 72 44 61 74 61 45 78 57 28 0d 0a  rinterDataExW(..
a4d0: 20 20 20 20 20 48 41 4e 44 4c 45 20 20 20 68 50       HANDLE   hP
a4e0: 72 69 6e 74 65 72 2c 0d 0a 20 20 20 20 20 4c 50  rinter,..     LP
a4f0: 43 57 53 54 52 20 70 4b 65 79 4e 61 6d 65 2c 0d  CWSTR pKeyName,.
a500: 0a 20 20 20 20 20 4c 50 43 57 53 54 52 20 70 56  .     LPCWSTR pV
a510: 61 6c 75 65 4e 61 6d 65 2c 0d 0a 20 20 20 20 20  alueName,..     
a520: 4c 50 44 57 4f 52 44 20 20 70 54 79 70 65 2c 0d  LPDWORD  pType,.
a530: 0a 20 20 20 20 20 4c 50 42 59 54 45 20 20 20 70  .     LPBYTE   p
a540: 44 61 74 61 2c 0d 0a 20 20 20 20 20 44 57 4f 52  Data,..     DWOR
a550: 44 20 20 20 20 6e 53 69 7a 65 2c 0d 0a 20 20 20  D    nSize,..   
a560: 20 20 4c 50 44 57 4f 52 44 20 20 70 63 62 4e 65    LPDWORD  pcbNe
a570: 65 64 65 64 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66  eded..);..// #if
a580: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
a590: 61 73 20 47 65 74 50 72 69 6e 74 65 72 44 61 74  as GetPrinterDat
a5a0: 61 45 78 57 20 47 65 74 50 72 69 6e 74 65 72 44  aExW GetPrinterD
a5b0: 61 74 61 45 78 3b 0d 0a 2f 2f 20 23 65 6c 73 65  ataEx;..// #else
a5c0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65  ..// #.....// #e
a5d0: 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45  ndif // !UNICODE
a5e0: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
a5f0: 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44  ws) export DWORD
a600: 20 45 6e 75 6d 50 72 69 6e 74 65 72 44 61 74 61   EnumPrinterData
a610: 41 28 0d 0a 20 20 20 20 20 48 41 4e 44 4c 45 20  A(..     HANDLE 
a620: 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20 20    hPrinter,..   
a630: 20 20 44 57 4f 52 44 20 20 20 20 64 77 49 6e 64    DWORD    dwInd
a640: 65 78 2c 0d 0a 20 20 20 20 20 4c 50 53 54 52 20  ex,..     LPSTR 
a650: 20 70 56 61 6c 75 65 4e 61 6d 65 2c 0d 0a 20 20   pValueName,..  
a660: 20 20 20 44 57 4f 52 44 20 20 20 20 63 62 56 61     DWORD    cbVa
a670: 6c 75 65 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 4c  lueName,..     L
a680: 50 44 57 4f 52 44 20 20 70 63 62 56 61 6c 75 65  PDWORD  pcbValue
a690: 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 4c 50 44 57  Name,..     LPDW
a6a0: 4f 52 44 20 20 70 54 79 70 65 2c 0d 0a 20 20 20  ORD  pType,..   
a6b0: 20 20 4c 50 42 59 54 45 20 20 20 70 44 61 74 61    LPBYTE   pData
a6c0: 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20  ,..     DWORD   
a6d0: 20 63 62 44 61 74 61 2c 0d 0a 20 20 20 20 20 4c   cbData,..     L
a6e0: 50 44 57 4f 52 44 20 20 70 63 62 44 61 74 61 0d  PDWORD  pcbData.
a6f0: 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  .);..extern(Wind
a700: 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52  ows) export DWOR
a710: 44 20 45 6e 75 6d 50 72 69 6e 74 65 72 44 61 74  D EnumPrinterDat
a720: 61 57 28 0d 0a 20 20 20 20 20 48 41 4e 44 4c 45  aW(..     HANDLE
a730: 20 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20     hPrinter,..  
a740: 20 20 20 44 57 4f 52 44 20 20 20 20 64 77 49 6e     DWORD    dwIn
a750: 64 65 78 2c 0d 0a 20 20 20 20 20 4c 50 57 53 54  dex,..     LPWST
a760: 52 20 20 70 56 61 6c 75 65 4e 61 6d 65 2c 0d 0a  R  pValueName,..
a770: 20 20 20 20 20 44 57 4f 52 44 20 20 20 20 63 62       DWORD    cb
a780: 56 61 6c 75 65 4e 61 6d 65 2c 0d 0a 20 20 20 20  ValueName,..    
a790: 20 4c 50 44 57 4f 52 44 20 20 70 63 62 56 61 6c   LPDWORD  pcbVal
a7a0: 75 65 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 4c 50  ueName,..     LP
a7b0: 44 57 4f 52 44 20 20 70 54 79 70 65 2c 0d 0a 20  DWORD  pType,.. 
a7c0: 20 20 20 20 4c 50 42 59 54 45 20 20 20 70 44 61      LPBYTE   pDa
a7d0: 74 61 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20  ta,..     DWORD 
a7e0: 20 20 20 63 62 44 61 74 61 2c 0d 0a 20 20 20 20     cbData,..    
a7f0: 20 4c 50 44 57 4f 52 44 20 20 70 63 62 44 61 74   LPDWORD  pcbDat
a800: 61 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  a..);..// #ifdef
a810: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
a820: 45 6e 75 6d 50 72 69 6e 74 65 72 44 61 74 61 57  EnumPrinterDataW
a830: 20 45 6e 75 6d 50 72 69 6e 74 65 72 44 61 74 61   EnumPrinterData
a840: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
a850: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  #.....// #endif 
a860: 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65  // !UNICODE....e
a870: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
a880: 78 70 6f 72 74 20 44 57 4f 52 44 20 45 6e 75 6d  xport DWORD Enum
a890: 50 72 69 6e 74 65 72 44 61 74 61 45 78 41 28 0d  PrinterDataExA(.
a8a0: 0a 20 20 20 20 20 48 41 4e 44 4c 45 20 20 20 68  .     HANDLE   h
a8b0: 50 72 69 6e 74 65 72 2c 0d 0a 20 20 20 20 20 4c  Printer,..     L
a8c0: 50 43 53 54 52 20 70 4b 65 79 4e 61 6d 65 2c 0d  PCSTR pKeyName,.
a8d0: 0a 20 20 20 20 20 4c 50 42 59 54 45 20 20 20 70  .     LPBYTE   p
a8e0: 45 6e 75 6d 56 61 6c 75 65 73 2c 0d 0a 20 20 20  EnumValues,..   
a8f0: 20 20 44 57 4f 52 44 20 20 20 20 63 62 45 6e 75    DWORD    cbEnu
a900: 6d 56 61 6c 75 65 73 2c 0d 0a 20 20 20 20 20 4c  mValues,..     L
a910: 50 44 57 4f 52 44 20 20 70 63 62 45 6e 75 6d 56  PDWORD  pcbEnumV
a920: 61 6c 75 65 73 2c 0d 0a 20 20 20 20 20 4c 50 44  alues,..     LPD
a930: 57 4f 52 44 20 20 70 6e 45 6e 75 6d 56 61 6c 75  WORD  pnEnumValu
a940: 65 73 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57  es..);..extern(W
a950: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44  indows) export D
a960: 57 4f 52 44 20 45 6e 75 6d 50 72 69 6e 74 65 72  WORD EnumPrinter
a970: 44 61 74 61 45 78 57 28 0d 0a 20 20 20 20 20 48  DataExW(..     H
a980: 41 4e 44 4c 45 20 20 20 68 50 72 69 6e 74 65 72  ANDLE   hPrinter
a990: 2c 0d 0a 20 20 20 20 20 4c 50 43 57 53 54 52 20  ,..     LPCWSTR 
a9a0: 70 4b 65 79 4e 61 6d 65 2c 0d 0a 20 20 20 20 20  pKeyName,..     
a9b0: 4c 50 42 59 54 45 20 20 20 70 45 6e 75 6d 56 61  LPBYTE   pEnumVa
a9c0: 6c 75 65 73 2c 0d 0a 20 20 20 20 20 44 57 4f 52  lues,..     DWOR
a9d0: 44 20 20 20 20 63 62 45 6e 75 6d 56 61 6c 75 65  D    cbEnumValue
a9e0: 73 2c 0d 0a 20 20 20 20 20 4c 50 44 57 4f 52 44  s,..     LPDWORD
a9f0: 20 20 70 63 62 45 6e 75 6d 56 61 6c 75 65 73 2c    pcbEnumValues,
aa00: 0d 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20 20  ..     LPDWORD  
aa10: 70 6e 45 6e 75 6d 56 61 6c 75 65 73 0d 0a 29 3b  pnEnumValues..);
aa20: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
aa30: 4f 44 45 0d 0a 61 6c 69 61 73 20 45 6e 75 6d 50  ODE..alias EnumP
aa40: 72 69 6e 74 65 72 44 61 74 61 45 78 57 20 45 6e  rinterDataExW En
aa50: 75 6d 50 72 69 6e 74 65 72 44 61 74 61 45 78 3b  umPrinterDataEx;
aa60: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
aa70: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
aa80: 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78  / !UNICODE....ex
aa90: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
aaa0: 70 6f 72 74 20 44 57 4f 52 44 20 45 6e 75 6d 50  port DWORD EnumP
aab0: 72 69 6e 74 65 72 4b 65 79 41 28 0d 0a 20 20 20  rinterKeyA(..   
aac0: 20 20 48 41 4e 44 4c 45 20 20 20 68 50 72 69 6e    HANDLE   hPrin
aad0: 74 65 72 2c 0d 0a 20 20 20 20 20 4c 50 43 53 54  ter,..     LPCST
aae0: 52 20 70 4b 65 79 4e 61 6d 65 2c 0d 0a 20 20 20  R pKeyName,..   
aaf0: 20 20 4c 50 53 54 52 20 20 70 53 75 62 6b 65 79    LPSTR  pSubkey
ab00: 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20  ,..     DWORD   
ab10: 20 63 62 53 75 62 6b 65 79 2c 0d 0a 20 20 20 20   cbSubkey,..    
ab20: 20 4c 50 44 57 4f 52 44 20 20 70 63 62 53 75 62   LPDWORD  pcbSub
ab30: 6b 65 79 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28  key..);..extern(
ab40: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
ab50: 44 57 4f 52 44 20 45 6e 75 6d 50 72 69 6e 74 65  DWORD EnumPrinte
ab60: 72 4b 65 79 57 28 0d 0a 20 20 20 20 20 48 41 4e  rKeyW(..     HAN
ab70: 44 4c 45 20 20 20 68 50 72 69 6e 74 65 72 2c 0d  DLE   hPrinter,.
ab80: 0a 20 20 20 20 20 4c 50 43 57 53 54 52 20 70 4b  .     LPCWSTR pK
ab90: 65 79 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 4c 50  eyName,..     LP
aba0: 57 53 54 52 20 20 70 53 75 62 6b 65 79 2c 0d 0a  WSTR  pSubkey,..
abb0: 20 20 20 20 20 44 57 4f 52 44 20 20 20 20 63 62       DWORD    cb
abc0: 53 75 62 6b 65 79 2c 0d 0a 20 20 20 20 20 4c 50  Subkey,..     LP
abd0: 44 57 4f 52 44 20 20 70 63 62 53 75 62 6b 65 79  DWORD  pcbSubkey
abe0: 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ..);..// #ifdef 
abf0: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 45  UNICODE..alias E
ac00: 6e 75 6d 50 72 69 6e 74 65 72 4b 65 79 57 20 45  numPrinterKeyW E
ac10: 6e 75 6d 50 72 69 6e 74 65 72 4b 65 79 3b 0d 0a  numPrinterKey;..
ac20: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
ac30: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
ac40: 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
ac50: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
ac60: 72 74 20 44 57 4f 52 44 20 53 65 74 50 72 69 6e  rt DWORD SetPrin
ac70: 74 65 72 44 61 74 61 41 28 0d 0a 20 20 20 20 20  terDataA(..     
ac80: 48 41 4e 44 4c 45 20 20 68 50 72 69 6e 74 65 72  HANDLE  hPrinter
ac90: 2c 0d 0a 20 20 20 20 20 4c 50 53 54 52 20 70 56  ,..     LPSTR pV
aca0: 61 6c 75 65 4e 61 6d 65 2c 0d 0a 20 20 20 20 20  alueName,..     
acb0: 44 57 4f 52 44 20 20 20 54 79 70 65 2c 0d 0a 20  DWORD   Type,.. 
acc0: 20 20 20 20 4c 50 42 59 54 45 20 20 70 44 61 74      LPBYTE  pDat
acd0: 61 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20  a,..     DWORD  
ace0: 20 63 62 44 61 74 61 0d 0a 29 3b 0d 0a 65 78 74   cbData..);..ext
acf0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
ad00: 6f 72 74 20 44 57 4f 52 44 20 53 65 74 50 72 69  ort DWORD SetPri
ad10: 6e 74 65 72 44 61 74 61 57 28 0d 0a 20 20 20 20  nterDataW(..    
ad20: 20 48 41 4e 44 4c 45 20 20 68 50 72 69 6e 74 65   HANDLE  hPrinte
ad30: 72 2c 0d 0a 20 20 20 20 20 4c 50 57 53 54 52 20  r,..     LPWSTR 
ad40: 70 56 61 6c 75 65 4e 61 6d 65 2c 0d 0a 20 20 20  pValueName,..   
ad50: 20 20 44 57 4f 52 44 20 20 20 54 79 70 65 2c 0d    DWORD   Type,.
ad60: 0a 20 20 20 20 20 4c 50 42 59 54 45 20 20 70 44  .     LPBYTE  pD
ad70: 61 74 61 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44  ata,..     DWORD
ad80: 20 20 20 63 62 44 61 74 61 0d 0a 29 3b 0d 0a 2f     cbData..);../
ad90: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
ada0: 0d 0a 61 6c 69 61 73 20 53 65 74 50 72 69 6e 74  ..alias SetPrint
adb0: 65 72 44 61 74 61 57 20 53 65 74 50 72 69 6e 74  erDataW SetPrint
adc0: 65 72 44 61 74 61 3b 0d 0a 2f 2f 20 23 65 6c 73  erData;..// #els
add0: 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
ade0: 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
adf0: 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  E....extern(Wind
ae00: 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52  ows) export DWOR
ae10: 44 20 53 65 74 50 72 69 6e 74 65 72 44 61 74 61  D SetPrinterData
ae20: 45 78 41 28 0d 0a 20 20 20 20 20 48 41 4e 44 4c  ExA(..     HANDL
ae30: 45 20 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20  E   hPrinter,.. 
ae40: 20 20 20 20 4c 50 43 53 54 52 20 70 4b 65 79 4e      LPCSTR pKeyN
ae50: 61 6d 65 2c 0d 0a 20 20 20 20 20 4c 50 43 53 54  ame,..     LPCST
ae60: 52 20 70 56 61 6c 75 65 4e 61 6d 65 2c 0d 0a 20  R pValueName,.. 
ae70: 20 20 20 20 44 57 4f 52 44 20 20 20 20 54 79 70      DWORD    Typ
ae80: 65 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54 45 20  e,..     LPBYTE 
ae90: 20 20 70 44 61 74 61 2c 0d 0a 20 20 20 20 20 44    pData,..     D
aea0: 57 4f 52 44 20 20 20 20 63 62 44 61 74 61 0d 0a  WORD    cbData..
aeb0: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
aec0: 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44  ws) export DWORD
aed0: 20 53 65 74 50 72 69 6e 74 65 72 44 61 74 61 45   SetPrinterDataE
aee0: 78 57 28 0d 0a 20 20 20 20 20 48 41 4e 44 4c 45  xW(..     HANDLE
aef0: 20 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20     hPrinter,..  
af00: 20 20 20 4c 50 43 57 53 54 52 20 70 4b 65 79 4e     LPCWSTR pKeyN
af10: 61 6d 65 2c 0d 0a 20 20 20 20 20 4c 50 43 57 53  ame,..     LPCWS
af20: 54 52 20 70 56 61 6c 75 65 4e 61 6d 65 2c 0d 0a  TR pValueName,..
af30: 20 20 20 20 20 44 57 4f 52 44 20 20 20 20 54 79       DWORD    Ty
af40: 70 65 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54 45  pe,..     LPBYTE
af50: 20 20 20 70 44 61 74 61 2c 0d 0a 20 20 20 20 20     pData,..     
af60: 44 57 4f 52 44 20 20 20 20 63 62 44 61 74 61 0d  DWORD    cbData.
af70: 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  .);..// #ifdef U
af80: 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 53 65  NICODE..alias Se
af90: 74 50 72 69 6e 74 65 72 44 61 74 61 45 78 57 20  tPrinterDataExW 
afa0: 53 65 74 50 72 69 6e 74 65 72 44 61 74 61 45 78  SetPrinterDataEx
afb0: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
afc0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  #.....// #endif 
afd0: 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65  // !UNICODE....e
afe0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
aff0: 78 70 6f 72 74 20 44 57 4f 52 44 20 44 65 6c 65  xport DWORD Dele
b000: 74 65 50 72 69 6e 74 65 72 44 61 74 61 41 28 0d  tePrinterDataA(.
b010: 0a 20 20 20 20 20 48 41 4e 44 4c 45 20 20 68 50  .     HANDLE  hP
b020: 72 69 6e 74 65 72 2c 0d 0a 20 20 20 20 20 4c 50  rinter,..     LP
b030: 53 54 52 20 70 56 61 6c 75 65 4e 61 6d 65 0d 0a  STR pValueName..
b040: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
b050: 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44  ws) export DWORD
b060: 20 44 65 6c 65 74 65 50 72 69 6e 74 65 72 44 61   DeletePrinterDa
b070: 74 61 57 28 0d 0a 20 20 20 20 20 48 41 4e 44 4c  taW(..     HANDL
b080: 45 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20  E  hPrinter,..  
b090: 20 20 20 4c 50 57 53 54 52 20 70 56 61 6c 75 65     LPWSTR pValue
b0a0: 4e 61 6d 65 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66  Name..);..// #if
b0b0: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
b0c0: 61 73 20 44 65 6c 65 74 65 50 72 69 6e 74 65 72  as DeletePrinter
b0d0: 44 61 74 61 57 20 44 65 6c 65 74 65 50 72 69 6e  DataW DeletePrin
b0e0: 74 65 72 44 61 74 61 3b 0d 0a 2f 2f 20 23 65 6c  terData;..// #el
b0f0: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
b100: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
b110: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
b120: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f  dows) export DWO
b130: 52 44 20 44 65 6c 65 74 65 50 72 69 6e 74 65 72  RD DeletePrinter
b140: 44 61 74 61 45 78 41 28 0d 0a 20 20 20 20 20 48  DataExA(..     H
b150: 41 4e 44 4c 45 20 20 20 68 50 72 69 6e 74 65 72  ANDLE   hPrinter
b160: 2c 0d 0a 20 20 20 20 20 4c 50 43 53 54 52 20 70  ,..     LPCSTR p
b170: 4b 65 79 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 4c  KeyName,..     L
b180: 50 43 53 54 52 20 70 56 61 6c 75 65 4e 61 6d 65  PCSTR pValueName
b190: 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ..);..extern(Win
b1a0: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f  dows) export DWO
b1b0: 52 44 20 44 65 6c 65 74 65 50 72 69 6e 74 65 72  RD DeletePrinter
b1c0: 44 61 74 61 45 78 57 28 0d 0a 20 20 20 20 20 48  DataExW(..     H
b1d0: 41 4e 44 4c 45 20 20 20 68 50 72 69 6e 74 65 72  ANDLE   hPrinter
b1e0: 2c 0d 0a 20 20 20 20 20 4c 50 43 57 53 54 52 20  ,..     LPCWSTR 
b1f0: 70 4b 65 79 4e 61 6d 65 2c 0d 0a 20 20 20 20 20  pKeyName,..     
b200: 4c 50 43 57 53 54 52 20 70 56 61 6c 75 65 4e 61  LPCWSTR pValueNa
b210: 6d 65 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  me..);..// #ifde
b220: 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
b230: 20 44 65 6c 65 74 65 50 72 69 6e 74 65 72 44 61   DeletePrinterDa
b240: 74 61 45 78 57 20 44 65 6c 65 74 65 50 72 69 6e  taExW DeletePrin
b250: 74 65 72 44 61 74 61 45 78 3b 0d 0a 2f 2f 20 23  terDataEx;..// #
b260: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
b270: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
b280: 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
b290: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44  indows) export D
b2a0: 57 4f 52 44 20 44 65 6c 65 74 65 50 72 69 6e 74  WORD DeletePrint
b2b0: 65 72 4b 65 79 41 28 0d 0a 20 20 20 20 20 48 41  erKeyA(..     HA
b2c0: 4e 44 4c 45 20 20 20 68 50 72 69 6e 74 65 72 2c  NDLE   hPrinter,
b2d0: 0d 0a 20 20 20 20 20 4c 50 43 53 54 52 20 70 4b  ..     LPCSTR pK
b2e0: 65 79 4e 61 6d 65 0d 0a 29 3b 0d 0a 65 78 74 65  eyName..);..exte
b2f0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
b300: 72 74 20 44 57 4f 52 44 20 44 65 6c 65 74 65 50  rt DWORD DeleteP
b310: 72 69 6e 74 65 72 4b 65 79 57 28 0d 0a 20 20 20  rinterKeyW(..   
b320: 20 20 48 41 4e 44 4c 45 20 20 20 68 50 72 69 6e    HANDLE   hPrin
b330: 74 65 72 2c 0d 0a 20 20 20 20 20 4c 50 43 57 53  ter,..     LPCWS
b340: 54 52 20 70 4b 65 79 4e 61 6d 65 0d 0a 29 3b 0d  TR pKeyName..);.
b350: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
b360: 44 45 0d 0a 61 6c 69 61 73 20 44 65 6c 65 74 65  DE..alias Delete
b370: 50 72 69 6e 74 65 72 4b 65 79 57 20 44 65 6c 65  PrinterKeyW Dele
b380: 74 65 50 72 69 6e 74 65 72 4b 65 79 3b 0d 0a 2f  tePrinterKey;../
b390: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
b3a0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
b3b0: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20  UNICODE....enum 
b3c0: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
b3d0: 5f 4e 4f 54 49 46 59 5f 54 59 50 45 20 3d 20 30  _NOTIFY_TYPE = 0
b3e0: 78 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x00 }..enum : ui
b3f0: 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f  nt { JOB_NOTIFY_
b400: 54 59 50 45 20 3d 20 30 78 30 31 20 7d 0d 0a 0d  TYPE = 0x01 }...
b410: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
b420: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49  RINTER_NOTIFY_FI
b430: 45 4c 44 5f 53 45 52 56 45 52 5f 4e 41 4d 45 20  ELD_SERVER_NAME 
b440: 3d 20 30 78 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x00 }..enum :
b450: 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f   uint { PRINTER_
b460: 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 50 52 49  NOTIFY_FIELD_PRI
b470: 4e 54 45 52 5f 4e 41 4d 45 20 3d 20 30 78 30 31  NTER_NAME = 0x01
b480: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
b490: 7b 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59  { PRINTER_NOTIFY
b4a0: 5f 46 49 45 4c 44 5f 53 48 41 52 45 5f 4e 41 4d  _FIELD_SHARE_NAM
b4b0: 45 20 3d 20 30 78 30 32 20 7d 0d 0a 65 6e 75 6d  E = 0x02 }..enum
b4c0: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
b4d0: 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 50  R_NOTIFY_FIELD_P
b4e0: 4f 52 54 5f 4e 41 4d 45 20 3d 20 30 78 30 33 20  ORT_NAME = 0x03 
b4f0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
b500: 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f   PRINTER_NOTIFY_
b510: 46 49 45 4c 44 5f 44 52 49 56 45 52 5f 4e 41 4d  FIELD_DRIVER_NAM
b520: 45 20 3d 20 30 78 30 34 20 7d 0d 0a 65 6e 75 6d  E = 0x04 }..enum
b530: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
b540: 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 43  R_NOTIFY_FIELD_C
b550: 4f 4d 4d 45 4e 54 20 3d 20 30 78 30 35 20 7d 0d  OMMENT = 0x05 }.
b560: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
b570: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49  RINTER_NOTIFY_FI
b580: 45 4c 44 5f 4c 4f 43 41 54 49 4f 4e 20 3d 20 30  ELD_LOCATION = 0
b590: 78 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x06 }..enum : ui
b5a0: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 4e 4f 54  nt { PRINTER_NOT
b5b0: 49 46 59 5f 46 49 45 4c 44 5f 44 45 56 4d 4f 44  IFY_FIELD_DEVMOD
b5c0: 45 20 3d 20 30 78 30 37 20 7d 0d 0a 65 6e 75 6d  E = 0x07 }..enum
b5d0: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
b5e0: 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 53  R_NOTIFY_FIELD_S
b5f0: 45 50 46 49 4c 45 20 3d 20 30 78 30 38 20 7d 0d  EPFILE = 0x08 }.
b600: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
b610: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49  RINTER_NOTIFY_FI
b620: 45 4c 44 5f 50 52 49 4e 54 5f 50 52 4f 43 45 53  ELD_PRINT_PROCES
b630: 53 4f 52 20 3d 20 30 78 30 39 20 7d 0d 0a 65 6e  SOR = 0x09 }..en
b640: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
b650: 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44  TER_NOTIFY_FIELD
b660: 5f 50 41 52 41 4d 45 54 45 52 53 20 3d 20 30 78  _PARAMETERS = 0x
b670: 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  0A }..enum : uin
b680: 74 20 7b 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49  t { PRINTER_NOTI
b690: 46 59 5f 46 49 45 4c 44 5f 44 41 54 41 54 59 50  FY_FIELD_DATATYP
b6a0: 45 20 3d 20 30 78 30 42 20 7d 0d 0a 65 6e 75 6d  E = 0x0B }..enum
b6b0: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
b6c0: 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 53  R_NOTIFY_FIELD_S
b6d0: 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50 54  ECURITY_DESCRIPT
b6e0: 4f 52 20 3d 20 30 78 30 43 20 7d 0d 0a 65 6e 75  OR = 0x0C }..enu
b6f0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
b700: 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f  ER_NOTIFY_FIELD_
b710: 41 54 54 52 49 42 55 54 45 53 20 3d 20 30 78 30  ATTRIBUTES = 0x0
b720: 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  D }..enum : uint
b730: 20 7b 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46   { PRINTER_NOTIF
b740: 59 5f 46 49 45 4c 44 5f 50 52 49 4f 52 49 54 59  Y_FIELD_PRIORITY
b750: 20 3d 20 30 78 30 45 20 7d 0d 0a 65 6e 75 6d 20   = 0x0E }..enum 
b760: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
b770: 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 44 45  _NOTIFY_FIELD_DE
b780: 46 41 55 4c 54 5f 50 52 49 4f 52 49 54 59 20 3d  FAULT_PRIORITY =
b790: 20 30 78 30 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x0F }..enum : 
b7a0: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 4e  uint { PRINTER_N
b7b0: 4f 54 49 46 59 5f 46 49 45 4c 44 5f 53 54 41 52  OTIFY_FIELD_STAR
b7c0: 54 5f 54 49 4d 45 20 3d 20 30 78 31 30 20 7d 0d  T_TIME = 0x10 }.
b7d0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
b7e0: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49  RINTER_NOTIFY_FI
b7f0: 45 4c 44 5f 55 4e 54 49 4c 5f 54 49 4d 45 20 3d  ELD_UNTIL_TIME =
b800: 20 30 78 31 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x11 }..enum : 
b810: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 4e  uint { PRINTER_N
b820: 4f 54 49 46 59 5f 46 49 45 4c 44 5f 53 54 41 54  OTIFY_FIELD_STAT
b830: 55 53 20 3d 20 30 78 31 32 20 7d 0d 0a 65 6e 75  US = 0x12 }..enu
b840: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
b850: 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f  ER_NOTIFY_FIELD_
b860: 53 54 41 54 55 53 5f 53 54 52 49 4e 47 20 3d 20  STATUS_STRING = 
b870: 30 78 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x13 }..enum : u
b880: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 4e 4f  int { PRINTER_NO
b890: 54 49 46 59 5f 46 49 45 4c 44 5f 43 4a 4f 42 53  TIFY_FIELD_CJOBS
b8a0: 20 3d 20 30 78 31 34 20 7d 0d 0a 65 6e 75 6d 20   = 0x14 }..enum 
b8b0: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
b8c0: 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 41 56  _NOTIFY_FIELD_AV
b8d0: 45 52 41 47 45 5f 50 50 4d 20 3d 20 30 78 31 35  ERAGE_PPM = 0x15
b8e0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
b8f0: 7b 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59  { PRINTER_NOTIFY
b900: 5f 46 49 45 4c 44 5f 54 4f 54 41 4c 5f 50 41 47  _FIELD_TOTAL_PAG
b910: 45 53 20 3d 20 30 78 31 36 20 7d 0d 0a 65 6e 75  ES = 0x16 }..enu
b920: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
b930: 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f  ER_NOTIFY_FIELD_
b940: 50 41 47 45 53 5f 50 52 49 4e 54 45 44 20 3d 20  PAGES_PRINTED = 
b950: 30 78 31 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x17 }..enum : u
b960: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 4e 4f  int { PRINTER_NO
b970: 54 49 46 59 5f 46 49 45 4c 44 5f 54 4f 54 41 4c  TIFY_FIELD_TOTAL
b980: 5f 42 59 54 45 53 20 3d 20 30 78 31 38 20 7d 0d  _BYTES = 0x18 }.
b990: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
b9a0: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49  RINTER_NOTIFY_FI
b9b0: 45 4c 44 5f 42 59 54 45 53 5f 50 52 49 4e 54 45  ELD_BYTES_PRINTE
b9c0: 44 20 3d 20 30 78 31 39 20 7d 0d 0a 65 6e 75 6d  D = 0x19 }..enum
b9d0: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
b9e0: 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 4f  R_NOTIFY_FIELD_O
b9f0: 42 4a 45 43 54 5f 47 55 49 44 20 3d 20 30 78 31  BJECT_GUID = 0x1
ba00: 41 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  A }....enum : ui
ba10: 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f  nt { JOB_NOTIFY_
ba20: 46 49 45 4c 44 5f 50 52 49 4e 54 45 52 5f 4e 41  FIELD_PRINTER_NA
ba30: 4d 45 20 3d 20 30 78 30 30 20 7d 0d 0a 65 6e 75  ME = 0x00 }..enu
ba40: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e  m : uint { JOB_N
ba50: 4f 54 49 46 59 5f 46 49 45 4c 44 5f 4d 41 43 48  OTIFY_FIELD_MACH
ba60: 49 4e 45 5f 4e 41 4d 45 20 3d 20 30 78 30 31 20  INE_NAME = 0x01 
ba70: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
ba80: 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c   JOB_NOTIFY_FIEL
ba90: 44 5f 50 4f 52 54 5f 4e 41 4d 45 20 3d 20 30 78  D_PORT_NAME = 0x
baa0: 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  02 }..enum : uin
bab0: 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46  t { JOB_NOTIFY_F
bac0: 49 45 4c 44 5f 55 53 45 52 5f 4e 41 4d 45 20 3d  IELD_USER_NAME =
bad0: 20 30 78 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x03 }..enum : 
bae0: 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46  uint { JOB_NOTIF
baf0: 59 5f 46 49 45 4c 44 5f 4e 4f 54 49 46 59 5f 4e  Y_FIELD_NOTIFY_N
bb00: 41 4d 45 20 3d 20 30 78 30 34 20 7d 0d 0a 65 6e  AME = 0x04 }..en
bb10: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f  um : uint { JOB_
bb20: 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 44 41 54  NOTIFY_FIELD_DAT
bb30: 41 54 59 50 45 20 3d 20 30 78 30 35 20 7d 0d 0a  ATYPE = 0x05 }..
bb40: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
bb50: 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 50  B_NOTIFY_FIELD_P
bb60: 52 49 4e 54 5f 50 52 4f 43 45 53 53 4f 52 20 3d  RINT_PROCESSOR =
bb70: 20 30 78 30 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x06 }..enum : 
bb80: 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46  uint { JOB_NOTIF
bb90: 59 5f 46 49 45 4c 44 5f 50 41 52 41 4d 45 54 45  Y_FIELD_PARAMETE
bba0: 52 53 20 3d 20 30 78 30 37 20 7d 0d 0a 65 6e 75  RS = 0x07 }..enu
bbb0: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e  m : uint { JOB_N
bbc0: 4f 54 49 46 59 5f 46 49 45 4c 44 5f 44 52 49 56  OTIFY_FIELD_DRIV
bbd0: 45 52 5f 4e 41 4d 45 20 3d 20 30 78 30 38 20 7d  ER_NAME = 0x08 }
bbe0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
bbf0: 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44  JOB_NOTIFY_FIELD
bc00: 5f 44 45 56 4d 4f 44 45 20 3d 20 30 78 30 39 20  _DEVMODE = 0x09 
bc10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
bc20: 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c   JOB_NOTIFY_FIEL
bc30: 44 5f 53 54 41 54 55 53 20 3d 20 30 78 30 41 20  D_STATUS = 0x0A 
bc40: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
bc50: 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c   JOB_NOTIFY_FIEL
bc60: 44 5f 53 54 41 54 55 53 5f 53 54 52 49 4e 47 20  D_STATUS_STRING 
bc70: 3d 20 30 78 30 42 20 7d 0d 0a 65 6e 75 6d 20 3a  = 0x0B }..enum :
bc80: 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49   uint { JOB_NOTI
bc90: 46 59 5f 46 49 45 4c 44 5f 53 45 43 55 52 49 54  FY_FIELD_SECURIT
bca0: 59 5f 44 45 53 43 52 49 50 54 4f 52 20 3d 20 30  Y_DESCRIPTOR = 0
bcb0: 78 30 43 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x0C }..enum : ui
bcc0: 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f  nt { JOB_NOTIFY_
bcd0: 46 49 45 4c 44 5f 44 4f 43 55 4d 45 4e 54 20 3d  FIELD_DOCUMENT =
bce0: 20 30 78 30 44 20 7d 0d 0a 65 6e 75 6d 20 3a 20   0x0D }..enum : 
bcf0: 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46  uint { JOB_NOTIF
bd00: 59 5f 46 49 45 4c 44 5f 50 52 49 4f 52 49 54 59  Y_FIELD_PRIORITY
bd10: 20 3d 20 30 78 30 45 20 7d 0d 0a 65 6e 75 6d 20   = 0x0E }..enum 
bd20: 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54  : uint { JOB_NOT
bd30: 49 46 59 5f 46 49 45 4c 44 5f 50 4f 53 49 54 49  IFY_FIELD_POSITI
bd40: 4f 4e 20 3d 20 30 78 30 46 20 7d 0d 0a 65 6e 75  ON = 0x0F }..enu
bd50: 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e  m : uint { JOB_N
bd60: 4f 54 49 46 59 5f 46 49 45 4c 44 5f 53 55 42 4d  OTIFY_FIELD_SUBM
bd70: 49 54 54 45 44 20 3d 20 30 78 31 30 20 7d 0d 0a  ITTED = 0x10 }..
bd80: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4a 4f  enum : uint { JO
bd90: 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 53  B_NOTIFY_FIELD_S
bda0: 54 41 52 54 5f 54 49 4d 45 20 3d 20 30 78 31 31  TART_TIME = 0x11
bdb0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
bdc0: 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45  { JOB_NOTIFY_FIE
bdd0: 4c 44 5f 55 4e 54 49 4c 5f 54 49 4d 45 20 3d 20  LD_UNTIL_TIME = 
bde0: 30 78 31 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0x12 }..enum : u
bdf0: 69 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59  int { JOB_NOTIFY
be00: 5f 46 49 45 4c 44 5f 54 49 4d 45 20 3d 20 30 78  _FIELD_TIME = 0x
be10: 31 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  13 }..enum : uin
be20: 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46  t { JOB_NOTIFY_F
be30: 49 45 4c 44 5f 54 4f 54 41 4c 5f 50 41 47 45 53  IELD_TOTAL_PAGES
be40: 20 3d 20 30 78 31 34 20 7d 0d 0a 65 6e 75 6d 20   = 0x14 }..enum 
be50: 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54  : uint { JOB_NOT
be60: 49 46 59 5f 46 49 45 4c 44 5f 50 41 47 45 53 5f  IFY_FIELD_PAGES_
be70: 50 52 49 4e 54 45 44 20 3d 20 30 78 31 35 20 7d  PRINTED = 0x15 }
be80: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
be90: 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44  JOB_NOTIFY_FIELD
bea0: 5f 54 4f 54 41 4c 5f 42 59 54 45 53 20 3d 20 30  _TOTAL_BYTES = 0
beb0: 78 31 36 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  x16 }..enum : ui
bec0: 6e 74 20 7b 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f  nt { JOB_NOTIFY_
bed0: 46 49 45 4c 44 5f 42 59 54 45 53 5f 50 52 49 4e  FIELD_BYTES_PRIN
bee0: 54 45 44 20 3d 20 30 78 31 37 20 7d 0d 0a 0d 0a  TED = 0x17 }....
bef0: 73 74 72 75 63 74 20 5f 50 52 49 4e 54 45 52 5f  struct _PRINTER_
bf00: 4e 4f 54 49 46 59 5f 4f 50 54 49 4f 4e 53 5f 54  NOTIFY_OPTIONS_T
bf10: 59 50 45 20 7b 0d 0a 20 20 57 4f 52 44 20 54 79  YPE {..  WORD Ty
bf20: 70 65 3b 0d 0a 20 20 57 4f 52 44 20 52 65 73 65  pe;..  WORD Rese
bf30: 72 76 65 64 30 3b 0d 0a 20 20 44 57 4f 52 44 20  rved0;..  DWORD 
bf40: 52 65 73 65 72 76 65 64 31 3b 0d 0a 20 20 44 57  Reserved1;..  DW
bf50: 4f 52 44 20 52 65 73 65 72 76 65 64 32 3b 0d 0a  ORD Reserved2;..
bf60: 20 20 44 57 4f 52 44 20 43 6f 75 6e 74 3b 0d 0a    DWORD Count;..
bf70: 20 20 50 57 4f 52 44 20 70 46 69 65 6c 64 73 3b    PWORD pFields;
bf80: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e  ..}..alias _PRIN
bf90: 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50 54 49 4f  TER_NOTIFY_OPTIO
bfa0: 4e 53 5f 54 59 50 45 20 50 52 49 4e 54 45 52 5f  NS_TYPE PRINTER_
bfb0: 4e 4f 54 49 46 59 5f 4f 50 54 49 4f 4e 53 5f 54  NOTIFY_OPTIONS_T
bfc0: 59 50 45 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49  YPE;..alias _PRI
bfd0: 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50 54 49  NTER_NOTIFY_OPTI
bfe0: 4f 4e 53 5f 54 59 50 45 2a 20 50 50 52 49 4e 54  ONS_TYPE* PPRINT
bff0: 45 52 5f 4e 4f 54 49 46 59 5f 4f 50 54 49 4f 4e  ER_NOTIFY_OPTION
c000: 53 5f 54 59 50 45 3b 0d 0a 61 6c 69 61 73 20 5f  S_TYPE;..alias _
c010: 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f  PRINTER_NOTIFY_O
c020: 50 54 49 4f 4e 53 5f 54 59 50 45 2a 20 4c 50 50  PTIONS_TYPE* LPP
c030: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50  RINTER_NOTIFY_OP
c040: 54 49 4f 4e 53 5f 54 59 50 45 3b 0d 0a 0d 0a 65  TIONS_TYPE;....e
c050: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49  num : uint { PRI
c060: 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50 54 49  NTER_NOTIFY_OPTI
c070: 4f 4e 53 5f 52 45 46 52 45 53 48 20 3d 20 30 78  ONS_REFRESH = 0x
c080: 30 31 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 5f  01 }....struct _
c090: 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f  PRINTER_NOTIFY_O
c0a0: 50 54 49 4f 4e 53 20 7b 0d 0a 20 20 44 57 4f 52  PTIONS {..  DWOR
c0b0: 44 20 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57  D Version;..  DW
c0c0: 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20 20 44 57  ORD Flags;..  DW
c0d0: 4f 52 44 20 43 6f 75 6e 74 3b 0d 0a 20 20 50 50  ORD Count;..  PP
c0e0: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50  RINTER_NOTIFY_OP
c0f0: 54 49 4f 4e 53 5f 54 59 50 45 20 70 54 79 70 65  TIONS_TYPE pType
c100: 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 50 52  s;..}..alias _PR
c110: 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50 54  INTER_NOTIFY_OPT
c120: 49 4f 4e 53 20 50 52 49 4e 54 45 52 5f 4e 4f 54  IONS PRINTER_NOT
c130: 49 46 59 5f 4f 50 54 49 4f 4e 53 3b 0d 0a 61 6c  IFY_OPTIONS;..al
c140: 69 61 73 20 5f 50 52 49 4e 54 45 52 5f 4e 4f 54  ias _PRINTER_NOT
c150: 49 46 59 5f 4f 50 54 49 4f 4e 53 2a 20 50 50 52  IFY_OPTIONS* PPR
c160: 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50 54  INTER_NOTIFY_OPT
c170: 49 4f 4e 53 3b 0d 0a 61 6c 69 61 73 20 5f 50 52  IONS;..alias _PR
c180: 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 4f 50 54  INTER_NOTIFY_OPT
c190: 49 4f 4e 53 2a 20 4c 50 50 52 49 4e 54 45 52 5f  IONS* LPPRINTER_
c1a0: 4e 4f 54 49 46 59 5f 4f 50 54 49 4f 4e 53 3b 0d  NOTIFY_OPTIONS;.
c1b0: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
c1c0: 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f   PRINTER_NOTIFY_
c1d0: 49 4e 46 4f 5f 44 49 53 43 41 52 44 45 44 20 3d  INFO_DISCARDED =
c1e0: 20 30 78 30 31 20 7d 0d 0a 0d 0a 73 74 72 75 63   0x01 }....struc
c1f0: 74 20 5f 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46  t _PRINTER_NOTIF
c200: 59 5f 49 4e 46 4f 5f 44 41 54 41 20 7b 0d 0a 20  Y_INFO_DATA {.. 
c210: 20 57 4f 52 44 20 54 79 70 65 3b 0d 0a 20 20 57   WORD Type;..  W
c220: 4f 52 44 20 46 69 65 6c 64 3b 0d 0a 20 20 44 57  ORD Field;..  DW
c230: 4f 52 44 20 52 65 73 65 72 76 65 64 3b 0d 0a 20  ORD Reserved;.. 
c240: 20 44 57 4f 52 44 20 49 64 3b 0d 0a 75 6e 69 6f   DWORD Id;..unio
c250: 6e 20 7b 0d 0a 20 20 44 57 4f 52 44 20 61 64 77  n {..  DWORD adw
c260: 44 61 74 61 5b 32 5d 3b 0d 0a 73 74 72 75 63 74  Data[2];..struct
c270: 20 7b 0d 0a 20 20 44 57 4f 52 44 20 63 62 42 75   {..  DWORD cbBu
c280: 66 3b 0d 0a 20 20 4c 50 56 4f 49 44 20 70 42 75  f;..  LPVOID pBu
c290: 66 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 0d 0a 7d 0d  f;..}....}....}.
c2a0: 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45 52 5f  .alias _PRINTER_
c2b0: 4e 4f 54 49 46 59 5f 49 4e 46 4f 5f 44 41 54 41  NOTIFY_INFO_DATA
c2c0: 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f   PRINTER_NOTIFY_
c2d0: 49 4e 46 4f 5f 44 41 54 41 3b 0d 0a 61 6c 69 61  INFO_DATA;..alia
c2e0: 73 20 5f 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46  s _PRINTER_NOTIF
c2f0: 59 5f 49 4e 46 4f 5f 44 41 54 41 2a 20 50 50 52  Y_INFO_DATA* PPR
c300: 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46  INTER_NOTIFY_INF
c310: 4f 5f 44 41 54 41 3b 0d 0a 61 6c 69 61 73 20 5f  O_DATA;..alias _
c320: 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 49  PRINTER_NOTIFY_I
c330: 4e 46 4f 5f 44 41 54 41 2a 20 4c 50 50 52 49 4e  NFO_DATA* LPPRIN
c340: 54 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 5f  TER_NOTIFY_INFO_
c350: 44 41 54 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  DATA;....struct 
c360: 5f 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f  _PRINTER_NOTIFY_
c370: 49 4e 46 4f 20 7b 0d 0a 20 20 44 57 4f 52 44 20  INFO {..  DWORD 
c380: 56 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52  Version;..  DWOR
c390: 44 20 46 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52  D Flags;..  DWOR
c3a0: 44 20 43 6f 75 6e 74 3b 0d 0a 20 20 50 52 49 4e  D Count;..  PRIN
c3b0: 54 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 5f  TER_NOTIFY_INFO_
c3c0: 44 41 54 41 20 61 44 61 74 61 5b 31 5d 3b 0d 0a  DATA aData[1];..
c3d0: 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54 45  }..alias _PRINTE
c3e0: 52 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 20 50 52  R_NOTIFY_INFO PR
c3f0: 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46  INTER_NOTIFY_INF
c400: 4f 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 49 4e 54  O;..alias _PRINT
c410: 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 2a 20  ER_NOTIFY_INFO* 
c420: 50 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f  PPRINTER_NOTIFY_
c430: 49 4e 46 4f 3b 0d 0a 61 6c 69 61 73 20 5f 50 52  INFO;..alias _PR
c440: 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46  INTER_NOTIFY_INF
c450: 4f 2a 20 4c 50 50 52 49 4e 54 45 52 5f 4e 4f 54  O* LPPRINTER_NOT
c460: 49 46 59 5f 49 4e 46 4f 3b 0d 0a 0d 0a 73 74 72  IFY_INFO;....str
c470: 75 63 74 20 5f 42 49 4e 41 52 59 5f 43 4f 4e 54  uct _BINARY_CONT
c480: 41 49 4e 45 52 20 7b 0d 0a 20 20 44 57 4f 52 44  AINER {..  DWORD
c490: 20 63 62 42 75 66 3b 0d 0a 20 20 4c 50 42 59 54   cbBuf;..  LPBYT
c4a0: 45 20 70 44 61 74 61 3b 0d 0a 7d 0d 0a 61 6c 69  E pData;..}..ali
c4b0: 61 73 20 5f 42 49 4e 41 52 59 5f 43 4f 4e 54 41  as _BINARY_CONTA
c4c0: 49 4e 45 52 20 42 49 4e 41 52 59 5f 43 4f 4e 54  INER BINARY_CONT
c4d0: 41 49 4e 45 52 3b 0d 0a 61 6c 69 61 73 20 5f 42  AINER;..alias _B
c4e0: 49 4e 41 52 59 5f 43 4f 4e 54 41 49 4e 45 52 2a  INARY_CONTAINER*
c4f0: 20 50 42 49 4e 41 52 59 5f 43 4f 4e 54 41 49 4e   PBINARY_CONTAIN
c500: 45 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 42  ER;....struct _B
c510: 49 44 49 5f 44 41 54 41 20 7b 0d 0a 20 20 44 57  IDI_DATA {..  DW
c520: 4f 52 44 20 64 77 42 69 64 69 54 79 70 65 3b 0d  ORD dwBidiType;.
c530: 0a 75 6e 69 6f 6e 20 7b 0d 0a 20 20 42 4f 4f 4c  .union {..  BOOL
c540: 20 62 44 61 74 61 3b 0d 0a 20 20 4c 4f 4e 47 20   bData;..  LONG 
c550: 69 44 61 74 61 3b 0d 0a 20 20 4c 50 57 53 54 52  iData;..  LPWSTR
c560: 20 73 44 61 74 61 3b 0d 0a 20 20 46 4c 4f 41 54   sData;..  FLOAT
c570: 20 66 44 61 74 61 3b 0d 0a 20 20 42 49 4e 41 52   fData;..  BINAR
c580: 59 5f 43 4f 4e 54 41 49 4e 45 52 20 62 69 44 61  Y_CONTAINER biDa
c590: 74 61 3b 0d 0a 7d 0d 0a 0d 0a 7d 0d 0a 61 6c 69  ta;..}....}..ali
c5a0: 61 73 20 5f 42 49 44 49 5f 44 41 54 41 20 42 49  as _BIDI_DATA BI
c5b0: 44 49 5f 44 41 54 41 3b 0d 0a 61 6c 69 61 73 20  DI_DATA;..alias 
c5c0: 5f 42 49 44 49 5f 44 41 54 41 2a 20 50 42 49 44  _BIDI_DATA* PBID
c5d0: 49 5f 44 41 54 41 3b 0d 0a 61 6c 69 61 73 20 5f  I_DATA;..alias _
c5e0: 42 49 44 49 5f 44 41 54 41 2a 20 4c 50 42 49 44  BIDI_DATA* LPBID
c5f0: 49 5f 44 41 54 41 3b 0d 0a 0d 0a 73 74 72 75 63  I_DATA;....struc
c600: 74 20 5f 42 49 44 49 5f 52 45 51 55 45 53 54 5f  t _BIDI_REQUEST_
c610: 44 41 54 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20  DATA {..  DWORD 
c620: 64 77 52 65 71 4e 75 6d 62 65 72 3b 0d 0a 20 20  dwReqNumber;..  
c630: 4c 50 57 53 54 52 20 70 53 63 68 65 6d 61 3b 0d  LPWSTR pSchema;.
c640: 0a 20 20 42 49 44 49 5f 44 41 54 41 20 64 61 74  .  BIDI_DATA dat
c650: 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 42 49  a;..}..alias _BI
c660: 44 49 5f 52 45 51 55 45 53 54 5f 44 41 54 41 20  DI_REQUEST_DATA 
c670: 42 49 44 49 5f 52 45 51 55 45 53 54 5f 44 41 54  BIDI_REQUEST_DAT
c680: 41 3b 0d 0a 61 6c 69 61 73 20 5f 42 49 44 49 5f  A;..alias _BIDI_
c690: 52 45 51 55 45 53 54 5f 44 41 54 41 2a 20 50 42  REQUEST_DATA* PB
c6a0: 49 44 49 5f 52 45 51 55 45 53 54 5f 44 41 54 41  IDI_REQUEST_DATA
c6b0: 3b 0d 0a 61 6c 69 61 73 20 5f 42 49 44 49 5f 52  ;..alias _BIDI_R
c6c0: 45 51 55 45 53 54 5f 44 41 54 41 2a 20 4c 50 42  EQUEST_DATA* LPB
c6d0: 49 44 49 5f 52 45 51 55 45 53 54 5f 44 41 54 41  IDI_REQUEST_DATA
c6e0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 5f 42 49 44  ;....struct _BID
c6f0: 49 5f 52 45 51 55 45 53 54 5f 43 4f 4e 54 41 49  I_REQUEST_CONTAI
c700: 4e 45 52 20 7b 0d 0a 20 20 44 57 4f 52 44 20 56  NER {..  DWORD V
c710: 65 72 73 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44  ersion;..  DWORD
c720: 20 46 6c 61 67 73 3b 0d 0a 20 20 44 57 4f 52 44   Flags;..  DWORD
c730: 20 43 6f 75 6e 74 3b 0d 0a 20 20 42 49 44 49 5f   Count;..  BIDI_
c740: 52 45 51 55 45 53 54 5f 44 41 54 41 20 61 44 61  REQUEST_DATA aDa
c750: 74 61 5b 20 31 20 5d 3b 0d 0a 7d 0d 0a 61 6c 69  ta[ 1 ];..}..ali
c760: 61 73 20 5f 42 49 44 49 5f 52 45 51 55 45 53 54  as _BIDI_REQUEST
c770: 5f 43 4f 4e 54 41 49 4e 45 52 20 42 49 44 49 5f  _CONTAINER BIDI_
c780: 52 45 51 55 45 53 54 5f 43 4f 4e 54 41 49 4e 45  REQUEST_CONTAINE
c790: 52 3b 0d 0a 61 6c 69 61 73 20 5f 42 49 44 49 5f  R;..alias _BIDI_
c7a0: 52 45 51 55 45 53 54 5f 43 4f 4e 54 41 49 4e 45  REQUEST_CONTAINE
c7b0: 52 2a 20 50 42 49 44 49 5f 52 45 51 55 45 53 54  R* PBIDI_REQUEST
c7c0: 5f 43 4f 4e 54 41 49 4e 45 52 3b 0d 0a 61 6c 69  _CONTAINER;..ali
c7d0: 61 73 20 5f 42 49 44 49 5f 52 45 51 55 45 53 54  as _BIDI_REQUEST
c7e0: 5f 43 4f 4e 54 41 49 4e 45 52 2a 20 4c 50 42 49  _CONTAINER* LPBI
c7f0: 44 49 5f 52 45 51 55 45 53 54 5f 43 4f 4e 54 41  DI_REQUEST_CONTA
c800: 49 4e 45 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20  INER;....struct 
c810: 5f 42 49 44 49 5f 52 45 53 50 4f 4e 53 45 5f 44  _BIDI_RESPONSE_D
c820: 41 54 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 64  ATA {..  DWORD d
c830: 77 52 65 73 75 6c 74 3b 0d 0a 20 20 44 57 4f 52  wResult;..  DWOR
c840: 44 20 64 77 52 65 71 4e 75 6d 62 65 72 3b 0d 0a  D dwReqNumber;..
c850: 20 20 4c 50 57 53 54 52 20 70 53 63 68 65 6d 61    LPWSTR pSchema
c860: 3b 0d 0a 20 20 42 49 44 49 5f 44 41 54 41 20 64  ;..  BIDI_DATA d
c870: 61 74 61 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ata;..}..alias _
c880: 42 49 44 49 5f 52 45 53 50 4f 4e 53 45 5f 44 41  BIDI_RESPONSE_DA
c890: 54 41 20 42 49 44 49 5f 52 45 53 50 4f 4e 53 45  TA BIDI_RESPONSE
c8a0: 5f 44 41 54 41 3b 0d 0a 61 6c 69 61 73 20 5f 42  _DATA;..alias _B
c8b0: 49 44 49 5f 52 45 53 50 4f 4e 53 45 5f 44 41 54  IDI_RESPONSE_DAT
c8c0: 41 2a 20 50 42 49 44 49 5f 52 45 53 50 4f 4e 53  A* PBIDI_RESPONS
c8d0: 45 5f 44 41 54 41 3b 0d 0a 61 6c 69 61 73 20 5f  E_DATA;..alias _
c8e0: 42 49 44 49 5f 52 45 53 50 4f 4e 53 45 5f 44 41  BIDI_RESPONSE_DA
c8f0: 54 41 2a 20 4c 50 42 49 44 49 5f 52 45 53 50 4f  TA* LPBIDI_RESPO
c900: 4e 53 45 5f 44 41 54 41 3b 0d 0a 0d 0a 73 74 72  NSE_DATA;....str
c910: 75 63 74 20 5f 42 49 44 49 5f 52 45 53 50 4f 4e  uct _BIDI_RESPON
c920: 53 45 5f 43 4f 4e 54 41 49 4e 45 52 20 7b 0d 0a  SE_CONTAINER {..
c930: 20 20 44 57 4f 52 44 20 56 65 72 73 69 6f 6e 3b    DWORD Version;
c940: 0d 0a 20 20 44 57 4f 52 44 20 46 6c 61 67 73 3b  ..  DWORD Flags;
c950: 0d 0a 20 20 44 57 4f 52 44 20 43 6f 75 6e 74 3b  ..  DWORD Count;
c960: 0d 0a 20 20 42 49 44 49 5f 52 45 53 50 4f 4e 53  ..  BIDI_RESPONS
c970: 45 5f 44 41 54 41 20 61 44 61 74 61 5b 20 31 20  E_DATA aData[ 1 
c980: 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 42 49  ];..}..alias _BI
c990: 44 49 5f 52 45 53 50 4f 4e 53 45 5f 43 4f 4e 54  DI_RESPONSE_CONT
c9a0: 41 49 4e 45 52 20 42 49 44 49 5f 52 45 53 50 4f  AINER BIDI_RESPO
c9b0: 4e 53 45 5f 43 4f 4e 54 41 49 4e 45 52 3b 0d 0a  NSE_CONTAINER;..
c9c0: 61 6c 69 61 73 20 5f 42 49 44 49 5f 52 45 53 50  alias _BIDI_RESP
c9d0: 4f 4e 53 45 5f 43 4f 4e 54 41 49 4e 45 52 2a 20  ONSE_CONTAINER* 
c9e0: 50 42 49 44 49 5f 52 45 53 50 4f 4e 53 45 5f 43  PBIDI_RESPONSE_C
c9f0: 4f 4e 54 41 49 4e 45 52 3b 0d 0a 61 6c 69 61 73  ONTAINER;..alias
ca00: 20 5f 42 49 44 49 5f 52 45 53 50 4f 4e 53 45 5f   _BIDI_RESPONSE_
ca10: 43 4f 4e 54 41 49 4e 45 52 2a 20 4c 50 42 49 44  CONTAINER* LPBID
ca20: 49 5f 52 45 53 50 4f 4e 53 45 5f 43 4f 4e 54 41  I_RESPONSE_CONTA
ca30: 49 4e 45 52 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 77  INER;....const w
ca40: 63 68 61 72 5b 5d 20 42 49 44 49 5f 41 43 54 49  char[] BIDI_ACTI
ca50: 4f 4e 5f 45 4e 55 4d 5f 53 43 48 45 4d 41 20 3d  ON_ENUM_SCHEMA =
ca60: 20 22 45 6e 75 6d 53 63 68 65 6d 61 22 3b 0d 0a   "EnumSchema";..
ca70: 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 42 49  const wchar[] BI
ca80: 44 49 5f 41 43 54 49 4f 4e 5f 47 45 54 20 3d 20  DI_ACTION_GET = 
ca90: 22 47 65 74 22 3b 0d 0a 63 6f 6e 73 74 20 77 63  "Get";..const wc
caa0: 68 61 72 5b 5d 20 42 49 44 49 5f 41 43 54 49 4f  har[] BIDI_ACTIO
cab0: 4e 5f 53 45 54 20 3d 20 22 53 65 74 22 3b 0d 0a  N_SET = "Set";..
cac0: 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 42 49  const wchar[] BI
cad0: 44 49 5f 41 43 54 49 4f 4e 5f 47 45 54 5f 41 4c  DI_ACTION_GET_AL
cae0: 4c 20 3d 20 22 47 65 74 41 6c 6c 22 3b 0d 0a 0d  L = "GetAll";...
caf0: 0a 65 6e 75 6d 20 5f 30 20 7b 0d 0a 20 20 42 49  .enum _0 {..  BI
cb00: 44 49 5f 4e 55 4c 4c 20 3d 20 30 2c 0d 0a 20 20  DI_NULL = 0,..  
cb10: 42 49 44 49 5f 49 4e 54 20 3d 20 31 2c 0d 0a 20  BIDI_INT = 1,.. 
cb20: 20 42 49 44 49 5f 46 4c 4f 41 54 20 3d 20 32 2c   BIDI_FLOAT = 2,
cb30: 0d 0a 20 20 42 49 44 49 5f 42 4f 4f 4c 20 3d 20  ..  BIDI_BOOL = 
cb40: 33 2c 0d 0a 20 20 42 49 44 49 5f 53 54 52 49 4e  3,..  BIDI_STRIN
cb50: 47 20 3d 20 34 2c 0d 0a 20 20 42 49 44 49 5f 54  G = 4,..  BIDI_T
cb60: 45 58 54 20 3d 20 35 2c 0d 0a 20 20 42 49 44 49  EXT = 5,..  BIDI
cb70: 5f 45 4e 55 4d 20 3d 20 36 2c 0d 0a 20 20 42 49  _ENUM = 6,..  BI
cb80: 44 49 5f 42 4c 4f 42 20 3d 20 37 2c 0d 0a 7d 0d  DI_BLOB = 7,..}.
cb90: 0a 61 6c 69 61 73 20 5f 30 20 42 49 44 49 5f 54  .alias _0 BIDI_T
cba0: 59 50 45 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75  YPE;....enum : u
cbb0: 69 6e 74 20 7b 20 42 49 44 49 5f 41 43 43 45 53  int { BIDI_ACCES
cbc0: 53 5f 41 44 4d 49 4e 49 53 54 52 41 54 4f 52 20  S_ADMINISTRATOR 
cbd0: 3d 20 30 78 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20  = 0x1 }..enum : 
cbe0: 75 69 6e 74 20 7b 20 42 49 44 49 5f 41 43 43 45  uint { BIDI_ACCE
cbf0: 53 53 5f 55 53 45 52 20 3d 20 30 78 32 20 7d 0d  SS_USER = 0x2 }.
cc00: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
cc10: 20 45 52 52 4f 52 5f 42 49 44 49 5f 53 54 41 54   ERROR_BIDI_STAT
cc20: 55 53 5f 4f 4b 20 3d 20 30 20 7d 0d 0a 61 6c 69  US_OK = 0 }..ali
cc30: 61 73 20 45 52 52 4f 52 5f 4e 4f 54 5f 53 55 50  as ERROR_NOT_SUP
cc40: 50 4f 52 54 45 44 20 45 52 52 4f 52 5f 42 49 44  PORTED ERROR_BID
cc50: 49 5f 4e 4f 54 5f 53 55 50 50 4f 52 54 45 44 3b  I_NOT_SUPPORTED;
cc60: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
cc70: 7b 20 45 52 52 4f 52 5f 42 49 44 49 5f 45 52 52  { ERROR_BIDI_ERR
cc80: 4f 52 5f 42 41 53 45 20 3d 20 31 33 30 30 30 20  OR_BASE = 13000 
cc90: 7d 0d 0a 63 6f 6e 73 74 20 75 69 6e 74 20 45 52  }..const uint ER
cca0: 52 4f 52 5f 42 49 44 49 5f 53 54 41 54 55 53 5f  ROR_BIDI_STATUS_
ccb0: 57 41 52 4e 49 4e 47 20 3d 20 45 52 52 4f 52 5f  WARNING = ERROR_
ccc0: 42 49 44 49 5f 45 52 52 4f 52 5f 42 41 53 45 20  BIDI_ERROR_BASE 
ccd0: 2b 20 31 3b 0d 0a 63 6f 6e 73 74 20 75 69 6e 74  + 1;..const uint
cce0: 20 45 52 52 4f 52 5f 42 49 44 49 5f 53 43 48 45   ERROR_BIDI_SCHE
ccf0: 4d 41 5f 52 45 41 44 5f 4f 4e 4c 59 20 3d 20 45  MA_READ_ONLY = E
cd00: 52 52 4f 52 5f 42 49 44 49 5f 45 52 52 4f 52 5f  RROR_BIDI_ERROR_
cd10: 42 41 53 45 20 2b 20 32 3b 0d 0a 63 6f 6e 73 74  BASE + 2;..const
cd20: 20 75 69 6e 74 20 45 52 52 4f 52 5f 42 49 44 49   uint ERROR_BIDI
cd30: 5f 53 45 52 56 45 52 5f 4f 46 46 4c 49 4e 45 20  _SERVER_OFFLINE 
cd40: 3d 20 45 52 52 4f 52 5f 42 49 44 49 5f 45 52 52  = ERROR_BIDI_ERR
cd50: 4f 52 5f 42 41 53 45 20 2b 20 33 3b 0d 0a 63 6f  OR_BASE + 3;..co
cd60: 6e 73 74 20 75 69 6e 74 20 45 52 52 4f 52 5f 42  nst uint ERROR_B
cd70: 49 44 49 5f 44 45 56 49 43 45 5f 4f 46 46 4c 49  IDI_DEVICE_OFFLI
cd80: 4e 45 20 3d 20 45 52 52 4f 52 5f 42 49 44 49 5f  NE = ERROR_BIDI_
cd90: 45 52 52 4f 52 5f 42 41 53 45 20 2b 20 34 3b 0d  ERROR_BASE + 4;.
cda0: 0a 63 6f 6e 73 74 20 75 69 6e 74 20 45 52 52 4f  .const uint ERRO
cdb0: 52 5f 42 49 44 49 5f 53 43 48 45 4d 41 5f 4e 4f  R_BIDI_SCHEMA_NO
cdc0: 54 5f 53 55 50 50 4f 52 54 45 44 20 3d 20 45 52  T_SUPPORTED = ER
cdd0: 52 4f 52 5f 42 49 44 49 5f 45 52 52 4f 52 5f 42  ROR_BIDI_ERROR_B
cde0: 41 53 45 20 2b 20 35 3b 0d 0a 0d 0a 65 78 74 65  ASE + 5;....exte
cdf0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
ce00: 72 74 20 44 57 4f 52 44 20 57 61 69 74 46 6f 72  rt DWORD WaitFor
ce10: 50 72 69 6e 74 65 72 43 68 61 6e 67 65 28 0d 0a  PrinterChange(..
ce20: 20 20 20 20 20 48 41 4e 44 4c 45 20 20 68 50 72       HANDLE  hPr
ce30: 69 6e 74 65 72 2c 0d 0a 20 20 20 20 20 44 57 4f  inter,..     DWO
ce40: 52 44 20 20 20 46 6c 61 67 73 0d 0a 29 3b 0d 0a  RD   Flags..);..
ce50: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
ce60: 29 20 65 78 70 6f 72 74 20 48 41 4e 44 4c 45 20  ) export HANDLE 
ce70: 46 69 6e 64 46 69 72 73 74 50 72 69 6e 74 65 72  FindFirstPrinter
ce80: 43 68 61 6e 67 65 4e 6f 74 69 66 69 63 61 74 69  ChangeNotificati
ce90: 6f 6e 28 0d 0a 20 20 20 20 20 48 41 4e 44 4c 45  on(..     HANDLE
cea0: 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20 20    hPrinter,..   
ceb0: 20 20 44 57 4f 52 44 20 20 20 66 64 77 46 6c 61    DWORD   fdwFla
cec0: 67 73 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20  gs,..     DWORD 
ced0: 20 20 66 64 77 4f 70 74 69 6f 6e 73 2c 0d 0a 20    fdwOptions,.. 
cee0: 20 20 20 20 4c 50 56 4f 49 44 20 20 70 50 72 69      LPVOID  pPri
cef0: 6e 74 65 72 4e 6f 74 69 66 79 4f 70 74 69 6f 6e  nterNotifyOption
cf00: 73 0d 0a 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28  s..);....extern(
cf10: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
cf20: 42 4f 4f 4c 20 46 69 6e 64 4e 65 78 74 50 72 69  BOOL FindNextPri
cf30: 6e 74 65 72 43 68 61 6e 67 65 4e 6f 74 69 66 69  nterChangeNotifi
cf40: 63 61 74 69 6f 6e 28 0d 0a 20 20 20 20 20 48 41  cation(..     HA
cf50: 4e 44 4c 45 20 68 43 68 61 6e 67 65 2c 0d 0a 20  NDLE hChange,.. 
cf60: 20 20 20 20 50 44 57 4f 52 44 20 70 64 77 43 68      PDWORD pdwCh
cf70: 61 6e 67 65 2c 0d 0a 20 20 20 20 20 4c 50 56 4f  ange,..     LPVO
cf80: 49 44 20 70 76 52 65 73 65 72 76 65 64 2c 0d 0a  ID pvReserved,..
cf90: 20 20 20 20 20 4c 50 56 4f 49 44 20 2a 70 70 50       LPVOID *ppP
cfa0: 72 69 6e 74 65 72 4e 6f 74 69 66 79 49 6e 66 6f  rinterNotifyInfo
cfb0: 0d 0a 29 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  ..);....extern(W
cfc0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
cfd0: 4f 4f 4c 20 46 72 65 65 50 72 69 6e 74 65 72 4e  OOL FreePrinterN
cfe0: 6f 74 69 66 79 49 6e 66 6f 28 0d 0a 20 20 20 20  otifyInfo(..    
cff0: 20 50 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59   PPRINTER_NOTIFY
d000: 5f 49 4e 46 4f 20 70 50 72 69 6e 74 65 72 4e 6f  _INFO pPrinterNo
d010: 74 69 66 79 49 6e 66 6f 0d 0a 29 3b 0d 0a 0d 0a  tifyInfo..);....
d020: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
d030: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 46 69 6e 64  export BOOL Find
d040: 43 6c 6f 73 65 50 72 69 6e 74 65 72 43 68 61 6e  ClosePrinterChan
d050: 67 65 4e 6f 74 69 66 69 63 61 74 69 6f 6e 28 0d  geNotification(.
d060: 0a 20 20 20 20 20 48 41 4e 44 4c 45 20 68 43 68  .     HANDLE hCh
d070: 61 6e 67 65 0d 0a 29 3b 0d 0a 0d 0a 65 6e 75 6d  ange..);....enum
d080: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
d090: 52 5f 43 48 41 4e 47 45 5f 41 44 44 5f 50 52 49  R_CHANGE_ADD_PRI
d0a0: 4e 54 45 52 20 3d 20 30 78 30 30 30 30 30 30 30  NTER = 0x0000000
d0b0: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
d0c0: 20 7b 20 50 52 49 4e 54 45 52 5f 43 48 41 4e 47   { PRINTER_CHANG
d0d0: 45 5f 53 45 54 5f 50 52 49 4e 54 45 52 20 3d 20  E_SET_PRINTER = 
d0e0: 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e  0x00000002 }..en
d0f0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
d100: 54 45 52 5f 43 48 41 4e 47 45 5f 44 45 4c 45 54  TER_CHANGE_DELET
d110: 45 5f 50 52 49 4e 54 45 52 20 3d 20 30 78 30 30  E_PRINTER = 0x00
d120: 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  000004 }..enum :
d130: 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f   uint { PRINTER_
d140: 43 48 41 4e 47 45 5f 46 41 49 4c 45 44 5f 43 4f  CHANGE_FAILED_CO
d150: 4e 4e 45 43 54 49 4f 4e 5f 50 52 49 4e 54 45 52  NNECTION_PRINTER
d160: 20 3d 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d   = 0x00000008 }.
d170: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50  .enum : uint { P
d180: 52 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f 50 52  RINTER_CHANGE_PR
d190: 49 4e 54 45 52 20 3d 20 30 78 30 30 30 30 30 30  INTER = 0x000000
d1a0: 46 46 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  FF }..enum : uin
d1b0: 74 20 7b 20 50 52 49 4e 54 45 52 5f 43 48 41 4e  t { PRINTER_CHAN
d1c0: 47 45 5f 41 44 44 5f 4a 4f 42 20 3d 20 30 78 30  GE_ADD_JOB = 0x0
d1d0: 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20  0000100 }..enum 
d1e0: 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52  : uint { PRINTER
d1f0: 5f 43 48 41 4e 47 45 5f 53 45 54 5f 4a 4f 42 20  _CHANGE_SET_JOB 
d200: 3d 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d 0a  = 0x00000200 }..
d210: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
d220: 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f 44 45 4c  INTER_CHANGE_DEL
d230: 45 54 45 5f 4a 4f 42 20 3d 20 30 78 30 30 30 30  ETE_JOB = 0x0000
d240: 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0400 }..enum : u
d250: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 43 48  int { PRINTER_CH
d260: 41 4e 47 45 5f 57 52 49 54 45 5f 4a 4f 42 20 3d  ANGE_WRITE_JOB =
d270: 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d 0a 65   0x00000800 }..e
d280: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49  num : uint { PRI
d290: 4e 54 45 52 5f 43 48 41 4e 47 45 5f 4a 4f 42 20  NTER_CHANGE_JOB 
d2a0: 3d 20 30 78 30 30 30 30 46 46 30 30 20 7d 0d 0a  = 0x0000FF00 }..
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 43 48 41 4e 47 45 5f 41 44 44  INTER_CHANGE_ADD
d2d0: 5f 46 4f 52 4d 20 3d 20 30 78 30 30 30 31 30 30  _FORM = 0x000100
d2e0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
d2f0: 74 20 7b 20 50 52 49 4e 54 45 52 5f 43 48 41 4e  t { PRINTER_CHAN
d300: 47 45 5f 53 45 54 5f 46 4f 52 4d 20 3d 20 30 78  GE_SET_FORM = 0x
d310: 30 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  00020000 }..enum
d320: 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45   : uint { PRINTE
d330: 52 5f 43 48 41 4e 47 45 5f 44 45 4c 45 54 45 5f  R_CHANGE_DELETE_
d340: 46 4f 52 4d 20 3d 20 30 78 30 30 30 34 30 30 30  FORM = 0x0004000
d350: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
d360: 20 7b 20 50 52 49 4e 54 45 52 5f 43 48 41 4e 47   { PRINTER_CHANG
d370: 45 5f 46 4f 52 4d 20 3d 20 30 78 30 30 30 37 30  E_FORM = 0x00070
d380: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
d390: 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 43 48 41  nt { PRINTER_CHA
d3a0: 4e 47 45 5f 41 44 44 5f 50 4f 52 54 20 3d 20 30  NGE_ADD_PORT = 0
d3b0: 78 30 30 31 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x00100000 }..enu
d3c0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
d3d0: 45 52 5f 43 48 41 4e 47 45 5f 43 4f 4e 46 49 47  ER_CHANGE_CONFIG
d3e0: 55 52 45 5f 50 4f 52 54 20 3d 20 30 78 30 30 32  URE_PORT = 0x002
d3f0: 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
d400: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 43  uint { PRINTER_C
d410: 48 41 4e 47 45 5f 44 45 4c 45 54 45 5f 50 4f 52  HANGE_DELETE_POR
d420: 54 20 3d 20 30 78 30 30 34 30 30 30 30 30 20 7d  T = 0x00400000 }
d430: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
d440: 50 52 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f 50  PRINTER_CHANGE_P
d450: 4f 52 54 20 3d 20 30 78 30 30 37 30 30 30 30 30  ORT = 0x00700000
d460: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
d470: 7b 20 50 52 49 4e 54 45 52 5f 43 48 41 4e 47 45  { PRINTER_CHANGE
d480: 5f 41 44 44 5f 50 52 49 4e 54 5f 50 52 4f 43 45  _ADD_PRINT_PROCE
d490: 53 53 4f 52 20 3d 20 30 78 30 31 30 30 30 30 30  SSOR = 0x0100000
d4a0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
d4b0: 20 7b 20 50 52 49 4e 54 45 52 5f 43 48 41 4e 47   { PRINTER_CHANG
d4c0: 45 5f 44 45 4c 45 54 45 5f 50 52 49 4e 54 5f 50  E_DELETE_PRINT_P
d4d0: 52 4f 43 45 53 53 4f 52 20 3d 20 30 78 30 34 30  ROCESSOR = 0x040
d4e0: 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
d4f0: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 43  uint { PRINTER_C
d500: 48 41 4e 47 45 5f 50 52 49 4e 54 5f 50 52 4f 43  HANGE_PRINT_PROC
d510: 45 53 53 4f 52 20 3d 20 30 78 30 37 30 30 30 30  ESSOR = 0x070000
d520: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
d530: 74 20 7b 20 50 52 49 4e 54 45 52 5f 43 48 41 4e  t { PRINTER_CHAN
d540: 47 45 5f 41 44 44 5f 50 52 49 4e 54 45 52 5f 44  GE_ADD_PRINTER_D
d550: 52 49 56 45 52 20 3d 20 30 78 31 30 30 30 30 30  RIVER = 0x100000
d560: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
d570: 74 20 7b 20 50 52 49 4e 54 45 52 5f 43 48 41 4e  t { PRINTER_CHAN
d580: 47 45 5f 53 45 54 5f 50 52 49 4e 54 45 52 5f 44  GE_SET_PRINTER_D
d590: 52 49 56 45 52 20 3d 20 30 78 32 30 30 30 30 30  RIVER = 0x200000
d5a0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
d5b0: 74 20 7b 20 50 52 49 4e 54 45 52 5f 43 48 41 4e  t { PRINTER_CHAN
d5c0: 47 45 5f 44 45 4c 45 54 45 5f 50 52 49 4e 54 45  GE_DELETE_PRINTE
d5d0: 52 5f 44 52 49 56 45 52 20 3d 20 30 78 34 30 30  R_DRIVER = 0x400
d5e0: 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
d5f0: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 43  uint { PRINTER_C
d600: 48 41 4e 47 45 5f 50 52 49 4e 54 45 52 5f 44 52  HANGE_PRINTER_DR
d610: 49 56 45 52 20 3d 20 30 78 37 30 30 30 30 30 30  IVER = 0x7000000
d620: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
d630: 20 7b 20 50 52 49 4e 54 45 52 5f 43 48 41 4e 47   { PRINTER_CHANG
d640: 45 5f 54 49 4d 45 4f 55 54 20 3d 20 30 78 38 30  E_TIMEOUT = 0x80
d650: 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
d660: 20 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f   uint { PRINTER_
d670: 43 48 41 4e 47 45 5f 41 4c 4c 20 3d 20 30 78 37  CHANGE_ALL = 0x7
d680: 37 37 37 46 46 46 46 20 7d 0d 0a 0d 0a 65 78 74  777FFFF }....ext
d690: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
d6a0: 6f 72 74 20 44 57 4f 52 44 20 50 72 69 6e 74 65  ort DWORD Printe
d6b0: 72 4d 65 73 73 61 67 65 42 6f 78 41 28 0d 0a 20  rMessageBoxA(.. 
d6c0: 20 20 20 20 48 41 4e 44 4c 45 20 20 68 50 72 69      HANDLE  hPri
d6d0: 6e 74 65 72 2c 0d 0a 20 20 20 20 20 44 57 4f 52  nter,..     DWOR
d6e0: 44 20 20 20 45 72 72 6f 72 2c 0d 0a 20 20 20 20  D   Error,..    
d6f0: 20 48 57 4e 44 20 20 20 20 68 57 6e 64 2c 0d 0a   HWND    hWnd,..
d700: 20 20 20 20 20 4c 50 53 54 52 20 20 20 70 54 65       LPSTR   pTe
d710: 78 74 2c 0d 0a 20 20 20 20 20 4c 50 53 54 52 20  xt,..     LPSTR 
d720: 20 20 70 43 61 70 74 69 6f 6e 2c 0d 0a 20 20 20    pCaption,..   
d730: 20 20 44 57 4f 52 44 20 20 20 64 77 54 79 70 65    DWORD   dwType
d740: 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ..);..extern(Win
d750: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f  dows) export DWO
d760: 52 44 20 50 72 69 6e 74 65 72 4d 65 73 73 61 67  RD PrinterMessag
d770: 65 42 6f 78 57 28 0d 0a 20 20 20 20 20 48 41 4e  eBoxW(..     HAN
d780: 44 4c 45 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a  DLE  hPrinter,..
d790: 20 20 20 20 20 44 57 4f 52 44 20 20 20 45 72 72       DWORD   Err
d7a0: 6f 72 2c 0d 0a 20 20 20 20 20 48 57 4e 44 20 20  or,..     HWND  
d7b0: 20 20 68 57 6e 64 2c 0d 0a 20 20 20 20 20 4c 50    hWnd,..     LP
d7c0: 57 53 54 52 20 20 20 70 54 65 78 74 2c 0d 0a 20  WSTR   pText,.. 
d7d0: 20 20 20 20 4c 50 57 53 54 52 20 20 20 70 43 61      LPWSTR   pCa
d7e0: 70 74 69 6f 6e 2c 0d 0a 20 20 20 20 20 44 57 4f  ption,..     DWO
d7f0: 52 44 20 20 20 64 77 54 79 70 65 0d 0a 29 3b 0d  RD   dwType..);.
d800: 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f  .// #ifdef UNICO
d810: 44 45 0d 0a 61 6c 69 61 73 20 50 72 69 6e 74 65  DE..alias Printe
d820: 72 4d 65 73 73 61 67 65 42 6f 78 57 20 50 72 69  rMessageBoxW Pri
d830: 6e 74 65 72 4d 65 73 73 61 67 65 42 6f 78 3b 0d  nterMessageBox;.
d840: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e  .// #else..// #.
d850: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  ....// #endif //
d860: 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75   !UNICODE....enu
d870: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e 54  m : uint { PRINT
d880: 45 52 5f 45 52 52 4f 52 5f 49 4e 46 4f 52 4d 41  ER_ERROR_INFORMA
d890: 54 49 4f 4e 20 3d 20 30 78 38 30 30 30 30 30 30  TION = 0x8000000
d8a0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
d8b0: 20 7b 20 50 52 49 4e 54 45 52 5f 45 52 52 4f 52   { PRINTER_ERROR
d8c0: 5f 57 41 52 4e 49 4e 47 20 3d 20 30 78 34 30 30  _WARNING = 0x400
d8d0: 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20  00000 }..enum : 
d8e0: 75 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 45  uint { PRINTER_E
d8f0: 52 52 4f 52 5f 53 45 56 45 52 45 20 3d 20 30 78  RROR_SEVERE = 0x
d900: 32 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e  20000000 }....en
d910: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52 49 4e  um : uint { PRIN
d920: 54 45 52 5f 45 52 52 4f 52 5f 4f 55 54 4f 46 50  TER_ERROR_OUTOFP
d930: 41 50 45 52 20 3d 20 30 78 30 30 30 30 30 30 30  APER = 0x0000000
d940: 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  1 }..enum : uint
d950: 20 7b 20 50 52 49 4e 54 45 52 5f 45 52 52 4f 52   { PRINTER_ERROR
d960: 5f 4a 41 4d 20 3d 20 30 78 30 30 30 30 30 30 30  _JAM = 0x0000000
d970: 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  2 }..enum : uint
d980: 20 7b 20 50 52 49 4e 54 45 52 5f 45 52 52 4f 52   { PRINTER_ERROR
d990: 5f 4f 55 54 4f 46 54 4f 4e 45 52 20 3d 20 30 78  _OUTOFTONER = 0x
d9a0: 30 30 30 30 30 30 30 34 20 7d 0d 0a 0d 0a 65 78  00000004 }....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 43 6c 6f 73 65 50  port BOOL CloseP
d9d0: 72 69 6e 74 65 72 28 0d 0a 20 20 20 20 20 48 41  rinter(..     HA
d9e0: 4e 44 4c 45 20 68 50 72 69 6e 74 65 72 0d 0a 29  NDLE hPrinter..)
d9f0: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  ;....extern(Wind
da00: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
da10: 20 41 64 64 46 6f 72 6d 41 28 0d 0a 20 20 20 20   AddFormA(..    
da20: 20 48 41 4e 44 4c 45 20 20 68 50 72 69 6e 74 65   HANDLE  hPrinte
da30: 72 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20  r,..     DWORD  
da40: 20 4c 65 76 65 6c 2c 0d 0a 20 20 20 20 20 4c 50   Level,..     LP
da50: 42 59 54 45 20 20 70 46 6f 72 6d 0d 0a 29 3b 0d  BYTE  pForm..);.
da60: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
da70: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 41 64 64   export BOOL Add
da80: 46 6f 72 6d 57 28 0d 0a 20 20 20 20 20 48 41 4e  FormW(..     HAN
da90: 44 4c 45 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a  DLE  hPrinter,..
daa0: 20 20 20 20 20 44 57 4f 52 44 20 20 20 4c 65 76       DWORD   Lev
dab0: 65 6c 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54 45  el,..     LPBYTE
dac0: 20 20 70 46 6f 72 6d 0d 0a 29 3b 0d 0a 2f 2f 20    pForm..);..// 
dad0: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
dae0: 61 6c 69 61 73 20 41 64 64 46 6f 72 6d 57 20 41  alias AddFormW A
daf0: 64 64 46 6f 72 6d 3b 0d 0a 2f 2f 20 23 65 6c 73  ddForm;..// #els
db00: 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  e..// #.....// #
db10: 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44  endif // !UNICOD
db20: 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  E....extern(Wind
db30: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
db40: 20 44 65 6c 65 74 65 46 6f 72 6d 41 28 0d 0a 20   DeleteFormA(.. 
db50: 20 20 20 20 48 41 4e 44 4c 45 20 20 68 50 72 69      HANDLE  hPri
db60: 6e 74 65 72 2c 0d 0a 20 20 20 20 20 4c 50 53 54  nter,..     LPST
db70: 52 20 20 20 70 46 6f 72 6d 4e 61 6d 65 0d 0a 29  R   pFormName..)
db80: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
db90: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44  s) export BOOL D
dba0: 65 6c 65 74 65 46 6f 72 6d 57 28 0d 0a 20 20 20  eleteFormW(..   
dbb0: 20 20 48 41 4e 44 4c 45 20 20 68 50 72 69 6e 74    HANDLE  hPrint
dbc0: 65 72 2c 0d 0a 20 20 20 20 20 4c 50 57 53 54 52  er,..     LPWSTR
dbd0: 20 20 20 70 46 6f 72 6d 4e 61 6d 65 0d 0a 29 3b     pFormName..);
dbe0: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
dbf0: 4f 44 45 0d 0a 61 6c 69 61 73 20 44 65 6c 65 74  ODE..alias Delet
dc00: 65 46 6f 72 6d 57 20 44 65 6c 65 74 65 46 6f 72  eFormW DeleteFor
dc10: 6d 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  m;..// #else..//
dc20: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
dc30: 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
dc40: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
dc50: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 46  export BOOL GetF
dc60: 6f 72 6d 41 28 0d 0a 20 20 20 20 20 48 41 4e 44  ormA(..     HAND
dc70: 4c 45 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20  LE  hPrinter,.. 
dc80: 20 20 20 20 4c 50 53 54 52 20 20 20 70 46 6f 72      LPSTR   pFor
dc90: 6d 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 44 57 4f  mName,..     DWO
dca0: 52 44 20 20 20 4c 65 76 65 6c 2c 0d 0a 20 20 20  RD   Level,..   
dcb0: 20 20 4c 50 42 59 54 45 20 20 70 46 6f 72 6d 2c    LPBYTE  pForm,
dcc0: 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20 63  ..     DWORD   c
dcd0: 62 42 75 66 2c 0d 0a 20 20 20 20 20 4c 50 44 57  bBuf,..     LPDW
dce0: 4f 52 44 20 70 63 62 4e 65 65 64 65 64 0d 0a 29  ORD pcbNeeded..)
dcf0: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
dd00: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47  s) export BOOL G
dd10: 65 74 46 6f 72 6d 57 28 0d 0a 20 20 20 20 20 48  etFormW(..     H
dd20: 41 4e 44 4c 45 20 20 68 50 72 69 6e 74 65 72 2c  ANDLE  hPrinter,
dd30: 0d 0a 20 20 20 20 20 4c 50 57 53 54 52 20 20 20  ..     LPWSTR   
dd40: 70 46 6f 72 6d 4e 61 6d 65 2c 0d 0a 20 20 20 20  pFormName,..    
dd50: 20 44 57 4f 52 44 20 20 20 4c 65 76 65 6c 2c 0d   DWORD   Level,.
dd60: 0a 20 20 20 20 20 4c 50 42 59 54 45 20 20 70 46  .     LPBYTE  pF
dd70: 6f 72 6d 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44  orm,..     DWORD
dd80: 20 20 20 63 62 42 75 66 2c 0d 0a 20 20 20 20 20     cbBuf,..     
dd90: 4c 50 44 57 4f 52 44 20 70 63 62 4e 65 65 64 65  LPDWORD pcbNeede
dda0: 64 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  d..);..// #ifdef
ddb0: 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20   UNICODE..alias 
ddc0: 47 65 74 46 6f 72 6d 57 20 47 65 74 46 6f 72 6d  GetFormW GetForm
ddd0: 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20  ;..// #else..// 
dde0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20  #.....// #endif 
ddf0: 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65  // !UNICODE....e
de00: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65  xtern(Windows) e
de10: 78 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74 46 6f  xport BOOL SetFo
de20: 72 6d 41 28 0d 0a 20 20 20 20 20 48 41 4e 44 4c  rmA(..     HANDL
de30: 45 20 20 68 50 72 69 6e 74 65 72 2c 0d 0a 20 20  E  hPrinter,..  
de40: 20 20 20 4c 50 53 54 52 20 20 20 70 46 6f 72 6d     LPSTR   pForm
de50: 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 44 57 4f 52  Name,..     DWOR
de60: 44 20 20 20 4c 65 76 65 6c 2c 0d 0a 20 20 20 20  D   Level,..    
de70: 20 4c 50 42 59 54 45 20 20 70 46 6f 72 6d 0d 0a   LPBYTE  pForm..
de80: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
de90: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
dea0: 53 65 74 46 6f 72 6d 57 28 0d 0a 20 20 20 20 20  SetFormW(..     
deb0: 48 41 4e 44 4c 45 20 20 68 50 72 69 6e 74 65 72  HANDLE  hPrinter
dec0: 2c 0d 0a 20 20 20 20 20 4c 50 57 53 54 52 20 20  ,..     LPWSTR  
ded0: 20 70 46 6f 72 6d 4e 61 6d 65 2c 0d 0a 20 20 20   pFormName,..   
dee0: 20 20 44 57 4f 52 44 20 20 20 4c 65 76 65 6c 2c    DWORD   Level,
def0: 0d 0a 20 20 20 20 20 4c 50 42 59 54 45 20 20 70  ..     LPBYTE  p
df00: 46 6f 72 6d 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66  Form..);..// #if
df10: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
df20: 61 73 20 53 65 74 46 6f 72 6d 57 20 53 65 74 46  as SetFormW SetF
df30: 6f 72 6d 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a  orm;..// #else..
df40: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64  // #.....// #end
df50: 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  if // !UNICODE..
df60: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
df70: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e  ) export BOOL En
df80: 75 6d 46 6f 72 6d 73 41 28 0d 0a 20 20 20 20 20  umFormsA(..     
df90: 48 41 4e 44 4c 45 20 20 68 50 72 69 6e 74 65 72  HANDLE  hPrinter
dfa0: 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20  ,..     DWORD   
dfb0: 4c 65 76 65 6c 2c 0d 0a 20 20 20 20 20 4c 50 42  Level,..     LPB
dfc0: 59 54 45 20 20 70 46 6f 72 6d 2c 0d 0a 20 20 20  YTE  pForm,..   
dfd0: 20 20 44 57 4f 52 44 20 20 20 63 62 42 75 66 2c    DWORD   cbBuf,
dfe0: 0d 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20 70  ..     LPDWORD p
dff0: 63 62 4e 65 65 64 65 64 2c 0d 0a 20 20 20 20 20  cbNeeded,..     
e000: 4c 50 44 57 4f 52 44 20 70 63 52 65 74 75 72 6e  LPDWORD pcReturn
e010: 65 64 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57  ed..);..extern(W
e020: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
e030: 4f 4f 4c 20 45 6e 75 6d 46 6f 72 6d 73 57 28 0d  OOL EnumFormsW(.
e040: 0a 20 20 20 20 20 48 41 4e 44 4c 45 20 20 68 50  .     HANDLE  hP
e050: 72 69 6e 74 65 72 2c 0d 0a 20 20 20 20 20 44 57  rinter,..     DW
e060: 4f 52 44 20 20 20 4c 65 76 65 6c 2c 0d 0a 20 20  ORD   Level,..  
e070: 20 20 20 4c 50 42 59 54 45 20 20 70 46 6f 72 6d     LPBYTE  pForm
e080: 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20  ,..     DWORD   
e090: 63 62 42 75 66 2c 0d 0a 20 20 20 20 20 4c 50 44  cbBuf,..     LPD
e0a0: 57 4f 52 44 20 70 63 62 4e 65 65 64 65 64 2c 0d  WORD pcbNeeded,.
e0b0: 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20 70 63  .     LPDWORD pc
e0c0: 52 65 74 75 72 6e 65 64 0d 0a 29 3b 0d 0a 2f 2f  Returned..);..//
e0d0: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
e0e0: 0a 61 6c 69 61 73 20 45 6e 75 6d 46 6f 72 6d 73  .alias EnumForms
e0f0: 57 20 45 6e 75 6d 46 6f 72 6d 73 3b 0d 0a 2f 2f  W EnumForms;..//
e100: 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
e110: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
e120: 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
e130: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
e140: 20 42 4f 4f 4c 20 45 6e 75 6d 4d 6f 6e 69 74 6f   BOOL EnumMonito
e150: 72 73 41 28 0d 0a 20 20 20 20 20 4c 50 53 54 52  rsA(..     LPSTR
e160: 20 20 20 70 4e 61 6d 65 2c 0d 0a 20 20 20 20 20     pName,..     
e170: 44 57 4f 52 44 20 20 20 4c 65 76 65 6c 2c 0d 0a  DWORD   Level,..
e180: 20 20 20 20 20 4c 50 42 59 54 45 20 20 70 4d 6f       LPBYTE  pMo
e190: 6e 69 74 6f 72 73 2c 0d 0a 20 20 20 20 20 44 57  nitors,..     DW
e1a0: 4f 52 44 20 20 20 63 62 42 75 66 2c 0d 0a 20 20  ORD   cbBuf,..  
e1b0: 20 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e 65     LPDWORD pcbNe
e1c0: 65 64 65 64 2c 0d 0a 20 20 20 20 20 4c 50 44 57  eded,..     LPDW
e1d0: 4f 52 44 20 70 63 52 65 74 75 72 6e 65 64 0d 0a  ORD pcReturned..
e1e0: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
e1f0: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
e200: 45 6e 75 6d 4d 6f 6e 69 74 6f 72 73 57 28 0d 0a  EnumMonitorsW(..
e210: 20 20 20 20 20 4c 50 57 53 54 52 20 20 20 70 4e       LPWSTR   pN
e220: 61 6d 65 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44  ame,..     DWORD
e230: 20 20 20 4c 65 76 65 6c 2c 0d 0a 20 20 20 20 20     Level,..     
e240: 4c 50 42 59 54 45 20 20 70 4d 6f 6e 69 74 6f 72  LPBYTE  pMonitor
e250: 73 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20  s,..     DWORD  
e260: 20 63 62 42 75 66 2c 0d 0a 20 20 20 20 20 4c 50   cbBuf,..     LP
e270: 44 57 4f 52 44 20 70 63 62 4e 65 65 64 65 64 2c  DWORD pcbNeeded,
e280: 0d 0a 20 20 20 20 20 4c 50 44 57 4f 52 44 20 70  ..     LPDWORD p
e290: 63 52 65 74 75 72 6e 65 64 0d 0a 29 3b 0d 0a 2f  cReturned..);../
e2a0: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
e2b0: 0d 0a 61 6c 69 61 73 20 45 6e 75 6d 4d 6f 6e 69  ..alias EnumMoni
e2c0: 74 6f 72 73 57 20 45 6e 75 6d 4d 6f 6e 69 74 6f  torsW EnumMonito
e2d0: 72 73 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  rs;..// #else../
e2e0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
e2f0: 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
e300: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
e310: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 41 64 64   export BOOL Add
e320: 4d 6f 6e 69 74 6f 72 41 28 0d 0a 20 20 20 20 20  MonitorA(..     
e330: 4c 50 53 54 52 20 20 20 70 4e 61 6d 65 2c 0d 0a  LPSTR   pName,..
e340: 20 20 20 20 20 44 57 4f 52 44 20 20 20 4c 65 76       DWORD   Lev
e350: 65 6c 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54 45  el,..     LPBYTE
e360: 20 20 70 4d 6f 6e 69 74 6f 72 73 0d 0a 29 3b 0d    pMonitors..);.
e370: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
e380: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 41 64 64   export BOOL Add
e390: 4d 6f 6e 69 74 6f 72 57 28 0d 0a 20 20 20 20 20  MonitorW(..     
e3a0: 4c 50 57 53 54 52 20 20 20 70 4e 61 6d 65 2c 0d  LPWSTR   pName,.
e3b0: 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20 4c 65  .     DWORD   Le
e3c0: 76 65 6c 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54  vel,..     LPBYT
e3d0: 45 20 20 70 4d 6f 6e 69 74 6f 72 73 0d 0a 29 3b  E  pMonitors..);
e3e0: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43  ..// #ifdef UNIC
e3f0: 4f 44 45 0d 0a 61 6c 69 61 73 20 41 64 64 4d 6f  ODE..alias AddMo
e400: 6e 69 74 6f 72 57 20 41 64 64 4d 6f 6e 69 74 6f  nitorW AddMonito
e410: 72 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f  r;..// #else..//
e420: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66   #.....// #endif
e430: 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a   // !UNICODE....
e440: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
e450: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44 65 6c 65  export BOOL Dele
e460: 74 65 4d 6f 6e 69 74 6f 72 41 28 0d 0a 20 20 20  teMonitorA(..   
e470: 20 20 4c 50 53 54 52 20 20 20 70 4e 61 6d 65 2c    LPSTR   pName,
e480: 0d 0a 20 20 20 20 20 4c 50 53 54 52 20 20 20 70  ..     LPSTR   p
e490: 45 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20  Environment,..  
e4a0: 20 20 20 4c 50 53 54 52 20 20 20 70 4d 6f 6e 69     LPSTR   pMoni
e4b0: 74 6f 72 4e 61 6d 65 0d 0a 29 3b 0d 0a 65 78 74  torName..);..ext
e4c0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
e4d0: 6f 72 74 20 42 4f 4f 4c 20 44 65 6c 65 74 65 4d  ort BOOL DeleteM
e4e0: 6f 6e 69 74 6f 72 57 28 0d 0a 20 20 20 20 20 4c  onitorW(..     L
e4f0: 50 57 53 54 52 20 20 20 70 4e 61 6d 65 2c 0d 0a  PWSTR   pName,..
e500: 20 20 20 20 20 4c 50 57 53 54 52 20 20 20 70 45       LPWSTR   pE
e510: 6e 76 69 72 6f 6e 6d 65 6e 74 2c 0d 0a 20 20 20  nvironment,..   
e520: 20 20 4c 50 57 53 54 52 20 20 20 70 4d 6f 6e 69    LPWSTR   pMoni
e530: 74 6f 72 4e 61 6d 65 0d 0a 29 3b 0d 0a 2f 2f 20  torName..);..// 
e540: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
e550: 61 6c 69 61 73 20 44 65 6c 65 74 65 4d 6f 6e 69  alias DeleteMoni
e560: 74 6f 72 57 20 44 65 6c 65 74 65 4d 6f 6e 69 74  torW DeleteMonit
e570: 6f 72 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f  or;..// #else../
e580: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69  / #.....// #endi
e590: 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d  f // !UNICODE...
e5a0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
e5b0: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 45 6e 75   export BOOL Enu
e5c0: 6d 50 6f 72 74 73 41 28 0d 0a 20 20 20 20 20 4c  mPortsA(..     L
e5d0: 50 53 54 52 20 20 20 70 4e 61 6d 65 2c 0d 0a 20  PSTR   pName,.. 
e5e0: 20 20 20 20 44 57 4f 52 44 20 20 20 4c 65 76 65      DWORD   Leve
e5f0: 6c 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54 45 20  l,..     LPBYTE 
e600: 20 70 50 6f 72 74 73 2c 0d 0a 20 20 20 20 20 44   pPorts,..     D
e610: 57 4f 52 44 20 20 20 63 62 42 75 66 2c 0d 0a 20  WORD   cbBuf,.. 
e620: 20 20 20 20 4c 50 44 57 4f 52 44 20 70 63 62 4e      LPDWORD pcbN
e630: 65 65 64 65 64 2c 0d 0a 20 20 20 20 20 4c 50 44  eeded,..     LPD
e640: 57 4f 52 44 20 70 63 52 65 74 75 72 6e 65 64 0d  WORD pcReturned.
e650: 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  .);..extern(Wind
e660: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
e670: 20 45 6e 75 6d 50 6f 72 74 73 57 28 0d 0a 20 20   EnumPortsW(..  
e680: 20 20 20 4c 50 57 53 54 52 20 20 20 70 4e 61 6d     LPWSTR   pNam
e690: 65 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20  e,..     DWORD  
e6a0: 20 4c 65 76 65 6c 2c 0d 0a 20 20 20 20 20 4c 50   Level,..     LP
e6b0: 42 59 54 45 20 20 70 50 6f 72 74 73 2c 0d 0a 20  BYTE  pPorts,.. 
e6c0: 20 20 20 20 44 57 4f 52 44 20 20 20 63 62 42 75      DWORD   cbBu
e6d0: 66 2c 0d 0a 20 20 20 20 20 4c 50 44 57 4f 52 44  f,..     LPDWORD
e6e0: 20 70 63 62 4e 65 65 64 65 64 2c 0d 0a 20 20 20   pcbNeeded,..   
e6f0: 20 20 4c 50 44 57 4f 52 44 20 70 63 52 65 74 75    LPDWORD pcRetu
e700: 72 6e 65 64 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66  rned..);..// #if
e710: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69  def UNICODE..ali
e720: 61 73 20 45 6e 75 6d 50 6f 72 74 73 57 20 45 6e  as EnumPortsW En
e730: 75 6d 50 6f 72 74 73 3b 0d 0a 2f 2f 20 23 65 6c  umPorts;..// #el
e740: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20  se..// #.....// 
e750: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f  #endif // !UNICO
e760: 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  DE....extern(Win
e770: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
e780: 4c 20 41 64 64 50 6f 72 74 41 28 0d 0a 20 20 20  L AddPortA(..   
e790: 20 20 4c 50 53 54 52 20 20 20 70 4e 61 6d 65 2c    LPSTR   pName,
e7a0: 0d 0a 20 20 20 20 20 48 57 4e 44 20 20 20 20 68  ..     HWND    h
e7b0: 57 6e 64 2c 0d 0a 20 20 20 20 20 4c 50 53 54 52  Wnd,..     LPSTR
e7c0: 20 20 20 70 4d 6f 6e 69 74 6f 72 4e 61 6d 65 0d     pMonitorName.
e7d0: 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  .);..extern(Wind
e7e0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
e7f0: 20 41 64 64 50 6f 72 74 57 28 0d 0a 20 20 20 20   AddPortW(..    
e800: 20 4c 50 57 53 54 52 20 20 20 70 4e 61 6d 65 2c   LPWSTR   pName,
e810: 0d 0a 20 20 20 20 20 48 57 4e 44 20 20 20 20 68  ..     HWND    h
e820: 57 6e 64 2c 0d 0a 20 20 20 20 20 4c 50 57 53 54  Wnd,..     LPWST
e830: 52 20 20 20 70 4d 6f 6e 69 74 6f 72 4e 61 6d 65  R   pMonitorName
e840: 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ..);..// #ifdef 
e850: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 41  UNICODE..alias A
e860: 64 64 50 6f 72 74 57 20 41 64 64 50 6f 72 74 3b  ddPortW AddPort;
e870: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
e880: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
e890: 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78  / !UNICODE....ex
e8a0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
e8b0: 70 6f 72 74 20 42 4f 4f 4c 20 43 6f 6e 66 69 67  port BOOL Config
e8c0: 75 72 65 50 6f 72 74 41 28 0d 0a 20 20 20 20 20  urePortA(..     
e8d0: 4c 50 53 54 52 20 20 20 70 4e 61 6d 65 2c 0d 0a  LPSTR   pName,..
e8e0: 20 20 20 20 20 48 57 4e 44 20 20 20 20 68 57 6e       HWND    hWn
e8f0: 64 2c 0d 0a 20 20 20 20 20 4c 50 53 54 52 20 20  d,..     LPSTR  
e900: 20 70 50 6f 72 74 4e 61 6d 65 0d 0a 29 3b 0d 0a   pPortName..);..
e910: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
e920: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 43 6f 6e 66  export BOOL Conf
e930: 69 67 75 72 65 50 6f 72 74 57 28 0d 0a 20 20 20  igurePortW(..   
e940: 20 20 4c 50 57 53 54 52 20 20 20 70 4e 61 6d 65    LPWSTR   pName
e950: 2c 0d 0a 20 20 20 20 20 48 57 4e 44 20 20 20 20  ,..     HWND    
e960: 68 57 6e 64 2c 0d 0a 20 20 20 20 20 4c 50 57 53  hWnd,..     LPWS
e970: 54 52 20 20 20 70 50 6f 72 74 4e 61 6d 65 0d 0a  TR   pPortName..
e980: 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
e990: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 43 6f 6e  ICODE..alias Con
e9a0: 66 69 67 75 72 65 50 6f 72 74 57 20 43 6f 6e 66  figurePortW Conf
e9b0: 69 67 75 72 65 50 6f 72 74 3b 0d 0a 2f 2f 20 23  igurePort;..// #
e9c0: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
e9d0: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
e9e0: 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57  CODE....extern(W
e9f0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
ea00: 4f 4f 4c 20 44 65 6c 65 74 65 50 6f 72 74 41 28  OOL DeletePortA(
ea10: 0d 0a 20 20 20 20 20 4c 50 53 54 52 20 70 4e 61  ..     LPSTR pNa
ea20: 6d 65 2c 0d 0a 20 20 20 20 20 48 57 4e 44 20 20  me,..     HWND  
ea30: 20 20 68 57 6e 64 2c 0d 0a 20 20 20 20 20 4c 50    hWnd,..     LP
ea40: 53 54 52 20 70 50 6f 72 74 4e 61 6d 65 0d 0a 29  STR pPortName..)
ea50: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
ea60: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44  s) export BOOL D
ea70: 65 6c 65 74 65 50 6f 72 74 57 28 0d 0a 20 20 20  eletePortW(..   
ea80: 20 20 4c 50 57 53 54 52 20 70 4e 61 6d 65 2c 0d    LPWSTR pName,.
ea90: 0a 20 20 20 20 20 48 57 4e 44 20 20 20 20 68 57  .     HWND    hW
eaa0: 6e 64 2c 0d 0a 20 20 20 20 20 4c 50 57 53 54 52  nd,..     LPWSTR
eab0: 20 70 50 6f 72 74 4e 61 6d 65 0d 0a 29 3b 0d 0a   pPortName..);..
eac0: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44  // #ifdef UNICOD
ead0: 45 0d 0a 61 6c 69 61 73 20 44 65 6c 65 74 65 50  E..alias DeleteP
eae0: 6f 72 74 57 20 44 65 6c 65 74 65 50 6f 72 74 3b  ortW DeletePort;
eaf0: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
eb00: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
eb10: 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78  / !UNICODE....ex
eb20: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
eb30: 70 6f 72 74 20 42 4f 4f 4c 20 58 63 76 44 61 74  port BOOL XcvDat
eb40: 61 57 28 0d 0a 20 20 20 20 20 48 41 4e 44 4c 45  aW(..     HANDLE
eb50: 20 20 68 58 63 76 2c 0d 0a 20 20 20 20 20 50 43    hXcv,..     PC
eb60: 57 53 54 52 20 20 70 73 7a 44 61 74 61 4e 61 6d  WSTR  pszDataNam
eb70: 65 2c 0d 0a 20 20 20 20 20 50 42 59 54 45 20 20  e,..     PBYTE  
eb80: 20 70 49 6e 70 75 74 44 61 74 61 2c 0d 0a 20 20   pInputData,..  
eb90: 20 20 20 44 57 4f 52 44 20 20 20 63 62 49 6e 70     DWORD   cbInp
eba0: 75 74 44 61 74 61 2c 0d 0a 20 20 20 20 20 50 42  utData,..     PB
ebb0: 59 54 45 20 20 20 70 4f 75 74 70 75 74 44 61 74  YTE   pOutputDat
ebc0: 61 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20  a,..     DWORD  
ebd0: 20 63 62 4f 75 74 70 75 74 44 61 74 61 2c 0d 0a   cbOutputData,..
ebe0: 20 20 20 20 20 50 44 57 4f 52 44 20 20 70 63 62       PDWORD  pcb
ebf0: 4f 75 74 70 75 74 4e 65 65 64 65 64 2c 0d 0a 20  OutputNeeded,.. 
ec00: 20 20 20 20 50 44 57 4f 52 44 20 20 70 64 77 53      PDWORD  pdwS
ec10: 74 61 74 75 73 0d 0a 29 3b 0d 0a 61 6c 69 61 73  tatus..);..alias
ec20: 20 58 63 76 44 61 74 61 57 20 58 63 76 44 61 74   XcvDataW XcvDat
ec30: 61 3b 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e  a;....extern(Win
ec40: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
ec50: 4c 20 47 65 74 44 65 66 61 75 6c 74 50 72 69 6e  L GetDefaultPrin
ec60: 74 65 72 41 28 0d 0a 20 20 20 20 20 4c 50 53 54  terA(..     LPST
ec70: 52 20 20 20 70 73 7a 42 75 66 66 65 72 2c 0d 0a  R   pszBuffer,..
ec80: 20 20 20 20 20 4c 50 44 57 4f 52 44 20 20 70 63       LPDWORD  pc
ec90: 63 68 42 75 66 66 65 72 0d 0a 20 20 20 20 29 3b  chBuffer..    );
eca0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
ecb0: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65  ) export BOOL Ge
ecc0: 74 44 65 66 61 75 6c 74 50 72 69 6e 74 65 72 57  tDefaultPrinterW
ecd0: 28 0d 0a 20 20 20 20 20 4c 50 57 53 54 52 20 20  (..     LPWSTR  
ece0: 20 70 73 7a 42 75 66 66 65 72 2c 0d 0a 20 20 20   pszBuffer,..   
ecf0: 20 20 4c 50 44 57 4f 52 44 20 20 70 63 63 68 42    LPDWORD  pcchB
ed00: 75 66 66 65 72 0d 0a 20 20 20 20 29 3b 0d 0a 2f  uffer..    );../
ed10: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45  / #ifdef UNICODE
ed20: 0d 0a 61 6c 69 61 73 20 47 65 74 44 65 66 61 75  ..alias GetDefau
ed30: 6c 74 50 72 69 6e 74 65 72 57 20 47 65 74 44 65  ltPrinterW GetDe
ed40: 66 61 75 6c 74 50 72 69 6e 74 65 72 3b 0d 0a 2f  faultPrinter;../
ed50: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e  / #else..// #...
ed60: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
ed70: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72  UNICODE....exter
ed80: 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72  n(Windows) expor
ed90: 74 20 42 4f 4f 4c 20 53 65 74 44 65 66 61 75 6c  t BOOL SetDefaul
eda0: 74 50 72 69 6e 74 65 72 41 28 0d 0a 20 20 20 20  tPrinterA(..    
edb0: 20 4c 50 43 53 54 52 20 70 73 7a 50 72 69 6e 74   LPCSTR pszPrint
edc0: 65 72 0d 0a 20 20 20 20 29 3b 0d 0a 65 78 74 65  er..    );..exte
edd0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
ede0: 72 74 20 42 4f 4f 4c 20 53 65 74 44 65 66 61 75  rt BOOL SetDefau
edf0: 6c 74 50 72 69 6e 74 65 72 57 28 0d 0a 20 20 20  ltPrinterW(..   
ee00: 20 20 4c 50 43 57 53 54 52 20 70 73 7a 50 72 69    LPCWSTR pszPri
ee10: 6e 74 65 72 0d 0a 20 20 20 20 29 3b 0d 0a 2f 2f  nter..    );..//
ee20: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d   #ifdef UNICODE.
ee30: 0a 61 6c 69 61 73 20 53 65 74 44 65 66 61 75 6c  .alias SetDefaul
ee40: 74 50 72 69 6e 74 65 72 57 20 53 65 74 44 65 66  tPrinterW SetDef
ee50: 61 75 6c 74 50 72 69 6e 74 65 72 3b 0d 0a 2f 2f  aultPrinter;..//
ee60: 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d   #else..// #....
ee70: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
ee80: 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e  NICODE....extern
ee90: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
eea0: 20 42 4f 4f 4c 20 53 65 74 50 6f 72 74 41 28 0d   BOOL SetPortA(.
eeb0: 0a 20 20 20 20 20 4c 50 53 54 52 20 20 20 20 20  .     LPSTR     
eec0: 70 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 4c 50 53  pName,..     LPS
eed0: 54 52 20 20 20 20 20 70 50 6f 72 74 4e 61 6d 65  TR     pPortName
eee0: 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20  ,..     DWORD   
eef0: 20 20 20 20 64 77 4c 65 76 65 6c 2c 0d 0a 20 20      dwLevel,..  
ef00: 20 20 20 4c 50 42 59 54 45 20 20 20 20 20 20 70     LPBYTE      p
ef10: 50 6f 72 74 49 6e 66 6f 0d 0a 29 3b 0d 0a 65 78  PortInfo..);..ex
ef20: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
ef30: 70 6f 72 74 20 42 4f 4f 4c 20 53 65 74 50 6f 72  port BOOL SetPor
ef40: 74 57 28 0d 0a 20 20 20 20 20 4c 50 57 53 54 52  tW(..     LPWSTR
ef50: 20 20 20 20 20 70 4e 61 6d 65 2c 0d 0a 20 20 20       pName,..   
ef60: 20 20 4c 50 57 53 54 52 20 20 20 20 20 70 50 6f    LPWSTR     pPo
ef70: 72 74 4e 61 6d 65 2c 0d 0a 20 20 20 20 20 44 57  rtName,..     DW
ef80: 4f 52 44 20 20 20 20 20 20 20 64 77 4c 65 76 65  ORD       dwLeve
ef90: 6c 2c 0d 0a 20 20 20 20 20 4c 50 42 59 54 45 20  l,..     LPBYTE 
efa0: 20 20 20 20 20 70 50 6f 72 74 49 6e 66 6f 0d 0a       pPortInfo..
efb0: 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  );..// #ifdef UN
efc0: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 53 65 74  ICODE..alias Set
efd0: 50 6f 72 74 57 20 53 65 74 50 6f 72 74 3b 0d 0a  PortW SetPort;..
efe0: 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e  // #else..// #..
eff0: 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20  ...// #endif // 
f000: 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65  !UNICODE....exte
f010: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
f020: 72 74 20 42 4f 4f 4c 20 41 64 64 50 72 69 6e 74  rt BOOL AddPrint
f030: 65 72 43 6f 6e 6e 65 63 74 69 6f 6e 41 28 0d 0a  erConnectionA(..
f040: 20 20 20 20 20 4c 50 53 54 52 20 20 20 70 4e 61       LPSTR   pNa
f050: 6d 65 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57  me..);..extern(W
f060: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
f070: 4f 4f 4c 20 41 64 64 50 72 69 6e 74 65 72 43 6f  OOL AddPrinterCo
f080: 6e 6e 65 63 74 69 6f 6e 57 28 0d 0a 20 20 20 20  nnectionW(..    
f090: 20 4c 50 57 53 54 52 20 20 20 70 4e 61 6d 65 0d   LPWSTR   pName.
f0a0: 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  .);..// #ifdef U
f0b0: 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 41 64  NICODE..alias Ad
f0c0: 64 50 72 69 6e 74 65 72 43 6f 6e 6e 65 63 74 69  dPrinterConnecti
f0d0: 6f 6e 57 20 41 64 64 50 72 69 6e 74 65 72 43 6f  onW AddPrinterCo
f0e0: 6e 6e 65 63 74 69 6f 6e 3b 0d 0a 2f 2f 20 23 65  nnection;..// #e
f0f0: 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  lse..// #.....//
f100: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43   #endif // !UNIC
f110: 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69  ODE....extern(Wi
f120: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f  ndows) export BO
f130: 4f 4c 20 44 65 6c 65 74 65 50 72 69 6e 74 65 72  OL DeletePrinter
f140: 43 6f 6e 6e 65 63 74 69 6f 6e 41 28 0d 0a 20 20  ConnectionA(..  
f150: 20 20 20 4c 50 53 54 52 20 20 20 70 4e 61 6d 65     LPSTR   pName
f160: 0d 0a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ..);..extern(Win
f170: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
f180: 4c 20 44 65 6c 65 74 65 50 72 69 6e 74 65 72 43  L DeletePrinterC
f190: 6f 6e 6e 65 63 74 69 6f 6e 57 28 0d 0a 20 20 20  onnectionW(..   
f1a0: 20 20 4c 50 57 53 54 52 20 20 20 70 4e 61 6d 65    LPWSTR   pName
f1b0: 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20  ..);..// #ifdef 
f1c0: 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 44  UNICODE..alias D
f1d0: 65 6c 65 74 65 50 72 69 6e 74 65 72 43 6f 6e 6e  eletePrinterConn
f1e0: 65 63 74 69 6f 6e 57 20 44 65 6c 65 74 65 50 72  ectionW DeletePr
f1f0: 69 6e 74 65 72 43 6f 6e 6e 65 63 74 69 6f 6e 3b  interConnection;
f200: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23  ..// #else..// #
f210: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  .....// #endif /
f220: 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78  / !UNICODE....ex
f230: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
f240: 70 6f 72 74 20 48 41 4e 44 4c 45 20 43 6f 6e 6e  port HANDLE Conn
f250: 65 63 74 54 6f 50 72 69 6e 74 65 72 44 6c 67 28  ectToPrinterDlg(
f260: 0d 0a 20 20 20 20 20 48 57 4e 44 20 20 20 20 68  ..     HWND    h
f270: 77 6e 64 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44  wnd,..     DWORD
f280: 20 20 20 46 6c 61 67 73 0d 0a 29 3b 0d 0a 0d 0a     Flags..);....
f290: 73 74 72 75 63 74 20 5f 50 52 4f 56 49 44 4f 52  struct _PROVIDOR
f2a0: 5f 49 4e 46 4f 5f 31 41 20 7b 0d 0a 20 20 4c 50  _INFO_1A {..  LP
f2b0: 53 54 52 20 70 4e 61 6d 65 3b 0d 0a 20 20 4c 50  STR pName;..  LP
f2c0: 53 54 52 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74  STR pEnvironment
f2d0: 3b 0d 0a 20 20 4c 50 53 54 52 20 70 44 4c 4c 4e  ;..  LPSTR pDLLN
f2e0: 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f  ame;..}..alias _
f2f0: 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 31 41  PROVIDOR_INFO_1A
f300: 20 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 31   PROVIDOR_INFO_1
f310: 41 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 56 49  A;..alias _PROVI
f320: 44 4f 52 5f 49 4e 46 4f 5f 31 41 2a 20 50 50 52  DOR_INFO_1A* PPR
f330: 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 31 41 3b 0d  OVIDOR_INFO_1A;.
f340: 0a 61 6c 69 61 73 20 5f 50 52 4f 56 49 44 4f 52  .alias _PROVIDOR
f350: 5f 49 4e 46 4f 5f 31 41 2a 20 4c 50 50 52 4f 56  _INFO_1A* LPPROV
f360: 49 44 4f 52 5f 49 4e 46 4f 5f 31 41 3b 0d 0a 0d  IDOR_INFO_1A;...
f370: 0a 73 74 72 75 63 74 20 5f 50 52 4f 56 49 44 4f  .struct _PROVIDO
f380: 52 5f 49 4e 46 4f 5f 31 57 20 7b 0d 0a 20 20 4c  R_INFO_1W {..  L
f390: 50 57 53 54 52 20 70 4e 61 6d 65 3b 0d 0a 20 20  PWSTR pName;..  
f3a0: 4c 50 57 53 54 52 20 70 45 6e 76 69 72 6f 6e 6d  LPWSTR pEnvironm
f3b0: 65 6e 74 3b 0d 0a 20 20 4c 50 57 53 54 52 20 70  ent;..  LPWSTR p
f3c0: 44 4c 4c 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69  DLLName;..}..ali
f3d0: 61 73 20 5f 50 52 4f 56 49 44 4f 52 5f 49 4e 46  as _PROVIDOR_INF
f3e0: 4f 5f 31 57 20 50 52 4f 56 49 44 4f 52 5f 49 4e  O_1W PROVIDOR_IN
f3f0: 46 4f 5f 31 57 3b 0d 0a 61 6c 69 61 73 20 5f 50  FO_1W;..alias _P
f400: 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 31 57 2a  ROVIDOR_INFO_1W*
f410: 20 50 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f   PPROVIDOR_INFO_
f420: 31 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 56  1W;..alias _PROV
f430: 49 44 4f 52 5f 49 4e 46 4f 5f 31 57 2a 20 4c 50  IDOR_INFO_1W* LP
f440: 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 31 57  PROVIDOR_INFO_1W
f450: 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55  ;....// #ifdef U
f460: 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 50 52  NICODE..alias PR
f470: 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 31 57 20 50  OVIDOR_INFO_1W P
f480: 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 31 3b 0d  ROVIDOR_INFO_1;.
f490: 0a 61 6c 69 61 73 20 50 50 52 4f 56 49 44 4f 52  .alias PPROVIDOR
f4a0: 5f 49 4e 46 4f 5f 31 57 20 50 50 52 4f 56 49 44  _INFO_1W PPROVID
f4b0: 4f 52 5f 49 4e 46 4f 5f 31 3b 0d 0a 61 6c 69 61  OR_INFO_1;..alia
f4c0: 73 20 4c 50 50 52 4f 56 49 44 4f 52 5f 49 4e 46  s LPPROVIDOR_INF
f4d0: 4f 5f 31 57 20 4c 50 50 52 4f 56 49 44 4f 52 5f  O_1W LPPROVIDOR_
f4e0: 49 4e 46 4f 5f 31 3b 0d 0a 2f 2f 20 23 65 6c 73  INFO_1;..// #els
f4f0: 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65  e..// .....// #e
f500: 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d  ndif // UNICODE.
f510: 0a 0d 0a 73 74 72 75 63 74 20 5f 50 52 4f 56 49  ...struct _PROVI
f520: 44 4f 52 5f 49 4e 46 4f 5f 32 41 20 7b 0d 0a 20  DOR_INFO_2A {.. 
f530: 20 4c 50 53 54 52 20 70 4f 72 64 65 72 3b 0d 0a   LPSTR pOrder;..
f540: 7d 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 56 49 44  }..alias _PROVID
f550: 4f 52 5f 49 4e 46 4f 5f 32 41 20 50 52 4f 56 49  OR_INFO_2A PROVI
f560: 44 4f 52 5f 49 4e 46 4f 5f 32 41 3b 0d 0a 61 6c  DOR_INFO_2A;..al
f570: 69 61 73 20 5f 50 52 4f 56 49 44 4f 52 5f 49 4e  ias _PROVIDOR_IN
f580: 46 4f 5f 32 41 2a 20 50 50 52 4f 56 49 44 4f 52  FO_2A* PPROVIDOR
f590: 5f 49 4e 46 4f 5f 32 41 3b 0d 0a 61 6c 69 61 73  _INFO_2A;..alias
f5a0: 20 5f 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f   _PROVIDOR_INFO_
f5b0: 32 41 2a 20 4c 50 50 52 4f 56 49 44 4f 52 5f 49  2A* LPPROVIDOR_I
f5c0: 4e 46 4f 5f 32 41 3b 0d 0a 0d 0a 73 74 72 75 63  NFO_2A;....struc
f5d0: 74 20 5f 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f  t _PROVIDOR_INFO
f5e0: 5f 32 57 20 7b 0d 0a 20 20 4c 50 57 53 54 52 20  _2W {..  LPWSTR 
f5f0: 70 4f 72 64 65 72 3b 0d 0a 7d 0d 0a 61 6c 69 61  pOrder;..}..alia
f600: 73 20 5f 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f  s _PROVIDOR_INFO
f610: 5f 32 57 20 50 52 4f 56 49 44 4f 52 5f 49 4e 46  _2W PROVIDOR_INF
f620: 4f 5f 32 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52  O_2W;..alias _PR
f630: 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 32 57 2a 20  OVIDOR_INFO_2W* 
f640: 50 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 32  PPROVIDOR_INFO_2
f650: 57 3b 0d 0a 61 6c 69 61 73 20 5f 50 52 4f 56 49  W;..alias _PROVI
f660: 44 4f 52 5f 49 4e 46 4f 5f 32 57 2a 20 4c 50 50  DOR_INFO_2W* LPP
f670: 52 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 32 57 3b  ROVIDOR_INFO_2W;
f680: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e  ....// #ifdef UN
f690: 49 43 4f 44 45 0d 0a 61 6c 69 61 73 20 50 52 4f  ICODE..alias PRO
f6a0: 56 49 44 4f 52 5f 49 4e 46 4f 5f 32 57 20 50 52  VIDOR_INFO_2W PR
f6b0: 4f 56 49 44 4f 52 5f 49 4e 46 4f 5f 32 3b 0d 0a  OVIDOR_INFO_2;..
f6c0: 61 6c 69 61 73 20 50 50 52 4f 56 49 44 4f 52 5f  alias PPROVIDOR_
f6d0: 49 4e 46 4f 5f 32 57 20 50 50 52 4f 56 49 44 4f  INFO_2W PPROVIDO
f6e0: 52 5f 49 4e 46 4f 5f 32 3b 0d 0a 61 6c 69 61 73  R_INFO_2;..alias
f6f0: 20 4c 50 50 52 4f 56 49 44 4f 52 5f 49 4e 46 4f   LPPROVIDOR_INFO
f700: 5f 32 57 20 4c 50 50 52 4f 56 49 44 4f 52 5f 49  _2W LPPROVIDOR_I
f710: 4e 46 4f 5f 32 3b 0d 0a 2f 2f 20 23 65 6c 73 65  NFO_2;..// #else
f720: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  ..// .....// #en
f730: 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a  dif // UNICODE..
f740: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
f750: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 41 64  ) export BOOL Ad
f760: 64 50 72 69 6e 74 50 72 6f 76 69 64 6f 72 41 28  dPrintProvidorA(
f770: 0d 0a 20 20 20 20 20 4c 50 53 54 52 20 20 70 4e  ..     LPSTR  pN
f780: 61 6d 65 2c 0d 0a 20 20 20 20 20 44 57 4f 52 44  ame,..     DWORD
f790: 20 20 20 20 6c 65 76 65 6c 2c 0d 0a 20 20 20 20      level,..    
f7a0: 20 4c 50 42 59 54 45 20 20 20 70 50 72 6f 76 69   LPBYTE   pProvi
f7b0: 64 6f 72 49 6e 66 6f 0d 0a 29 3b 0d 0a 65 78 74  dorInfo..);..ext
f7c0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
f7d0: 6f 72 74 20 42 4f 4f 4c 20 41 64 64 50 72 69 6e  ort BOOL AddPrin
f7e0: 74 50 72 6f 76 69 64 6f 72 57 28 0d 0a 20 20 20  tProvidorW(..   
f7f0: 20 20 4c 50 57 53 54 52 20 20 70 4e 61 6d 65 2c    LPWSTR  pName,
f800: 0d 0a 20 20 20 20 20 44 57 4f 52 44 20 20 20 20  ..     DWORD    
f810: 6c 65 76 65 6c 2c 0d 0a 20 20 20 20 20 4c 50 42  level,..     LPB
f820: 59 54 45 20 20 20 70 50 72 6f 76 69 64 6f 72 49  YTE   pProvidorI
f830: 6e 66 6f 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64  nfo..);..// #ifd
f840: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61  ef UNICODE..alia
f850: 73 20 41 64 64 50 72 69 6e 74 50 72 6f 76 69 64  s AddPrintProvid
f860: 6f 72 57 20 41 64 64 50 72 69 6e 74 50 72 6f 76  orW AddPrintProv
f870: 69 64 6f 72 3b 0d 0a 2f 2f 20 23 65 6c 73 65 0d  idor;..// #else.
f880: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e  .// #.....// #en
f890: 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d  dif // !UNICODE.
f8a0: 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ...extern(Window
f8b0: 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44  s) export BOOL D
f8c0: 65 6c 65 74 65 50 72 69 6e 74 50 72 6f 76 69 64  eletePrintProvid
f8d0: 6f 72 41 28 0d 0a 20 20 20 20 20 4c 50 53 54 52  orA(..     LPSTR
f8e0: 20 20 20 70 4e 61 6d 65 2c 0d 0a 20 20 20 20 20     pName,..     
f8f0: 4c 50 53 54 52 20 20 20 70 45 6e 76 69 72 6f 6e  LPSTR   pEnviron
f900: 6d 65 6e 74 2c 0d 0a 20 20 20 20 20 4c 50 53 54  ment,..     LPST
f910: 52 20 20 20 70 50 72 69 6e 74 50 72 6f 76 69 64  R   pPrintProvid
f920: 6f 72 4e 61 6d 65 0d 0a 29 3b 0d 0a 65 78 74 65  orName..);..exte
f930: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
f940: 72 74 20 42 4f 4f 4c 20 44 65 6c 65 74 65 50 72  rt BOOL DeletePr
f950: 69 6e 74 50 72 6f 76 69 64 6f 72 57 28 0d 0a 20  intProvidorW(.. 
f960: 20 20 20 20 4c 50 57 53 54 52 20 20 20 70 4e 61      LPWSTR   pNa
f970: 6d 65 2c 0d 0a 20 20 20 20 20 4c 50 57 53 54 52  me,..     LPWSTR
f980: 20 20 20 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 2c     pEnvironment,
f990: 0d 0a 20 20 20 20 20 4c 50 57 53 54 52 20 20 20  ..     LPWSTR   
f9a0: 70 50 72 69 6e 74 50 72 6f 76 69 64 6f 72 4e 61  pPrintProvidorNa
f9b0: 6d 65 0d 0a 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  me..);..// #ifde
f9c0: 66 20 55 4e 49 43 4f 44 45 0d 0a 61 6c 69 61 73  f UNICODE..alias
f9d0: 20 44 65 6c 65 74 65 50 72 69 6e 74 50 72 6f 76   DeletePrintProv
f9e0: 69 64 6f 72 57 20 44 65 6c 65 74 65 50 72 69 6e  idorW DeletePrin
f9f0: 74 50 72 6f 76 69 64 6f 72 3b 0d 0a 2f 2f 20 23  tProvidor;..// #
fa00: 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f  else..// #...../
fa10: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49  / #endif // !UNI
fa20: 43 4f 44 45 0d 0a 0d 0a 63 6f 6e 73 74 20 54 43  CODE....const TC
fa30: 48 41 52 5b 5d 20 53 50 4c 52 45 47 5f 44 45 46  HAR[] SPLREG_DEF
fa40: 41 55 4c 54 5f 53 50 4f 4f 4c 5f 44 49 52 45 43  AULT_SPOOL_DIREC
fa50: 54 4f 52 59 20 3d 20 22 44 65 66 61 75 6c 74 53  TORY = "DefaultS
fa60: 70 6f 6f 6c 44 69 72 65 63 74 6f 72 79 22 3b 0d  poolDirectory";.
fa70: 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53  .const TCHAR[] S
fa80: 50 4c 52 45 47 5f 50 4f 52 54 5f 54 48 52 45 41  PLREG_PORT_THREA
fa90: 44 5f 50 52 49 4f 52 49 54 59 5f 44 45 46 41 55  D_PRIORITY_DEFAU
faa0: 4c 54 20 3d 20 22 50 6f 72 74 54 68 72 65 61 64  LT = "PortThread
fab0: 50 72 69 6f 72 69 74 79 44 65 66 61 75 6c 74 22  PriorityDefault"
fac0: 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d  ;..const TCHAR[]
fad0: 20 53 50 4c 52 45 47 5f 50 4f 52 54 5f 54 48 52   SPLREG_PORT_THR
fae0: 45 41 44 5f 50 52 49 4f 52 49 54 59 20 3d 20 22  EAD_PRIORITY = "
faf0: 50 6f 72 74 54 68 72 65 61 64 50 72 69 6f 72 69  PortThreadPriori
fb00: 74 79 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41  ty";..const TCHA
fb10: 52 5b 5d 20 53 50 4c 52 45 47 5f 53 43 48 45 44  R[] SPLREG_SCHED
fb20: 55 4c 45 52 5f 54 48 52 45 41 44 5f 50 52 49 4f  ULER_THREAD_PRIO
fb30: 52 49 54 59 5f 44 45 46 41 55 4c 54 20 3d 20 22  RITY_DEFAULT = "
fb40: 53 63 68 65 64 75 6c 65 72 54 68 72 65 61 64 50  SchedulerThreadP
fb50: 72 69 6f 72 69 74 79 44 65 66 61 75 6c 74 22 3b  riorityDefault";
fb60: 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20  ..const TCHAR[] 
fb70: 53 50 4c 52 45 47 5f 53 43 48 45 44 55 4c 45 52  SPLREG_SCHEDULER
fb80: 5f 54 48 52 45 41 44 5f 50 52 49 4f 52 49 54 59  _THREAD_PRIORITY
fb90: 20 3d 20 22 53 63 68 65 64 75 6c 65 72 54 68 72   = "SchedulerThr
fba0: 65 61 64 50 72 69 6f 72 69 74 79 22 3b 0d 0a 63  eadPriority";..c
fbb0: 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c  onst TCHAR[] SPL
fbc0: 52 45 47 5f 42 45 45 50 5f 45 4e 41 42 4c 45 44  REG_BEEP_ENABLED
fbd0: 20 3d 20 22 42 65 65 70 45 6e 61 62 6c 65 64 22   = "BeepEnabled"
fbe0: 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d  ;..const TCHAR[]
fbf0: 20 53 50 4c 52 45 47 5f 4e 45 54 5f 50 4f 50 55   SPLREG_NET_POPU
fc00: 50 20 3d 20 22 4e 65 74 50 6f 70 75 70 22 3b 0d  P = "NetPopup";.
fc10: 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53  .const TCHAR[] S
fc20: 50 4c 52 45 47 5f 52 45 54 52 59 5f 50 4f 50 55  PLREG_RETRY_POPU
fc30: 50 20 3d 20 22 52 65 74 72 79 50 6f 70 75 70 22  P = "RetryPopup"
fc40: 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d  ;..const TCHAR[]
fc50: 20 53 50 4c 52 45 47 5f 4e 45 54 5f 50 4f 50 55   SPLREG_NET_POPU
fc60: 50 5f 54 4f 5f 43 4f 4d 50 55 54 45 52 20 3d 20  P_TO_COMPUTER = 
fc70: 22 4e 65 74 50 6f 70 75 70 54 6f 43 6f 6d 70 75  "NetPopupToCompu
fc80: 74 65 72 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48  ter";..const TCH
fc90: 41 52 5b 5d 20 53 50 4c 52 45 47 5f 45 56 45 4e  AR[] SPLREG_EVEN
fca0: 54 5f 4c 4f 47 20 3d 20 22 45 76 65 6e 74 4c 6f  T_LOG = "EventLo
fcb0: 67 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  g";..const TCHAR
fcc0: 5b 5d 20 53 50 4c 52 45 47 5f 4d 41 4a 4f 52 5f  [] SPLREG_MAJOR_
fcd0: 56 45 52 53 49 4f 4e 20 3d 20 22 4d 61 6a 6f 72  VERSION = "Major
fce0: 56 65 72 73 69 6f 6e 22 3b 0d 0a 63 6f 6e 73 74  Version";..const
fcf0: 20 54 43 48 41 52 5b 5d 20 53 50 4c 52 45 47 5f   TCHAR[] SPLREG_
fd00: 4d 49 4e 4f 52 5f 56 45 52 53 49 4f 4e 20 3d 20  MINOR_VERSION = 
fd10: 22 4d 69 6e 6f 72 56 65 72 73 69 6f 6e 22 3b 0d  "MinorVersion";.
fd20: 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53  .const TCHAR[] S
fd30: 50 4c 52 45 47 5f 41 52 43 48 49 54 45 43 54 55  PLREG_ARCHITECTU
fd40: 52 45 20 3d 20 22 41 72 63 68 69 74 65 63 74 75  RE = "Architectu
fd50: 72 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41  re";..const TCHA
fd60: 52 5b 5d 20 53 50 4c 52 45 47 5f 4f 53 5f 56 45  R[] SPLREG_OS_VE
fd70: 52 53 49 4f 4e 20 3d 20 22 4f 53 56 65 72 73 69  RSION = "OSVersi
fd80: 6f 6e 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41  on";..const TCHA
fd90: 52 5b 5d 20 53 50 4c 52 45 47 5f 4f 53 5f 56 45  R[] SPLREG_OS_VE
fda0: 52 53 49 4f 4e 45 58 20 3d 20 22 4f 53 56 65 72  RSIONEX = "OSVer
fdb0: 73 69 6f 6e 45 78 22 3b 0d 0a 63 6f 6e 73 74 20  sionEx";..const 
fdc0: 54 43 48 41 52 5b 5d 20 53 50 4c 52 45 47 5f 44  TCHAR[] SPLREG_D
fdd0: 53 5f 50 52 45 53 45 4e 54 20 3d 20 22 44 73 50  S_PRESENT = "DsP
fde0: 72 65 73 65 6e 74 22 3b 0d 0a 63 6f 6e 73 74 20  resent";..const 
fdf0: 54 43 48 41 52 5b 5d 20 53 50 4c 52 45 47 5f 44  TCHAR[] SPLREG_D
fe00: 53 5f 50 52 45 53 45 4e 54 5f 46 4f 52 5f 55 53  S_PRESENT_FOR_US
fe10: 45 52 20 3d 20 22 44 73 50 72 65 73 65 6e 74 46  ER = "DsPresentF
fe20: 6f 72 55 73 65 72 22 3b 0d 0a 63 6f 6e 73 74 20  orUser";..const 
fe30: 54 43 48 41 52 5b 5d 20 53 50 4c 52 45 47 5f 52  TCHAR[] SPLREG_R
fe40: 45 4d 4f 54 45 5f 46 41 58 20 3d 20 22 52 65 6d  EMOTE_FAX = "Rem
fe50: 6f 74 65 46 61 78 22 3b 0d 0a 63 6f 6e 73 74 20  oteFax";..const 
fe60: 54 43 48 41 52 5b 5d 20 53 50 4c 52 45 47 5f 52  TCHAR[] SPLREG_R
fe70: 45 53 54 41 52 54 5f 4a 4f 42 5f 4f 4e 5f 50 4f  ESTART_JOB_ON_PO
fe80: 4f 4c 5f 45 52 52 4f 52 20 3d 20 22 52 65 73 74  OL_ERROR = "Rest
fe90: 61 72 74 4a 6f 62 4f 6e 50 6f 6f 6c 45 72 72 6f  artJobOnPoolErro
fea0: 72 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  r";..const TCHAR
feb0: 5b 5d 20 53 50 4c 52 45 47 5f 52 45 53 54 41 52  [] SPLREG_RESTAR
fec0: 54 5f 4a 4f 42 5f 4f 4e 5f 50 4f 4f 4c 5f 45 4e  T_JOB_ON_POOL_EN
fed0: 41 42 4c 45 44 20 3d 20 22 52 65 73 74 61 72 74  ABLED = "Restart
fee0: 4a 6f 62 4f 6e 50 6f 6f 6c 45 6e 61 62 6c 65 64  JobOnPoolEnabled
fef0: 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
ff00: 5d 20 53 50 4c 52 45 47 5f 44 4e 53 5f 4d 41 43  ] SPLREG_DNS_MAC
ff10: 48 49 4e 45 5f 4e 41 4d 45 20 3d 20 22 44 4e 53  HINE_NAME = "DNS
ff20: 4d 61 63 68 69 6e 65 4e 61 6d 65 22 3b 0d 0a 0d  MachineName";...
ff30: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
ff40: 45 52 56 45 52 5f 41 43 43 45 53 53 5f 41 44 4d  ERVER_ACCESS_ADM
ff50: 49 4e 49 53 54 45 52 20 3d 20 30 78 30 30 30 30  INISTER = 0x0000
ff60: 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0001 }..enum : u
ff70: 69 6e 74 20 7b 20 53 45 52 56 45 52 5f 41 43 43  int { SERVER_ACC
ff80: 45 53 53 5f 45 4e 55 4d 45 52 41 54 45 20 3d 20  ESS_ENUMERATE = 
ff90: 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 0d 0a  0x00000002 }....
ffa0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 52  enum : uint { PR
ffb0: 49 4e 54 45 52 5f 41 43 43 45 53 53 5f 41 44 4d  INTER_ACCESS_ADM
ffc0: 49 4e 49 53 54 45 52 20 3d 20 30 78 30 30 30 30  INISTER = 0x0000
ffd0: 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  0004 }..enum : u
ffe0: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 41 43  int { PRINTER_AC
fff0: 43 45 53 53 5f 55 53 45 20 3d 20 30 78 30 30 30  CESS_USE = 0x000
10000 30 30 30 30 38 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  00008 }....enum 
10010 3a 20 75 69 6e 74 20 7b 20 4a 4f 42 5f 41 43 43  : uint { JOB_ACC
10020 45 53 53 5f 41 44 4d 49 4e 49 53 54 45 52 20 3d  ESS_ADMINISTER =
10030 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 0d   0x00000010 }...
10040 0a 63 6f 6e 73 74 20 75 69 6e 74 20 53 45 52 56  .const uint SERV
10050 45 52 5f 41 4c 4c 5f 41 43 43 45 53 53 20 3d 20  ER_ALL_ACCESS = 
10060 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f  STANDARD_RIGHTS_
10070 52 45 51 55 49 52 45 44 20 7c 20 53 45 52 56 45  REQUIRED | SERVE
10080 52 5f 41 43 43 45 53 53 5f 41 44 4d 49 4e 49 53  R_ACCESS_ADMINIS
10090 54 45 52 20 7c 20 53 45 52 56 45 52 5f 41 43 43  TER | SERVER_ACC
100a0 45 53 53 5f 45 4e 55 4d 45 52 41 54 45 3b 0d 0a  ESS_ENUMERATE;..
100b0 0d 0a 63 6f 6e 73 74 20 75 69 6e 74 20 53 45 52  ..const uint SER
100c0 56 45 52 5f 52 45 41 44 20 3d 20 53 54 41 4e 44  VER_READ = STAND
100d0 41 52 44 5f 52 49 47 48 54 53 5f 52 45 41 44 20  ARD_RIGHTS_READ 
100e0 7c 20 53 45 52 56 45 52 5f 41 43 43 45 53 53 5f  | SERVER_ACCESS_
100f0 45 4e 55 4d 45 52 41 54 45 3b 0d 0a 0d 0a 63 6f  ENUMERATE;....co
10100 6e 73 74 20 75 69 6e 74 20 53 45 52 56 45 52 5f  nst uint SERVER_
10110 57 52 49 54 45 20 3d 20 53 54 41 4e 44 41 52 44  WRITE = STANDARD
10120 5f 52 49 47 48 54 53 5f 57 52 49 54 45 20 7c 20  _RIGHTS_WRITE | 
10130 53 45 52 56 45 52 5f 41 43 43 45 53 53 5f 41 44  SERVER_ACCESS_AD
10140 4d 49 4e 49 53 54 45 52 20 7c 20 53 45 52 56 45  MINISTER | SERVE
10150 52 5f 41 43 43 45 53 53 5f 45 4e 55 4d 45 52 41  R_ACCESS_ENUMERA
10160 54 45 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 75 69 6e  TE;....const uin
10170 74 20 53 45 52 56 45 52 5f 45 58 45 43 55 54 45  t SERVER_EXECUTE
10180 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48   = STANDARD_RIGH
10190 54 53 5f 45 58 45 43 55 54 45 20 7c 20 53 45 52  TS_EXECUTE | SER
101a0 56 45 52 5f 41 43 43 45 53 53 5f 45 4e 55 4d 45  VER_ACCESS_ENUME
101b0 52 41 54 45 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 75  RATE;....const u
101c0 69 6e 74 20 50 52 49 4e 54 45 52 5f 41 4c 4c 5f  int PRINTER_ALL_
101d0 41 43 43 45 53 53 20 3d 20 53 54 41 4e 44 41 52  ACCESS = STANDAR
101e0 44 5f 52 49 47 48 54 53 5f 52 45 51 55 49 52 45  D_RIGHTS_REQUIRE
101f0 44 20 7c 20 50 52 49 4e 54 45 52 5f 41 43 43 45  D | PRINTER_ACCE
10200 53 53 5f 41 44 4d 49 4e 49 53 54 45 52 20 7c 20  SS_ADMINISTER | 
10210 50 52 49 4e 54 45 52 5f 41 43 43 45 53 53 5f 55  PRINTER_ACCESS_U
10220 53 45 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 75 69 6e  SE;....const uin
10230 74 20 50 52 49 4e 54 45 52 5f 52 45 41 44 20 3d  t PRINTER_READ =
10240 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53   STANDARD_RIGHTS
10250 5f 52 45 41 44 20 7c 20 50 52 49 4e 54 45 52 5f  _READ | PRINTER_
10260 41 43 43 45 53 53 5f 55 53 45 3b 0d 0a 0d 0a 63  ACCESS_USE;....c
10270 6f 6e 73 74 20 75 69 6e 74 20 50 52 49 4e 54 45  onst uint PRINTE
10280 52 5f 57 52 49 54 45 20 3d 20 53 54 41 4e 44 41  R_WRITE = STANDA
10290 52 44 5f 52 49 47 48 54 53 5f 57 52 49 54 45 20  RD_RIGHTS_WRITE 
102a0 7c 20 50 52 49 4e 54 45 52 5f 41 43 43 45 53 53  | PRINTER_ACCESS
102b0 5f 55 53 45 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 75  _USE;....const u
102c0 69 6e 74 20 50 52 49 4e 54 45 52 5f 45 58 45 43  int PRINTER_EXEC
102d0 55 54 45 20 3d 20 53 54 41 4e 44 41 52 44 5f 52  UTE = STANDARD_R
102e0 49 47 48 54 53 5f 45 58 45 43 55 54 45 20 7c 20  IGHTS_EXECUTE | 
102f0 50 52 49 4e 54 45 52 5f 41 43 43 45 53 53 5f 55  PRINTER_ACCESS_U
10300 53 45 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 75 69 6e  SE;....const uin
10310 74 20 4a 4f 42 5f 41 4c 4c 5f 41 43 43 45 53 53  t JOB_ALL_ACCESS
10320 20 3d 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48   = STANDARD_RIGH
10330 54 53 5f 52 45 51 55 49 52 45 44 20 7c 20 4a 4f  TS_REQUIRED | JO
10340 42 5f 41 43 43 45 53 53 5f 41 44 4d 49 4e 49 53  B_ACCESS_ADMINIS
10350 54 45 52 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 75 69  TER;....const ui
10360 6e 74 20 4a 4f 42 5f 52 45 41 44 20 3d 20 53 54  nt JOB_READ = ST
10370 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 52 45  ANDARD_RIGHTS_RE
10380 41 44 20 7c 20 4a 4f 42 5f 41 43 43 45 53 53 5f  AD | JOB_ACCESS_
10390 41 44 4d 49 4e 49 53 54 45 52 3b 0d 0a 0d 0a 63  ADMINISTER;....c
103a0 6f 6e 73 74 20 75 69 6e 74 20 4a 4f 42 5f 57 52  onst uint JOB_WR
103b0 49 54 45 20 3d 20 53 54 41 4e 44 41 52 44 5f 52  ITE = STANDARD_R
103c0 49 47 48 54 53 5f 57 52 49 54 45 20 7c 20 4a 4f  IGHTS_WRITE | JO
103d0 42 5f 41 43 43 45 53 53 5f 41 44 4d 49 4e 49 53  B_ACCESS_ADMINIS
103e0 54 45 52 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 75 69  TER;....const ui
103f0 6e 74 20 4a 4f 42 5f 45 58 45 43 55 54 45 20 3d  nt JOB_EXECUTE =
10400 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53   STANDARD_RIGHTS
10410 5f 45 58 45 43 55 54 45 20 7c 20 4a 4f 42 5f 41  _EXECUTE | JOB_A
10420 43 43 45 53 53 5f 41 44 4d 49 4e 49 53 54 45 52  CCESS_ADMINISTER
10430 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  ;....const TCHAR
10440 5b 5d 20 53 50 4c 44 53 5f 53 50 4f 4f 4c 45 52  [] SPLDS_SPOOLER
10450 5f 4b 45 59 20 3d 20 22 44 73 53 70 6f 6f 6c 65  _KEY = "DsSpoole
10460 72 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  r";..const TCHAR
10470 5b 5d 20 53 50 4c 44 53 5f 44 52 49 56 45 52 5f  [] SPLDS_DRIVER_
10480 4b 45 59 20 3d 20 22 44 73 44 72 69 76 65 72 22  KEY = "DsDriver"
10490 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d  ;..const TCHAR[]
104a0 20 53 50 4c 44 53 5f 55 53 45 52 5f 4b 45 59 20   SPLDS_USER_KEY 
104b0 3d 20 22 44 73 55 73 65 72 22 3b 0d 0a 0d 0a 63  = "DsUser";....c
104c0 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c  onst TCHAR[] SPL
104d0 44 53 5f 41 53 53 45 54 5f 4e 55 4d 42 45 52 20  DS_ASSET_NUMBER 
104e0 3d 20 22 61 73 73 65 74 4e 75 6d 62 65 72 22 3b  = "assetNumber";
104f0 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20  ..const TCHAR[] 
10500 53 50 4c 44 53 5f 42 59 54 45 53 5f 50 45 52 5f  SPLDS_BYTES_PER_
10510 4d 49 4e 55 54 45 20 3d 20 22 62 79 74 65 73 50  MINUTE = "bytesP
10520 65 72 4d 69 6e 75 74 65 22 3b 0d 0a 63 6f 6e 73  erMinute";..cons
10530 74 20 54 43 48 41 52 5b 5d 20 53 50 4c 44 53 5f  t TCHAR[] SPLDS_
10540 44 45 53 43 52 49 50 54 49 4f 4e 20 3d 20 22 64  DESCRIPTION = "d
10550 65 73 63 72 69 70 74 69 6f 6e 22 3b 0d 0a 63 6f  escription";..co
10560 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c 44  nst TCHAR[] SPLD
10570 53 5f 44 52 49 56 45 52 5f 4e 41 4d 45 20 3d 20  S_DRIVER_NAME = 
10580 22 64 72 69 76 65 72 4e 61 6d 65 22 3b 0d 0a 63  "driverName";..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 44 52 49 56 45 52 5f 56 45 52 53 49 4f  DS_DRIVER_VERSIO
105b0 4e 20 3d 20 22 64 72 69 76 65 72 56 65 72 73 69  N = "driverVersi
105c0 6f 6e 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41  on";..const TCHA
105d0 52 5b 5d 20 53 50 4c 44 53 5f 4c 4f 43 41 54 49  R[] SPLDS_LOCATI
105e0 4f 4e 20 3d 20 22 6c 6f 63 61 74 69 6f 6e 22 3b  ON = "location";
105f0 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20  ..const TCHAR[] 
10600 53 50 4c 44 53 5f 50 4f 52 54 5f 4e 41 4d 45 20  SPLDS_PORT_NAME 
10610 3d 20 22 70 6f 72 74 4e 61 6d 65 22 3b 0d 0a 63  = "portName";..c
10620 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c  onst TCHAR[] SPL
10630 44 53 5f 50 52 49 4e 54 5f 41 54 54 52 49 42 55  DS_PRINT_ATTRIBU
10640 54 45 53 20 3d 20 22 70 72 69 6e 74 41 74 74 72  TES = "printAttr
10650 69 62 75 74 65 73 22 3b 0d 0a 63 6f 6e 73 74 20  ibutes";..const 
10660 54 43 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52  TCHAR[] SPLDS_PR
10670 49 4e 54 5f 42 49 4e 5f 4e 41 4d 45 53 20 3d 20  INT_BIN_NAMES = 
10680 22 70 72 69 6e 74 42 69 6e 4e 61 6d 65 73 22 3b  "printBinNames";
10690 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20  ..const TCHAR[] 
106a0 53 50 4c 44 53 5f 50 52 49 4e 54 5f 43 4f 4c 4c  SPLDS_PRINT_COLL
106b0 41 54 45 20 3d 20 22 70 72 69 6e 74 43 6f 6c 6c  ATE = "printColl
106c0 61 74 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48  ate";..const TCH
106d0 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54  AR[] SPLDS_PRINT
106e0 5f 43 4f 4c 4f 52 20 3d 20 22 70 72 69 6e 74 43  _COLOR = "printC
106f0 6f 6c 6f 72 22 3b 0d 0a 63 6f 6e 73 74 20 54 43  olor";..const TC
10700 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e  HAR[] SPLDS_PRIN
10710 54 5f 44 55 50 4c 45 58 5f 53 55 50 50 4f 52 54  T_DUPLEX_SUPPORT
10720 45 44 20 3d 20 22 70 72 69 6e 74 44 75 70 6c 65  ED = "printDuple
10730 78 53 75 70 70 6f 72 74 65 64 22 3b 0d 0a 63 6f  xSupported";..co
10740 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c 44  nst TCHAR[] SPLD
10750 53 5f 50 52 49 4e 54 5f 45 4e 44 5f 54 49 4d 45  S_PRINT_END_TIME
10760 20 3d 20 22 70 72 69 6e 74 45 6e 64 54 69 6d 65   = "printEndTime
10770 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
10780 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54 45 52 5f  ] SPLDS_PRINTER_
10790 43 4c 41 53 53 20 3d 20 22 70 72 69 6e 74 51 75  CLASS = "printQu
107a0 65 75 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48  eue";..const TCH
107b0 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54  AR[] SPLDS_PRINT
107c0 45 52 5f 4e 41 4d 45 20 3d 20 22 70 72 69 6e 74  ER_NAME = "print
107d0 65 72 4e 61 6d 65 22 3b 0d 0a 63 6f 6e 73 74 20  erName";..const 
107e0 54 43 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52  TCHAR[] SPLDS_PR
107f0 49 4e 54 5f 4b 45 45 50 5f 50 52 49 4e 54 45 44  INT_KEEP_PRINTED
10800 5f 4a 4f 42 53 20 3d 20 22 70 72 69 6e 74 4b 65  _JOBS = "printKe
10810 65 70 50 72 69 6e 74 65 64 4a 6f 62 73 22 3b 0d  epPrintedJobs";.
10820 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53  .const TCHAR[] S
10830 50 4c 44 53 5f 50 52 49 4e 54 5f 4c 41 4e 47 55  PLDS_PRINT_LANGU
10840 41 47 45 20 3d 20 22 70 72 69 6e 74 4c 61 6e 67  AGE = "printLang
10850 75 61 67 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43  uage";..const TC
10860 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e  HAR[] SPLDS_PRIN
10870 54 5f 4d 41 43 5f 41 44 44 52 45 53 53 20 3d 20  T_MAC_ADDRESS = 
10880 22 70 72 69 6e 74 4d 41 43 41 64 64 72 65 73 73  "printMACAddress
10890 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
108a0 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f 4d 41  ] SPLDS_PRINT_MA
108b0 58 5f 58 5f 45 58 54 45 4e 54 20 3d 20 22 70 72  X_X_EXTENT = "pr
108c0 69 6e 74 4d 61 78 58 45 78 74 65 6e 74 22 3b 0d  intMaxXExtent";.
108d0 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53  .const TCHAR[] S
108e0 50 4c 44 53 5f 50 52 49 4e 54 5f 4d 41 58 5f 59  PLDS_PRINT_MAX_Y
108f0 5f 45 58 54 45 4e 54 20 3d 20 22 70 72 69 6e 74  _EXTENT = "print
10900 4d 61 78 59 45 78 74 65 6e 74 22 3b 0d 0a 63 6f  MaxYExtent";..co
10910 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c 44  nst TCHAR[] SPLD
10920 53 5f 50 52 49 4e 54 5f 4d 41 58 5f 52 45 53 4f  S_PRINT_MAX_RESO
10930 4c 55 54 49 4f 4e 5f 53 55 50 50 4f 52 54 45 44  LUTION_SUPPORTED
10940 20 3d 20 22 70 72 69 6e 74 4d 61 78 52 65 73 6f   = "printMaxReso
10950 6c 75 74 69 6f 6e 53 75 70 70 6f 72 74 65 64 22  lutionSupported"
10960 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d  ;..const TCHAR[]
10970 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f 4d 45 44   SPLDS_PRINT_MED
10980 49 41 5f 52 45 41 44 59 20 3d 20 22 70 72 69 6e  IA_READY = "prin
10990 74 4d 65 64 69 61 52 65 61 64 79 22 3b 0d 0a 63  tMediaReady";..c
109a0 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c  onst TCHAR[] SPL
109b0 44 53 5f 50 52 49 4e 54 5f 4d 45 44 49 41 5f 53  DS_PRINT_MEDIA_S
109c0 55 50 50 4f 52 54 45 44 20 3d 20 22 70 72 69 6e  UPPORTED = "prin
109d0 74 4d 65 64 69 61 53 75 70 70 6f 72 74 65 64 22  tMediaSupported"
109e0 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d  ;..const TCHAR[]
109f0 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f 4d 45 4d   SPLDS_PRINT_MEM
10a00 4f 52 59 20 3d 20 22 70 72 69 6e 74 4d 65 6d 6f  ORY = "printMemo
10a10 72 79 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41  ry";..const TCHA
10a20 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f  R[] SPLDS_PRINT_
10a30 4d 49 4e 5f 58 5f 45 58 54 45 4e 54 20 3d 20 22  MIN_X_EXTENT = "
10a40 70 72 69 6e 74 4d 69 6e 58 45 78 74 65 6e 74 22  printMinXExtent"
10a50 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d  ;..const TCHAR[]
10a60 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f 4d 49 4e   SPLDS_PRINT_MIN
10a70 5f 59 5f 45 58 54 45 4e 54 20 3d 20 22 70 72 69  _Y_EXTENT = "pri
10a80 6e 74 4d 69 6e 59 45 78 74 65 6e 74 22 3b 0d 0a  ntMinYExtent";..
10a90 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50  const TCHAR[] SP
10aa0 4c 44 53 5f 50 52 49 4e 54 5f 4e 45 54 57 4f 52  LDS_PRINT_NETWOR
10ab0 4b 5f 41 44 44 52 45 53 53 20 3d 20 22 70 72 69  K_ADDRESS = "pri
10ac0 6e 74 4e 65 74 77 6f 72 6b 41 64 64 72 65 73 73  ntNetworkAddress
10ad0 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
10ae0 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f 4e 4f  ] SPLDS_PRINT_NO
10af0 54 49 46 59 20 3d 20 22 70 72 69 6e 74 4e 6f 74  TIFY = "printNot
10b00 69 66 79 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48  ify";..const TCH
10b10 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54  AR[] SPLDS_PRINT
10b20 5f 4e 55 4d 42 45 52 5f 55 50 20 3d 20 22 70 72  _NUMBER_UP = "pr
10b30 69 6e 74 4e 75 6d 62 65 72 55 70 22 3b 0d 0a 63  intNumberUp";..c
10b40 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c  onst TCHAR[] SPL
10b50 44 53 5f 50 52 49 4e 54 5f 4f 52 49 45 4e 54 41  DS_PRINT_ORIENTA
10b60 54 49 4f 4e 53 5f 53 55 50 50 4f 52 54 45 44 20  TIONS_SUPPORTED 
10b70 3d 20 22 70 72 69 6e 74 4f 72 69 65 6e 74 61 74  = "printOrientat
10b80 69 6f 6e 73 53 75 70 70 6f 72 74 65 64 22 3b 0d  ionsSupported";.
10b90 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53  .const TCHAR[] S
10ba0 50 4c 44 53 5f 50 52 49 4e 54 5f 4f 57 4e 45 52  PLDS_PRINT_OWNER
10bb0 20 3d 20 22 70 72 69 6e 74 4f 77 6e 65 72 22 3b   = "printOwner";
10bc0 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20  ..const TCHAR[] 
10bd0 53 50 4c 44 53 5f 50 52 49 4e 54 5f 50 41 47 45  SPLDS_PRINT_PAGE
10be0 53 5f 50 45 52 5f 4d 49 4e 55 54 45 20 3d 20 22  S_PER_MINUTE = "
10bf0 70 72 69 6e 74 50 61 67 65 73 50 65 72 4d 69 6e  printPagesPerMin
10c00 75 74 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48  ute";..const TCH
10c10 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54  AR[] SPLDS_PRINT
10c20 5f 52 41 54 45 20 3d 20 22 70 72 69 6e 74 52 61  _RATE = "printRa
10c30 74 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41  te";..const TCHA
10c40 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f  R[] SPLDS_PRINT_
10c50 52 41 54 45 5f 55 4e 49 54 20 3d 20 22 70 72 69  RATE_UNIT = "pri
10c60 6e 74 52 61 74 65 55 6e 69 74 22 3b 0d 0a 63 6f  ntRateUnit";..co
10c70 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c 44  nst TCHAR[] SPLD
10c80 53 5f 50 52 49 4e 54 5f 53 45 50 41 52 41 54 4f  S_PRINT_SEPARATO
10c90 52 5f 46 49 4c 45 20 3d 20 22 70 72 69 6e 74 53  R_FILE = "printS
10ca0 65 70 61 72 61 74 6f 72 46 69 6c 65 22 3b 0d 0a  eparatorFile";..
10cb0 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50  const TCHAR[] SP
10cc0 4c 44 53 5f 50 52 49 4e 54 5f 53 48 41 52 45 5f  LDS_PRINT_SHARE_
10cd0 4e 41 4d 45 20 3d 20 22 70 72 69 6e 74 53 68 61  NAME = "printSha
10ce0 72 65 4e 61 6d 65 22 3b 0d 0a 63 6f 6e 73 74 20  reName";..const 
10cf0 54 43 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52  TCHAR[] SPLDS_PR
10d00 49 4e 54 5f 53 50 4f 4f 4c 49 4e 47 20 3d 20 22  INT_SPOOLING = "
10d10 70 72 69 6e 74 53 70 6f 6f 6c 69 6e 67 22 3b 0d  printSpooling";.
10d20 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53  .const TCHAR[] S
10d30 50 4c 44 53 5f 50 52 49 4e 54 5f 53 54 41 50 4c  PLDS_PRINT_STAPL
10d40 49 4e 47 5f 53 55 50 50 4f 52 54 45 44 20 3d 20  ING_SUPPORTED = 
10d50 22 70 72 69 6e 74 53 74 61 70 6c 69 6e 67 53 75  "printStaplingSu
10d60 70 70 6f 72 74 65 64 22 3b 0d 0a 63 6f 6e 73 74  pported";..const
10d70 20 54 43 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50   TCHAR[] SPLDS_P
10d80 52 49 4e 54 5f 53 54 41 52 54 5f 54 49 4d 45 20  RINT_START_TIME 
10d90 3d 20 22 70 72 69 6e 74 53 74 61 72 74 54 69 6d  = "printStartTim
10da0 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  e";..const TCHAR
10db0 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4e 54 5f 53  [] SPLDS_PRINT_S
10dc0 54 41 54 55 53 20 3d 20 22 70 72 69 6e 74 53 74  TATUS = "printSt
10dd0 61 74 75 73 22 3b 0d 0a 63 6f 6e 73 74 20 54 43  atus";..const TC
10de0 48 41 52 5b 5d 20 53 50 4c 44 53 5f 50 52 49 4f  HAR[] SPLDS_PRIO
10df0 52 49 54 59 20 3d 20 22 70 72 69 6f 72 69 74 79  RITY = "priority
10e00 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
10e10 5d 20 53 50 4c 44 53 5f 53 45 52 56 45 52 5f 4e  ] SPLDS_SERVER_N
10e20 41 4d 45 20 3d 20 22 73 65 72 76 65 72 4e 61 6d  AME = "serverNam
10e30 65 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52  e";..const TCHAR
10e40 5b 5d 20 53 50 4c 44 53 5f 53 48 4f 52 54 5f 53  [] SPLDS_SHORT_S
10e50 45 52 56 45 52 5f 4e 41 4d 45 20 3d 20 22 73 68  ERVER_NAME = "sh
10e60 6f 72 74 53 65 72 76 65 72 4e 61 6d 65 22 3b 0d  ortServerName";.
10e70 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53  .const TCHAR[] S
10e80 50 4c 44 53 5f 55 4e 43 5f 4e 41 4d 45 20 3d 20  PLDS_UNC_NAME = 
10e90 22 75 4e 43 4e 61 6d 65 22 3b 0d 0a 63 6f 6e 73  "uNCName";..cons
10ea0 74 20 54 43 48 41 52 5b 5d 20 53 50 4c 44 53 5f  t TCHAR[] SPLDS_
10eb0 55 52 4c 20 3d 20 22 75 72 6c 22 3b 0d 0a 63 6f  URL = "url";..co
10ec0 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c 44  nst TCHAR[] SPLD
10ed0 53 5f 46 4c 41 47 53 20 3d 20 22 66 6c 61 67 73  S_FLAGS = "flags
10ee0 22 3b 0d 0a 63 6f 6e 73 74 20 54 43 48 41 52 5b  ";..const TCHAR[
10ef0 5d 20 53 50 4c 44 53 5f 56 45 52 53 49 4f 4e 5f  ] SPLDS_VERSION_
10f00 4e 55 4d 42 45 52 20 3d 20 22 76 65 72 73 69 6f  NUMBER = "versio
10f10 6e 4e 75 6d 62 65 72 22 3b 0d 0a 0d 0a 63 6f 6e  nNumber";....con
10f20 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c 44 53  st TCHAR[] SPLDS
10f30 5f 50 52 49 4e 54 45 52 5f 4e 41 4d 45 5f 41 4c  _PRINTER_NAME_AL
10f40 49 41 53 45 53 20 3d 20 22 70 72 69 6e 74 65 72  IASES = "printer
10f50 4e 61 6d 65 41 6c 69 61 73 65 73 22 3b 0d 0a 63  NameAliases";..c
10f60 6f 6e 73 74 20 54 43 48 41 52 5b 5d 20 53 50 4c  onst TCHAR[] SPL
10f70 44 53 5f 50 52 49 4e 54 45 52 5f 4c 4f 43 41 54  DS_PRINTER_LOCAT
10f80 49 4f 4e 53 20 3d 20 22 70 72 69 6e 74 65 72 4c  IONS = "printerL
10f90 6f 63 61 74 69 6f 6e 73 22 3b 0d 0a 63 6f 6e 73  ocations";..cons
10fa0 74 20 54 43 48 41 52 5b 5d 20 53 50 4c 44 53 5f  t TCHAR[] SPLDS_
10fb0 50 52 49 4e 54 45 52 5f 4d 4f 44 45 4c 20 3d 20  PRINTER_MODEL = 
10fc0 22 70 72 69 6e 74 65 72 4d 6f 64 65 6c 22 3b 0d  "printerModel";.
10fd0 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 5f 63  ...// #ifdef __c
10fe0 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 7d 0d 0a  plusplus..// }..
10ff0 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20  // #endif....// 
11000 23 65 6e 64 69 66 20 2f 2f 20 5f 57 49 4e 53 50  #endif // _WINSP
11010 4f 4f 4c 5f 0d 0a                                OOL_..