Hex Artifact Content

Not logged in

Artifact fa72ba923e60f4472d3e33c4700a68193422f74b:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0a 2a 20 20 20 20 20  ********\.*     
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 77 69 6e 73 70 6f 6f           winspoo
0070: 6c 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20  l.d             
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20    *.*           
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20              *.* 
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50        Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20  I header module 
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20        *.*       
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  *.*             
0180: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66      Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77  rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20  s headers       
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20            *.*   
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 20 20      *.*         
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 6c                Pl
0220: 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69 63  aced into public
0230: 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 20   domain         
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a                *.
0250: 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  \***************
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2f 0a 6d 6f 64 75 6c 65  ********/.module
02a0: 20 77 69 6e 33 32 2e 77 69 6e 73 70 6f 6f 6c 3b   win32.winspool;
02b0: 0a 70 72 61 67 6d 61 28 6c 69 62 2c 20 22 77 69  .pragma(lib, "wi
02c0: 6e 73 70 6f 6f 6c 2e 6c 69 62 22 29 3b 0a 0a 70  nspool.lib");..p
02d0: 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 77 69  rivate import wi
02e0: 6e 33 32 2e 77 33 32 61 70 69 2c 20 77 69 6e 33  n32.w32api, win3
02f0: 32 2e 77 69 6e 64 65 66 2c 20 77 69 6e 33 32 2e  2.windef, win32.
0300: 77 69 6e 67 64 69 3b 0a 70 72 69 76 61 74 65 20  wingdi;.private 
0310: 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 69 6e  import win32.win
0320: 62 61 73 65 3b 20 2f 2f 20 66 6f 72 20 53 59 53  base; // for SYS
0330: 54 45 4d 54 49 4d 45 0a 0a 2f 2f 20 46 49 58 4d  TEMTIME..// FIXM
0340: 45 3a 20 63 6c 65 61 6e 20 75 70 20 57 69 6e 64  E: clean up Wind
0350: 6f 77 73 20 76 65 72 73 69 6f 6e 20 73 75 70 70  ows version supp
0360: 6f 72 74 0a 0a 63 6f 6e 73 74 20 44 49 5f 43 48  ort..const DI_CH
0370: 41 4e 4e 45 4c 3d 31 3b 0a 63 6f 6e 73 74 20 44  ANNEL=1;.const D
0380: 49 5f 43 48 41 4e 4e 45 4c 5f 57 52 49 54 45 3d  I_CHANNEL_WRITE=
0390: 32 3b 0a 63 6f 6e 73 74 20 44 49 5f 52 45 41 44  2;.const DI_READ
03a0: 5f 53 50 4f 4f 4c 5f 4a 4f 42 3d 33 3b 0a 0a 63  _SPOOL_JOB=3;..c
03b0: 6f 6e 73 74 20 46 4f 52 4d 5f 42 55 49 4c 54 49  onst FORM_BUILTI
03c0: 4e 3d 31 3b 0a 0a 63 6f 6e 73 74 20 4a 4f 42 5f  N=1;..const JOB_
03d0: 43 4f 4e 54 52 4f 4c 5f 50 41 55 53 45 3d 31 3b  CONTROL_PAUSE=1;
03e0: 0a 63 6f 6e 73 74 20 4a 4f 42 5f 43 4f 4e 54 52  .const JOB_CONTR
03f0: 4f 4c 5f 52 45 53 55 4d 45 3d 32 3b 0a 63 6f 6e  OL_RESUME=2;.con
0400: 73 74 20 4a 4f 42 5f 43 4f 4e 54 52 4f 4c 5f 43  st JOB_CONTROL_C
0410: 41 4e 43 45 4c 3d 33 3b 0a 63 6f 6e 73 74 20 4a  ANCEL=3;.const J
0420: 4f 42 5f 43 4f 4e 54 52 4f 4c 5f 52 45 53 54 41  OB_CONTROL_RESTA
0430: 52 54 3d 34 3b 0a 63 6f 6e 73 74 20 4a 4f 42 5f  RT=4;.const JOB_
0440: 43 4f 4e 54 52 4f 4c 5f 44 45 4c 45 54 45 3d 35  CONTROL_DELETE=5
0450: 3b 0a 63 6f 6e 73 74 20 4a 4f 42 5f 53 54 41 54  ;.const JOB_STAT
0460: 55 53 5f 50 41 55 53 45 44 3d 31 3b 0a 63 6f 6e  US_PAUSED=1;.con
0470: 73 74 20 4a 4f 42 5f 53 54 41 54 55 53 5f 45 52  st JOB_STATUS_ER
0480: 52 4f 52 3d 32 3b 0a 63 6f 6e 73 74 20 4a 4f 42  ROR=2;.const JOB
0490: 5f 53 54 41 54 55 53 5f 44 45 4c 45 54 49 4e 47  _STATUS_DELETING
04a0: 3d 34 3b 0a 63 6f 6e 73 74 20 4a 4f 42 5f 53 54  =4;.const JOB_ST
04b0: 41 54 55 53 5f 53 50 4f 4f 4c 49 4e 47 3d 38 3b  ATUS_SPOOLING=8;
04c0: 0a 63 6f 6e 73 74 20 4a 4f 42 5f 53 54 41 54 55  .const JOB_STATU
04d0: 53 5f 50 52 49 4e 54 49 4e 47 3d 31 36 3b 0a 63  S_PRINTING=16;.c
04e0: 6f 6e 73 74 20 4a 4f 42 5f 53 54 41 54 55 53 5f  onst JOB_STATUS_
04f0: 4f 46 46 4c 49 4e 45 3d 33 32 3b 0a 63 6f 6e 73  OFFLINE=32;.cons
0500: 74 20 4a 4f 42 5f 53 54 41 54 55 53 5f 50 41 50  t JOB_STATUS_PAP
0510: 45 52 4f 55 54 3d 30 78 34 30 3b 0a 63 6f 6e 73  EROUT=0x40;.cons
0520: 74 20 4a 4f 42 5f 53 54 41 54 55 53 5f 50 52 49  t JOB_STATUS_PRI
0530: 4e 54 45 44 3d 30 78 38 30 3b 0a 63 6f 6e 73 74  NTED=0x80;.const
0540: 20 4a 4f 42 5f 53 54 41 54 55 53 5f 44 45 4c 45   JOB_STATUS_DELE
0550: 54 45 44 3d 30 78 31 30 30 3b 0a 63 6f 6e 73 74  TED=0x100;.const
0560: 20 4a 4f 42 5f 53 54 41 54 55 53 5f 42 4c 4f 43   JOB_STATUS_BLOC
0570: 4b 45 44 5f 44 45 56 51 3d 30 78 32 30 30 3b 0a  KED_DEVQ=0x200;.
0580: 63 6f 6e 73 74 20 4a 4f 42 5f 53 54 41 54 55 53  const JOB_STATUS
0590: 5f 55 53 45 52 5f 49 4e 54 45 52 56 45 4e 54 49  _USER_INTERVENTI
05a0: 4f 4e 3d 30 78 34 30 30 3b 0a 0a 63 6f 6e 73 74  ON=0x400;..const
05b0: 20 4a 4f 42 5f 50 4f 53 49 54 49 4f 4e 5f 55 4e   JOB_POSITION_UN
05c0: 53 50 45 43 49 46 49 45 44 3d 30 3b 0a 0a 63 6f  SPECIFIED=0;..co
05d0: 6e 73 74 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 54  nst JOB_NOTIFY_T
05e0: 59 50 45 3d 31 3b 0a 0a 63 6f 6e 73 74 20 4a 4f  YPE=1;..const JO
05f0: 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 50  B_NOTIFY_FIELD_P
0600: 52 49 4e 54 45 52 5f 4e 41 4d 45 3d 30 3b 0a 63  RINTER_NAME=0;.c
0610: 6f 6e 73 74 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f  onst JOB_NOTIFY_
0620: 46 49 45 4c 44 5f 4d 41 43 48 49 4e 45 5f 4e 41  FIELD_MACHINE_NA
0630: 4d 45 3d 31 3b 0a 63 6f 6e 73 74 20 4a 4f 42 5f  ME=1;.const JOB_
0640: 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 50 4f 52  NOTIFY_FIELD_POR
0650: 54 5f 4e 41 4d 45 3d 32 3b 0a 63 6f 6e 73 74 20  T_NAME=2;.const 
0660: 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44  JOB_NOTIFY_FIELD
0670: 5f 55 53 45 52 5f 4e 41 4d 45 3d 33 3b 0a 63 6f  _USER_NAME=3;.co
0680: 6e 73 74 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46  nst JOB_NOTIFY_F
0690: 49 45 4c 44 5f 4e 4f 54 49 46 59 5f 4e 41 4d 45  IELD_NOTIFY_NAME
06a0: 3d 34 3b 0a 63 6f 6e 73 74 20 4a 4f 42 5f 4e 4f  =4;.const JOB_NO
06b0: 54 49 46 59 5f 46 49 45 4c 44 5f 44 41 54 41 54  TIFY_FIELD_DATAT
06c0: 59 50 45 3d 35 3b 0a 63 6f 6e 73 74 20 4a 4f 42  YPE=5;.const JOB
06d0: 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 50 52  _NOTIFY_FIELD_PR
06e0: 49 4e 54 5f 50 52 4f 43 45 53 53 4f 52 3d 36 3b  INT_PROCESSOR=6;
06f0: 0a 63 6f 6e 73 74 20 4a 4f 42 5f 4e 4f 54 49 46  .const JOB_NOTIF
0700: 59 5f 46 49 45 4c 44 5f 50 41 52 41 4d 45 54 45  Y_FIELD_PARAMETE
0710: 52 53 3d 37 3b 0a 63 6f 6e 73 74 20 4a 4f 42 5f  RS=7;.const JOB_
0720: 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 44 52 49  NOTIFY_FIELD_DRI
0730: 56 45 52 5f 4e 41 4d 45 3d 38 3b 0a 63 6f 6e 73  VER_NAME=8;.cons
0740: 74 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45  t JOB_NOTIFY_FIE
0750: 4c 44 5f 44 45 56 4d 4f 44 45 3d 39 3b 0a 63 6f  LD_DEVMODE=9;.co
0760: 6e 73 74 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46  nst JOB_NOTIFY_F
0770: 49 45 4c 44 5f 53 54 41 54 55 53 3d 31 30 3b 0a  IELD_STATUS=10;.
0780: 63 6f 6e 73 74 20 4a 4f 42 5f 4e 4f 54 49 46 59  const JOB_NOTIFY
0790: 5f 46 49 45 4c 44 5f 53 54 41 54 55 53 5f 53 54  _FIELD_STATUS_ST
07a0: 52 49 4e 47 3d 31 31 3b 0a 63 6f 6e 73 74 20 4a  RING=11;.const J
07b0: 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f  OB_NOTIFY_FIELD_
07c0: 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50  SECURITY_DESCRIP
07d0: 54 4f 52 3d 31 32 3b 0a 63 6f 6e 73 74 20 4a 4f  TOR=12;.const JO
07e0: 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 44  B_NOTIFY_FIELD_D
07f0: 4f 43 55 4d 45 4e 54 3d 31 33 3b 0a 63 6f 6e 73  OCUMENT=13;.cons
0800: 74 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45  t JOB_NOTIFY_FIE
0810: 4c 44 5f 50 52 49 4f 52 49 54 59 3d 31 34 3b 0a  LD_PRIORITY=14;.
0820: 63 6f 6e 73 74 20 4a 4f 42 5f 4e 4f 54 49 46 59  const JOB_NOTIFY
0830: 5f 46 49 45 4c 44 5f 50 4f 53 49 54 49 4f 4e 3d  _FIELD_POSITION=
0840: 31 35 3b 0a 63 6f 6e 73 74 20 4a 4f 42 5f 4e 4f  15;.const JOB_NO
0850: 54 49 46 59 5f 46 49 45 4c 44 5f 53 55 42 4d 49  TIFY_FIELD_SUBMI
0860: 54 54 45 44 3d 31 36 3b 0a 63 6f 6e 73 74 20 4a  TTED=16;.const J
0870: 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f  OB_NOTIFY_FIELD_
0880: 53 54 41 52 54 5f 54 49 4d 45 3d 31 37 3b 0a 63  START_TIME=17;.c
0890: 6f 6e 73 74 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f  onst JOB_NOTIFY_
08a0: 46 49 45 4c 44 5f 55 4e 54 49 4c 5f 54 49 4d 45  FIELD_UNTIL_TIME
08b0: 3d 31 38 3b 0a 63 6f 6e 73 74 20 4a 4f 42 5f 4e  =18;.const JOB_N
08c0: 4f 54 49 46 59 5f 46 49 45 4c 44 5f 54 49 4d 45  OTIFY_FIELD_TIME
08d0: 3d 31 39 3b 0a 63 6f 6e 73 74 20 4a 4f 42 5f 4e  =19;.const JOB_N
08e0: 4f 54 49 46 59 5f 46 49 45 4c 44 5f 54 4f 54 41  OTIFY_FIELD_TOTA
08f0: 4c 5f 50 41 47 45 53 3d 32 30 3b 0a 63 6f 6e 73  L_PAGES=20;.cons
0900: 74 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45  t JOB_NOTIFY_FIE
0910: 4c 44 5f 50 41 47 45 53 5f 50 52 49 4e 54 45 44  LD_PAGES_PRINTED
0920: 3d 32 31 3b 0a 63 6f 6e 73 74 20 4a 4f 42 5f 4e  =21;.const JOB_N
0930: 4f 54 49 46 59 5f 46 49 45 4c 44 5f 54 4f 54 41  OTIFY_FIELD_TOTA
0940: 4c 5f 42 59 54 45 53 3d 32 32 3b 0a 63 6f 6e 73  L_BYTES=22;.cons
0950: 74 20 4a 4f 42 5f 4e 4f 54 49 46 59 5f 46 49 45  t JOB_NOTIFY_FIE
0960: 4c 44 5f 42 59 54 45 53 5f 50 52 49 4e 54 45 44  LD_BYTES_PRINTED
0970: 3d 32 33 3b 0a 0a 63 6f 6e 73 74 20 4a 4f 42 5f  =23;..const JOB_
0980: 41 43 43 45 53 53 5f 41 44 4d 49 4e 49 53 54 45  ACCESS_ADMINISTE
0990: 52 20 3d 20 31 36 3b 0a 63 6f 6e 73 74 20 4a 4f  R = 16;.const JO
09a0: 42 5f 41 4c 4c 5f 41 43 43 45 53 53 20 3d 20 53  B_ALL_ACCESS = S
09b0: 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53 5f 52  TANDARD_RIGHTS_R
09c0: 45 51 55 49 52 45 44 20 7c 20 4a 4f 42 5f 41 43  EQUIRED | JOB_AC
09d0: 43 45 53 53 5f 41 44 4d 49 4e 49 53 54 45 52 3b  CESS_ADMINISTER;
09e0: 0a 63 6f 6e 73 74 20 4a 4f 42 5f 52 45 41 44 20  .const JOB_READ 
09f0: 20 20 20 20 20 20 3d 20 53 54 41 4e 44 41 52 44        = STANDARD
0a00: 5f 52 49 47 48 54 53 5f 52 45 41 44 20 20 20 20  _RIGHTS_READ    
0a10: 20 7c 20 4a 4f 42 5f 41 43 43 45 53 53 5f 41 44   | JOB_ACCESS_AD
0a20: 4d 49 4e 49 53 54 45 52 3b 0a 63 6f 6e 73 74 20  MINISTER;.const 
0a30: 4a 4f 42 5f 57 52 49 54 45 20 20 20 20 20 20 3d  JOB_WRITE      =
0a40: 20 53 54 41 4e 44 41 52 44 5f 52 49 47 48 54 53   STANDARD_RIGHTS
0a50: 5f 57 52 49 54 45 20 20 20 20 7c 20 4a 4f 42 5f  _WRITE    | JOB_
0a60: 41 43 43 45 53 53 5f 41 44 4d 49 4e 49 53 54 45  ACCESS_ADMINISTE
0a70: 52 3b 0a 63 6f 6e 73 74 20 4a 4f 42 5f 45 58 45  R;.const JOB_EXE
0a80: 43 55 54 45 20 20 20 20 3d 20 53 54 41 4e 44 41  CUTE    = STANDA
0a90: 52 44 5f 52 49 47 48 54 53 5f 45 58 45 43 55 54  RD_RIGHTS_EXECUT
0aa0: 45 20 20 7c 20 4a 4f 42 5f 41 43 43 45 53 53 5f  E  | JOB_ACCESS_
0ab0: 41 44 4d 49 4e 49 53 54 45 52 3b 0a 0a 63 6f 6e  ADMINISTER;..con
0ac0: 73 74 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46  st PRINTER_NOTIF
0ad0: 59 5f 4f 50 54 49 4f 4e 53 5f 52 45 46 52 45 53  Y_OPTIONS_REFRES
0ae0: 48 3d 31 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54  H=1;.const PRINT
0af0: 45 52 5f 41 43 43 45 53 53 5f 41 44 4d 49 4e 49  ER_ACCESS_ADMINI
0b00: 53 54 45 52 3d 34 3b 0a 63 6f 6e 73 74 20 50 52  STER=4;.const PR
0b10: 49 4e 54 45 52 5f 41 43 43 45 53 53 5f 55 53 45  INTER_ACCESS_USE
0b20: 3d 38 3b 0a 0a 63 6f 6e 73 74 20 50 52 49 4e 54  =8;..const PRINT
0b30: 45 52 5f 45 52 52 4f 52 5f 49 4e 46 4f 52 4d 41  ER_ERROR_INFORMA
0b40: 54 49 4f 4e 3d 30 78 38 30 30 30 30 30 30 30 3b  TION=0x80000000;
0b50: 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 45  .const PRINTER_E
0b60: 52 52 4f 52 5f 57 41 52 4e 49 4e 47 3d 30 78 34  RROR_WARNING=0x4
0b70: 30 30 30 30 30 30 30 3b 0a 63 6f 6e 73 74 20 50  0000000;.const P
0b80: 52 49 4e 54 45 52 5f 45 52 52 4f 52 5f 53 45 56  RINTER_ERROR_SEV
0b90: 45 52 45 3d 30 78 32 30 30 30 30 30 30 30 3b 0a  ERE=0x20000000;.
0ba0: 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 45 52  const PRINTER_ER
0bb0: 52 4f 52 5f 4f 55 54 4f 46 50 41 50 45 52 3d 31  ROR_OUTOFPAPER=1
0bc0: 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f  ;.const PRINTER_
0bd0: 45 52 52 4f 52 5f 4a 41 4d 3d 32 3b 0a 63 6f 6e  ERROR_JAM=2;.con
0be0: 73 74 20 50 52 49 4e 54 45 52 5f 45 52 52 4f 52  st PRINTER_ERROR
0bf0: 5f 4f 55 54 4f 46 54 4f 4e 45 52 3d 34 3b 0a 0a  _OUTOFTONER=4;..
0c00: 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 43 4f  const PRINTER_CO
0c10: 4e 54 52 4f 4c 5f 50 41 55 53 45 3d 31 3b 0a 63  NTROL_PAUSE=1;.c
0c20: 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 43 4f 4e  onst PRINTER_CON
0c30: 54 52 4f 4c 5f 52 45 53 55 4d 45 3d 32 3b 0a 63  TROL_RESUME=2;.c
0c40: 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 43 4f 4e  onst PRINTER_CON
0c50: 54 52 4f 4c 5f 50 55 52 47 45 3d 33 3b 0a 63 6f  TROL_PURGE=3;.co
0c60: 6e 73 74 20 50 52 49 4e 54 45 52 5f 43 4f 4e 54  nst PRINTER_CONT
0c70: 52 4f 4c 5f 53 45 54 5f 53 54 41 54 55 53 3d 34  ROL_SET_STATUS=4
0c80: 3b 0a 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52  ;..const PRINTER
0c90: 5f 53 54 41 54 55 53 5f 50 41 55 53 45 44 20 3d  _STATUS_PAUSED =
0ca0: 20 31 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45   1;.const PRINTE
0cb0: 52 5f 53 54 41 54 55 53 5f 45 52 52 4f 52 20 3d  R_STATUS_ERROR =
0cc0: 20 32 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45   2;.const PRINTE
0cd0: 52 5f 53 54 41 54 55 53 5f 50 45 4e 44 49 4e 47  R_STATUS_PENDING
0ce0: 5f 44 45 4c 45 54 49 4f 4e 20 3d 20 34 3b 0a 63  _DELETION = 4;.c
0cf0: 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 53 54 41  onst PRINTER_STA
0d00: 54 55 53 5f 50 41 50 45 52 5f 4a 41 4d 20 3d 20  TUS_PAPER_JAM = 
0d10: 38 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52  8;.const PRINTER
0d20: 5f 53 54 41 54 55 53 5f 50 41 50 45 52 5f 4f 55  _STATUS_PAPER_OU
0d30: 54 20 3d 20 30 78 31 30 3b 0a 63 6f 6e 73 74 20  T = 0x10;.const 
0d40: 50 52 49 4e 54 45 52 5f 53 54 41 54 55 53 5f 4d  PRINTER_STATUS_M
0d50: 41 4e 55 41 4c 5f 46 45 45 44 20 3d 20 30 78 32  ANUAL_FEED = 0x2
0d60: 30 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52  0;.const PRINTER
0d70: 5f 53 54 41 54 55 53 5f 50 41 50 45 52 5f 50 52  _STATUS_PAPER_PR
0d80: 4f 42 4c 45 4d 20 3d 20 30 78 34 30 3b 0a 63 6f  OBLEM = 0x40;.co
0d90: 6e 73 74 20 50 52 49 4e 54 45 52 5f 53 54 41 54  nst PRINTER_STAT
0da0: 55 53 5f 4f 46 46 4c 49 4e 45 20 3d 20 30 78 38  US_OFFLINE = 0x8
0db0: 30 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52  0;.const PRINTER
0dc0: 5f 53 54 41 54 55 53 5f 49 4f 5f 41 43 54 49 56  _STATUS_IO_ACTIV
0dd0: 45 20 3d 20 30 78 31 30 30 3b 0a 63 6f 6e 73 74  E = 0x100;.const
0de0: 20 50 52 49 4e 54 45 52 5f 53 54 41 54 55 53 5f   PRINTER_STATUS_
0df0: 42 55 53 59 20 3d 20 30 78 32 30 30 3b 0a 63 6f  BUSY = 0x200;.co
0e00: 6e 73 74 20 50 52 49 4e 54 45 52 5f 53 54 41 54  nst PRINTER_STAT
0e10: 55 53 5f 50 52 49 4e 54 49 4e 47 20 3d 20 30 78  US_PRINTING = 0x
0e20: 34 30 30 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54  400;.const PRINT
0e30: 45 52 5f 53 54 41 54 55 53 5f 4f 55 54 50 55 54  ER_STATUS_OUTPUT
0e40: 5f 42 49 4e 5f 46 55 4c 4c 20 3d 20 30 78 38 30  _BIN_FULL = 0x80
0e50: 30 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52  0;.const PRINTER
0e60: 5f 53 54 41 54 55 53 5f 4e 4f 54 5f 41 56 41 49  _STATUS_NOT_AVAI
0e70: 4c 41 42 4c 45 20 3d 20 30 78 31 30 30 30 3b 0a  LABLE = 0x1000;.
0e80: 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 53 54  const PRINTER_ST
0e90: 41 54 55 53 5f 57 41 49 54 49 4e 47 20 3d 20 30  ATUS_WAITING = 0
0ea0: 78 32 30 30 30 3b 0a 63 6f 6e 73 74 20 50 52 49  x2000;.const PRI
0eb0: 4e 54 45 52 5f 53 54 41 54 55 53 5f 50 52 4f 43  NTER_STATUS_PROC
0ec0: 45 53 53 49 4e 47 20 3d 20 30 78 34 30 30 30 3b  ESSING = 0x4000;
0ed0: 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 53  .const PRINTER_S
0ee0: 54 41 54 55 53 5f 49 4e 49 54 49 41 4c 49 5a 49  TATUS_INITIALIZI
0ef0: 4e 47 20 3d 20 30 78 38 30 30 30 3b 0a 63 6f 6e  NG = 0x8000;.con
0f00: 73 74 20 50 52 49 4e 54 45 52 5f 53 54 41 54 55  st PRINTER_STATU
0f10: 53 5f 57 41 52 4d 49 4e 47 5f 55 50 20 3d 20 30  S_WARMING_UP = 0
0f20: 78 31 30 30 30 30 3b 0a 63 6f 6e 73 74 20 50 52  x10000;.const PR
0f30: 49 4e 54 45 52 5f 53 54 41 54 55 53 5f 54 4f 4e  INTER_STATUS_TON
0f40: 45 52 5f 4c 4f 57 20 3d 20 30 78 32 30 30 30 30  ER_LOW = 0x20000
0f50: 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f  ;.const PRINTER_
0f60: 53 54 41 54 55 53 5f 4e 4f 5f 54 4f 4e 45 52 20  STATUS_NO_TONER 
0f70: 3d 20 30 78 34 30 30 30 30 3b 0a 63 6f 6e 73 74  = 0x40000;.const
0f80: 20 50 52 49 4e 54 45 52 5f 53 54 41 54 55 53 5f   PRINTER_STATUS_
0f90: 50 41 47 45 5f 50 55 4e 54 20 3d 20 30 78 38 30  PAGE_PUNT = 0x80
0fa0: 30 30 30 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54  000;.const PRINT
0fb0: 45 52 5f 53 54 41 54 55 53 5f 55 53 45 52 5f 49  ER_STATUS_USER_I
0fc0: 4e 54 45 52 56 45 4e 54 49 4f 4e 20 3d 20 30 78  NTERVENTION = 0x
0fd0: 31 30 30 30 30 30 3b 0a 63 6f 6e 73 74 20 50 52  100000;.const PR
0fe0: 49 4e 54 45 52 5f 53 54 41 54 55 53 5f 4f 55 54  INTER_STATUS_OUT
0ff0: 5f 4f 46 5f 4d 45 4d 4f 52 59 20 3d 20 30 78 32  _OF_MEMORY = 0x2
1000: 30 30 30 30 30 3b 0a 63 6f 6e 73 74 20 50 52 49  00000;.const PRI
1010: 4e 54 45 52 5f 53 54 41 54 55 53 5f 44 4f 4f 52  NTER_STATUS_DOOR
1020: 5f 4f 50 45 4e 20 3d 20 30 78 34 30 30 30 30 30  _OPEN = 0x400000
1030: 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f  ;.const PRINTER_
1040: 53 54 41 54 55 53 5f 53 45 52 56 45 52 5f 55 4e  STATUS_SERVER_UN
1050: 4b 4e 4f 57 4e 20 3d 20 30 78 38 30 30 30 30 30  KNOWN = 0x800000
1060: 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f  ;.const PRINTER_
1070: 53 54 41 54 55 53 5f 50 4f 57 45 52 5f 53 41 56  STATUS_POWER_SAV
1080: 45 20 3d 20 30 78 31 30 30 30 30 30 30 3b 0a 0a  E = 0x1000000;..
1090: 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 41 54  const PRINTER_AT
10a0: 54 52 49 42 55 54 45 5f 51 55 45 55 45 44 3d 31  TRIBUTE_QUEUED=1
10b0: 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f  ;.const PRINTER_
10c0: 41 54 54 52 49 42 55 54 45 5f 44 49 52 45 43 54  ATTRIBUTE_DIRECT
10d0: 3d 32 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45  =2;.const PRINTE
10e0: 52 5f 41 54 54 52 49 42 55 54 45 5f 44 45 46 41  R_ATTRIBUTE_DEFA
10f0: 55 4c 54 3d 34 3b 0a 63 6f 6e 73 74 20 50 52 49  ULT=4;.const PRI
1100: 4e 54 45 52 5f 41 54 54 52 49 42 55 54 45 5f 53  NTER_ATTRIBUTE_S
1110: 48 41 52 45 44 3d 38 3b 0a 63 6f 6e 73 74 20 50  HARED=8;.const P
1120: 52 49 4e 54 45 52 5f 41 54 54 52 49 42 55 54 45  RINTER_ATTRIBUTE
1130: 5f 4e 45 54 57 4f 52 4b 3d 30 78 31 30 3b 0a 63  _NETWORK=0x10;.c
1140: 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 41 54 54  onst PRINTER_ATT
1150: 52 49 42 55 54 45 5f 48 49 44 44 45 4e 3d 30 78  RIBUTE_HIDDEN=0x
1160: 32 30 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45  20;.const PRINTE
1170: 52 5f 41 54 54 52 49 42 55 54 45 5f 4c 4f 43 41  R_ATTRIBUTE_LOCA
1180: 4c 3d 30 78 34 30 3b 0a 63 6f 6e 73 74 20 50 52  L=0x40;.const PR
1190: 49 4e 54 45 52 5f 41 54 54 52 49 42 55 54 45 5f  INTER_ATTRIBUTE_
11a0: 45 4e 41 42 4c 45 5f 44 45 56 51 3d 30 78 38 30  ENABLE_DEVQ=0x80
11b0: 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f  ;.const PRINTER_
11c0: 41 54 54 52 49 42 55 54 45 5f 4b 45 45 50 50 52  ATTRIBUTE_KEEPPR
11d0: 49 4e 54 45 44 4a 4f 42 53 3d 30 78 31 30 30 3b  INTEDJOBS=0x100;
11e0: 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 41  .const PRINTER_A
11f0: 54 54 52 49 42 55 54 45 5f 44 4f 5f 43 4f 4d 50  TTRIBUTE_DO_COMP
1200: 4c 45 54 45 5f 46 49 52 53 54 3d 30 78 32 30 30  LETE_FIRST=0x200
1210: 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f  ;.const PRINTER_
1220: 41 54 54 52 49 42 55 54 45 5f 57 4f 52 4b 5f 4f  ATTRIBUTE_WORK_O
1230: 46 46 4c 49 4e 45 3d 30 78 34 30 30 3b 0a 63 6f  FFLINE=0x400;.co
1240: 6e 73 74 20 50 52 49 4e 54 45 52 5f 41 54 54 52  nst PRINTER_ATTR
1250: 49 42 55 54 45 5f 45 4e 41 42 4c 45 5f 42 49 44  IBUTE_ENABLE_BID
1260: 49 3d 30 78 38 30 30 3b 0a 63 6f 6e 73 74 20 50  I=0x800;.const P
1270: 52 49 4e 54 45 52 5f 41 54 54 52 49 42 55 54 45  RINTER_ATTRIBUTE
1280: 5f 52 41 57 5f 4f 4e 4c 59 3d 30 78 31 30 30 30  _RAW_ONLY=0x1000
1290: 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f  ;.const PRINTER_
12a0: 41 54 54 52 49 42 55 54 45 5f 50 55 42 4c 49 53  ATTRIBUTE_PUBLIS
12b0: 48 45 44 3d 30 78 32 30 30 30 3b 0a 0a 63 6f 6e  HED=0x2000;..con
12c0: 73 74 20 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f  st PRINTER_ENUM_
12d0: 44 45 46 41 55 4c 54 3d 31 3b 0a 63 6f 6e 73 74  DEFAULT=1;.const
12e0: 20 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 4c 4f   PRINTER_ENUM_LO
12f0: 43 41 4c 3d 32 3b 0a 63 6f 6e 73 74 20 50 52 49  CAL=2;.const PRI
1300: 4e 54 45 52 5f 45 4e 55 4d 5f 43 4f 4e 4e 45 43  NTER_ENUM_CONNEC
1310: 54 49 4f 4e 53 3d 34 3b 0a 63 6f 6e 73 74 20 50  TIONS=4;.const P
1320: 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 46 41 56 4f  RINTER_ENUM_FAVO
1330: 52 49 54 45 3d 34 3b 0a 63 6f 6e 73 74 20 50 52  RITE=4;.const PR
1340: 49 4e 54 45 52 5f 45 4e 55 4d 5f 4e 41 4d 45 3d  INTER_ENUM_NAME=
1350: 38 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52  8;.const PRINTER
1360: 5f 45 4e 55 4d 5f 52 45 4d 4f 54 45 3d 31 36 3b  _ENUM_REMOTE=16;
1370: 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 45  .const PRINTER_E
1380: 4e 55 4d 5f 53 48 41 52 45 44 3d 33 32 3b 0a 63  NUM_SHARED=32;.c
1390: 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 45 4e 55  onst PRINTER_ENU
13a0: 4d 5f 4e 45 54 57 4f 52 4b 3d 30 78 34 30 3b 0a  M_NETWORK=0x40;.
13b0: 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 45 4e  const PRINTER_EN
13c0: 55 4d 5f 45 58 50 41 4e 44 3d 30 78 34 30 30 30  UM_EXPAND=0x4000
13d0: 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f  ;.const PRINTER_
13e0: 45 4e 55 4d 5f 43 4f 4e 54 41 49 4e 45 52 3d 30  ENUM_CONTAINER=0
13f0: 78 38 30 30 30 3b 0a 63 6f 6e 73 74 20 50 52 49  x8000;.const PRI
1400: 4e 54 45 52 5f 45 4e 55 4d 5f 49 43 4f 4e 4d 41  NTER_ENUM_ICONMA
1410: 53 4b 3d 30 78 66 66 30 30 30 30 3b 0a 63 6f 6e  SK=0xff0000;.con
1420: 73 74 20 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f  st PRINTER_ENUM_
1430: 49 43 4f 4e 31 3d 30 78 31 30 30 30 30 3b 0a 63  ICON1=0x10000;.c
1440: 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 45 4e 55  onst PRINTER_ENU
1450: 4d 5f 49 43 4f 4e 32 3d 30 78 32 30 30 30 30 3b  M_ICON2=0x20000;
1460: 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 45  .const PRINTER_E
1470: 4e 55 4d 5f 49 43 4f 4e 33 3d 30 78 34 30 30 30  NUM_ICON3=0x4000
1480: 30 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52  0;.const PRINTER
1490: 5f 45 4e 55 4d 5f 49 43 4f 4e 34 3d 30 78 38 30  _ENUM_ICON4=0x80
14a0: 30 30 30 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54  000;.const PRINT
14b0: 45 52 5f 45 4e 55 4d 5f 49 43 4f 4e 35 3d 30 78  ER_ENUM_ICON5=0x
14c0: 31 30 30 30 30 30 3b 0a 63 6f 6e 73 74 20 50 52  100000;.const PR
14d0: 49 4e 54 45 52 5f 45 4e 55 4d 5f 49 43 4f 4e 36  INTER_ENUM_ICON6
14e0: 3d 30 78 32 30 30 30 30 30 3b 0a 63 6f 6e 73 74  =0x200000;.const
14f0: 20 50 52 49 4e 54 45 52 5f 45 4e 55 4d 5f 49 43   PRINTER_ENUM_IC
1500: 4f 4e 37 3d 30 78 34 30 30 30 30 30 3b 0a 63 6f  ON7=0x400000;.co
1510: 6e 73 74 20 50 52 49 4e 54 45 52 5f 45 4e 55 4d  nst PRINTER_ENUM
1520: 5f 49 43 4f 4e 38 3d 30 78 38 30 30 30 30 30 3b  _ICON8=0x800000;
1530: 0a 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f  ..const PRINTER_
1540: 4e 4f 54 49 46 59 5f 54 59 50 45 3d 30 3b 0a 0a  NOTIFY_TYPE=0;..
1550: 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 4e 4f  const PRINTER_NO
1560: 54 49 46 59 5f 46 49 45 4c 44 5f 53 45 52 56 45  TIFY_FIELD_SERVE
1570: 52 5f 4e 41 4d 45 3d 30 3b 0a 63 6f 6e 73 74 20  R_NAME=0;.const 
1580: 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46  PRINTER_NOTIFY_F
1590: 49 45 4c 44 5f 50 52 49 4e 54 45 52 5f 4e 41 4d  IELD_PRINTER_NAM
15a0: 45 3d 31 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54  E=1;.const PRINT
15b0: 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f  ER_NOTIFY_FIELD_
15c0: 53 48 41 52 45 5f 4e 41 4d 45 3d 32 3b 0a 63 6f  SHARE_NAME=2;.co
15d0: 6e 73 74 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49  nst PRINTER_NOTI
15e0: 46 59 5f 46 49 45 4c 44 5f 50 4f 52 54 5f 4e 41  FY_FIELD_PORT_NA
15f0: 4d 45 3d 33 3b 0a 63 6f 6e 73 74 20 50 52 49 4e  ME=3;.const PRIN
1600: 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44  TER_NOTIFY_FIELD
1610: 5f 44 52 49 56 45 52 5f 4e 41 4d 45 3d 34 3b 0a  _DRIVER_NAME=4;.
1620: 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 4e 4f  const PRINTER_NO
1630: 54 49 46 59 5f 46 49 45 4c 44 5f 43 4f 4d 4d 45  TIFY_FIELD_COMME
1640: 4e 54 3d 35 3b 0a 63 6f 6e 73 74 20 50 52 49 4e  NT=5;.const PRIN
1650: 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44  TER_NOTIFY_FIELD
1660: 5f 4c 4f 43 41 54 49 4f 4e 3d 36 3b 0a 63 6f 6e  _LOCATION=6;.con
1670: 73 74 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46  st PRINTER_NOTIF
1680: 59 5f 46 49 45 4c 44 5f 44 45 56 4d 4f 44 45 3d  Y_FIELD_DEVMODE=
1690: 37 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52  7;.const PRINTER
16a0: 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 53 45  _NOTIFY_FIELD_SE
16b0: 50 46 49 4c 45 3d 38 3b 0a 63 6f 6e 73 74 20 50  PFILE=8;.const P
16c0: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49  RINTER_NOTIFY_FI
16d0: 45 4c 44 5f 50 52 49 4e 54 5f 50 52 4f 43 45 53  ELD_PRINT_PROCES
16e0: 53 4f 52 3d 39 3b 0a 63 6f 6e 73 74 20 50 52 49  SOR=9;.const PRI
16f0: 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c  NTER_NOTIFY_FIEL
1700: 44 5f 50 41 52 41 4d 45 54 45 52 53 3d 31 30 3b  D_PARAMETERS=10;
1710: 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 4e  .const PRINTER_N
1720: 4f 54 49 46 59 5f 46 49 45 4c 44 5f 44 41 54 41  OTIFY_FIELD_DATA
1730: 54 59 50 45 3d 31 31 3b 0a 63 6f 6e 73 74 20 50  TYPE=11;.const P
1740: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49  RINTER_NOTIFY_FI
1750: 45 4c 44 5f 53 45 43 55 52 49 54 59 5f 44 45 53  ELD_SECURITY_DES
1760: 43 52 49 50 54 4f 52 3d 31 32 3b 0a 63 6f 6e 73  CRIPTOR=12;.cons
1770: 74 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59  t PRINTER_NOTIFY
1780: 5f 46 49 45 4c 44 5f 41 54 54 52 49 42 55 54 45  _FIELD_ATTRIBUTE
1790: 53 3d 31 33 3b 0a 63 6f 6e 73 74 20 50 52 49 4e  S=13;.const PRIN
17a0: 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44  TER_NOTIFY_FIELD
17b0: 5f 50 52 49 4f 52 49 54 59 3d 31 34 3b 0a 63 6f  _PRIORITY=14;.co
17c0: 6e 73 74 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49  nst PRINTER_NOTI
17d0: 46 59 5f 46 49 45 4c 44 5f 44 45 46 41 55 4c 54  FY_FIELD_DEFAULT
17e0: 5f 50 52 49 4f 52 49 54 59 3d 31 35 3b 0a 63 6f  _PRIORITY=15;.co
17f0: 6e 73 74 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49  nst PRINTER_NOTI
1800: 46 59 5f 46 49 45 4c 44 5f 53 54 41 52 54 5f 54  FY_FIELD_START_T
1810: 49 4d 45 3d 31 36 3b 0a 63 6f 6e 73 74 20 50 52  IME=16;.const PR
1820: 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45  INTER_NOTIFY_FIE
1830: 4c 44 5f 55 4e 54 49 4c 5f 54 49 4d 45 3d 31 37  LD_UNTIL_TIME=17
1840: 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f  ;.const PRINTER_
1850: 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f 53 54 41  NOTIFY_FIELD_STA
1860: 54 55 53 3d 31 38 3b 0a 63 6f 6e 73 74 20 50 52  TUS=18;.const PR
1870: 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45  INTER_NOTIFY_FIE
1880: 4c 44 5f 53 54 41 54 55 53 5f 53 54 52 49 4e 47  LD_STATUS_STRING
1890: 3d 31 39 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54  =19;.const PRINT
18a0: 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f  ER_NOTIFY_FIELD_
18b0: 43 4a 4f 42 53 3d 32 30 3b 0a 63 6f 6e 73 74 20  CJOBS=20;.const 
18c0: 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46  PRINTER_NOTIFY_F
18d0: 49 45 4c 44 5f 41 56 45 52 41 47 45 5f 50 50 4d  IELD_AVERAGE_PPM
18e0: 3d 32 31 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54  =21;.const PRINT
18f0: 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45 4c 44 5f  ER_NOTIFY_FIELD_
1900: 54 4f 54 41 4c 5f 50 41 47 45 53 3d 32 32 3b 0a  TOTAL_PAGES=22;.
1910: 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 4e 4f  const PRINTER_NO
1920: 54 49 46 59 5f 46 49 45 4c 44 5f 50 41 47 45 53  TIFY_FIELD_PAGES
1930: 5f 50 52 49 4e 54 45 44 3d 32 33 3b 0a 63 6f 6e  _PRINTED=23;.con
1940: 73 74 20 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46  st PRINTER_NOTIF
1950: 59 5f 46 49 45 4c 44 5f 54 4f 54 41 4c 5f 42 59  Y_FIELD_TOTAL_BY
1960: 54 45 53 3d 32 34 3b 0a 63 6f 6e 73 74 20 50 52  TES=24;.const PR
1970: 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 46 49 45  INTER_NOTIFY_FIE
1980: 4c 44 5f 42 59 54 45 53 5f 50 52 49 4e 54 45 44  LD_BYTES_PRINTED
1990: 3d 32 35 3b 0a 0a 63 6f 6e 73 74 20 50 52 49 4e  =25;..const PRIN
19a0: 54 45 52 5f 43 48 41 4e 47 45 5f 41 44 44 5f 50  TER_CHANGE_ADD_P
19b0: 52 49 4e 54 45 52 3d 31 3b 0a 63 6f 6e 73 74 20  RINTER=1;.const 
19c0: 50 52 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f 53  PRINTER_CHANGE_S
19d0: 45 54 5f 50 52 49 4e 54 45 52 3d 32 3b 0a 63 6f  ET_PRINTER=2;.co
19e0: 6e 73 74 20 50 52 49 4e 54 45 52 5f 43 48 41 4e  nst PRINTER_CHAN
19f0: 47 45 5f 44 45 4c 45 54 45 5f 50 52 49 4e 54 45  GE_DELETE_PRINTE
1a00: 52 3d 34 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54  R=4;.const PRINT
1a10: 45 52 5f 43 48 41 4e 47 45 5f 46 41 49 4c 45 44  ER_CHANGE_FAILED
1a20: 5f 43 4f 4e 4e 45 43 54 49 4f 4e 5f 50 52 49 4e  _CONNECTION_PRIN
1a30: 54 45 52 3d 38 3b 0a 63 6f 6e 73 74 20 50 52 49  TER=8;.const PRI
1a40: 4e 54 45 52 5f 43 48 41 4e 47 45 5f 50 52 49 4e  NTER_CHANGE_PRIN
1a50: 54 45 52 3d 30 78 46 46 3b 0a 63 6f 6e 73 74 20  TER=0xFF;.const 
1a60: 50 52 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f 41  PRINTER_CHANGE_A
1a70: 44 44 5f 4a 4f 42 3d 30 78 31 30 30 3b 0a 63 6f  DD_JOB=0x100;.co
1a80: 6e 73 74 20 50 52 49 4e 54 45 52 5f 43 48 41 4e  nst PRINTER_CHAN
1a90: 47 45 5f 53 45 54 5f 4a 4f 42 3d 30 78 32 30 30  GE_SET_JOB=0x200
1aa0: 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f  ;.const PRINTER_
1ab0: 43 48 41 4e 47 45 5f 44 45 4c 45 54 45 5f 4a 4f  CHANGE_DELETE_JO
1ac0: 42 3d 30 78 34 30 30 3b 0a 63 6f 6e 73 74 20 50  B=0x400;.const P
1ad0: 52 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f 57 52  RINTER_CHANGE_WR
1ae0: 49 54 45 5f 4a 4f 42 3d 30 78 38 30 30 3b 0a 63  ITE_JOB=0x800;.c
1af0: 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 43 48 41  onst PRINTER_CHA
1b00: 4e 47 45 5f 4a 4f 42 3d 30 78 46 46 30 30 3b 0a  NGE_JOB=0xFF00;.
1b10: 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 43 48  const PRINTER_CH
1b20: 41 4e 47 45 5f 41 44 44 5f 46 4f 52 4d 3d 30 78  ANGE_ADD_FORM=0x
1b30: 31 30 30 30 30 3b 0a 63 6f 6e 73 74 20 50 52 49  10000;.const PRI
1b40: 4e 54 45 52 5f 43 48 41 4e 47 45 5f 53 45 54 5f  NTER_CHANGE_SET_
1b50: 46 4f 52 4d 3d 30 78 32 30 30 30 30 3b 0a 63 6f  FORM=0x20000;.co
1b60: 6e 73 74 20 50 52 49 4e 54 45 52 5f 43 48 41 4e  nst PRINTER_CHAN
1b70: 47 45 5f 44 45 4c 45 54 45 5f 46 4f 52 4d 3d 30  GE_DELETE_FORM=0
1b80: 78 34 30 30 30 30 3b 0a 63 6f 6e 73 74 20 50 52  x40000;.const PR
1b90: 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f 46 4f 52  INTER_CHANGE_FOR
1ba0: 4d 3d 30 78 37 30 30 30 30 3b 0a 63 6f 6e 73 74  M=0x70000;.const
1bb0: 20 50 52 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f   PRINTER_CHANGE_
1bc0: 41 44 44 5f 50 4f 52 54 3d 30 78 31 30 30 30 30  ADD_PORT=0x10000
1bd0: 30 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52  0;.const PRINTER
1be0: 5f 43 48 41 4e 47 45 5f 43 4f 4e 46 49 47 55 52  _CHANGE_CONFIGUR
1bf0: 45 5f 50 4f 52 54 3d 30 78 32 30 30 30 30 30 3b  E_PORT=0x200000;
1c00: 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 43  .const PRINTER_C
1c10: 48 41 4e 47 45 5f 44 45 4c 45 54 45 5f 50 4f 52  HANGE_DELETE_POR
1c20: 54 3d 30 78 34 30 30 30 30 30 3b 0a 63 6f 6e 73  T=0x400000;.cons
1c30: 74 20 50 52 49 4e 54 45 52 5f 43 48 41 4e 47 45  t PRINTER_CHANGE
1c40: 5f 50 4f 52 54 3d 30 78 37 30 30 30 30 30 3b 0a  _PORT=0x700000;.
1c50: 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 43 48  const PRINTER_CH
1c60: 41 4e 47 45 5f 41 44 44 5f 50 52 49 4e 54 5f 50  ANGE_ADD_PRINT_P
1c70: 52 4f 43 45 53 53 4f 52 3d 30 78 31 30 30 30 30  ROCESSOR=0x10000
1c80: 30 30 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45  00;.const PRINTE
1c90: 52 5f 43 48 41 4e 47 45 5f 44 45 4c 45 54 45 5f  R_CHANGE_DELETE_
1ca0: 50 52 49 4e 54 5f 50 52 4f 43 45 53 53 4f 52 3d  PRINT_PROCESSOR=
1cb0: 30 78 34 30 30 30 30 30 30 3b 0a 63 6f 6e 73 74  0x4000000;.const
1cc0: 20 50 52 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f   PRINTER_CHANGE_
1cd0: 50 52 49 4e 54 5f 50 52 4f 43 45 53 53 4f 52 3d  PRINT_PROCESSOR=
1ce0: 30 78 37 30 30 30 30 30 30 3b 0a 63 6f 6e 73 74  0x7000000;.const
1cf0: 20 50 52 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f   PRINTER_CHANGE_
1d00: 41 44 44 5f 50 52 49 4e 54 45 52 5f 44 52 49 56  ADD_PRINTER_DRIV
1d10: 45 52 3d 30 78 31 30 30 30 30 30 30 30 3b 0a 63  ER=0x10000000;.c
1d20: 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 43 48 41  onst PRINTER_CHA
1d30: 4e 47 45 5f 53 45 54 5f 50 52 49 4e 54 45 52 5f  NGE_SET_PRINTER_
1d40: 44 52 49 56 45 52 3d 30 78 32 30 30 30 30 30 30  DRIVER=0x2000000
1d50: 30 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52  0;.const PRINTER
1d60: 5f 43 48 41 4e 47 45 5f 44 45 4c 45 54 45 5f 50  _CHANGE_DELETE_P
1d70: 52 49 4e 54 45 52 5f 44 52 49 56 45 52 3d 30 78  RINTER_DRIVER=0x
1d80: 34 30 30 30 30 30 30 30 3b 0a 63 6f 6e 73 74 20  40000000;.const 
1d90: 50 52 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f 50  PRINTER_CHANGE_P
1da0: 52 49 4e 54 45 52 5f 44 52 49 56 45 52 3d 30 78  RINTER_DRIVER=0x
1db0: 37 30 30 30 30 30 30 30 3b 0a 63 6f 6e 73 74 20  70000000;.const 
1dc0: 50 52 49 4e 54 45 52 5f 43 48 41 4e 47 45 5f 54  PRINTER_CHANGE_T
1dd0: 49 4d 45 4f 55 54 3d 30 78 38 30 30 30 30 30 30  IMEOUT=0x8000000
1de0: 30 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52  0;.const PRINTER
1df0: 5f 43 48 41 4e 47 45 5f 41 4c 4c 3d 30 78 37 37  _CHANGE_ALL=0x77
1e00: 37 37 46 46 46 46 3b 0a 0a 63 6f 6e 73 74 20 50  77FFFF;..const P
1e10: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 49 4e  RINTER_NOTIFY_IN
1e20: 46 4f 5f 44 49 53 43 41 52 44 45 44 3d 31 3b 0a  FO_DISCARDED=1;.
1e30: 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 41 4c  const PRINTER_AL
1e40: 4c 5f 41 43 43 45 53 53 3d 28 53 54 41 4e 44 41  L_ACCESS=(STANDA
1e50: 52 44 5f 52 49 47 48 54 53 5f 52 45 51 55 49 52  RD_RIGHTS_REQUIR
1e60: 45 44 7c 50 52 49 4e 54 45 52 5f 41 43 43 45 53  ED|PRINTER_ACCES
1e70: 53 5f 41 44 4d 49 4e 49 53 54 45 52 7c 50 52 49  S_ADMINISTER|PRI
1e80: 4e 54 45 52 5f 41 43 43 45 53 53 5f 55 53 45 29  NTER_ACCESS_USE)
1e90: 3b 0a 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f  ;.const PRINTER_
1ea0: 52 45 41 44 3d 28 53 54 41 4e 44 41 52 44 5f 52  READ=(STANDARD_R
1eb0: 49 47 48 54 53 5f 52 45 41 44 7c 50 52 49 4e 54  IGHTS_READ|PRINT
1ec0: 45 52 5f 41 43 43 45 53 53 5f 55 53 45 29 3b 0a  ER_ACCESS_USE);.
1ed0: 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 57 52  const PRINTER_WR
1ee0: 49 54 45 3d 28 53 54 41 4e 44 41 52 44 5f 52 49  ITE=(STANDARD_RI
1ef0: 47 48 54 53 5f 57 52 49 54 45 7c 50 52 49 4e 54  GHTS_WRITE|PRINT
1f00: 45 52 5f 41 43 43 45 53 53 5f 55 53 45 29 3b 0a  ER_ACCESS_USE);.
1f10: 63 6f 6e 73 74 20 50 52 49 4e 54 45 52 5f 45 58  const PRINTER_EX
1f20: 45 43 55 54 45 3d 28 53 54 41 4e 44 41 52 44 5f  ECUTE=(STANDARD_
1f30: 52 49 47 48 54 53 5f 45 58 45 43 55 54 45 7c 50  RIGHTS_EXECUTE|P
1f40: 52 49 4e 54 45 52 5f 41 43 43 45 53 53 5f 55 53  RINTER_ACCESS_US
1f50: 45 29 3b 0a 63 6f 6e 73 74 20 4e 4f 5f 50 52 49  E);.const NO_PRI
1f60: 4f 52 49 54 59 3d 30 3b 0a 63 6f 6e 73 74 20 4d  ORITY=0;.const M
1f70: 41 58 5f 50 52 49 4f 52 49 54 59 3d 39 39 3b 0a  AX_PRIORITY=99;.
1f80: 63 6f 6e 73 74 20 4d 49 4e 5f 50 52 49 4f 52 49  const MIN_PRIORI
1f90: 54 59 3d 31 3b 0a 63 6f 6e 73 74 20 44 45 46 5f  TY=1;.const DEF_
1fa0: 50 52 49 4f 52 49 54 59 3d 31 3b 0a 63 6f 6e 73  PRIORITY=1;.cons
1fb0: 74 20 50 4f 52 54 5f 54 59 50 45 5f 57 52 49 54  t PORT_TYPE_WRIT
1fc0: 45 3d 31 3b 0a 63 6f 6e 73 74 20 50 4f 52 54 5f  E=1;.const PORT_
1fd0: 54 59 50 45 5f 52 45 41 44 3d 32 3b 0a 63 6f 6e  TYPE_READ=2;.con
1fe0: 73 74 20 50 4f 52 54 5f 54 59 50 45 5f 52 45 44  st PORT_TYPE_RED
1ff0: 49 52 45 43 54 45 44 3d 34 3b 0a 63 6f 6e 73 74  IRECTED=4;.const
2000: 20 50 4f 52 54 5f 54 59 50 45 5f 4e 45 54 5f 41   PORT_TYPE_NET_A
2010: 54 54 41 43 48 45 44 3d 38 3b 0a 63 6f 6e 73 74  TTACHED=8;.const
2020: 20 53 45 52 56 45 52 5f 41 43 43 45 53 53 5f 41   SERVER_ACCESS_A
2030: 44 4d 49 4e 49 53 54 45 52 3d 31 3b 0a 63 6f 6e  DMINISTER=1;.con
2040: 73 74 20 53 45 52 56 45 52 5f 41 43 43 45 53 53  st SERVER_ACCESS
2050: 5f 45 4e 55 4d 45 52 41 54 45 3d 32 3b 0a 0a 63  _ENUMERATE=2;..c
2060: 6f 6e 73 74 20 53 45 52 56 45 52 5f 41 4c 4c 5f  onst SERVER_ALL_
2070: 41 43 43 45 53 53 3d 28 53 54 41 4e 44 41 52 44  ACCESS=(STANDARD
2080: 5f 52 49 47 48 54 53 5f 52 45 51 55 49 52 45 44  _RIGHTS_REQUIRED
2090: 7c 53 45 52 56 45 52 5f 41 43 43 45 53 53 5f 41  |SERVER_ACCESS_A
20a0: 44 4d 49 4e 49 53 54 45 52 7c 53 45 52 56 45 52  DMINISTER|SERVER
20b0: 5f 41 43 43 45 53 53 5f 45 4e 55 4d 45 52 41 54  _ACCESS_ENUMERAT
20c0: 45 29 3b 0a 63 6f 6e 73 74 20 53 45 52 56 45 52  E);.const SERVER
20d0: 5f 52 45 41 44 3d 28 53 54 41 4e 44 41 52 44 5f  _READ=(STANDARD_
20e0: 52 49 47 48 54 53 5f 52 45 41 44 7c 53 45 52 56  RIGHTS_READ|SERV
20f0: 45 52 5f 41 43 43 45 53 53 5f 45 4e 55 4d 45 52  ER_ACCESS_ENUMER
2100: 41 54 45 29 3b 0a 63 6f 6e 73 74 20 53 45 52 56  ATE);.const SERV
2110: 45 52 5f 57 52 49 54 45 3d 28 53 54 41 4e 44 41  ER_WRITE=(STANDA
2120: 52 44 5f 52 49 47 48 54 53 5f 57 52 49 54 45 7c  RD_RIGHTS_WRITE|
2130: 53 45 52 56 45 52 5f 41 43 43 45 53 53 5f 41 44  SERVER_ACCESS_AD
2140: 4d 49 4e 49 53 54 45 52 7c 53 45 52 56 45 52 5f  MINISTER|SERVER_
2150: 41 43 43 45 53 53 5f 45 4e 55 4d 45 52 41 54 45  ACCESS_ENUMERATE
2160: 29 3b 0a 63 6f 6e 73 74 20 53 45 52 56 45 52 5f  );.const SERVER_
2170: 45 58 45 43 55 54 45 3d 28 53 54 41 4e 44 41 52  EXECUTE=(STANDAR
2180: 44 5f 52 49 47 48 54 53 5f 45 58 45 43 55 54 45  D_RIGHTS_EXECUTE
2190: 7c 53 45 52 56 45 52 5f 41 43 43 45 53 53 5f 45  |SERVER_ACCESS_E
21a0: 4e 55 4d 45 52 41 54 45 29 3b 0a 0a 63 6f 6e 73  NUMERATE);..cons
21b0: 74 20 50 4f 52 54 5f 53 54 41 54 55 53 5f 54 59  t PORT_STATUS_TY
21c0: 50 45 5f 45 52 52 4f 52 3d 31 3b 0a 63 6f 6e 73  PE_ERROR=1;.cons
21d0: 74 20 50 4f 52 54 5f 53 54 41 54 55 53 5f 54 59  t PORT_STATUS_TY
21e0: 50 45 5f 57 41 52 4e 49 4e 47 3d 32 3b 0a 63 6f  PE_WARNING=2;.co
21f0: 6e 73 74 20 50 4f 52 54 5f 53 54 41 54 55 53 5f  nst PORT_STATUS_
2200: 54 59 50 45 5f 49 4e 46 4f 3d 33 3b 0a 0a 63 6f  TYPE_INFO=3;..co
2210: 6e 73 74 20 50 4f 52 54 5f 53 54 41 54 55 53 5f  nst PORT_STATUS_
2220: 4f 46 46 4c 49 4e 45 3d 31 3b 0a 63 6f 6e 73 74  OFFLINE=1;.const
2230: 20 50 4f 52 54 5f 53 54 41 54 55 53 5f 50 41 50   PORT_STATUS_PAP
2240: 45 52 5f 4a 41 4d 3d 32 3b 0a 63 6f 6e 73 74 20  ER_JAM=2;.const 
2250: 50 4f 52 54 5f 53 54 41 54 55 53 5f 50 41 50 45  PORT_STATUS_PAPE
2260: 52 5f 4f 55 54 3d 33 3b 0a 63 6f 6e 73 74 20 50  R_OUT=3;.const P
2270: 4f 52 54 5f 53 54 41 54 55 53 5f 4f 55 54 50 55  ORT_STATUS_OUTPU
2280: 54 5f 42 49 4e 5f 46 55 4c 4c 3d 34 3b 0a 63 6f  T_BIN_FULL=4;.co
2290: 6e 73 74 20 50 4f 52 54 5f 53 54 41 54 55 53 5f  nst PORT_STATUS_
22a0: 50 41 50 45 52 5f 50 52 4f 42 4c 45 4d 3d 35 3b  PAPER_PROBLEM=5;
22b0: 0a 63 6f 6e 73 74 20 50 4f 52 54 5f 53 54 41 54  .const PORT_STAT
22c0: 55 53 5f 4e 4f 5f 54 4f 4e 45 52 3d 36 3b 0a 63  US_NO_TONER=6;.c
22d0: 6f 6e 73 74 20 50 4f 52 54 5f 53 54 41 54 55 53  onst PORT_STATUS
22e0: 5f 44 4f 4f 52 5f 4f 50 45 4e 3d 37 3b 0a 63 6f  _DOOR_OPEN=7;.co
22f0: 6e 73 74 20 50 4f 52 54 5f 53 54 41 54 55 53 5f  nst PORT_STATUS_
2300: 55 53 45 52 5f 49 4e 54 45 52 56 45 4e 54 49 4f  USER_INTERVENTIO
2310: 4e 3d 38 3b 0a 63 6f 6e 73 74 20 50 4f 52 54 5f  N=8;.const PORT_
2320: 53 54 41 54 55 53 5f 4f 55 54 5f 4f 46 5f 4d 45  STATUS_OUT_OF_ME
2330: 4d 4f 52 59 3d 39 3b 0a 63 6f 6e 73 74 20 50 4f  MORY=9;.const PO
2340: 52 54 5f 53 54 41 54 55 53 5f 54 4f 4e 45 52 5f  RT_STATUS_TONER_
2350: 4c 4f 57 3d 31 30 3b 0a 63 6f 6e 73 74 20 50 4f  LOW=10;.const PO
2360: 52 54 5f 53 54 41 54 55 53 5f 57 41 52 4d 49 4e  RT_STATUS_WARMIN
2370: 47 5f 55 50 3d 31 31 3b 0a 63 6f 6e 73 74 20 50  G_UP=11;.const P
2380: 4f 52 54 5f 53 54 41 54 55 53 5f 50 4f 57 45 52  ORT_STATUS_POWER
2390: 5f 53 41 56 45 3d 31 32 3b 0a 0a 73 74 72 75 63  _SAVE=12;..struc
23a0: 74 20 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31 41  t ADDJOB_INFO_1A
23b0: 20 7b 0a 09 4c 50 53 54 52 20 50 61 74 68 3b 0a   {..LPSTR Path;.
23c0: 09 44 57 4f 52 44 20 4a 6f 62 49 64 3b 0a 7d 0a  .DWORD JobId;.}.
23d0: 61 6c 69 61 73 20 41 44 44 4a 4f 42 5f 49 4e 46  alias ADDJOB_INF
23e0: 4f 5f 31 41 2a 20 50 41 44 44 4a 4f 42 5f 49 4e  O_1A* PADDJOB_IN
23f0: 46 4f 5f 31 41 2c 20 4c 50 41 44 44 4a 4f 42 5f  FO_1A, LPADDJOB_
2400: 49 4e 46 4f 5f 31 41 3b 0a 0a 73 74 72 75 63 74  INFO_1A;..struct
2410: 20 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31 57 20   ADDJOB_INFO_1W 
2420: 7b 0a 09 4c 50 57 53 54 52 20 50 61 74 68 3b 0a  {..LPWSTR Path;.
2430: 09 44 57 4f 52 44 20 4a 6f 62 49 64 3b 0a 7d 0a  .DWORD JobId;.}.
2440: 61 6c 69 61 73 20 41 44 44 4a 4f 42 5f 49 4e 46  alias ADDJOB_INF
2450: 4f 5f 31 57 2a 20 50 41 44 44 4a 4f 42 5f 49 4e  O_1W* PADDJOB_IN
2460: 46 4f 5f 31 57 2c 20 4c 50 41 44 44 4a 4f 42 5f  FO_1W, LPADDJOB_
2470: 49 4e 46 4f 5f 31 57 3b 0a 0a 73 74 72 75 63 74  INFO_1W;..struct
2480: 20 44 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f   DATATYPES_INFO_
2490: 31 41 20 7b 0a 09 4c 50 53 54 52 20 70 4e 61 6d  1A {..LPSTR pNam
24a0: 65 3b 0a 7d 0a 61 6c 69 61 73 20 44 41 54 41 54  e;.}.alias DATAT
24b0: 59 50 45 53 5f 49 4e 46 4f 5f 31 41 2a 20 50 44  YPES_INFO_1A* PD
24c0: 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31 41  ATATYPES_INFO_1A
24d0: 2c 20 4c 50 44 41 54 41 54 59 50 45 53 5f 49 4e  , LPDATATYPES_IN
24e0: 46 4f 5f 31 41 3b 0a 0a 73 74 72 75 63 74 20 44  FO_1A;..struct D
24f0: 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31 57  ATATYPES_INFO_1W
2500: 20 7b 0a 09 4c 50 57 53 54 52 20 70 4e 61 6d 65   {..LPWSTR pName
2510: 3b 0a 7d 0a 61 6c 69 61 73 20 44 41 54 41 54 59  ;.}.alias DATATY
2520: 50 45 53 5f 49 4e 46 4f 5f 31 57 2a 20 50 44 41  PES_INFO_1W* PDA
2530: 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31 57 2c  TATYPES_INFO_1W,
2540: 20 4c 50 44 41 54 41 54 59 50 45 53 5f 49 4e 46   LPDATATYPES_INF
2550: 4f 5f 31 57 3b 0a 0a 73 74 72 75 63 74 20 4a 4f  O_1W;..struct JO
2560: 42 5f 49 4e 46 4f 5f 31 41 20 7b 0a 09 44 57 4f  B_INFO_1A {..DWO
2570: 52 44 20 4a 6f 62 49 64 3b 0a 09 4c 50 53 54 52  RD JobId;..LPSTR
2580: 20 70 50 72 69 6e 74 65 72 4e 61 6d 65 3b 0a 09   pPrinterName;..
2590: 4c 50 53 54 52 20 70 4d 61 63 68 69 6e 65 4e 61  LPSTR pMachineNa
25a0: 6d 65 3b 0a 09 4c 50 53 54 52 20 70 55 73 65 72  me;..LPSTR pUser
25b0: 4e 61 6d 65 3b 0a 09 4c 50 53 54 52 20 70 44 6f  Name;..LPSTR pDo
25c0: 63 75 6d 65 6e 74 3b 0a 09 4c 50 53 54 52 20 70  cument;..LPSTR p
25d0: 44 61 74 61 74 79 70 65 3b 0a 09 4c 50 53 54 52  Datatype;..LPSTR
25e0: 20 70 53 74 61 74 75 73 3b 0a 09 44 57 4f 52 44   pStatus;..DWORD
25f0: 20 53 74 61 74 75 73 3b 0a 09 44 57 4f 52 44 20   Status;..DWORD 
2600: 50 72 69 6f 72 69 74 79 3b 0a 09 44 57 4f 52 44  Priority;..DWORD
2610: 20 50 6f 73 69 74 69 6f 6e 3b 0a 09 44 57 4f 52   Position;..DWOR
2620: 44 20 54 6f 74 61 6c 50 61 67 65 73 3b 0a 09 44  D TotalPages;..D
2630: 57 4f 52 44 20 50 61 67 65 73 50 72 69 6e 74 65  WORD PagesPrinte
2640: 64 3b 0a 09 53 59 53 54 45 4d 54 49 4d 45 20 53  d;..SYSTEMTIME S
2650: 75 62 6d 69 74 74 65 64 3b 0a 7d 0a 61 6c 69 61  ubmitted;.}.alia
2660: 73 20 4a 4f 42 5f 49 4e 46 4f 5f 31 41 2a 20 50  s JOB_INFO_1A* P
2670: 4a 4f 42 5f 49 4e 46 4f 5f 31 41 2c 20 4c 50 4a  JOB_INFO_1A, LPJ
2680: 4f 42 5f 49 4e 46 4f 5f 31 41 3b 0a 0a 73 74 72  OB_INFO_1A;..str
2690: 75 63 74 20 4a 4f 42 5f 49 4e 46 4f 5f 31 57 20  uct JOB_INFO_1W 
26a0: 7b 0a 09 44 57 4f 52 44 20 4a 6f 62 49 64 3b 0a  {..DWORD JobId;.
26b0: 09 4c 50 57 53 54 52 20 70 50 72 69 6e 74 65 72  .LPWSTR pPrinter
26c0: 4e 61 6d 65 3b 0a 09 4c 50 57 53 54 52 20 70 4d  Name;..LPWSTR pM
26d0: 61 63 68 69 6e 65 4e 61 6d 65 3b 0a 09 4c 50 57  achineName;..LPW
26e0: 53 54 52 20 70 55 73 65 72 4e 61 6d 65 3b 0a 09  STR pUserName;..
26f0: 4c 50 57 53 54 52 20 70 44 6f 63 75 6d 65 6e 74  LPWSTR pDocument
2700: 3b 0a 09 4c 50 57 53 54 52 20 70 44 61 74 61 74  ;..LPWSTR pDatat
2710: 79 70 65 3b 0a 09 4c 50 57 53 54 52 20 70 53 74  ype;..LPWSTR pSt
2720: 61 74 75 73 3b 0a 09 44 57 4f 52 44 20 53 74 61  atus;..DWORD Sta
2730: 74 75 73 3b 0a 09 44 57 4f 52 44 20 50 72 69 6f  tus;..DWORD Prio
2740: 72 69 74 79 3b 0a 09 44 57 4f 52 44 20 50 6f 73  rity;..DWORD Pos
2750: 69 74 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 54 6f  ition;..DWORD To
2760: 74 61 6c 50 61 67 65 73 3b 0a 09 44 57 4f 52 44  talPages;..DWORD
2770: 20 50 61 67 65 73 50 72 69 6e 74 65 64 3b 0a 09   PagesPrinted;..
2780: 53 59 53 54 45 4d 54 49 4d 45 20 53 75 62 6d 69  SYSTEMTIME Submi
2790: 74 74 65 64 3b 0a 7d 0a 61 6c 69 61 73 20 4a 4f  tted;.}.alias JO
27a0: 42 5f 49 4e 46 4f 5f 31 57 2a 20 50 4a 4f 42 5f  B_INFO_1W* PJOB_
27b0: 49 4e 46 4f 5f 31 57 2c 20 4c 50 4a 4f 42 5f 49  INFO_1W, LPJOB_I
27c0: 4e 46 4f 5f 31 57 3b 0a 0a 73 74 72 75 63 74 20  NFO_1W;..struct 
27d0: 4a 4f 42 5f 49 4e 46 4f 5f 32 41 20 7b 0a 09 44  JOB_INFO_2A {..D
27e0: 57 4f 52 44 20 4a 6f 62 49 64 3b 0a 09 4c 50 53  WORD JobId;..LPS
27f0: 54 52 20 70 50 72 69 6e 74 65 72 4e 61 6d 65 3b  TR pPrinterName;
2800: 0a 09 4c 50 53 54 52 20 70 4d 61 63 68 69 6e 65  ..LPSTR pMachine
2810: 4e 61 6d 65 3b 0a 09 4c 50 53 54 52 20 70 55 73  Name;..LPSTR pUs
2820: 65 72 4e 61 6d 65 3b 0a 09 4c 50 53 54 52 20 70  erName;..LPSTR p
2830: 44 6f 63 75 6d 65 6e 74 3b 0a 09 4c 50 53 54 52  Document;..LPSTR
2840: 20 70 4e 6f 74 69 66 79 4e 61 6d 65 3b 0a 09 4c   pNotifyName;..L
2850: 50 53 54 52 20 70 44 61 74 61 74 79 70 65 3b 0a  PSTR pDatatype;.
2860: 09 4c 50 53 54 52 20 70 50 72 69 6e 74 50 72 6f  .LPSTR pPrintPro
2870: 63 65 73 73 6f 72 3b 0a 09 4c 50 53 54 52 20 70  cessor;..LPSTR p
2880: 50 61 72 61 6d 65 74 65 72 73 3b 0a 09 4c 50 53  Parameters;..LPS
2890: 54 52 20 70 44 72 69 76 65 72 4e 61 6d 65 3b 0a  TR pDriverName;.
28a0: 09 4c 50 44 45 56 4d 4f 44 45 41 20 70 44 65 76  .LPDEVMODEA pDev
28b0: 4d 6f 64 65 3b 0a 09 4c 50 53 54 52 20 70 53 74  Mode;..LPSTR pSt
28c0: 61 74 75 73 3b 0a 09 50 53 45 43 55 52 49 54 59  atus;..PSECURITY
28d0: 5f 44 45 53 43 52 49 50 54 4f 52 20 70 53 65 63  _DESCRIPTOR pSec
28e0: 75 72 69 74 79 44 65 73 63 72 69 70 74 6f 72 3b  urityDescriptor;
28f0: 0a 09 44 57 4f 52 44 20 53 74 61 74 75 73 3b 0a  ..DWORD Status;.
2900: 09 44 57 4f 52 44 20 50 72 69 6f 72 69 74 79 3b  .DWORD Priority;
2910: 0a 09 44 57 4f 52 44 20 50 6f 73 69 74 69 6f 6e  ..DWORD Position
2920: 3b 0a 09 44 57 4f 52 44 20 53 74 61 72 74 54 69  ;..DWORD StartTi
2930: 6d 65 3b 0a 09 44 57 4f 52 44 20 55 6e 74 69 6c  me;..DWORD Until
2940: 54 69 6d 65 3b 0a 09 44 57 4f 52 44 20 54 6f 74  Time;..DWORD Tot
2950: 61 6c 50 61 67 65 73 3b 0a 09 44 57 4f 52 44 20  alPages;..DWORD 
2960: 53 69 7a 65 3b 0a 09 53 59 53 54 45 4d 54 49 4d  Size;..SYSTEMTIM
2970: 45 20 53 75 62 6d 69 74 74 65 64 3b 0a 09 44 57  E Submitted;..DW
2980: 4f 52 44 20 54 69 6d 65 3b 0a 09 44 57 4f 52 44  ORD Time;..DWORD
2990: 20 50 61 67 65 73 50 72 69 6e 74 65 64 3b 0a 7d   PagesPrinted;.}
29a0: 0a 61 6c 69 61 73 20 4a 4f 42 5f 49 4e 46 4f 5f  .alias JOB_INFO_
29b0: 32 41 2a 20 50 4a 4f 42 5f 49 4e 46 4f 5f 32 41  2A* PJOB_INFO_2A
29c0: 2c 20 4c 50 4a 4f 42 5f 49 4e 46 4f 5f 32 41 3b  , LPJOB_INFO_2A;
29d0: 0a 0a 73 74 72 75 63 74 20 4a 4f 42 5f 49 4e 46  ..struct JOB_INF
29e0: 4f 5f 32 57 20 7b 0a 09 44 57 4f 52 44 20 4a 6f  O_2W {..DWORD Jo
29f0: 62 49 64 3b 0a 09 4c 50 57 53 54 52 20 70 50 72  bId;..LPWSTR pPr
2a00: 69 6e 74 65 72 4e 61 6d 65 3b 0a 09 4c 50 57 53  interName;..LPWS
2a10: 54 52 20 70 4d 61 63 68 69 6e 65 4e 61 6d 65 3b  TR pMachineName;
2a20: 0a 09 4c 50 57 53 54 52 20 70 55 73 65 72 4e 61  ..LPWSTR pUserNa
2a30: 6d 65 3b 0a 09 4c 50 57 53 54 52 20 70 44 6f 63  me;..LPWSTR pDoc
2a40: 75 6d 65 6e 74 3b 0a 09 4c 50 57 53 54 52 20 70  ument;..LPWSTR p
2a50: 4e 6f 74 69 66 79 4e 61 6d 65 3b 0a 09 4c 50 57  NotifyName;..LPW
2a60: 53 54 52 20 70 44 61 74 61 74 79 70 65 3b 0a 09  STR pDatatype;..
2a70: 4c 50 57 53 54 52 20 70 50 72 69 6e 74 50 72 6f  LPWSTR pPrintPro
2a80: 63 65 73 73 6f 72 3b 0a 09 4c 50 57 53 54 52 20  cessor;..LPWSTR 
2a90: 70 50 61 72 61 6d 65 74 65 72 73 3b 0a 09 4c 50  pParameters;..LP
2aa0: 57 53 54 52 20 70 44 72 69 76 65 72 4e 61 6d 65  WSTR pDriverName
2ab0: 3b 0a 09 4c 50 44 45 56 4d 4f 44 45 57 20 70 44  ;..LPDEVMODEW pD
2ac0: 65 76 4d 6f 64 65 3b 0a 09 4c 50 57 53 54 52 20  evMode;..LPWSTR 
2ad0: 70 53 74 61 74 75 73 3b 0a 09 50 53 45 43 55 52  pStatus;..PSECUR
2ae0: 49 54 59 5f 44 45 53 43 52 49 50 54 4f 52 20 70  ITY_DESCRIPTOR p
2af0: 53 65 63 75 72 69 74 79 44 65 73 63 72 69 70 74  SecurityDescript
2b00: 6f 72 3b 0a 09 44 57 4f 52 44 20 53 74 61 74 75  or;..DWORD Statu
2b10: 73 3b 0a 09 44 57 4f 52 44 20 50 72 69 6f 72 69  s;..DWORD Priori
2b20: 74 79 3b 0a 09 44 57 4f 52 44 20 50 6f 73 69 74  ty;..DWORD Posit
2b30: 69 6f 6e 3b 0a 09 44 57 4f 52 44 20 53 74 61 72  ion;..DWORD Star
2b40: 74 54 69 6d 65 3b 0a 09 44 57 4f 52 44 20 55 6e  tTime;..DWORD Un
2b50: 74 69 6c 54 69 6d 65 3b 0a 09 44 57 4f 52 44 20  tilTime;..DWORD 
2b60: 54 6f 74 61 6c 50 61 67 65 73 3b 0a 09 44 57 4f  TotalPages;..DWO
2b70: 52 44 20 53 69 7a 65 3b 0a 09 53 59 53 54 45 4d  RD Size;..SYSTEM
2b80: 54 49 4d 45 20 53 75 62 6d 69 74 74 65 64 3b 0a  TIME Submitted;.
2b90: 09 44 57 4f 52 44 20 54 69 6d 65 3b 0a 09 44 57  .DWORD Time;..DW
2ba0: 4f 52 44 20 50 61 67 65 73 50 72 69 6e 74 65 64  ORD PagesPrinted
2bb0: 3b 0a 7d 0a 61 6c 69 61 73 20 4a 4f 42 5f 49 4e  ;.}.alias JOB_IN
2bc0: 46 4f 5f 32 57 2a 20 50 4a 4f 42 5f 49 4e 46 4f  FO_2W* PJOB_INFO
2bd0: 5f 32 57 2c 20 4c 50 4a 4f 42 5f 49 4e 46 4f 5f  _2W, LPJOB_INFO_
2be0: 32 57 3b 0a 0a 73 74 72 75 63 74 20 44 4f 43 5f  2W;..struct DOC_
2bf0: 49 4e 46 4f 5f 31 41 20 7b 0a 09 4c 50 53 54 52  INFO_1A {..LPSTR
2c00: 20 70 44 6f 63 4e 61 6d 65 3b 0a 09 4c 50 53 54   pDocName;..LPST
2c10: 52 20 70 4f 75 74 70 75 74 46 69 6c 65 3b 0a 09  R pOutputFile;..
2c20: 4c 50 53 54 52 20 70 44 61 74 61 74 79 70 65 3b  LPSTR pDatatype;
2c30: 0a 7d 0a 61 6c 69 61 73 20 44 4f 43 5f 49 4e 46  .}.alias DOC_INF
2c40: 4f 5f 31 41 2a 20 50 44 4f 43 5f 49 4e 46 4f 5f  O_1A* PDOC_INFO_
2c50: 31 41 2c 20 4c 50 44 4f 43 5f 49 4e 46 4f 5f 31  1A, LPDOC_INFO_1
2c60: 41 3b 0a 0a 73 74 72 75 63 74 20 44 4f 43 5f 49  A;..struct DOC_I
2c70: 4e 46 4f 5f 31 57 20 7b 0a 09 4c 50 57 53 54 52  NFO_1W {..LPWSTR
2c80: 20 70 44 6f 63 4e 61 6d 65 3b 0a 09 4c 50 57 53   pDocName;..LPWS
2c90: 54 52 20 70 4f 75 74 70 75 74 46 69 6c 65 3b 0a  TR pOutputFile;.
2ca0: 09 4c 50 57 53 54 52 20 70 44 61 74 61 74 79 70  .LPWSTR pDatatyp
2cb0: 65 3b 0a 7d 0a 61 6c 69 61 73 20 44 4f 43 5f 49  e;.}.alias DOC_I
2cc0: 4e 46 4f 5f 31 57 2a 20 50 44 4f 43 5f 49 4e 46  NFO_1W* PDOC_INF
2cd0: 4f 5f 31 57 2c 20 4c 50 44 4f 43 5f 49 4e 46 4f  O_1W, LPDOC_INFO
2ce0: 5f 31 57 3b 0a 0a 73 74 72 75 63 74 20 44 4f 43  _1W;..struct DOC
2cf0: 5f 49 4e 46 4f 5f 32 41 20 7b 0a 09 4c 50 53 54  _INFO_2A {..LPST
2d00: 52 20 70 44 6f 63 4e 61 6d 65 3b 0a 09 4c 50 53  R pDocName;..LPS
2d10: 54 52 20 70 4f 75 74 70 75 74 46 69 6c 65 3b 0a  TR pOutputFile;.
2d20: 09 4c 50 53 54 52 20 70 44 61 74 61 74 79 70 65  .LPSTR pDatatype
2d30: 3b 0a 09 44 57 4f 52 44 20 64 77 4d 6f 64 65 3b  ;..DWORD dwMode;
2d40: 0a 09 44 57 4f 52 44 20 4a 6f 62 49 64 3b 0a 7d  ..DWORD JobId;.}
2d50: 0a 61 6c 69 61 73 20 44 4f 43 5f 49 4e 46 4f 5f  .alias DOC_INFO_
2d60: 32 41 2a 20 50 44 4f 43 5f 49 4e 46 4f 5f 32 41  2A* PDOC_INFO_2A
2d70: 2c 20 4c 50 44 4f 43 5f 49 4e 46 4f 5f 32 41 3b  , LPDOC_INFO_2A;
2d80: 0a 0a 73 74 72 75 63 74 20 44 4f 43 5f 49 4e 46  ..struct DOC_INF
2d90: 4f 5f 32 57 20 7b 0a 09 4c 50 57 53 54 52 20 70  O_2W {..LPWSTR p
2da0: 44 6f 63 4e 61 6d 65 3b 0a 09 4c 50 57 53 54 52  DocName;..LPWSTR
2db0: 20 70 4f 75 74 70 75 74 46 69 6c 65 3b 0a 09 4c   pOutputFile;..L
2dc0: 50 57 53 54 52 20 70 44 61 74 61 74 79 70 65 3b  PWSTR pDatatype;
2dd0: 0a 09 44 57 4f 52 44 20 20 64 77 4d 6f 64 65 3b  ..DWORD  dwMode;
2de0: 0a 09 44 57 4f 52 44 20 20 4a 6f 62 49 64 3b 0a  ..DWORD  JobId;.
2df0: 7d 0a 61 6c 69 61 73 20 44 4f 43 5f 49 4e 46 4f  }.alias DOC_INFO
2e00: 5f 32 57 2a 20 50 44 4f 43 5f 49 4e 46 4f 5f 32  _2W* PDOC_INFO_2
2e10: 57 2c 20 4c 50 44 4f 43 5f 49 4e 46 4f 5f 32 57  W, LPDOC_INFO_2W
2e20: 3b 0a 0a 73 74 72 75 63 74 20 44 52 49 56 45 52  ;..struct DRIVER
2e30: 5f 49 4e 46 4f 5f 31 41 20 7b 0a 09 4c 50 53 54  _INFO_1A {..LPST
2e40: 52 20 70 4e 61 6d 65 3b 0a 7d 0a 61 6c 69 61 73  R pName;.}.alias
2e50: 20 44 52 49 56 45 52 5f 49 4e 46 4f 5f 31 41 2a   DRIVER_INFO_1A*
2e60: 20 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 31 41   PDRIVER_INFO_1A
2e70: 2c 20 4c 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f  , LPDRIVER_INFO_
2e80: 31 41 3b 0a 0a 73 74 72 75 63 74 20 44 52 49 56  1A;..struct DRIV
2e90: 45 52 5f 49 4e 46 4f 5f 31 57 20 7b 0a 09 4c 50  ER_INFO_1W {..LP
2ea0: 57 53 54 52 20 70 4e 61 6d 65 3b 0a 7d 0a 61 6c  WSTR pName;.}.al
2eb0: 69 61 73 20 44 52 49 56 45 52 5f 49 4e 46 4f 5f  ias DRIVER_INFO_
2ec0: 31 57 2a 20 50 44 52 49 56 45 52 5f 49 4e 46 4f  1W* PDRIVER_INFO
2ed0: 5f 31 57 2c 20 4c 50 44 52 49 56 45 52 5f 49 4e  _1W, LPDRIVER_IN
2ee0: 46 4f 5f 31 57 3b 0a 0a 73 74 72 75 63 74 20 44  FO_1W;..struct D
2ef0: 52 49 56 45 52 5f 49 4e 46 4f 5f 32 41 20 7b 0a  RIVER_INFO_2A {.
2f00: 09 44 57 4f 52 44 20 63 56 65 72 73 69 6f 6e 3b  .DWORD cVersion;
2f10: 0a 09 4c 50 53 54 52 20 70 4e 61 6d 65 3b 0a 09  ..LPSTR pName;..
2f20: 4c 50 53 54 52 20 70 45 6e 76 69 72 6f 6e 6d 65  LPSTR pEnvironme
2f30: 6e 74 3b 0a 09 4c 50 53 54 52 20 70 44 72 69 76  nt;..LPSTR pDriv
2f40: 65 72 50 61 74 68 3b 0a 09 4c 50 53 54 52 20 70  erPath;..LPSTR p
2f50: 44 61 74 61 46 69 6c 65 3b 0a 09 4c 50 53 54 52  DataFile;..LPSTR
2f60: 20 70 43 6f 6e 66 69 67 46 69 6c 65 3b 0a 7d 0a   pConfigFile;.}.
2f70: 61 6c 69 61 73 20 44 52 49 56 45 52 5f 49 4e 46  alias DRIVER_INF
2f80: 4f 5f 32 41 2a 20 50 44 52 49 56 45 52 5f 49 4e  O_2A* PDRIVER_IN
2f90: 46 4f 5f 32 41 2c 20 4c 50 44 52 49 56 45 52 5f  FO_2A, LPDRIVER_
2fa0: 49 4e 46 4f 5f 32 41 3b 0a 0a 73 74 72 75 63 74  INFO_2A;..struct
2fb0: 20 44 52 49 56 45 52 5f 49 4e 46 4f 5f 32 57 20   DRIVER_INFO_2W 
2fc0: 7b 0a 09 44 57 4f 52 44 20 20 63 56 65 72 73 69  {..DWORD  cVersi
2fd0: 6f 6e 3b 0a 09 4c 50 57 53 54 52 20 70 4e 61 6d  on;..LPWSTR pNam
2fe0: 65 3b 0a 09 4c 50 57 53 54 52 20 70 45 6e 76 69  e;..LPWSTR pEnvi
2ff0: 72 6f 6e 6d 65 6e 74 3b 0a 09 4c 50 57 53 54 52  ronment;..LPWSTR
3000: 20 70 44 72 69 76 65 72 50 61 74 68 3b 0a 09 4c   pDriverPath;..L
3010: 50 57 53 54 52 20 70 44 61 74 61 46 69 6c 65 3b  PWSTR pDataFile;
3020: 0a 09 4c 50 57 53 54 52 20 70 43 6f 6e 66 69 67  ..LPWSTR pConfig
3030: 46 69 6c 65 3b 0a 7d 0a 61 6c 69 61 73 20 44 52  File;.}.alias DR
3040: 49 56 45 52 5f 49 4e 46 4f 5f 32 57 2a 20 50 44  IVER_INFO_2W* PD
3050: 52 49 56 45 52 5f 49 4e 46 4f 5f 32 57 2c 20 4c  RIVER_INFO_2W, L
3060: 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f 32 57 3b  PDRIVER_INFO_2W;
3070: 0a 0a 73 74 72 75 63 74 20 44 52 49 56 45 52 5f  ..struct DRIVER_
3080: 49 4e 46 4f 5f 33 41 20 7b 0a 09 44 57 4f 52 44  INFO_3A {..DWORD
3090: 20 63 56 65 72 73 69 6f 6e 3b 0a 09 4c 50 53 54   cVersion;..LPST
30a0: 52 20 70 4e 61 6d 65 3b 0a 09 4c 50 53 54 52 20  R pName;..LPSTR 
30b0: 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 3b 0a 09 4c  pEnvironment;..L
30c0: 50 53 54 52 20 70 44 72 69 76 65 72 50 61 74 68  PSTR pDriverPath
30d0: 3b 0a 09 4c 50 53 54 52 20 70 44 61 74 61 46 69  ;..LPSTR pDataFi
30e0: 6c 65 3b 0a 09 4c 50 53 54 52 20 70 43 6f 6e 66  le;..LPSTR pConf
30f0: 69 67 46 69 6c 65 3b 0a 09 4c 50 53 54 52 20 70  igFile;..LPSTR p
3100: 48 65 6c 70 46 69 6c 65 3b 0a 09 4c 50 53 54 52  HelpFile;..LPSTR
3110: 20 70 44 65 70 65 6e 64 65 6e 74 46 69 6c 65 73   pDependentFiles
3120: 3b 0a 09 4c 50 53 54 52 20 70 4d 6f 6e 69 74 6f  ;..LPSTR pMonito
3130: 72 4e 61 6d 65 3b 0a 09 4c 50 53 54 52 20 70 44  rName;..LPSTR pD
3140: 65 66 61 75 6c 74 44 61 74 61 54 79 70 65 3b 0a  efaultDataType;.
3150: 7d 0a 61 6c 69 61 73 20 44 52 49 56 45 52 5f 49  }.alias DRIVER_I
3160: 4e 46 4f 5f 33 41 2a 20 50 44 52 49 56 45 52 5f  NFO_3A* PDRIVER_
3170: 49 4e 46 4f 5f 33 41 2c 20 4c 50 44 52 49 56 45  INFO_3A, LPDRIVE
3180: 52 5f 49 4e 46 4f 5f 33 41 3b 0a 0a 73 74 72 75  R_INFO_3A;..stru
3190: 63 74 20 44 52 49 56 45 52 5f 49 4e 46 4f 5f 33  ct DRIVER_INFO_3
31a0: 57 20 7b 0a 09 44 57 4f 52 44 20 20 63 56 65 72  W {..DWORD  cVer
31b0: 73 69 6f 6e 3b 0a 09 4c 50 57 53 54 52 20 70 4e  sion;..LPWSTR pN
31c0: 61 6d 65 3b 0a 09 4c 50 57 53 54 52 20 70 45 6e  ame;..LPWSTR pEn
31d0: 76 69 72 6f 6e 6d 65 6e 74 3b 0a 09 4c 50 57 53  vironment;..LPWS
31e0: 54 52 20 70 44 72 69 76 65 72 50 61 74 68 3b 0a  TR pDriverPath;.
31f0: 09 4c 50 57 53 54 52 20 70 44 61 74 61 46 69 6c  .LPWSTR pDataFil
3200: 65 3b 0a 09 4c 50 57 53 54 52 20 70 43 6f 6e 66  e;..LPWSTR pConf
3210: 69 67 46 69 6c 65 3b 0a 09 4c 50 57 53 54 52 20  igFile;..LPWSTR 
3220: 70 48 65 6c 70 46 69 6c 65 3b 0a 09 4c 50 57 53  pHelpFile;..LPWS
3230: 54 52 20 70 44 65 70 65 6e 64 65 6e 74 46 69 6c  TR pDependentFil
3240: 65 73 3b 0a 09 4c 50 57 53 54 52 20 70 4d 6f 6e  es;..LPWSTR pMon
3250: 69 74 6f 72 4e 61 6d 65 3b 0a 09 4c 50 57 53 54  itorName;..LPWST
3260: 52 20 70 44 65 66 61 75 6c 74 44 61 74 61 54 79  R pDefaultDataTy
3270: 70 65 3b 0a 7d 0a 61 6c 69 61 73 20 44 52 49 56  pe;.}.alias DRIV
3280: 45 52 5f 49 4e 46 4f 5f 33 57 2a 20 50 44 52 49  ER_INFO_3W* PDRI
3290: 56 45 52 5f 49 4e 46 4f 5f 33 57 2c 20 4c 50 44  VER_INFO_3W, LPD
32a0: 52 49 56 45 52 5f 49 4e 46 4f 5f 33 57 3b 0a 0a  RIVER_INFO_3W;..
32b0: 73 74 72 75 63 74 20 4d 4f 4e 49 54 4f 52 5f 49  struct MONITOR_I
32c0: 4e 46 4f 5f 31 41 20 7b 0a 09 4c 50 53 54 52 20  NFO_1A {..LPSTR 
32d0: 70 4e 61 6d 65 3b 0a 7d 0a 61 6c 69 61 73 20 4d  pName;.}.alias M
32e0: 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 31 41 2a 20  ONITOR_INFO_1A* 
32f0: 50 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 31 41  PMONITOR_INFO_1A
3300: 2c 20 4c 50 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f  , LPMONITOR_INFO
3310: 5f 31 41 3b 0a 0a 73 74 72 75 63 74 20 4d 4f 4e  _1A;..struct MON
3320: 49 54 4f 52 5f 49 4e 46 4f 5f 31 57 20 7b 0a 09  ITOR_INFO_1W {..
3330: 4c 50 57 53 54 52 20 70 4e 61 6d 65 3b 0a 7d 0a  LPWSTR pName;.}.
3340: 61 6c 69 61 73 20 4d 4f 4e 49 54 4f 52 5f 49 4e  alias MONITOR_IN
3350: 46 4f 5f 31 57 2a 20 50 4d 4f 4e 49 54 4f 52 5f  FO_1W* PMONITOR_
3360: 49 4e 46 4f 5f 31 57 2c 20 4c 50 4d 4f 4e 49 54  INFO_1W, LPMONIT
3370: 4f 52 5f 49 4e 46 4f 5f 31 57 3b 0a 0a 73 74 72  OR_INFO_1W;..str
3380: 75 63 74 20 50 4f 52 54 5f 49 4e 46 4f 5f 31 41  uct PORT_INFO_1A
3390: 20 7b 0a 09 4c 50 53 54 52 20 70 4e 61 6d 65 3b   {..LPSTR pName;
33a0: 0a 7d 0a 61 6c 69 61 73 20 50 4f 52 54 5f 49 4e  .}.alias PORT_IN
33b0: 46 4f 5f 31 41 2a 20 50 50 4f 52 54 5f 49 4e 46  FO_1A* PPORT_INF
33c0: 4f 5f 31 41 2c 20 4c 50 50 4f 52 54 5f 49 4e 46  O_1A, LPPORT_INF
33d0: 4f 5f 31 41 3b 0a 0a 73 74 72 75 63 74 20 50 4f  O_1A;..struct PO
33e0: 52 54 5f 49 4e 46 4f 5f 31 57 20 7b 0a 09 4c 50  RT_INFO_1W {..LP
33f0: 57 53 54 52 20 70 4e 61 6d 65 3b 0a 7d 0a 61 6c  WSTR pName;.}.al
3400: 69 61 73 20 50 4f 52 54 5f 49 4e 46 4f 5f 31 57  ias PORT_INFO_1W
3410: 2a 20 50 50 4f 52 54 5f 49 4e 46 4f 5f 31 57 2c  * PPORT_INFO_1W,
3420: 20 4c 50 50 4f 52 54 5f 49 4e 46 4f 5f 31 57 3b   LPPORT_INFO_1W;
3430: 0a 0a 73 74 72 75 63 74 20 4d 4f 4e 49 54 4f 52  ..struct MONITOR
3440: 5f 49 4e 46 4f 5f 32 41 20 7b 0a 09 4c 50 53 54  _INFO_2A {..LPST
3450: 52 20 70 4e 61 6d 65 3b 0a 09 4c 50 53 54 52 20  R pName;..LPSTR 
3460: 70 45 6e 76 69 72 6f 6e 6d 65 6e 74 3b 0a 09 4c  pEnvironment;..L
3470: 50 53 54 52 20 70 44 4c 4c 4e 61 6d 65 3b 0a 7d  PSTR pDLLName;.}
3480: 0a 61 6c 69 61 73 20 4d 4f 4e 49 54 4f 52 5f 49  .alias MONITOR_I
3490: 4e 46 4f 5f 32 41 2a 20 50 4d 4f 4e 49 54 4f 52  NFO_2A* PMONITOR
34a0: 5f 49 4e 46 4f 5f 32 41 2c 20 4c 50 4d 4f 4e 49  _INFO_2A, LPMONI
34b0: 54 4f 52 5f 49 4e 46 4f 5f 32 41 3b 0a 0a 73 74  TOR_INFO_2A;..st
34c0: 72 75 63 74 20 4d 4f 4e 49 54 4f 52 5f 49 4e 46  ruct MONITOR_INF
34d0: 4f 5f 32 57 20 7b 0a 09 4c 50 57 53 54 52 20 70  O_2W {..LPWSTR p
34e0: 4e 61 6d 65 3b 0a 09 4c 50 57 53 54 52 20 70 45  Name;..LPWSTR pE
34f0: 6e 76 69 72 6f 6e 6d 65 6e 74 3b 0a 09 4c 50 57  nvironment;..LPW
3500: 53 54 52 20 70 44 4c 4c 4e 61 6d 65 3b 0a 7d 0a  STR pDLLName;.}.
3510: 61 6c 69 61 73 20 4d 4f 4e 49 54 4f 52 5f 49 4e  alias MONITOR_IN
3520: 46 4f 5f 32 57 2a 20 50 4d 4f 4e 49 54 4f 52 5f  FO_2W* PMONITOR_
3530: 49 4e 46 4f 5f 32 57 2c 20 4c 50 4d 4f 4e 49 54  INFO_2W, LPMONIT
3540: 4f 52 5f 49 4e 46 4f 5f 32 57 3b 0a 0a 73 74 72  OR_INFO_2W;..str
3550: 75 63 74 20 50 4f 52 54 5f 49 4e 46 4f 5f 32 41  uct PORT_INFO_2A
3560: 20 7b 0a 09 4c 50 53 54 52 20 70 50 6f 72 74 4e   {..LPSTR pPortN
3570: 61 6d 65 3b 0a 09 4c 50 53 54 52 20 70 4d 6f 6e  ame;..LPSTR pMon
3580: 69 74 6f 72 4e 61 6d 65 3b 0a 09 4c 50 53 54 52  itorName;..LPSTR
3590: 20 70 44 65 73 63 72 69 70 74 69 6f 6e 3b 0a 09   pDescription;..
35a0: 44 57 4f 52 44 20 66 50 6f 72 74 54 79 70 65 3b  DWORD fPortType;
35b0: 0a 09 44 57 4f 52 44 20 52 65 73 65 72 76 65 64  ..DWORD Reserved
35c0: 3b 0a 7d 0a 61 6c 69 61 73 20 50 4f 52 54 5f 49  ;.}.alias PORT_I
35d0: 4e 46 4f 5f 32 41 2a 20 50 50 4f 52 54 5f 49 4e  NFO_2A* PPORT_IN
35e0: 46 4f 5f 32 41 2c 20 4c 50 50 4f 52 54 5f 49 4e  FO_2A, LPPORT_IN
35f0: 46 4f 5f 32 41 3b 0a 0a 73 74 72 75 63 74 20 50  FO_2A;..struct P
3600: 4f 52 54 5f 49 4e 46 4f 5f 32 57 20 7b 0a 09 4c  ORT_INFO_2W {..L
3610: 50 57 53 54 52 20 70 50 6f 72 74 4e 61 6d 65 3b  PWSTR pPortName;
3620: 0a 09 4c 50 57 53 54 52 20 70 4d 6f 6e 69 74 6f  ..LPWSTR pMonito
3630: 72 4e 61 6d 65 3b 0a 09 4c 50 57 53 54 52 20 70  rName;..LPWSTR p
3640: 44 65 73 63 72 69 70 74 69 6f 6e 3b 0a 09 44 57  Description;..DW
3650: 4f 52 44 20 66 50 6f 72 74 54 79 70 65 3b 0a 09  ORD fPortType;..
3660: 44 57 4f 52 44 20 52 65 73 65 72 76 65 64 3b 0a  DWORD Reserved;.
3670: 7d 0a 61 6c 69 61 73 20 50 4f 52 54 5f 49 4e 46  }.alias PORT_INF
3680: 4f 5f 32 57 2a 20 50 50 4f 52 54 5f 49 4e 46 4f  O_2W* PPORT_INFO
3690: 5f 32 57 2c 20 4c 50 50 4f 52 54 5f 49 4e 46 4f  _2W, LPPORT_INFO
36a0: 5f 32 57 3b 0a 0a 73 74 72 75 63 74 20 50 4f 52  _2W;..struct POR
36b0: 54 5f 49 4e 46 4f 5f 33 41 20 7b 0a 09 44 57 4f  T_INFO_3A {..DWO
36c0: 52 44 20 64 77 53 74 61 74 75 73 3b 0a 09 4c 50  RD dwStatus;..LP
36d0: 53 54 52 20 70 73 7a 53 74 61 74 75 73 3b 0a 09  STR pszStatus;..
36e0: 44 57 4f 52 44 20 64 77 53 65 76 65 72 69 74 79  DWORD dwSeverity
36f0: 3b 0a 7d 0a 61 6c 69 61 73 20 50 4f 52 54 5f 49  ;.}.alias PORT_I
3700: 4e 46 4f 5f 33 41 2a 20 50 50 4f 52 54 5f 49 4e  NFO_3A* PPORT_IN
3710: 46 4f 5f 33 41 2c 20 4c 50 50 4f 52 54 5f 49 4e  FO_3A, LPPORT_IN
3720: 46 4f 5f 33 41 3b 0a 0a 73 74 72 75 63 74 20 50  FO_3A;..struct P
3730: 4f 52 54 5f 49 4e 46 4f 5f 33 57 20 7b 0a 09 44  ORT_INFO_3W {..D
3740: 57 4f 52 44 20 64 77 53 74 61 74 75 73 3b 0a 09  WORD dwStatus;..
3750: 4c 50 57 53 54 52 20 70 73 7a 53 74 61 74 75 73  LPWSTR pszStatus
3760: 3b 0a 09 44 57 4f 52 44 20 64 77 53 65 76 65 72  ;..DWORD dwSever
3770: 69 74 79 3b 0a 7d 0a 61 6c 69 61 73 20 50 4f 52  ity;.}.alias POR
3780: 54 5f 49 4e 46 4f 5f 33 57 2a 20 50 50 4f 52 54  T_INFO_3W* PPORT
3790: 5f 49 4e 46 4f 5f 33 57 2c 20 4c 50 50 4f 52 54  _INFO_3W, LPPORT
37a0: 5f 49 4e 46 4f 5f 33 57 3b 0a 0a 73 74 72 75 63  _INFO_3W;..struc
37b0: 74 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 31  t PRINTER_INFO_1
37c0: 41 20 7b 0a 09 44 57 4f 52 44 20 46 6c 61 67 73  A {..DWORD Flags
37d0: 3b 0a 09 4c 50 53 54 52 20 70 44 65 73 63 72 69  ;..LPSTR pDescri
37e0: 70 74 69 6f 6e 3b 0a 09 4c 50 53 54 52 20 70 4e  ption;..LPSTR pN
37f0: 61 6d 65 3b 0a 09 4c 50 53 54 52 20 70 43 6f 6d  ame;..LPSTR pCom
3800: 6d 65 6e 74 3b 0a 7d 0a 61 6c 69 61 73 20 50 52  ment;.}.alias PR
3810: 49 4e 54 45 52 5f 49 4e 46 4f 5f 31 41 2a 20 50  INTER_INFO_1A* P
3820: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 31 41 2c  PRINTER_INFO_1A,
3830: 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f   LPPRINTER_INFO_
3840: 31 41 3b 0a 0a 73 74 72 75 63 74 20 50 52 49 4e  1A;..struct PRIN
3850: 54 45 52 5f 49 4e 46 4f 5f 31 57 20 7b 0a 09 44  TER_INFO_1W {..D
3860: 57 4f 52 44 20 20 46 6c 61 67 73 3b 0a 09 4c 50  WORD  Flags;..LP
3870: 57 53 54 52 20 70 44 65 73 63 72 69 70 74 69 6f  WSTR pDescriptio
3880: 6e 3b 0a 09 4c 50 57 53 54 52 20 70 4e 61 6d 65  n;..LPWSTR pName
3890: 3b 0a 09 4c 50 57 53 54 52 20 70 43 6f 6d 6d 65  ;..LPWSTR pComme
38a0: 6e 74 3b 0a 7d 0a 61 6c 69 61 73 20 50 52 49 4e  nt;.}.alias PRIN
38b0: 54 45 52 5f 49 4e 46 4f 5f 31 57 2a 20 50 50 52  TER_INFO_1W* PPR
38c0: 49 4e 54 45 52 5f 49 4e 46 4f 5f 31 57 2c 20 4c  INTER_INFO_1W, L
38d0: 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 31 57  PPRINTER_INFO_1W
38e0: 3b 0a 0a 73 74 72 75 63 74 20 50 52 49 4e 54 45  ;..struct PRINTE
38f0: 52 5f 49 4e 46 4f 5f 32 41 20 7b 0a 09 4c 50 53  R_INFO_2A {..LPS
3900: 54 52 20 70 53 65 72 76 65 72 4e 61 6d 65 3b 0a  TR pServerName;.
3910: 09 4c 50 53 54 52 20 70 50 72 69 6e 74 65 72 4e  .LPSTR pPrinterN
3920: 61 6d 65 3b 0a 09 4c 50 53 54 52 20 70 53 68 61  ame;..LPSTR pSha
3930: 72 65 4e 61 6d 65 3b 0a 09 4c 50 53 54 52 20 70  reName;..LPSTR p
3940: 50 6f 72 74 4e 61 6d 65 3b 0a 09 4c 50 53 54 52  PortName;..LPSTR
3950: 20 70 44 72 69 76 65 72 4e 61 6d 65 3b 0a 09 4c   pDriverName;..L
3960: 50 53 54 52 20 70 43 6f 6d 6d 65 6e 74 3b 0a 09  PSTR pComment;..
3970: 4c 50 53 54 52 20 70 4c 6f 63 61 74 69 6f 6e 3b  LPSTR pLocation;
3980: 0a 09 4c 50 44 45 56 4d 4f 44 45 41 20 70 44 65  ..LPDEVMODEA pDe
3990: 76 4d 6f 64 65 3b 0a 09 4c 50 53 54 52 20 70 53  vMode;..LPSTR pS
39a0: 65 70 46 69 6c 65 3b 0a 09 4c 50 53 54 52 20 70  epFile;..LPSTR p
39b0: 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 3b 0a  PrintProcessor;.
39c0: 09 4c 50 53 54 52 20 70 44 61 74 61 74 79 70 65  .LPSTR pDatatype
39d0: 3b 0a 09 4c 50 53 54 52 20 70 50 61 72 61 6d 65  ;..LPSTR pParame
39e0: 74 65 72 73 3b 0a 09 50 53 45 43 55 52 49 54 59  ters;..PSECURITY
39f0: 5f 44 45 53 43 52 49 50 54 4f 52 20 70 53 65 63  _DESCRIPTOR pSec
3a00: 75 72 69 74 79 44 65 73 63 72 69 70 74 6f 72 3b  urityDescriptor;
3a10: 0a 09 44 57 4f 52 44 20 41 74 74 72 69 62 75 74  ..DWORD Attribut
3a20: 65 73 3b 0a 09 44 57 4f 52 44 20 50 72 69 6f 72  es;..DWORD Prior
3a30: 69 74 79 3b 0a 09 44 57 4f 52 44 20 44 65 66 61  ity;..DWORD Defa
3a40: 75 6c 74 50 72 69 6f 72 69 74 79 3b 0a 09 44 57  ultPriority;..DW
3a50: 4f 52 44 20 53 74 61 72 74 54 69 6d 65 3b 0a 09  ORD StartTime;..
3a60: 44 57 4f 52 44 20 55 6e 74 69 6c 54 69 6d 65 3b  DWORD UntilTime;
3a70: 0a 09 44 57 4f 52 44 20 53 74 61 74 75 73 3b 0a  ..DWORD Status;.
3a80: 09 44 57 4f 52 44 20 63 4a 6f 62 73 3b 0a 09 44  .DWORD cJobs;..D
3a90: 57 4f 52 44 20 41 76 65 72 61 67 65 50 50 4d 3b  WORD AveragePPM;
3aa0: 0a 7d 0a 61 6c 69 61 73 20 50 52 49 4e 54 45 52  .}.alias PRINTER
3ab0: 5f 49 4e 46 4f 5f 32 41 2a 20 50 50 52 49 4e 54  _INFO_2A* PPRINT
3ac0: 45 52 5f 49 4e 46 4f 5f 32 41 2c 20 4c 50 50 52  ER_INFO_2A, LPPR
3ad0: 49 4e 54 45 52 5f 49 4e 46 4f 5f 32 41 3b 0a 0a  INTER_INFO_2A;..
3ae0: 73 74 72 75 63 74 20 50 52 49 4e 54 45 52 5f 49  struct PRINTER_I
3af0: 4e 46 4f 5f 32 57 20 7b 0a 09 4c 50 57 53 54 52  NFO_2W {..LPWSTR
3b00: 20 70 53 65 72 76 65 72 4e 61 6d 65 3b 0a 09 4c   pServerName;..L
3b10: 50 57 53 54 52 20 70 50 72 69 6e 74 65 72 4e 61  PWSTR pPrinterNa
3b20: 6d 65 3b 0a 09 4c 50 57 53 54 52 20 70 53 68 61  me;..LPWSTR pSha
3b30: 72 65 4e 61 6d 65 3b 0a 09 4c 50 57 53 54 52 20  reName;..LPWSTR 
3b40: 70 50 6f 72 74 4e 61 6d 65 3b 0a 09 4c 50 57 53  pPortName;..LPWS
3b50: 54 52 20 70 44 72 69 76 65 72 4e 61 6d 65 3b 0a  TR pDriverName;.
3b60: 09 4c 50 57 53 54 52 20 70 43 6f 6d 6d 65 6e 74  .LPWSTR pComment
3b70: 3b 0a 09 4c 50 57 53 54 52 20 70 4c 6f 63 61 74  ;..LPWSTR pLocat
3b80: 69 6f 6e 3b 0a 09 4c 50 44 45 56 4d 4f 44 45 57  ion;..LPDEVMODEW
3b90: 20 70 44 65 76 4d 6f 64 65 3b 0a 09 4c 50 57 53   pDevMode;..LPWS
3ba0: 54 52 20 70 53 65 70 46 69 6c 65 3b 0a 09 4c 50  TR pSepFile;..LP
3bb0: 57 53 54 52 20 70 50 72 69 6e 74 50 72 6f 63 65  WSTR pPrintProce
3bc0: 73 73 6f 72 3b 0a 09 4c 50 57 53 54 52 20 70 44  ssor;..LPWSTR pD
3bd0: 61 74 61 74 79 70 65 3b 0a 09 4c 50 57 53 54 52  atatype;..LPWSTR
3be0: 20 70 50 61 72 61 6d 65 74 65 72 73 3b 0a 09 50   pParameters;..P
3bf0: 53 45 43 55 52 49 54 59 5f 44 45 53 43 52 49 50  SECURITY_DESCRIP
3c00: 54 4f 52 20 70 53 65 63 75 72 69 74 79 44 65 73  TOR pSecurityDes
3c10: 63 72 69 70 74 6f 72 3b 0a 09 44 57 4f 52 44 20  criptor;..DWORD 
3c20: 41 74 74 72 69 62 75 74 65 73 3b 0a 09 44 57 4f  Attributes;..DWO
3c30: 52 44 20 50 72 69 6f 72 69 74 79 3b 0a 09 44 57  RD Priority;..DW
3c40: 4f 52 44 20 44 65 66 61 75 6c 74 50 72 69 6f 72  ORD DefaultPrior
3c50: 69 74 79 3b 0a 09 44 57 4f 52 44 20 53 74 61 72  ity;..DWORD Star
3c60: 74 54 69 6d 65 3b 0a 09 44 57 4f 52 44 20 55 6e  tTime;..DWORD Un
3c70: 74 69 6c 54 69 6d 65 3b 0a 09 44 57 4f 52 44 20  tilTime;..DWORD 
3c80: 53 74 61 74 75 73 3b 0a 09 44 57 4f 52 44 20 63  Status;..DWORD c
3c90: 4a 6f 62 73 3b 0a 09 44 57 4f 52 44 20 41 76 65  Jobs;..DWORD Ave
3ca0: 72 61 67 65 50 50 4d 3b 0a 7d 0a 61 6c 69 61 73  ragePPM;.}.alias
3cb0: 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 32 57   PRINTER_INFO_2W
3cc0: 2a 20 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f  * PPRINTER_INFO_
3cd0: 32 57 2c 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e  2W, LPPRINTER_IN
3ce0: 46 4f 5f 32 57 3b 0a 0a 73 74 72 75 63 74 20 50  FO_2W;..struct P
3cf0: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 33 20 7b 0a  RINTER_INFO_3 {.
3d00: 09 50 53 45 43 55 52 49 54 59 5f 44 45 53 43 52  .PSECURITY_DESCR
3d10: 49 50 54 4f 52 20 70 53 65 63 75 72 69 74 79 44  IPTOR pSecurityD
3d20: 65 73 63 72 69 70 74 6f 72 3b 0a 7d 0a 61 6c 69  escriptor;.}.ali
3d30: 61 73 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f  as PRINTER_INFO_
3d40: 33 2a 20 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f  3* PPRINTER_INFO
3d50: 5f 33 2c 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e  _3, LPPRINTER_IN
3d60: 46 4f 5f 33 3b 0a 0a 73 74 72 75 63 74 20 50 52  FO_3;..struct PR
3d70: 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 41 20 7b 0a  INTER_INFO_4A {.
3d80: 09 4c 50 53 54 52 20 70 50 72 69 6e 74 65 72 4e  .LPSTR pPrinterN
3d90: 61 6d 65 3b 0a 09 4c 50 53 54 52 20 70 53 65 72  ame;..LPSTR pSer
3da0: 76 65 72 4e 61 6d 65 3b 0a 09 44 57 4f 52 44 20  verName;..DWORD 
3db0: 41 74 74 72 69 62 75 74 65 73 3b 0a 7d 0a 61 6c  Attributes;.}.al
3dc0: 69 61 73 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f  ias PRINTER_INFO
3dd0: 5f 34 41 2a 20 50 50 52 49 4e 54 45 52 5f 49 4e  _4A* PPRINTER_IN
3de0: 46 4f 5f 34 41 2c 20 4c 50 50 52 49 4e 54 45 52  FO_4A, LPPRINTER
3df0: 5f 49 4e 46 4f 5f 34 41 3b 0a 0a 73 74 72 75 63  _INFO_4A;..struc
3e00: 74 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34  t PRINTER_INFO_4
3e10: 57 20 7b 0a 09 4c 50 57 53 54 52 20 70 50 72 69  W {..LPWSTR pPri
3e20: 6e 74 65 72 4e 61 6d 65 3b 0a 09 4c 50 57 53 54  nterName;..LPWST
3e30: 52 20 70 53 65 72 76 65 72 4e 61 6d 65 3b 0a 09  R pServerName;..
3e40: 44 57 4f 52 44 20 41 74 74 72 69 62 75 74 65 73  DWORD Attributes
3e50: 3b 0a 7d 0a 61 6c 69 61 73 20 50 52 49 4e 54 45  ;.}.alias PRINTE
3e60: 52 5f 49 4e 46 4f 5f 34 57 2a 20 50 50 52 49 4e  R_INFO_4W* PPRIN
3e70: 54 45 52 5f 49 4e 46 4f 5f 34 57 2c 20 4c 50 50  TER_INFO_4W, LPP
3e80: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 57 3b 0a  RINTER_INFO_4W;.
3e90: 0a 73 74 72 75 63 74 20 50 52 49 4e 54 45 52 5f  .struct PRINTER_
3ea0: 49 4e 46 4f 5f 35 41 20 7b 0a 09 4c 50 53 54 52  INFO_5A {..LPSTR
3eb0: 20 70 50 72 69 6e 74 65 72 4e 61 6d 65 3b 0a 09   pPrinterName;..
3ec0: 4c 50 53 54 52 20 70 50 6f 72 74 4e 61 6d 65 3b  LPSTR pPortName;
3ed0: 0a 09 44 57 4f 52 44 20 41 74 74 72 69 62 75 74  ..DWORD Attribut
3ee0: 65 73 3b 0a 09 44 57 4f 52 44 20 44 65 76 69 63  es;..DWORD Devic
3ef0: 65 4e 6f 74 53 65 6c 65 63 74 65 64 54 69 6d 65  eNotSelectedTime
3f00: 6f 75 74 3b 0a 09 44 57 4f 52 44 20 54 72 61 6e  out;..DWORD Tran
3f10: 73 6d 69 73 73 69 6f 6e 52 65 74 72 79 54 69 6d  smissionRetryTim
3f20: 65 6f 75 74 3b 0a 7d 0a 61 6c 69 61 73 20 50 52  eout;.}.alias PR
3f30: 49 4e 54 45 52 5f 49 4e 46 4f 5f 35 41 2a 20 50  INTER_INFO_5A* P
3f40: 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 35 41 2c  PRINTER_INFO_5A,
3f50: 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f   LPPRINTER_INFO_
3f60: 35 41 3b 0a 0a 73 74 72 75 63 74 20 50 52 49 4e  5A;..struct PRIN
3f70: 54 45 52 5f 49 4e 46 4f 5f 35 57 20 7b 0a 09 4c  TER_INFO_5W {..L
3f80: 50 57 53 54 52 20 70 50 72 69 6e 74 65 72 4e 61  PWSTR pPrinterNa
3f90: 6d 65 3b 0a 09 4c 50 57 53 54 52 20 70 50 6f 72  me;..LPWSTR pPor
3fa0: 74 4e 61 6d 65 3b 0a 09 44 57 4f 52 44 20 41 74  tName;..DWORD At
3fb0: 74 72 69 62 75 74 65 73 3b 0a 09 44 57 4f 52 44  tributes;..DWORD
3fc0: 20 44 65 76 69 63 65 4e 6f 74 53 65 6c 65 63 74   DeviceNotSelect
3fd0: 65 64 54 69 6d 65 6f 75 74 3b 0a 09 44 57 4f 52  edTimeout;..DWOR
3fe0: 44 20 54 72 61 6e 73 6d 69 73 73 69 6f 6e 52 65  D TransmissionRe
3ff0: 74 72 79 54 69 6d 65 6f 75 74 3b 0a 7d 0a 61 6c  tryTimeout;.}.al
4000: 69 61 73 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f  ias PRINTER_INFO
4010: 5f 35 57 2a 20 50 50 52 49 4e 54 45 52 5f 49 4e  _5W* PPRINTER_IN
4020: 46 4f 5f 35 57 2c 20 4c 50 50 52 49 4e 54 45 52  FO_5W, LPPRINTER
4030: 5f 49 4e 46 4f 5f 35 57 3b 0a 0a 73 74 72 75 63  _INFO_5W;..struc
4040: 74 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 36  t PRINTER_INFO_6
4050: 20 7b 0a 09 44 57 4f 52 44 20 64 77 53 74 61 74   {..DWORD dwStat
4060: 75 73 3b 0a 7d 0a 61 6c 69 61 73 20 50 52 49 4e  us;.}.alias PRIN
4070: 54 45 52 5f 49 4e 46 4f 5f 36 2a 20 50 50 52 49  TER_INFO_6* PPRI
4080: 4e 54 45 52 5f 49 4e 46 4f 5f 36 2c 20 4c 50 50  NTER_INFO_6, LPP
4090: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 36 3b 0a 0a  RINTER_INFO_6;..
40a0: 73 74 72 75 63 74 20 50 52 49 4e 54 50 52 4f 43  struct PRINTPROC
40b0: 45 53 53 4f 52 5f 49 4e 46 4f 5f 31 41 20 7b 0a  ESSOR_INFO_1A {.
40c0: 09 4c 50 53 54 52 20 70 4e 61 6d 65 3b 0a 7d 0a  .LPSTR pName;.}.
40d0: 61 6c 69 61 73 20 50 52 49 4e 54 50 52 4f 43 45  alias PRINTPROCE
40e0: 53 53 4f 52 5f 49 4e 46 4f 5f 31 41 2a 20 50 50  SSOR_INFO_1A* PP
40f0: 52 49 4e 54 50 52 4f 43 45 53 53 4f 52 5f 49 4e  RINTPROCESSOR_IN
4100: 46 4f 5f 31 41 2c 20 4c 50 50 52 49 4e 54 50 52  FO_1A, LPPRINTPR
4110: 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31 41 3b  OCESSOR_INFO_1A;
4120: 0a 0a 73 74 72 75 63 74 20 50 52 49 4e 54 50 52  ..struct PRINTPR
4130: 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31 57 20  OCESSOR_INFO_1W 
4140: 7b 0a 09 4c 50 57 53 54 52 20 70 4e 61 6d 65 3b  {..LPWSTR pName;
4150: 0a 7d 0a 61 6c 69 61 73 20 50 52 49 4e 54 50 52  .}.alias PRINTPR
4160: 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f 31 57 2a  OCESSOR_INFO_1W*
4170: 20 50 50 52 49 4e 54 50 52 4f 43 45 53 53 4f 52   PPRINTPROCESSOR
4180: 5f 49 4e 46 4f 5f 31 57 2c 20 4c 50 50 52 49 4e  _INFO_1W, LPPRIN
4190: 54 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46 4f 5f  TPROCESSOR_INFO_
41a0: 31 57 3b 0a 0a 73 74 72 75 63 74 20 50 52 49 4e  1W;..struct PRIN
41b0: 54 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 5f  TER_NOTIFY_INFO_
41c0: 44 41 54 41 20 7b 0a 09 57 4f 52 44 20 20 54 79  DATA {..WORD  Ty
41d0: 70 65 3b 0a 09 57 4f 52 44 20 20 46 69 65 6c 64  pe;..WORD  Field
41e0: 3b 0a 09 44 57 4f 52 44 20 52 65 73 65 72 76 65  ;..DWORD Reserve
41f0: 64 3b 0a 09 44 57 4f 52 44 20 49 64 3b 0a 09 75  d;..DWORD Id;..u
4200: 6e 69 6f 6e 20 5f 4e 6f 74 69 66 79 44 61 74 61  nion _NotifyData
4210: 20 7b 0a 09 09 44 57 4f 52 44 20 61 64 77 44 61   {...DWORD adwDa
4220: 74 61 5b 32 5d 3b 0a 09 09 73 74 72 75 63 74 20  ta[2];...struct 
4230: 44 61 74 61 20 7b 0a 09 09 09 44 57 4f 52 44 20  Data {....DWORD 
4240: 63 62 42 75 66 3b 0a 09 09 09 50 56 4f 49 44 20  cbBuf;....PVOID 
4250: 70 42 75 66 3b 0a 09 09 7d 0a 09 7d 0a 09 5f 4e  pBuf;...}..}.._N
4260: 6f 74 69 66 79 44 61 74 61 20 4e 6f 74 69 66 79  otifyData Notify
4270: 44 61 74 61 3b 09 0a 7d 0a 61 6c 69 61 73 20 50  Data;..}.alias P
4280: 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 49 4e  RINTER_NOTIFY_IN
4290: 46 4f 5f 44 41 54 41 2a 20 50 50 52 49 4e 54 45  FO_DATA* PPRINTE
42a0: 52 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 5f 44 41  R_NOTIFY_INFO_DA
42b0: 54 41 2c 20 4c 50 50 52 49 4e 54 45 52 5f 4e 4f  TA, LPPRINTER_NO
42c0: 54 49 46 59 5f 49 4e 46 4f 5f 44 41 54 41 3b 0a  TIFY_INFO_DATA;.
42d0: 0a 73 74 72 75 63 74 20 50 52 49 4e 54 45 52 5f  .struct PRINTER_
42e0: 4e 4f 54 49 46 59 5f 49 4e 46 4f 20 7b 0a 09 44  NOTIFY_INFO {..D
42f0: 57 4f 52 44 20 56 65 72 73 69 6f 6e 3b 0a 09 44  WORD Version;..D
4300: 57 4f 52 44 20 46 6c 61 67 73 3b 0a 09 44 57 4f  WORD Flags;..DWO
4310: 52 44 20 43 6f 75 6e 74 3b 0a 09 50 52 49 4e 54  RD Count;..PRINT
4320: 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 5f 44  ER_NOTIFY_INFO_D
4330: 41 54 41 20 61 44 61 74 61 5b 31 5d 3b 0a 7d 0a  ATA aData[1];.}.
4340: 61 6c 69 61 73 20 50 52 49 4e 54 45 52 5f 4e 4f  alias PRINTER_NO
4350: 54 49 46 59 5f 49 4e 46 4f 2a 20 50 50 52 49 4e  TIFY_INFO* PPRIN
4360: 54 45 52 5f 4e 4f 54 49 46 59 5f 49 4e 46 4f 2c  TER_NOTIFY_INFO,
4370: 20 4c 50 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46   LPPRINTER_NOTIF
4380: 59 5f 49 4e 46 4f 3b 0a 0a 73 74 72 75 63 74 20  Y_INFO;..struct 
4390: 46 4f 52 4d 5f 49 4e 46 4f 5f 31 41 20 7b 0a 09  FORM_INFO_1A {..
43a0: 44 57 4f 52 44 20 46 6c 61 67 73 3b 0a 09 4c 50  DWORD Flags;..LP
43b0: 53 54 52 20 70 4e 61 6d 65 3b 0a 09 53 49 5a 45  STR pName;..SIZE
43c0: 4c 20 53 69 7a 65 3b 0a 09 52 45 43 54 4c 20 49  L Size;..RECTL I
43d0: 6d 61 67 65 61 62 6c 65 41 72 65 61 3b 0a 7d 0a  mageableArea;.}.
43e0: 61 6c 69 61 73 20 46 4f 52 4d 5f 49 4e 46 4f 5f  alias FORM_INFO_
43f0: 31 41 2a 20 50 46 4f 52 4d 5f 49 4e 46 4f 5f 31  1A* PFORM_INFO_1
4400: 41 2c 20 4c 50 46 4f 52 4d 5f 49 4e 46 4f 5f 31  A, LPFORM_INFO_1
4410: 41 3b 0a 0a 73 74 72 75 63 74 20 46 4f 52 4d 5f  A;..struct FORM_
4420: 49 4e 46 4f 5f 31 57 20 7b 0a 09 44 57 4f 52 44  INFO_1W {..DWORD
4430: 20 20 46 6c 61 67 73 3b 0a 09 4c 50 57 53 54 52    Flags;..LPWSTR
4440: 20 70 4e 61 6d 65 3b 0a 09 53 49 5a 45 4c 20 20   pName;..SIZEL  
4450: 53 69 7a 65 3b 0a 09 52 45 43 54 4c 20 20 49 6d  Size;..RECTL  Im
4460: 61 67 65 61 62 6c 65 41 72 65 61 3b 0a 7d 0a 61  ageableArea;.}.a
4470: 6c 69 61 73 20 46 4f 52 4d 5f 49 4e 46 4f 5f 31  lias FORM_INFO_1
4480: 57 2a 20 50 46 4f 52 4d 5f 49 4e 46 4f 5f 31 57  W* PFORM_INFO_1W
4490: 2c 20 4c 50 46 4f 52 4d 5f 49 4e 46 4f 5f 31 57  , LPFORM_INFO_1W
44a0: 3b 0a 0a 73 74 72 75 63 74 20 50 52 49 4e 54 45  ;..struct PRINTE
44b0: 52 5f 44 45 46 41 55 4c 54 53 41 20 7b 0a 09 4c  R_DEFAULTSA {..L
44c0: 50 53 54 52 20 20 20 20 20 20 20 70 44 61 74 61  PSTR       pData
44d0: 74 79 70 65 3b 0a 09 4c 50 44 45 56 4d 4f 44 45  type;..LPDEVMODE
44e0: 20 20 20 70 44 65 76 4d 6f 64 65 3b 0a 09 41 43     pDevMode;..AC
44f0: 43 45 53 53 5f 4d 41 53 4b 20 44 65 73 69 72 65  CESS_MASK Desire
4500: 64 41 63 63 65 73 73 3b 0a 7d 0a 61 6c 69 61 73  dAccess;.}.alias
4510: 20 50 52 49 4e 54 45 52 5f 44 45 46 41 55 4c 54   PRINTER_DEFAULT
4520: 53 41 2a 20 50 50 52 49 4e 54 45 52 5f 44 45 46  SA* PPRINTER_DEF
4530: 41 55 4c 54 53 41 2c 20 4c 50 50 52 49 4e 54 45  AULTSA, LPPRINTE
4540: 52 5f 44 45 46 41 55 4c 54 53 41 3b 0a 0a 73 74  R_DEFAULTSA;..st
4550: 72 75 63 74 20 50 52 49 4e 54 45 52 5f 44 45 46  ruct PRINTER_DEF
4560: 41 55 4c 54 53 57 20 7b 0a 09 4c 50 57 53 54 52  AULTSW {..LPWSTR
4570: 20 70 44 61 74 61 74 79 70 65 3b 0a 09 4c 50 44   pDatatype;..LPD
4580: 45 56 4d 4f 44 45 20 70 44 65 76 4d 6f 64 65 3b  EVMODE pDevMode;
4590: 0a 09 41 43 43 45 53 53 5f 4d 41 53 4b 20 44 65  ..ACCESS_MASK De
45a0: 73 69 72 65 64 41 63 63 65 73 73 3b 0a 7d 0a 61  siredAccess;.}.a
45b0: 6c 69 61 73 20 50 52 49 4e 54 45 52 5f 44 45 46  lias PRINTER_DEF
45c0: 41 55 4c 54 53 57 2a 20 50 50 52 49 4e 54 45 52  AULTSW* PPRINTER
45d0: 5f 44 45 46 41 55 4c 54 53 57 2c 20 4c 50 50 52  _DEFAULTSW, LPPR
45e0: 49 4e 54 45 52 5f 44 45 46 41 55 4c 54 53 57 3b  INTER_DEFAULTSW;
45f0: 0a 0a 65 78 74 65 72 6e 20 28 57 69 6e 64 6f 77  ..extern (Window
4600: 73 29 3a 0a 42 4f 4f 4c 20 41 62 6f 72 74 50 72  s):.BOOL AbortPr
4610: 69 6e 74 65 72 28 48 41 4e 44 4c 45 29 3b 0a 42  inter(HANDLE);.B
4620: 4f 4f 4c 20 41 64 64 46 6f 72 6d 41 28 48 41 4e  OOL AddFormA(HAN
4630: 44 4c 45 2c 20 44 57 4f 52 44 2c 20 50 42 59 54  DLE, DWORD, PBYT
4640: 45 29 3b 0a 42 4f 4f 4c 20 41 64 64 46 6f 72 6d  E);.BOOL AddForm
4650: 57 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 2c  W(HANDLE, DWORD,
4660: 20 50 42 59 54 45 29 3b 0a 42 4f 4f 4c 20 41 64   PBYTE);.BOOL Ad
4670: 64 4a 6f 62 41 28 48 41 4e 44 4c 45 2c 20 44 57  dJobA(HANDLE, DW
4680: 4f 52 44 2c 20 50 42 59 54 45 2c 20 44 57 4f 52  ORD, PBYTE, DWOR
4690: 44 2c 20 50 44 57 4f 52 44 29 3b 0a 42 4f 4f 4c  D, PDWORD);.BOOL
46a0: 20 41 64 64 4a 6f 62 57 28 48 41 4e 44 4c 45 2c   AddJobW(HANDLE,
46b0: 20 44 57 4f 52 44 2c 20 50 42 59 54 45 2c 20 44   DWORD, PBYTE, D
46c0: 57 4f 52 44 2c 20 50 44 57 4f 52 44 29 3b 0a 42  WORD, PDWORD);.B
46d0: 4f 4f 4c 20 41 64 64 4d 6f 6e 69 74 6f 72 41 28  OOL AddMonitorA(
46e0: 4c 50 53 54 52 2c 20 44 57 4f 52 44 2c 20 50 42  LPSTR, DWORD, PB
46f0: 59 54 45 29 3b 0a 42 4f 4f 4c 20 41 64 64 4d 6f  YTE);.BOOL AddMo
4700: 6e 69 74 6f 72 57 28 4c 50 57 53 54 52 2c 20 44  nitorW(LPWSTR, D
4710: 57 4f 52 44 2c 20 50 42 59 54 45 29 3b 0a 42 4f  WORD, PBYTE);.BO
4720: 4f 4c 20 41 64 64 50 6f 72 74 41 28 4c 50 53 54  OL AddPortA(LPST
4730: 52 2c 20 48 57 4e 44 2c 20 4c 50 53 54 52 29 3b  R, HWND, LPSTR);
4740: 0a 42 4f 4f 4c 20 41 64 64 50 6f 72 74 57 28 4c  .BOOL AddPortW(L
4750: 50 57 53 54 52 2c 20 48 57 4e 44 2c 20 4c 50 57  PWSTR, HWND, LPW
4760: 53 54 52 29 3b 0a 48 41 4e 44 4c 45 20 41 64 64  STR);.HANDLE Add
4770: 50 72 69 6e 74 65 72 41 28 4c 50 53 54 52 2c 20  PrinterA(LPSTR, 
4780: 44 57 4f 52 44 2c 20 50 42 59 54 45 29 3b 0a 48  DWORD, PBYTE);.H
4790: 41 4e 44 4c 45 20 41 64 64 50 72 69 6e 74 65 72  ANDLE AddPrinter
47a0: 57 28 4c 50 57 53 54 52 2c 20 44 57 4f 52 44 2c  W(LPWSTR, DWORD,
47b0: 20 50 42 59 54 45 29 3b 0a 42 4f 4f 4c 20 41 64   PBYTE);.BOOL Ad
47c0: 64 50 72 69 6e 74 65 72 43 6f 6e 6e 65 63 74 69  dPrinterConnecti
47d0: 6f 6e 41 28 4c 50 53 54 52 29 3b 0a 42 4f 4f 4c  onA(LPSTR);.BOOL
47e0: 20 41 64 64 50 72 69 6e 74 65 72 43 6f 6e 6e 65   AddPrinterConne
47f0: 63 74 69 6f 6e 57 28 4c 50 57 53 54 52 29 3b 0a  ctionW(LPWSTR);.
4800: 42 4f 4f 4c 20 41 64 64 50 72 69 6e 74 65 72 44  BOOL AddPrinterD
4810: 72 69 76 65 72 41 28 4c 50 53 54 52 2c 20 44 57  riverA(LPSTR, DW
4820: 4f 52 44 2c 20 50 42 59 54 45 29 3b 0a 42 4f 4f  ORD, PBYTE);.BOO
4830: 4c 20 41 64 64 50 72 69 6e 74 65 72 44 72 69 76  L AddPrinterDriv
4840: 65 72 57 28 4c 50 57 53 54 52 2c 20 44 57 4f 52  erW(LPWSTR, DWOR
4850: 44 2c 20 50 42 59 54 45 29 3b 0a 42 4f 4f 4c 20  D, PBYTE);.BOOL 
4860: 41 64 64 50 72 69 6e 74 50 72 6f 63 65 73 73 6f  AddPrintProcesso
4870: 72 41 28 4c 50 53 54 52 2c 20 4c 50 53 54 52 2c  rA(LPSTR, LPSTR,
4880: 20 4c 50 53 54 52 2c 20 4c 50 53 54 52 29 3b 0a   LPSTR, LPSTR);.
4890: 42 4f 4f 4c 20 41 64 64 50 72 69 6e 74 50 72 6f  BOOL AddPrintPro
48a0: 63 65 73 73 6f 72 57 28 4c 50 57 53 54 52 2c 20  cessorW(LPWSTR, 
48b0: 4c 50 57 53 54 52 2c 20 4c 50 57 53 54 52 2c 20  LPWSTR, LPWSTR, 
48c0: 4c 50 57 53 54 52 29 3b 0a 42 4f 4f 4c 20 41 64  LPWSTR);.BOOL Ad
48d0: 64 50 72 69 6e 74 50 72 6f 76 69 64 6f 72 41 28  dPrintProvidorA(
48e0: 4c 50 53 54 52 2c 20 44 57 4f 52 44 2c 20 50 42  LPSTR, DWORD, PB
48f0: 59 54 45 29 3b 0a 42 4f 4f 4c 20 41 64 64 50 72  YTE);.BOOL AddPr
4900: 69 6e 74 50 72 6f 76 69 64 6f 72 57 28 4c 50 57  intProvidorW(LPW
4910: 53 54 52 2c 20 44 57 4f 52 44 2c 20 50 42 59 54  STR, DWORD, PBYT
4920: 45 29 3b 0a 4c 4f 4e 47 20 41 64 76 61 6e 63 65  E);.LONG Advance
4930: 64 44 6f 63 75 6d 65 6e 74 50 72 6f 70 65 72 74  dDocumentPropert
4940: 69 65 73 41 28 48 57 4e 44 2c 20 48 41 4e 44 4c  iesA(HWND, HANDL
4950: 45 2c 20 4c 50 53 54 52 2c 20 50 44 45 56 4d 4f  E, LPSTR, PDEVMO
4960: 44 45 2c 20 50 44 45 56 4d 4f 44 45 41 29 3b 0a  DE, PDEVMODEA);.
4970: 4c 4f 4e 47 20 41 64 76 61 6e 63 65 64 44 6f 63  LONG AdvancedDoc
4980: 75 6d 65 6e 74 50 72 6f 70 65 72 74 69 65 73 57  umentPropertiesW
4990: 28 48 57 4e 44 2c 20 48 41 4e 44 4c 45 2c 20 4c  (HWND, HANDLE, L
49a0: 50 57 53 54 52 2c 20 50 44 45 56 4d 4f 44 45 2c  PWSTR, PDEVMODE,
49b0: 20 50 44 45 56 4d 4f 44 45 57 29 3b 0a 42 4f 4f   PDEVMODEW);.BOO
49c0: 4c 20 43 6c 6f 73 65 50 72 69 6e 74 65 72 28 48  L ClosePrinter(H
49d0: 41 4e 44 4c 45 29 3b 0a 42 4f 4f 4c 20 43 6f 6e  ANDLE);.BOOL Con
49e0: 66 69 67 75 72 65 50 6f 72 74 41 28 4c 50 53 54  figurePortA(LPST
49f0: 52 2c 20 48 57 4e 44 2c 20 4c 50 53 54 52 29 3b  R, HWND, LPSTR);
4a00: 0a 42 4f 4f 4c 20 43 6f 6e 66 69 67 75 72 65 50  .BOOL ConfigureP
4a10: 6f 72 74 57 28 4c 50 57 53 54 52 2c 20 48 57 4e  ortW(LPWSTR, HWN
4a20: 44 2c 20 4c 50 57 53 54 52 29 3b 0a 48 41 4e 44  D, LPWSTR);.HAND
4a30: 4c 45 20 43 6f 6e 6e 65 63 74 54 6f 50 72 69 6e  LE ConnectToPrin
4a40: 74 65 72 44 6c 67 28 48 57 4e 44 2c 20 44 57 4f  terDlg(HWND, DWO
4a50: 52 44 29 3b 0a 42 4f 4f 4c 20 44 65 6c 65 74 65  RD);.BOOL Delete
4a60: 46 6f 72 6d 41 28 48 41 4e 44 4c 45 2c 20 4c 50  FormA(HANDLE, LP
4a70: 53 54 52 29 3b 0a 42 4f 4f 4c 20 44 65 6c 65 74  STR);.BOOL Delet
4a80: 65 46 6f 72 6d 57 28 48 41 4e 44 4c 45 2c 20 4c  eFormW(HANDLE, L
4a90: 50 57 53 54 52 29 3b 0a 42 4f 4f 4c 20 44 65 6c  PWSTR);.BOOL Del
4aa0: 65 74 65 4d 6f 6e 69 74 6f 72 41 28 4c 50 53 54  eteMonitorA(LPST
4ab0: 52 2c 20 4c 50 53 54 52 2c 20 4c 50 53 54 52 29  R, LPSTR, LPSTR)
4ac0: 3b 0a 42 4f 4f 4c 20 44 65 6c 65 74 65 4d 6f 6e  ;.BOOL DeleteMon
4ad0: 69 74 6f 72 57 28 4c 50 57 53 54 52 2c 20 4c 50  itorW(LPWSTR, LP
4ae0: 57 53 54 52 2c 20 4c 50 57 53 54 52 29 3b 0a 42  WSTR, LPWSTR);.B
4af0: 4f 4f 4c 20 44 65 6c 65 74 65 50 6f 72 74 41 28  OOL DeletePortA(
4b00: 4c 50 53 54 52 2c 20 48 57 4e 44 2c 20 4c 50 53  LPSTR, HWND, LPS
4b10: 54 52 29 3b 0a 42 4f 4f 4c 20 44 65 6c 65 74 65  TR);.BOOL Delete
4b20: 50 6f 72 74 57 28 4c 50 57 53 54 52 2c 20 48 57  PortW(LPWSTR, HW
4b30: 4e 44 2c 20 4c 50 57 53 54 52 29 3b 0a 42 4f 4f  ND, LPWSTR);.BOO
4b40: 4c 20 44 65 6c 65 74 65 50 72 69 6e 74 65 72 28  L DeletePrinter(
4b50: 48 41 4e 44 4c 45 29 3b 0a 42 4f 4f 4c 20 44 65  HANDLE);.BOOL De
4b60: 6c 65 74 65 50 72 69 6e 74 65 72 43 6f 6e 6e 65  letePrinterConne
4b70: 63 74 69 6f 6e 41 28 4c 50 53 54 52 29 3b 0a 42  ctionA(LPSTR);.B
4b80: 4f 4f 4c 20 44 65 6c 65 74 65 50 72 69 6e 74 65  OOL DeletePrinte
4b90: 72 43 6f 6e 6e 65 63 74 69 6f 6e 57 28 4c 50 57  rConnectionW(LPW
4ba0: 53 54 52 29 3b 0a 44 57 4f 52 44 20 44 65 6c 65  STR);.DWORD Dele
4bb0: 74 65 50 72 69 6e 74 65 72 44 61 74 61 41 28 48  tePrinterDataA(H
4bc0: 41 4e 44 4c 45 2c 20 4c 50 53 54 52 29 3b 0a 44  ANDLE, LPSTR);.D
4bd0: 57 4f 52 44 20 44 65 6c 65 74 65 50 72 69 6e 74  WORD DeletePrint
4be0: 65 72 44 61 74 61 57 28 48 41 4e 44 4c 45 2c 20  erDataW(HANDLE, 
4bf0: 4c 50 57 53 54 52 29 3b 0a 42 4f 4f 4c 20 44 65  LPWSTR);.BOOL De
4c00: 6c 65 74 65 50 72 69 6e 74 65 72 44 72 69 76 65  letePrinterDrive
4c10: 72 41 28 4c 50 53 54 52 2c 20 4c 50 53 54 52 2c  rA(LPSTR, LPSTR,
4c20: 20 4c 50 53 54 52 29 3b 0a 42 4f 4f 4c 20 44 65   LPSTR);.BOOL De
4c30: 6c 65 74 65 50 72 69 6e 74 65 72 44 72 69 76 65  letePrinterDrive
4c40: 72 57 28 4c 50 57 53 54 52 2c 20 4c 50 57 53 54  rW(LPWSTR, LPWST
4c50: 52 2c 20 4c 50 57 53 54 52 29 3b 0a 42 4f 4f 4c  R, LPWSTR);.BOOL
4c60: 20 44 65 6c 65 74 65 50 72 69 6e 74 50 72 6f 63   DeletePrintProc
4c70: 65 73 73 6f 72 41 28 4c 50 53 54 52 2c 20 4c 50  essorA(LPSTR, LP
4c80: 53 54 52 2c 20 4c 50 53 54 52 29 3b 0a 42 4f 4f  STR, LPSTR);.BOO
4c90: 4c 20 44 65 6c 65 74 65 50 72 69 6e 74 50 72 6f  L DeletePrintPro
4ca0: 63 65 73 73 6f 72 57 28 4c 50 57 53 54 52 2c 20  cessorW(LPWSTR, 
4cb0: 4c 50 57 53 54 52 2c 20 4c 50 57 53 54 52 29 3b  LPWSTR, LPWSTR);
4cc0: 0a 42 4f 4f 4c 20 44 65 6c 65 74 65 50 72 69 6e  .BOOL DeletePrin
4cd0: 74 50 72 6f 76 69 64 6f 72 41 28 4c 50 53 54 52  tProvidorA(LPSTR
4ce0: 2c 20 4c 50 53 54 52 2c 20 4c 50 53 54 52 29 3b  , LPSTR, LPSTR);
4cf0: 0a 42 4f 4f 4c 20 44 65 6c 65 74 65 50 72 69 6e  .BOOL DeletePrin
4d00: 74 50 72 6f 76 69 64 6f 72 57 28 4c 50 57 53 54  tProvidorW(LPWST
4d10: 52 2c 20 4c 50 57 53 54 52 2c 20 4c 50 57 53 54  R, LPWSTR, LPWST
4d20: 52 29 3b 0a 4c 4f 4e 47 20 44 6f 63 75 6d 65 6e  R);.LONG Documen
4d30: 74 50 72 6f 70 65 72 74 69 65 73 41 28 48 57 4e  tPropertiesA(HWN
4d40: 44 2c 20 48 41 4e 44 4c 45 2c 20 4c 50 53 54 52  D, HANDLE, LPSTR
4d50: 2c 20 50 44 45 56 4d 4f 44 45 41 2c 20 50 44 45  , PDEVMODEA, PDE
4d60: 56 4d 4f 44 45 41 2c 20 44 57 4f 52 44 29 3b 0a  VMODEA, DWORD);.
4d70: 4c 4f 4e 47 20 44 6f 63 75 6d 65 6e 74 50 72 6f  LONG DocumentPro
4d80: 70 65 72 74 69 65 73 57 28 48 57 4e 44 2c 20 48  pertiesW(HWND, H
4d90: 41 4e 44 4c 45 2c 20 4c 50 57 53 54 52 2c 20 50  ANDLE, LPWSTR, P
4da0: 44 45 56 4d 4f 44 45 57 2c 20 50 44 45 56 4d 4f  DEVMODEW, PDEVMO
4db0: 44 45 57 2c 20 44 57 4f 52 44 29 3b 0a 42 4f 4f  DEW, DWORD);.BOO
4dc0: 4c 20 45 6e 64 44 6f 63 50 72 69 6e 74 65 72 28  L EndDocPrinter(
4dd0: 48 41 4e 44 4c 45 29 3b 0a 42 4f 4f 4c 20 45 6e  HANDLE);.BOOL En
4de0: 64 50 61 67 65 50 72 69 6e 74 65 72 28 48 41 4e  dPagePrinter(HAN
4df0: 44 4c 45 29 3b 0a 42 4f 4f 4c 20 45 6e 75 6d 46  DLE);.BOOL EnumF
4e00: 6f 72 6d 73 41 28 48 41 4e 44 4c 45 2c 20 44 57  ormsA(HANDLE, DW
4e10: 4f 52 44 2c 20 50 42 59 54 45 2c 20 44 57 4f 52  ORD, PBYTE, DWOR
4e20: 44 2c 20 50 44 57 4f 52 44 2c 20 50 44 57 4f 52  D, PDWORD, PDWOR
4e30: 44 29 3b 0a 42 4f 4f 4c 20 45 6e 75 6d 46 6f 72  D);.BOOL EnumFor
4e40: 6d 73 57 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52  msW(HANDLE, DWOR
4e50: 44 2c 20 50 42 59 54 45 2c 20 44 57 4f 52 44 2c  D, PBYTE, DWORD,
4e60: 20 50 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 29   PDWORD, PDWORD)
4e70: 3b 0a 42 4f 4f 4c 20 45 6e 75 6d 4a 6f 62 73 41  ;.BOOL EnumJobsA
4e80: 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 2c 20  (HANDLE, DWORD, 
4e90: 44 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 50 42  DWORD, DWORD, PB
4ea0: 59 54 45 2c 20 44 57 4f 52 44 2c 20 50 44 57 4f  YTE, DWORD, PDWO
4eb0: 52 44 2c 20 50 44 57 4f 52 44 29 3b 0a 42 4f 4f  RD, PDWORD);.BOO
4ec0: 4c 20 45 6e 75 6d 4a 6f 62 73 57 28 48 41 4e 44  L EnumJobsW(HAND
4ed0: 4c 45 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44  LE, DWORD, DWORD
4ee0: 2c 20 44 57 4f 52 44 2c 20 50 42 59 54 45 2c 20  , DWORD, PBYTE, 
4ef0: 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20 50  DWORD, PDWORD, P
4f00: 44 57 4f 52 44 29 3b 0a 42 4f 4f 4c 20 45 6e 75  DWORD);.BOOL Enu
4f10: 6d 4d 6f 6e 69 74 6f 72 73 41 28 4c 50 53 54 52  mMonitorsA(LPSTR
4f20: 2c 20 44 57 4f 52 44 2c 20 50 42 59 54 45 2c 20  , DWORD, PBYTE, 
4f30: 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20 50  DWORD, PDWORD, P
4f40: 44 57 4f 52 44 29 3b 0a 42 4f 4f 4c 20 45 6e 75  DWORD);.BOOL Enu
4f50: 6d 4d 6f 6e 69 74 6f 72 73 57 28 4c 50 57 53 54  mMonitorsW(LPWST
4f60: 52 2c 20 44 57 4f 52 44 2c 20 50 42 59 54 45 2c  R, DWORD, PBYTE,
4f70: 20 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20   DWORD, PDWORD, 
4f80: 50 44 57 4f 52 44 29 3b 0a 42 4f 4f 4c 20 45 6e  PDWORD);.BOOL En
4f90: 75 6d 50 6f 72 74 73 41 28 4c 50 53 54 52 2c 20  umPortsA(LPSTR, 
4fa0: 44 57 4f 52 44 2c 20 50 42 59 54 45 2c 20 44 57  DWORD, PBYTE, DW
4fb0: 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20 50 44 57  ORD, PDWORD, PDW
4fc0: 4f 52 44 29 3b 0a 42 4f 4f 4c 20 45 6e 75 6d 50  ORD);.BOOL EnumP
4fd0: 6f 72 74 73 57 28 4c 50 57 53 54 52 2c 20 44 57  ortsW(LPWSTR, DW
4fe0: 4f 52 44 2c 20 50 42 59 54 45 2c 20 44 57 4f 52  ORD, PBYTE, DWOR
4ff0: 44 2c 20 50 44 57 4f 52 44 2c 20 50 44 57 4f 52  D, PDWORD, PDWOR
5000: 44 29 3b 0a 44 57 4f 52 44 20 45 6e 75 6d 50 72  D);.DWORD EnumPr
5010: 69 6e 74 65 72 44 61 74 61 41 28 48 41 4e 44 4c  interDataA(HANDL
5020: 45 2c 20 44 57 4f 52 44 2c 20 4c 50 53 54 52 2c  E, DWORD, LPSTR,
5030: 20 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20   DWORD, PDWORD, 
5040: 50 44 57 4f 52 44 2c 20 50 42 59 54 45 2c 20 44  PDWORD, PBYTE, D
5050: 57 4f 52 44 2c 20 50 44 57 4f 52 44 29 3b 0a 44  WORD, PDWORD);.D
5060: 57 4f 52 44 20 45 6e 75 6d 50 72 69 6e 74 65 72  WORD EnumPrinter
5070: 44 61 74 61 57 28 48 41 4e 44 4c 45 2c 20 44 57  DataW(HANDLE, DW
5080: 4f 52 44 2c 20 4c 50 57 53 54 52 2c 20 44 57 4f  ORD, LPWSTR, DWO
5090: 52 44 2c 20 50 44 57 4f 52 44 2c 20 50 44 57 4f  RD, PDWORD, PDWO
50a0: 52 44 2c 20 50 42 59 54 45 2c 20 44 57 4f 52 44  RD, PBYTE, DWORD
50b0: 2c 20 50 44 57 4f 52 44 29 3b 0a 42 4f 4f 4c 20  , PDWORD);.BOOL 
50c0: 45 6e 75 6d 50 72 69 6e 74 65 72 44 72 69 76 65  EnumPrinterDrive
50d0: 72 73 41 28 4c 50 53 54 52 2c 20 4c 50 53 54 52  rsA(LPSTR, LPSTR
50e0: 2c 20 44 57 4f 52 44 2c 20 50 42 59 54 45 2c 20  , DWORD, PBYTE, 
50f0: 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20 50  DWORD, PDWORD, P
5100: 44 57 4f 52 44 29 3b 0a 42 4f 4f 4c 20 45 6e 75  DWORD);.BOOL Enu
5110: 6d 50 72 69 6e 74 65 72 44 72 69 76 65 72 73 57  mPrinterDriversW
5120: 28 4c 50 57 53 54 52 2c 20 4c 50 57 53 54 52 2c  (LPWSTR, LPWSTR,
5130: 20 44 57 4f 52 44 2c 20 50 42 59 54 45 2c 20 44   DWORD, PBYTE, D
5140: 57 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20 50 44  WORD, PDWORD, PD
5150: 57 4f 52 44 29 3b 0a 42 4f 4f 4c 20 45 6e 75 6d  WORD);.BOOL Enum
5160: 50 72 69 6e 74 65 72 73 41 28 44 57 4f 52 44 2c  PrintersA(DWORD,
5170: 20 4c 50 53 54 52 2c 20 44 57 4f 52 44 2c 20 50   LPSTR, DWORD, P
5180: 42 59 54 45 2c 20 44 57 4f 52 44 2c 20 50 44 57  BYTE, DWORD, PDW
5190: 4f 52 44 2c 20 50 44 57 4f 52 44 29 3b 0a 42 4f  ORD, PDWORD);.BO
51a0: 4f 4c 20 45 6e 75 6d 50 72 69 6e 74 65 72 73 57  OL EnumPrintersW
51b0: 28 44 57 4f 52 44 2c 20 4c 50 57 53 54 52 2c 20  (DWORD, LPWSTR, 
51c0: 44 57 4f 52 44 2c 20 50 42 59 54 45 2c 20 44 57  DWORD, PBYTE, DW
51d0: 4f 52 44 2c 20 50 44 57 4f 52 44 2c 20 50 44 57  ORD, PDWORD, PDW
51e0: 4f 52 44 29 3b 0a 42 4f 4f 4c 20 45 6e 75 6d 50  ORD);.BOOL EnumP
51f0: 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 44 61 74  rintProcessorDat
5200: 61 74 79 70 65 73 41 28 4c 50 53 54 52 2c 20 4c  atypesA(LPSTR, L
5210: 50 53 54 52 2c 20 44 57 4f 52 44 2c 20 50 42 59  PSTR, DWORD, PBY
5220: 54 45 2c 20 44 57 4f 52 44 2c 20 50 44 57 4f 52  TE, DWORD, PDWOR
5230: 44 2c 20 50 44 57 4f 52 44 29 3b 0a 42 4f 4f 4c  D, PDWORD);.BOOL
5240: 20 45 6e 75 6d 50 72 69 6e 74 50 72 6f 63 65 73   EnumPrintProces
5250: 73 6f 72 44 61 74 61 74 79 70 65 73 57 28 4c 50  sorDatatypesW(LP
5260: 57 53 54 52 2c 20 4c 50 57 53 54 52 2c 20 44 57  WSTR, LPWSTR, DW
5270: 4f 52 44 2c 20 50 42 59 54 45 2c 20 44 57 4f 52  ORD, PBYTE, DWOR
5280: 44 2c 20 50 44 57 4f 52 44 2c 20 50 44 57 4f 52  D, PDWORD, PDWOR
5290: 44 29 3b 0a 42 4f 4f 4c 20 45 6e 75 6d 50 72 69  D);.BOOL EnumPri
52a0: 6e 74 50 72 6f 63 65 73 73 6f 72 73 41 28 4c 50  ntProcessorsA(LP
52b0: 53 54 52 2c 20 4c 50 53 54 52 2c 20 44 57 4f 52  STR, LPSTR, DWOR
52c0: 44 2c 20 50 42 59 54 45 2c 20 44 57 4f 52 44 2c  D, PBYTE, DWORD,
52d0: 20 50 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 29   PDWORD, PDWORD)
52e0: 3b 0a 42 4f 4f 4c 20 45 6e 75 6d 50 72 69 6e 74  ;.BOOL EnumPrint
52f0: 50 72 6f 63 65 73 73 6f 72 73 57 28 4c 50 57 53  ProcessorsW(LPWS
5300: 54 52 2c 20 4c 50 57 53 54 52 2c 20 44 57 4f 52  TR, LPWSTR, DWOR
5310: 44 2c 20 50 42 59 54 45 2c 20 44 57 4f 52 44 2c  D, PBYTE, DWORD,
5320: 20 50 44 57 4f 52 44 2c 20 50 44 57 4f 52 44 29   PDWORD, PDWORD)
5330: 3b 0a 42 4f 4f 4c 20 46 69 6e 64 43 6c 6f 73 65  ;.BOOL FindClose
5340: 50 72 69 6e 74 65 72 43 68 61 6e 67 65 4e 6f 74  PrinterChangeNot
5350: 69 66 69 63 61 74 69 6f 6e 28 48 41 4e 44 4c 45  ification(HANDLE
5360: 29 3b 0a 48 41 4e 44 4c 45 20 46 69 6e 64 46 69  );.HANDLE FindFi
5370: 72 73 74 50 72 69 6e 74 65 72 43 68 61 6e 67 65  rstPrinterChange
5380: 4e 6f 74 69 66 69 63 61 74 69 6f 6e 28 48 41 4e  Notification(HAN
5390: 44 4c 45 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52  DLE, DWORD, DWOR
53a0: 44 2c 20 50 56 4f 49 44 29 3b 0a 48 41 4e 44 4c  D, PVOID);.HANDL
53b0: 45 20 46 69 6e 64 4e 65 78 74 50 72 69 6e 74 65  E FindNextPrinte
53c0: 72 43 68 61 6e 67 65 4e 6f 74 69 66 69 63 61 74  rChangeNotificat
53d0: 69 6f 6e 28 48 41 4e 44 4c 45 2c 20 50 44 57 4f  ion(HANDLE, PDWO
53e0: 52 44 2c 20 50 56 4f 49 44 2c 20 50 56 4f 49 44  RD, PVOID, PVOID
53f0: 2a 29 3b 0a 42 4f 4f 4c 20 46 72 65 65 50 72 69  *);.BOOL FreePri
5400: 6e 74 65 72 4e 6f 74 69 66 79 49 6e 66 6f 28 50  nterNotifyInfo(P
5410: 50 52 49 4e 54 45 52 5f 4e 4f 54 49 46 59 5f 49  PRINTER_NOTIFY_I
5420: 4e 46 4f 29 3b 0a 0a 73 74 61 74 69 63 20 69 66  NFO);..static if
5430: 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e   (_WIN32_WINNT >
5440: 3d 20 30 78 30 35 30 30 29 20 7b 0a 42 4f 4f 4c  = 0x0500) {.BOOL
5450: 20 47 65 74 44 65 66 61 75 6c 74 50 72 69 6e 74   GetDefaultPrint
5460: 65 72 41 28 4c 50 53 54 52 2c 20 4c 50 44 57 4f  erA(LPSTR, LPDWO
5470: 52 44 29 3b 0a 42 4f 4f 4c 20 47 65 74 44 65 66  RD);.BOOL GetDef
5480: 61 75 6c 74 50 72 69 6e 74 65 72 57 28 4c 50 57  aultPrinterW(LPW
5490: 53 54 52 2c 20 4c 50 44 57 4f 52 44 29 3b 0a 7d  STR, LPDWORD);.}
54a0: 0a 0a 42 4f 4f 4c 20 47 65 74 46 6f 72 6d 41 28  ..BOOL GetFormA(
54b0: 48 41 4e 44 4c 45 2c 20 4c 50 53 54 52 2c 20 44  HANDLE, LPSTR, D
54c0: 57 4f 52 44 2c 20 50 42 59 54 45 2c 20 44 57 4f  WORD, PBYTE, DWO
54d0: 52 44 2c 20 50 44 57 4f 52 44 29 3b 0a 42 4f 4f  RD, PDWORD);.BOO
54e0: 4c 20 47 65 74 46 6f 72 6d 57 28 48 41 4e 44 4c  L GetFormW(HANDL
54f0: 45 2c 20 4c 50 57 53 54 52 2c 20 44 57 4f 52 44  E, LPWSTR, DWORD
5500: 2c 20 50 42 59 54 45 2c 20 44 57 4f 52 44 2c 20  , PBYTE, DWORD, 
5510: 50 44 57 4f 52 44 29 3b 0a 42 4f 4f 4c 20 47 65  PDWORD);.BOOL Ge
5520: 74 4a 6f 62 41 28 48 41 4e 44 4c 45 2c 20 44 57  tJobA(HANDLE, DW
5530: 4f 52 44 2c 20 44 57 4f 52 44 2c 20 50 42 59 54  ORD, DWORD, PBYT
5540: 45 2c 20 44 57 4f 52 44 2c 20 50 44 57 4f 52 44  E, DWORD, PDWORD
5550: 29 3b 0a 42 4f 4f 4c 20 47 65 74 4a 6f 62 57 28  );.BOOL GetJobW(
5560: 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 2c 20 44  HANDLE, DWORD, D
5570: 57 4f 52 44 2c 20 50 42 59 54 45 2c 20 44 57 4f  WORD, PBYTE, DWO
5580: 52 44 2c 20 50 44 57 4f 52 44 29 3b 0a 42 4f 4f  RD, PDWORD);.BOO
5590: 4c 20 47 65 74 50 72 69 6e 74 65 72 41 28 48 41  L GetPrinterA(HA
55a0: 4e 44 4c 45 2c 20 44 57 4f 52 44 2c 20 50 42 59  NDLE, DWORD, PBY
55b0: 54 45 2c 20 44 57 4f 52 44 2c 20 50 44 57 4f 52  TE, DWORD, PDWOR
55c0: 44 29 3b 0a 42 4f 4f 4c 20 47 65 74 50 72 69 6e  D);.BOOL GetPrin
55d0: 74 65 72 57 28 48 41 4e 44 4c 45 2c 20 44 57 4f  terW(HANDLE, DWO
55e0: 52 44 2c 20 50 42 59 54 45 2c 20 44 57 4f 52 44  RD, PBYTE, DWORD
55f0: 2c 20 50 44 57 4f 52 44 29 3b 0a 44 57 4f 52 44  , PDWORD);.DWORD
5600: 20 47 65 74 50 72 69 6e 74 65 72 44 61 74 61 41   GetPrinterDataA
5610: 28 48 41 4e 44 4c 45 2c 20 4c 50 53 54 52 2c 20  (HANDLE, LPSTR, 
5620: 50 44 57 4f 52 44 2c 20 50 42 59 54 45 2c 20 44  PDWORD, PBYTE, D
5630: 57 4f 52 44 2c 20 50 44 57 4f 52 44 29 3b 0a 44  WORD, PDWORD);.D
5640: 57 4f 52 44 20 47 65 74 50 72 69 6e 74 65 72 44  WORD GetPrinterD
5650: 61 74 61 57 28 48 41 4e 44 4c 45 2c 20 4c 50 57  ataW(HANDLE, LPW
5660: 53 54 52 2c 20 50 44 57 4f 52 44 2c 20 50 42 59  STR, PDWORD, PBY
5670: 54 45 2c 20 44 57 4f 52 44 2c 20 50 44 57 4f 52  TE, DWORD, PDWOR
5680: 44 29 3b 0a 44 57 4f 52 44 20 47 65 74 50 72 69  D);.DWORD GetPri
5690: 6e 74 65 72 44 72 69 76 65 72 41 28 48 41 4e 44  nterDriverA(HAND
56a0: 4c 45 2c 20 4c 50 53 54 52 2c 20 44 57 4f 52 44  LE, LPSTR, DWORD
56b0: 2c 20 50 42 59 54 45 2c 20 44 57 4f 52 44 2c 20  , PBYTE, DWORD, 
56c0: 50 44 57 4f 52 44 29 3b 0a 44 57 4f 52 44 20 47  PDWORD);.DWORD G
56d0: 65 74 50 72 69 6e 74 65 72 44 72 69 76 65 72 57  etPrinterDriverW
56e0: 28 48 41 4e 44 4c 45 2c 20 4c 50 57 53 54 52 2c  (HANDLE, LPWSTR,
56f0: 20 44 57 4f 52 44 2c 20 50 42 59 54 45 2c 20 44   DWORD, PBYTE, D
5700: 57 4f 52 44 2c 20 50 44 57 4f 52 44 29 3b 0a 44  WORD, PDWORD);.D
5710: 57 4f 52 44 20 47 65 74 50 72 69 6e 74 65 72 44  WORD GetPrinterD
5720: 72 69 76 65 72 44 69 72 65 63 74 6f 72 79 41 28  riverDirectoryA(
5730: 4c 50 53 54 52 2c 20 4c 50 53 54 52 2c 20 44 57  LPSTR, LPSTR, DW
5740: 4f 52 44 2c 20 50 42 59 54 45 2c 20 44 57 4f 52  ORD, PBYTE, DWOR
5750: 44 2c 20 50 44 57 4f 52 44 29 3b 0a 44 57 4f 52  D, PDWORD);.DWOR
5760: 44 20 47 65 74 50 72 69 6e 74 65 72 44 72 69 76  D GetPrinterDriv
5770: 65 72 44 69 72 65 63 74 6f 72 79 57 28 4c 50 57  erDirectoryW(LPW
5780: 53 54 52 2c 20 4c 50 57 53 54 52 2c 20 44 57 4f  STR, LPWSTR, DWO
5790: 52 44 2c 20 50 42 59 54 45 2c 20 44 57 4f 52 44  RD, PBYTE, DWORD
57a0: 2c 20 50 44 57 4f 52 44 29 3b 0a 44 57 4f 52 44  , PDWORD);.DWORD
57b0: 20 47 65 74 50 72 69 6e 74 50 72 6f 63 65 73 73   GetPrintProcess
57c0: 6f 72 44 69 72 65 63 74 6f 72 79 41 28 4c 50 53  orDirectoryA(LPS
57d0: 54 52 2c 20 4c 50 53 54 52 2c 20 44 57 4f 52 44  TR, LPSTR, DWORD
57e0: 2c 20 50 42 59 54 45 2c 20 44 57 4f 52 44 2c 20  , PBYTE, DWORD, 
57f0: 50 44 57 4f 52 44 29 3b 0a 44 57 4f 52 44 20 47  PDWORD);.DWORD G
5800: 65 74 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72  etPrintProcessor
5810: 44 69 72 65 63 74 6f 72 79 57 28 4c 50 57 53 54  DirectoryW(LPWST
5820: 52 2c 20 4c 50 57 53 54 52 2c 20 44 57 4f 52 44  R, LPWSTR, DWORD
5830: 2c 20 50 42 59 54 45 2c 20 44 57 4f 52 44 2c 20  , PBYTE, DWORD, 
5840: 50 44 57 4f 52 44 29 3b 0a 42 4f 4f 4c 20 4f 70  PDWORD);.BOOL Op
5850: 65 6e 50 72 69 6e 74 65 72 41 28 4c 50 53 54 52  enPrinterA(LPSTR
5860: 2c 20 50 48 41 4e 44 4c 45 2c 20 4c 50 50 52 49  , PHANDLE, LPPRI
5870: 4e 54 45 52 5f 44 45 46 41 55 4c 54 53 41 29 3b  NTER_DEFAULTSA);
5880: 0a 42 4f 4f 4c 20 4f 70 65 6e 50 72 69 6e 74 65  .BOOL OpenPrinte
5890: 72 57 28 4c 50 57 53 54 52 2c 20 50 48 41 4e 44  rW(LPWSTR, PHAND
58a0: 4c 45 2c 20 4c 50 50 52 49 4e 54 45 52 5f 44 45  LE, LPPRINTER_DE
58b0: 46 41 55 4c 54 53 57 29 3b 0a 44 57 4f 52 44 20  FAULTSW);.DWORD 
58c0: 50 72 69 6e 74 65 72 4d 65 73 73 61 67 65 42 6f  PrinterMessageBo
58d0: 78 41 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44  xA(HANDLE, DWORD
58e0: 2c 20 48 57 4e 44 2c 20 4c 50 53 54 52 2c 20 4c  , HWND, LPSTR, L
58f0: 50 53 54 52 2c 20 44 57 4f 52 44 29 3b 0a 44 57  PSTR, DWORD);.DW
5900: 4f 52 44 20 50 72 69 6e 74 65 72 4d 65 73 73 61  ORD PrinterMessa
5910: 67 65 42 6f 78 57 28 48 41 4e 44 4c 45 2c 20 44  geBoxW(HANDLE, D
5920: 57 4f 52 44 2c 20 48 57 4e 44 2c 20 4c 50 57 53  WORD, HWND, LPWS
5930: 54 52 2c 20 4c 50 57 53 54 52 2c 20 44 57 4f 52  TR, LPWSTR, DWOR
5940: 44 29 3b 0a 42 4f 4f 4c 20 50 72 69 6e 74 65 72  D);.BOOL Printer
5950: 50 72 6f 70 65 72 74 69 65 73 28 48 57 4e 44 2c  Properties(HWND,
5960: 20 48 41 4e 44 4c 45 29 3b 0a 42 4f 4f 4c 20 52   HANDLE);.BOOL R
5970: 65 61 64 50 72 69 6e 74 65 72 28 48 41 4e 44 4c  eadPrinter(HANDL
5980: 45 2c 20 50 56 4f 49 44 2c 20 44 57 4f 52 44 2c  E, PVOID, DWORD,
5990: 20 50 44 57 4f 52 44 29 3b 0a 42 4f 4f 4c 20 52   PDWORD);.BOOL R
59a0: 65 73 65 74 50 72 69 6e 74 65 72 41 28 48 41 4e  esetPrinterA(HAN
59b0: 44 4c 45 2c 20 4c 50 50 52 49 4e 54 45 52 5f 44  DLE, LPPRINTER_D
59c0: 45 46 41 55 4c 54 53 41 29 3b 0a 42 4f 4f 4c 20  EFAULTSA);.BOOL 
59d0: 52 65 73 65 74 50 72 69 6e 74 65 72 57 28 48 41  ResetPrinterW(HA
59e0: 4e 44 4c 45 2c 20 4c 50 50 52 49 4e 54 45 52 5f  NDLE, LPPRINTER_
59f0: 44 45 46 41 55 4c 54 53 57 29 3b 0a 42 4f 4f 4c  DEFAULTSW);.BOOL
5a00: 20 53 63 68 65 64 75 6c 65 4a 6f 62 28 48 41 4e   ScheduleJob(HAN
5a10: 44 4c 45 2c 20 44 57 4f 52 44 29 3b 0a 42 4f 4f  DLE, DWORD);.BOO
5a20: 4c 20 53 65 74 46 6f 72 6d 41 28 48 41 4e 44 4c  L SetFormA(HANDL
5a30: 45 2c 20 4c 50 53 54 52 2c 20 44 57 4f 52 44 2c  E, LPSTR, DWORD,
5a40: 20 50 42 59 54 45 29 3b 0a 42 4f 4f 4c 20 53 65   PBYTE);.BOOL Se
5a50: 74 46 6f 72 6d 57 28 48 41 4e 44 4c 45 2c 20 4c  tFormW(HANDLE, L
5a60: 50 57 53 54 52 2c 20 44 57 4f 52 44 2c 20 50 42  PWSTR, DWORD, PB
5a70: 59 54 45 29 3b 0a 42 4f 4f 4c 20 53 65 74 4a 6f  YTE);.BOOL SetJo
5a80: 62 41 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44  bA(HANDLE, DWORD
5a90: 2c 20 44 57 4f 52 44 2c 20 50 42 59 54 45 2c 20  , DWORD, PBYTE, 
5aa0: 44 57 4f 52 44 29 3b 0a 42 4f 4f 4c 20 53 65 74  DWORD);.BOOL Set
5ab0: 4a 6f 62 57 28 48 41 4e 44 4c 45 2c 20 44 57 4f  JobW(HANDLE, DWO
5ac0: 52 44 2c 20 44 57 4f 52 44 2c 20 50 42 59 54 45  RD, DWORD, PBYTE
5ad0: 2c 20 44 57 4f 52 44 29 3b 0a 42 4f 4f 4c 20 53  , DWORD);.BOOL S
5ae0: 65 74 50 72 69 6e 74 65 72 41 28 48 41 4e 44 4c  etPrinterA(HANDL
5af0: 45 2c 20 44 57 4f 52 44 2c 20 50 42 59 54 45 2c  E, DWORD, PBYTE,
5b00: 20 44 57 4f 52 44 29 3b 0a 42 4f 4f 4c 20 53 65   DWORD);.BOOL Se
5b10: 74 50 72 69 6e 74 65 72 57 28 48 41 4e 44 4c 45  tPrinterW(HANDLE
5b20: 2c 20 44 57 4f 52 44 2c 20 50 42 59 54 45 2c 20  , DWORD, PBYTE, 
5b30: 44 57 4f 52 44 29 3b 0a 42 4f 4f 4c 20 53 65 74  DWORD);.BOOL Set
5b40: 50 72 69 6e 74 65 72 44 61 74 61 41 28 48 41 4e  PrinterDataA(HAN
5b50: 44 4c 45 2c 20 4c 50 53 54 52 2c 20 44 57 4f 52  DLE, LPSTR, DWOR
5b60: 44 2c 20 50 42 59 54 45 2c 20 44 57 4f 52 44 29  D, PBYTE, DWORD)
5b70: 3b 0a 42 4f 4f 4c 20 53 65 74 50 72 69 6e 74 65  ;.BOOL SetPrinte
5b80: 72 44 61 74 61 57 28 48 41 4e 44 4c 45 2c 20 4c  rDataW(HANDLE, L
5b90: 50 57 53 54 52 2c 20 44 57 4f 52 44 2c 20 50 42  PWSTR, DWORD, PB
5ba0: 59 54 45 2c 20 44 57 4f 52 44 29 3b 0a 44 57 4f  YTE, DWORD);.DWO
5bb0: 52 44 20 53 74 61 72 74 44 6f 63 50 72 69 6e 74  RD StartDocPrint
5bc0: 65 72 41 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52  erA(HANDLE, DWOR
5bd0: 44 2c 20 50 42 59 54 45 29 3b 0a 44 57 4f 52 44  D, PBYTE);.DWORD
5be0: 20 53 74 61 72 74 44 6f 63 50 72 69 6e 74 65 72   StartDocPrinter
5bf0: 57 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44 2c  W(HANDLE, DWORD,
5c00: 20 50 42 59 54 45 29 3b 0a 42 4f 4f 4c 20 53 74   PBYTE);.BOOL St
5c10: 61 72 74 50 61 67 65 50 72 69 6e 74 65 72 28 48  artPagePrinter(H
5c20: 41 4e 44 4c 45 29 3b 0a 44 57 4f 52 44 20 57 61  ANDLE);.DWORD Wa
5c30: 69 74 46 6f 72 50 72 69 6e 74 65 72 43 68 61 6e  itForPrinterChan
5c40: 67 65 28 48 41 4e 44 4c 45 2c 20 44 57 4f 52 44  ge(HANDLE, DWORD
5c50: 29 3b 0a 42 4f 4f 4c 20 57 72 69 74 65 50 72 69  );.BOOL WritePri
5c60: 6e 74 65 72 28 48 41 4e 44 4c 45 2c 20 50 56 4f  nter(HANDLE, PVO
5c70: 49 44 2c 20 44 57 4f 52 44 2c 20 50 44 57 4f 52  ID, DWORD, PDWOR
5c80: 44 29 3b 0a 0a 76 65 72 73 69 6f 6e 28 55 6e 69  D);..version(Uni
5c90: 63 6f 64 65 29 20 7b 0a 0a 61 6c 69 61 73 20 4a  code) {..alias J
5ca0: 4f 42 5f 49 4e 46 4f 5f 31 57 20 4a 4f 42 5f 49  OB_INFO_1W JOB_I
5cb0: 4e 46 4f 5f 31 3b 0a 61 6c 69 61 73 20 4a 4f 42  NFO_1;.alias JOB
5cc0: 5f 49 4e 46 4f 5f 32 57 20 4a 4f 42 5f 49 4e 46  _INFO_2W JOB_INF
5cd0: 4f 5f 32 3b 0a 61 6c 69 61 73 20 41 44 44 4a 4f  O_2;.alias ADDJO
5ce0: 42 5f 49 4e 46 4f 5f 31 57 20 41 44 44 4a 4f 42  B_INFO_1W ADDJOB
5cf0: 5f 49 4e 46 4f 5f 31 3b 0a 61 6c 69 61 73 20 44  _INFO_1;.alias D
5d00: 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31 57  ATATYPES_INFO_1W
5d10: 20 44 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f   DATATYPES_INFO_
5d20: 31 3b 0a 61 6c 69 61 73 20 4d 4f 4e 49 54 4f 52  1;.alias MONITOR
5d30: 5f 49 4e 46 4f 5f 31 57 20 4d 4f 4e 49 54 4f 52  _INFO_1W MONITOR
5d40: 5f 49 4e 46 4f 5f 31 3b 0a 61 6c 69 61 73 20 4d  _INFO_1;.alias M
5d50: 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 57 20 4d  ONITOR_INFO_2W M
5d60: 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 3b 0a 61  ONITOR_INFO_2;.a
5d70: 6c 69 61 73 20 44 4f 43 5f 49 4e 46 4f 5f 31 57  lias DOC_INFO_1W
5d80: 20 44 4f 43 5f 49 4e 46 4f 5f 31 3b 0a 61 6c 69   DOC_INFO_1;.ali
5d90: 61 73 20 44 4f 43 5f 49 4e 46 4f 5f 32 57 20 44  as DOC_INFO_2W D
5da0: 4f 43 5f 49 4e 46 4f 5f 32 3b 0a 61 6c 69 61 73  OC_INFO_2;.alias
5db0: 20 50 4f 52 54 5f 49 4e 46 4f 5f 31 57 20 50 4f   PORT_INFO_1W PO
5dc0: 52 54 5f 49 4e 46 4f 5f 31 3b 0a 61 6c 69 61 73  RT_INFO_1;.alias
5dd0: 20 50 4f 52 54 5f 49 4e 46 4f 5f 32 57 20 50 4f   PORT_INFO_2W PO
5de0: 52 54 5f 49 4e 46 4f 5f 32 3b 0a 61 6c 69 61 73  RT_INFO_2;.alias
5df0: 20 50 4f 52 54 5f 49 4e 46 4f 5f 33 57 20 50 4f   PORT_INFO_3W PO
5e00: 52 54 5f 49 4e 46 4f 5f 33 3b 0a 61 6c 69 61 73  RT_INFO_3;.alias
5e10: 20 44 52 49 56 45 52 5f 49 4e 46 4f 5f 32 57 20   DRIVER_INFO_2W 
5e20: 44 52 49 56 45 52 5f 49 4e 46 4f 5f 32 3b 0a 61  DRIVER_INFO_2;.a
5e30: 6c 69 61 73 20 50 52 49 4e 54 45 52 5f 49 4e 46  lias PRINTER_INF
5e40: 4f 5f 31 57 20 50 52 49 4e 54 45 52 5f 49 4e 46  O_1W PRINTER_INF
5e50: 4f 5f 31 3b 0a 61 6c 69 61 73 20 50 52 49 4e 54  O_1;.alias PRINT
5e60: 45 52 5f 49 4e 46 4f 5f 32 57 20 50 52 49 4e 54  ER_INFO_2W PRINT
5e70: 45 52 5f 49 4e 46 4f 5f 32 3b 0a 61 6c 69 61 73  ER_INFO_2;.alias
5e80: 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 57   PRINTER_INFO_4W
5e90: 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 3b   PRINTER_INFO_4;
5ea0: 0a 61 6c 69 61 73 20 50 52 49 4e 54 45 52 5f 49  .alias PRINTER_I
5eb0: 4e 46 4f 5f 35 57 20 50 52 49 4e 54 45 52 5f 49  NFO_5W PRINTER_I
5ec0: 4e 46 4f 5f 35 3b 0a 61 6c 69 61 73 20 50 52 49  NFO_5;.alias PRI
5ed0: 4e 54 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46 4f  NTPROCESSOR_INFO
5ee0: 5f 31 57 20 50 52 49 4e 54 50 52 4f 43 45 53 53  _1W PRINTPROCESS
5ef0: 4f 52 5f 49 4e 46 4f 5f 31 3b 0a 61 6c 69 61 73  OR_INFO_1;.alias
5f00: 20 46 4f 52 4d 5f 49 4e 46 4f 5f 31 57 20 46 4f   FORM_INFO_1W FO
5f10: 52 4d 5f 49 4e 46 4f 5f 31 3b 0a 61 6c 69 61 73  RM_INFO_1;.alias
5f20: 20 50 52 49 4e 54 45 52 5f 44 45 46 41 55 4c 54   PRINTER_DEFAULT
5f30: 53 57 20 50 52 49 4e 54 45 52 5f 44 45 46 41 55  SW PRINTER_DEFAU
5f40: 4c 54 53 3b 0a 0a 61 6c 69 61 73 20 41 64 64 46  LTS;..alias AddF
5f50: 6f 72 6d 57 20 41 64 64 46 6f 72 6d 3b 0a 61 6c  ormW AddForm;.al
5f60: 69 61 73 20 41 64 64 4a 6f 62 57 20 41 64 64 4a  ias AddJobW AddJ
5f70: 6f 62 3b 0a 61 6c 69 61 73 20 41 64 64 4d 6f 6e  ob;.alias AddMon
5f80: 69 74 6f 72 57 20 41 64 64 4d 6f 6e 69 74 6f 72  itorW AddMonitor
5f90: 3b 0a 61 6c 69 61 73 20 41 64 64 50 6f 72 74 57  ;.alias AddPortW
5fa0: 20 41 64 64 50 6f 72 74 3b 0a 61 6c 69 61 73 20   AddPort;.alias 
5fb0: 41 64 64 50 72 69 6e 74 65 72 57 20 41 64 64 50  AddPrinterW AddP
5fc0: 72 69 6e 74 65 72 3b 0a 61 6c 69 61 73 20 41 64  rinter;.alias Ad
5fd0: 64 50 72 69 6e 74 65 72 43 6f 6e 6e 65 63 74 69  dPrinterConnecti
5fe0: 6f 6e 57 20 41 64 64 50 72 69 6e 74 65 72 43 6f  onW AddPrinterCo
5ff0: 6e 6e 65 63 74 69 6f 6e 3b 0a 61 6c 69 61 73 20  nnection;.alias 
6000: 41 64 64 50 72 69 6e 74 65 72 44 72 69 76 65 72  AddPrinterDriver
6010: 57 20 41 64 64 50 72 69 6e 74 65 72 44 72 69 76  W AddPrinterDriv
6020: 65 72 3b 0a 61 6c 69 61 73 20 41 64 64 50 72 69  er;.alias AddPri
6030: 6e 74 50 72 6f 63 65 73 73 6f 72 57 20 41 64 64  ntProcessorW Add
6040: 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 3b 0a  PrintProcessor;.
6050: 61 6c 69 61 73 20 41 64 64 50 72 69 6e 74 50 72  alias AddPrintPr
6060: 6f 76 69 64 6f 72 57 20 41 64 64 50 72 69 6e 74  ovidorW AddPrint
6070: 50 72 6f 76 69 64 6f 72 3b 0a 61 6c 69 61 73 20  Providor;.alias 
6080: 41 64 76 61 6e 63 65 64 44 6f 63 75 6d 65 6e 74  AdvancedDocument
6090: 50 72 6f 70 65 72 74 69 65 73 57 20 41 64 76 61  PropertiesW Adva
60a0: 6e 63 65 64 44 6f 63 75 6d 65 6e 74 50 72 6f 70  ncedDocumentProp
60b0: 65 72 74 69 65 73 3b 0a 61 6c 69 61 73 20 43 6f  erties;.alias Co
60c0: 6e 66 69 67 75 72 65 50 6f 72 74 57 20 43 6f 6e  nfigurePortW Con
60d0: 66 69 67 75 72 65 50 6f 72 74 3b 0a 61 6c 69 61  figurePort;.alia
60e0: 73 20 44 65 6c 65 74 65 46 6f 72 6d 57 20 44 65  s DeleteFormW De
60f0: 6c 65 74 65 46 6f 72 6d 3b 0a 61 6c 69 61 73 20  leteForm;.alias 
6100: 44 65 6c 65 74 65 4d 6f 6e 69 74 6f 72 57 20 44  DeleteMonitorW D
6110: 65 6c 65 74 65 4d 6f 6e 69 74 6f 72 3b 0a 61 6c  eleteMonitor;.al
6120: 69 61 73 20 44 65 6c 65 74 65 50 6f 72 74 57 20  ias DeletePortW 
6130: 44 65 6c 65 74 65 50 6f 72 74 3b 0a 61 6c 69 61  DeletePort;.alia
6140: 73 20 44 65 6c 65 74 65 50 72 69 6e 74 65 72 43  s DeletePrinterC
6150: 6f 6e 6e 65 63 74 69 6f 6e 57 20 44 65 6c 65 74  onnectionW Delet
6160: 65 50 72 69 6e 74 65 72 43 6f 6e 6e 65 63 74 69  ePrinterConnecti
6170: 6f 6e 3b 0a 61 6c 69 61 73 20 44 65 6c 65 74 65  on;.alias Delete
6180: 50 72 69 6e 74 65 72 44 61 74 61 57 20 44 65 6c  PrinterDataW Del
6190: 65 74 65 50 72 69 6e 74 65 72 44 61 74 61 3b 0a  etePrinterData;.
61a0: 61 6c 69 61 73 20 44 65 6c 65 74 65 50 72 69 6e  alias DeletePrin
61b0: 74 65 72 44 72 69 76 65 72 57 20 44 65 6c 65 74  terDriverW Delet
61c0: 65 50 72 69 6e 74 65 72 44 72 69 76 65 72 3b 0a  ePrinterDriver;.
61d0: 61 6c 69 61 73 20 44 65 6c 65 74 65 50 72 69 6e  alias DeletePrin
61e0: 74 50 72 6f 63 65 73 73 6f 72 57 20 44 65 6c 65  tProcessorW Dele
61f0: 74 65 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72  tePrintProcessor
6200: 3b 0a 61 6c 69 61 73 20 44 65 6c 65 74 65 50 72  ;.alias DeletePr
6210: 69 6e 74 50 72 6f 76 69 64 6f 72 57 20 44 65 6c  intProvidorW Del
6220: 65 74 65 50 72 69 6e 74 50 72 6f 76 69 64 6f 72  etePrintProvidor
6230: 3b 0a 61 6c 69 61 73 20 44 6f 63 75 6d 65 6e 74  ;.alias Document
6240: 50 72 6f 70 65 72 74 69 65 73 57 20 44 6f 63 75  PropertiesW Docu
6250: 6d 65 6e 74 50 72 6f 70 65 72 74 69 65 73 3b 0a  mentProperties;.
6260: 61 6c 69 61 73 20 45 6e 75 6d 46 6f 72 6d 73 57  alias EnumFormsW
6270: 20 45 6e 75 6d 46 6f 72 6d 73 3b 0a 61 6c 69 61   EnumForms;.alia
6280: 73 20 45 6e 75 6d 4a 6f 62 73 57 20 45 6e 75 6d  s EnumJobsW Enum
6290: 4a 6f 62 73 3b 0a 61 6c 69 61 73 20 45 6e 75 6d  Jobs;.alias Enum
62a0: 4d 6f 6e 69 74 6f 72 73 57 20 45 6e 75 6d 4d 6f  MonitorsW EnumMo
62b0: 6e 69 74 6f 72 73 3b 0a 61 6c 69 61 73 20 45 6e  nitors;.alias En
62c0: 75 6d 50 6f 72 74 73 57 20 45 6e 75 6d 50 6f 72  umPortsW EnumPor
62d0: 74 73 3b 0a 61 6c 69 61 73 20 45 6e 75 6d 50 72  ts;.alias EnumPr
62e0: 69 6e 74 65 72 44 61 74 61 57 20 45 6e 75 6d 50  interDataW EnumP
62f0: 72 69 6e 74 65 72 44 61 74 61 3b 0a 61 6c 69 61  rinterData;.alia
6300: 73 20 45 6e 75 6d 50 72 69 6e 74 65 72 44 72 69  s EnumPrinterDri
6310: 76 65 72 73 57 20 45 6e 75 6d 50 72 69 6e 74 65  versW EnumPrinte
6320: 72 44 72 69 76 65 72 73 3b 0a 61 6c 69 61 73 20  rDrivers;.alias 
6330: 45 6e 75 6d 50 72 69 6e 74 65 72 73 57 20 45 6e  EnumPrintersW En
6340: 75 6d 50 72 69 6e 74 65 72 73 3b 0a 61 6c 69 61  umPrinters;.alia
6350: 73 20 45 6e 75 6d 50 72 69 6e 74 50 72 6f 63 65  s EnumPrintProce
6360: 73 73 6f 72 44 61 74 61 74 79 70 65 73 57 20 45  ssorDatatypesW E
6370: 6e 75 6d 50 72 69 6e 74 50 72 6f 63 65 73 73 6f  numPrintProcesso
6380: 72 44 61 74 61 74 79 70 65 73 3b 0a 61 6c 69 61  rDatatypes;.alia
6390: 73 20 45 6e 75 6d 50 72 69 6e 74 50 72 6f 63 65  s EnumPrintProce
63a0: 73 73 6f 72 73 57 20 45 6e 75 6d 50 72 69 6e 74  ssorsW EnumPrint
63b0: 50 72 6f 63 65 73 73 6f 72 73 3b 0a 0a 73 74 61  Processors;..sta
63c0: 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f 57  tic if (_WIN32_W
63d0: 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 20  INNT >= 0x0500) 
63e0: 7b 0a 61 6c 69 61 73 20 47 65 74 44 65 66 61 75  {.alias GetDefau
63f0: 6c 74 50 72 69 6e 74 65 72 57 20 47 65 74 44 65  ltPrinterW GetDe
6400: 66 61 75 6c 74 50 72 69 6e 74 65 72 3b 0a 7d 0a  faultPrinter;.}.
6410: 0a 61 6c 69 61 73 20 47 65 74 46 6f 72 6d 57 20  .alias GetFormW 
6420: 47 65 74 46 6f 72 6d 3b 0a 61 6c 69 61 73 20 47  GetForm;.alias G
6430: 65 74 4a 6f 62 57 20 47 65 74 4a 6f 62 3b 0a 61  etJobW GetJob;.a
6440: 6c 69 61 73 20 47 65 74 50 72 69 6e 74 65 72 57  lias GetPrinterW
6450: 20 47 65 74 50 72 69 6e 74 65 72 3b 0a 61 6c 69   GetPrinter;.ali
6460: 61 73 20 47 65 74 50 72 69 6e 74 65 72 44 61 74  as GetPrinterDat
6470: 61 57 20 47 65 74 50 72 69 6e 74 65 72 44 61 74  aW GetPrinterDat
6480: 61 3b 0a 61 6c 69 61 73 20 47 65 74 50 72 69 6e  a;.alias GetPrin
6490: 74 65 72 44 72 69 76 65 72 57 20 47 65 74 50 72  terDriverW GetPr
64a0: 69 6e 74 65 72 44 72 69 76 65 72 3b 0a 61 6c 69  interDriver;.ali
64b0: 61 73 20 47 65 74 50 72 69 6e 74 65 72 44 72 69  as GetPrinterDri
64c0: 76 65 72 44 69 72 65 63 74 6f 72 79 57 20 47 65  verDirectoryW Ge
64d0: 74 50 72 69 6e 74 65 72 44 72 69 76 65 72 44 69  tPrinterDriverDi
64e0: 72 65 63 74 6f 72 79 3b 0a 61 6c 69 61 73 20 47  rectory;.alias G
64f0: 65 74 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72  etPrintProcessor
6500: 44 69 72 65 63 74 6f 72 79 57 20 47 65 74 50 72  DirectoryW GetPr
6510: 69 6e 74 50 72 6f 63 65 73 73 6f 72 44 69 72 65  intProcessorDire
6520: 63 74 6f 72 79 3b 0a 61 6c 69 61 73 20 4f 70 65  ctory;.alias Ope
6530: 6e 50 72 69 6e 74 65 72 57 20 4f 70 65 6e 50 72  nPrinterW OpenPr
6540: 69 6e 74 65 72 3b 0a 61 6c 69 61 73 20 50 72 69  inter;.alias Pri
6550: 6e 74 65 72 4d 65 73 73 61 67 65 42 6f 78 57 20  nterMessageBoxW 
6560: 50 72 69 6e 74 65 72 4d 65 73 73 61 67 65 42 6f  PrinterMessageBo
6570: 78 3b 0a 61 6c 69 61 73 20 52 65 73 65 74 50 72  x;.alias ResetPr
6580: 69 6e 74 65 72 57 20 52 65 73 65 74 50 72 69 6e  interW ResetPrin
6590: 74 65 72 3b 0a 61 6c 69 61 73 20 53 65 74 46 6f  ter;.alias SetFo
65a0: 72 6d 57 20 53 65 74 46 6f 72 6d 3b 0a 61 6c 69  rmW SetForm;.ali
65b0: 61 73 20 53 65 74 4a 6f 62 57 20 53 65 74 4a 6f  as SetJobW SetJo
65c0: 62 3b 0a 61 6c 69 61 73 20 53 65 74 50 72 69 6e  b;.alias SetPrin
65d0: 74 65 72 57 20 53 65 74 50 72 69 6e 74 65 72 3b  terW SetPrinter;
65e0: 0a 61 6c 69 61 73 20 53 65 74 50 72 69 6e 74 65  .alias SetPrinte
65f0: 72 44 61 74 61 57 20 53 65 74 50 72 69 6e 74 65  rDataW SetPrinte
6600: 72 44 61 74 61 3b 0a 61 6c 69 61 73 20 53 74 61  rData;.alias Sta
6610: 72 74 44 6f 63 50 72 69 6e 74 65 72 57 20 53 74  rtDocPrinterW St
6620: 61 72 74 44 6f 63 50 72 69 6e 74 65 72 3b 0a 0a  artDocPrinter;..
6630: 7d 20 65 6c 73 65 20 7b 0a 0a 61 6c 69 61 73 20  } else {..alias 
6640: 4a 4f 42 5f 49 4e 46 4f 5f 31 41 20 4a 4f 42 5f  JOB_INFO_1A JOB_
6650: 49 4e 46 4f 5f 31 3b 0a 61 6c 69 61 73 20 4a 4f  INFO_1;.alias JO
6660: 42 5f 49 4e 46 4f 5f 32 41 20 4a 4f 42 5f 49 4e  B_INFO_2A JOB_IN
6670: 46 4f 5f 32 3b 0a 61 6c 69 61 73 20 41 44 44 4a  FO_2;.alias ADDJ
6680: 4f 42 5f 49 4e 46 4f 5f 31 41 20 41 44 44 4a 4f  OB_INFO_1A ADDJO
6690: 42 5f 49 4e 46 4f 5f 31 3b 0a 61 6c 69 61 73 20  B_INFO_1;.alias 
66a0: 44 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31  DATATYPES_INFO_1
66b0: 41 20 44 41 54 41 54 59 50 45 53 5f 49 4e 46 4f  A DATATYPES_INFO
66c0: 5f 31 3b 0a 61 6c 69 61 73 20 4d 4f 4e 49 54 4f  _1;.alias MONITO
66d0: 52 5f 49 4e 46 4f 5f 31 41 20 4d 4f 4e 49 54 4f  R_INFO_1A MONITO
66e0: 52 5f 49 4e 46 4f 5f 31 3b 0a 61 6c 69 61 73 20  R_INFO_1;.alias 
66f0: 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 41 20  MONITOR_INFO_2A 
6700: 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 3b 0a  MONITOR_INFO_2;.
6710: 61 6c 69 61 73 20 44 4f 43 5f 49 4e 46 4f 5f 31  alias DOC_INFO_1
6720: 41 20 44 4f 43 5f 49 4e 46 4f 5f 31 3b 0a 61 6c  A DOC_INFO_1;.al
6730: 69 61 73 20 44 4f 43 5f 49 4e 46 4f 5f 32 41 20  ias DOC_INFO_2A 
6740: 44 4f 43 5f 49 4e 46 4f 5f 32 3b 0a 61 6c 69 61  DOC_INFO_2;.alia
6750: 73 20 50 4f 52 54 5f 49 4e 46 4f 5f 31 41 20 50  s PORT_INFO_1A P
6760: 4f 52 54 5f 49 4e 46 4f 5f 31 3b 0a 61 6c 69 61  ORT_INFO_1;.alia
6770: 73 20 50 4f 52 54 5f 49 4e 46 4f 5f 32 41 20 50  s PORT_INFO_2A P
6780: 4f 52 54 5f 49 4e 46 4f 5f 32 3b 0a 61 6c 69 61  ORT_INFO_2;.alia
6790: 73 20 50 4f 52 54 5f 49 4e 46 4f 5f 33 41 20 50  s PORT_INFO_3A P
67a0: 4f 52 54 5f 49 4e 46 4f 5f 33 3b 0a 61 6c 69 61  ORT_INFO_3;.alia
67b0: 73 20 44 52 49 56 45 52 5f 49 4e 46 4f 5f 32 41  s DRIVER_INFO_2A
67c0: 20 44 52 49 56 45 52 5f 49 4e 46 4f 5f 32 3b 0a   DRIVER_INFO_2;.
67d0: 61 6c 69 61 73 20 50 52 49 4e 54 45 52 5f 49 4e  alias PRINTER_IN
67e0: 46 4f 5f 31 41 20 50 52 49 4e 54 45 52 5f 49 4e  FO_1A PRINTER_IN
67f0: 46 4f 5f 31 3b 0a 61 6c 69 61 73 20 50 52 49 4e  FO_1;.alias PRIN
6800: 54 45 52 5f 49 4e 46 4f 5f 32 41 20 50 52 49 4e  TER_INFO_2A PRIN
6810: 54 45 52 5f 49 4e 46 4f 5f 32 3b 0a 61 6c 69 61  TER_INFO_2;.alia
6820: 73 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34  s PRINTER_INFO_4
6830: 41 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34  A PRINTER_INFO_4
6840: 3b 0a 61 6c 69 61 73 20 50 52 49 4e 54 45 52 5f  ;.alias PRINTER_
6850: 49 4e 46 4f 5f 35 41 20 50 52 49 4e 54 45 52 5f  INFO_5A PRINTER_
6860: 49 4e 46 4f 5f 35 3b 0a 61 6c 69 61 73 20 50 52  INFO_5;.alias PR
6870: 49 4e 54 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46  INTPROCESSOR_INF
6880: 4f 5f 31 41 20 50 52 49 4e 54 50 52 4f 43 45 53  O_1A PRINTPROCES
6890: 53 4f 52 5f 49 4e 46 4f 5f 31 3b 0a 61 6c 69 61  SOR_INFO_1;.alia
68a0: 73 20 46 4f 52 4d 5f 49 4e 46 4f 5f 31 41 20 46  s FORM_INFO_1A F
68b0: 4f 52 4d 5f 49 4e 46 4f 5f 31 3b 0a 61 6c 69 61  ORM_INFO_1;.alia
68c0: 73 20 50 52 49 4e 54 45 52 5f 44 45 46 41 55 4c  s PRINTER_DEFAUL
68d0: 54 53 41 20 50 52 49 4e 54 45 52 5f 44 45 46 41  TSA PRINTER_DEFA
68e0: 55 4c 54 53 3b 0a 0a 61 6c 69 61 73 20 41 64 64  ULTS;..alias Add
68f0: 46 6f 72 6d 41 20 41 64 64 46 6f 72 6d 3b 0a 61  FormA AddForm;.a
6900: 6c 69 61 73 20 41 64 64 4a 6f 62 41 20 41 64 64  lias AddJobA Add
6910: 4a 6f 62 3b 0a 61 6c 69 61 73 20 41 64 64 4d 6f  Job;.alias AddMo
6920: 6e 69 74 6f 72 41 20 41 64 64 4d 6f 6e 69 74 6f  nitorA AddMonito
6930: 72 3b 0a 61 6c 69 61 73 20 41 64 64 50 6f 72 74  r;.alias AddPort
6940: 41 20 41 64 64 50 6f 72 74 3b 0a 61 6c 69 61 73  A AddPort;.alias
6950: 20 41 64 64 50 72 69 6e 74 65 72 41 20 41 64 64   AddPrinterA Add
6960: 50 72 69 6e 74 65 72 3b 0a 61 6c 69 61 73 20 41  Printer;.alias A
6970: 64 64 50 72 69 6e 74 65 72 43 6f 6e 6e 65 63 74  ddPrinterConnect
6980: 69 6f 6e 41 20 41 64 64 50 72 69 6e 74 65 72 43  ionA AddPrinterC
6990: 6f 6e 6e 65 63 74 69 6f 6e 3b 0a 61 6c 69 61 73  onnection;.alias
69a0: 20 41 64 64 50 72 69 6e 74 65 72 44 72 69 76 65   AddPrinterDrive
69b0: 72 41 20 41 64 64 50 72 69 6e 74 65 72 44 72 69  rA AddPrinterDri
69c0: 76 65 72 3b 0a 61 6c 69 61 73 20 41 64 64 50 72  ver;.alias AddPr
69d0: 69 6e 74 50 72 6f 63 65 73 73 6f 72 41 20 41 64  intProcessorA Ad
69e0: 64 50 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 3b  dPrintProcessor;
69f0: 0a 61 6c 69 61 73 20 41 64 64 50 72 69 6e 74 50  .alias AddPrintP
6a00: 72 6f 76 69 64 6f 72 41 20 41 64 64 50 72 69 6e  rovidorA AddPrin
6a10: 74 50 72 6f 76 69 64 6f 72 3b 0a 61 6c 69 61 73  tProvidor;.alias
6a20: 20 41 64 76 61 6e 63 65 64 44 6f 63 75 6d 65 6e   AdvancedDocumen
6a30: 74 50 72 6f 70 65 72 74 69 65 73 41 20 41 64 76  tPropertiesA Adv
6a40: 61 6e 63 65 64 44 6f 63 75 6d 65 6e 74 50 72 6f  ancedDocumentPro
6a50: 70 65 72 74 69 65 73 3b 0a 61 6c 69 61 73 20 43  perties;.alias C
6a60: 6f 6e 66 69 67 75 72 65 50 6f 72 74 41 20 43 6f  onfigurePortA Co
6a70: 6e 66 69 67 75 72 65 50 6f 72 74 3b 0a 61 6c 69  nfigurePort;.ali
6a80: 61 73 20 44 65 6c 65 74 65 46 6f 72 6d 41 20 44  as DeleteFormA D
6a90: 65 6c 65 74 65 46 6f 72 6d 3b 0a 61 6c 69 61 73  eleteForm;.alias
6aa0: 20 44 65 6c 65 74 65 4d 6f 6e 69 74 6f 72 41 20   DeleteMonitorA 
6ab0: 44 65 6c 65 74 65 4d 6f 6e 69 74 6f 72 3b 0a 61  DeleteMonitor;.a
6ac0: 6c 69 61 73 20 44 65 6c 65 74 65 50 6f 72 74 41  lias DeletePortA
6ad0: 20 44 65 6c 65 74 65 50 6f 72 74 3b 0a 61 6c 69   DeletePort;.ali
6ae0: 61 73 20 44 65 6c 65 74 65 50 72 69 6e 74 65 72  as DeletePrinter
6af0: 43 6f 6e 6e 65 63 74 69 6f 6e 41 20 44 65 6c 65  ConnectionA Dele
6b00: 74 65 50 72 69 6e 74 65 72 43 6f 6e 6e 65 63 74  tePrinterConnect
6b10: 69 6f 6e 3b 0a 61 6c 69 61 73 20 44 65 6c 65 74  ion;.alias Delet
6b20: 65 50 72 69 6e 74 65 72 44 61 74 61 41 20 44 65  ePrinterDataA De
6b30: 6c 65 74 65 50 72 69 6e 74 65 72 44 61 74 61 3b  letePrinterData;
6b40: 0a 61 6c 69 61 73 20 44 65 6c 65 74 65 50 72 69  .alias DeletePri
6b50: 6e 74 65 72 44 72 69 76 65 72 41 20 44 65 6c 65  nterDriverA Dele
6b60: 74 65 50 72 69 6e 74 65 72 44 72 69 76 65 72 3b  tePrinterDriver;
6b70: 0a 61 6c 69 61 73 20 44 65 6c 65 74 65 50 72 69  .alias DeletePri
6b80: 6e 74 50 72 6f 63 65 73 73 6f 72 41 20 44 65 6c  ntProcessorA Del
6b90: 65 74 65 50 72 69 6e 74 50 72 6f 63 65 73 73 6f  etePrintProcesso
6ba0: 72 3b 0a 61 6c 69 61 73 20 44 65 6c 65 74 65 50  r;.alias DeleteP
6bb0: 72 69 6e 74 50 72 6f 76 69 64 6f 72 41 20 44 65  rintProvidorA De
6bc0: 6c 65 74 65 50 72 69 6e 74 50 72 6f 76 69 64 6f  letePrintProvido
6bd0: 72 3b 0a 61 6c 69 61 73 20 44 6f 63 75 6d 65 6e  r;.alias Documen
6be0: 74 50 72 6f 70 65 72 74 69 65 73 41 20 44 6f 63  tPropertiesA Doc
6bf0: 75 6d 65 6e 74 50 72 6f 70 65 72 74 69 65 73 3b  umentProperties;
6c00: 0a 61 6c 69 61 73 20 45 6e 75 6d 46 6f 72 6d 73  .alias EnumForms
6c10: 41 20 45 6e 75 6d 46 6f 72 6d 73 3b 0a 61 6c 69  A EnumForms;.ali
6c20: 61 73 20 45 6e 75 6d 4a 6f 62 73 41 20 45 6e 75  as EnumJobsA Enu
6c30: 6d 4a 6f 62 73 3b 0a 61 6c 69 61 73 20 45 6e 75  mJobs;.alias Enu
6c40: 6d 4d 6f 6e 69 74 6f 72 73 41 20 45 6e 75 6d 4d  mMonitorsA EnumM
6c50: 6f 6e 69 74 6f 72 73 3b 0a 61 6c 69 61 73 20 45  onitors;.alias E
6c60: 6e 75 6d 50 6f 72 74 73 41 20 45 6e 75 6d 50 6f  numPortsA EnumPo
6c70: 72 74 73 3b 0a 61 6c 69 61 73 20 45 6e 75 6d 50  rts;.alias EnumP
6c80: 72 69 6e 74 65 72 44 61 74 61 41 20 45 6e 75 6d  rinterDataA Enum
6c90: 50 72 69 6e 74 65 72 44 61 74 61 3b 0a 61 6c 69  PrinterData;.ali
6ca0: 61 73 20 45 6e 75 6d 50 72 69 6e 74 65 72 44 72  as EnumPrinterDr
6cb0: 69 76 65 72 73 41 20 45 6e 75 6d 50 72 69 6e 74  iversA EnumPrint
6cc0: 65 72 44 72 69 76 65 72 73 3b 0a 61 6c 69 61 73  erDrivers;.alias
6cd0: 20 45 6e 75 6d 50 72 69 6e 74 65 72 73 41 20 45   EnumPrintersA E
6ce0: 6e 75 6d 50 72 69 6e 74 65 72 73 3b 0a 61 6c 69  numPrinters;.ali
6cf0: 61 73 20 45 6e 75 6d 50 72 69 6e 74 50 72 6f 63  as EnumPrintProc
6d00: 65 73 73 6f 72 44 61 74 61 74 79 70 65 73 41 20  essorDatatypesA 
6d10: 45 6e 75 6d 50 72 69 6e 74 50 72 6f 63 65 73 73  EnumPrintProcess
6d20: 6f 72 44 61 74 61 74 79 70 65 73 3b 0a 61 6c 69  orDatatypes;.ali
6d30: 61 73 20 45 6e 75 6d 50 72 69 6e 74 50 72 6f 63  as EnumPrintProc
6d40: 65 73 73 6f 72 73 41 20 45 6e 75 6d 50 72 69 6e  essorsA EnumPrin
6d50: 74 50 72 6f 63 65 73 73 6f 72 73 3b 0a 0a 73 74  tProcessors;..st
6d60: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f  atic if (_WIN32_
6d70: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29  WINNT >= 0x0500)
6d80: 20 7b 0a 61 6c 69 61 73 20 47 65 74 44 65 66 61   {.alias GetDefa
6d90: 75 6c 74 50 72 69 6e 74 65 72 41 20 47 65 74 44  ultPrinterA GetD
6da0: 65 66 61 75 6c 74 50 72 69 6e 74 65 72 3b 0a 7d  efaultPrinter;.}
6db0: 0a 0a 61 6c 69 61 73 20 47 65 74 46 6f 72 6d 41  ..alias GetFormA
6dc0: 20 47 65 74 46 6f 72 6d 3b 0a 61 6c 69 61 73 20   GetForm;.alias 
6dd0: 47 65 74 4a 6f 62 41 20 47 65 74 4a 6f 62 3b 0a  GetJobA GetJob;.
6de0: 61 6c 69 61 73 20 47 65 74 50 72 69 6e 74 65 72  alias GetPrinter
6df0: 41 20 47 65 74 50 72 69 6e 74 65 72 3b 0a 61 6c  A GetPrinter;.al
6e00: 69 61 73 20 47 65 74 50 72 69 6e 74 65 72 44 61  ias GetPrinterDa
6e10: 74 61 41 20 47 65 74 50 72 69 6e 74 65 72 44 61  taA GetPrinterDa
6e20: 74 61 3b 0a 61 6c 69 61 73 20 47 65 74 50 72 69  ta;.alias GetPri
6e30: 6e 74 65 72 44 72 69 76 65 72 41 20 47 65 74 50  nterDriverA GetP
6e40: 72 69 6e 74 65 72 44 72 69 76 65 72 3b 0a 61 6c  rinterDriver;.al
6e50: 69 61 73 20 47 65 74 50 72 69 6e 74 65 72 44 72  ias GetPrinterDr
6e60: 69 76 65 72 44 69 72 65 63 74 6f 72 79 41 20 47  iverDirectoryA G
6e70: 65 74 50 72 69 6e 74 65 72 44 72 69 76 65 72 44  etPrinterDriverD
6e80: 69 72 65 63 74 6f 72 79 3b 0a 61 6c 69 61 73 20  irectory;.alias 
6e90: 47 65 74 50 72 69 6e 74 50 72 6f 63 65 73 73 6f  GetPrintProcesso
6ea0: 72 44 69 72 65 63 74 6f 72 79 41 20 47 65 74 50  rDirectoryA GetP
6eb0: 72 69 6e 74 50 72 6f 63 65 73 73 6f 72 44 69 72  rintProcessorDir
6ec0: 65 63 74 6f 72 79 3b 0a 61 6c 69 61 73 20 4f 70  ectory;.alias Op
6ed0: 65 6e 50 72 69 6e 74 65 72 41 20 4f 70 65 6e 50  enPrinterA OpenP
6ee0: 72 69 6e 74 65 72 3b 0a 61 6c 69 61 73 20 50 72  rinter;.alias Pr
6ef0: 69 6e 74 65 72 4d 65 73 73 61 67 65 42 6f 78 41  interMessageBoxA
6f00: 20 50 72 69 6e 74 65 72 4d 65 73 73 61 67 65 42   PrinterMessageB
6f10: 6f 78 3b 0a 61 6c 69 61 73 20 52 65 73 65 74 50  ox;.alias ResetP
6f20: 72 69 6e 74 65 72 41 20 52 65 73 65 74 50 72 69  rinterA ResetPri
6f30: 6e 74 65 72 3b 0a 61 6c 69 61 73 20 53 65 74 46  nter;.alias SetF
6f40: 6f 72 6d 41 20 53 65 74 46 6f 72 6d 3b 0a 61 6c  ormA SetForm;.al
6f50: 69 61 73 20 53 65 74 4a 6f 62 41 20 53 65 74 4a  ias SetJobA SetJ
6f60: 6f 62 3b 0a 61 6c 69 61 73 20 53 65 74 50 72 69  ob;.alias SetPri
6f70: 6e 74 65 72 41 20 53 65 74 50 72 69 6e 74 65 72  nterA SetPrinter
6f80: 3b 0a 61 6c 69 61 73 20 53 65 74 50 72 69 6e 74  ;.alias SetPrint
6f90: 65 72 44 61 74 61 41 20 53 65 74 50 72 69 6e 74  erDataA SetPrint
6fa0: 65 72 44 61 74 61 3b 0a 61 6c 69 61 73 20 53 74  erData;.alias St
6fb0: 61 72 74 44 6f 63 50 72 69 6e 74 65 72 41 20 53  artDocPrinterA S
6fc0: 74 61 72 74 44 6f 63 50 72 69 6e 74 65 72 3b 0a  tartDocPrinter;.
6fd0: 7d 0a 0a 61 6c 69 61 73 20 4a 4f 42 5f 49 4e 46  }..alias JOB_INF
6fe0: 4f 5f 31 2a 20 50 4a 4f 42 5f 49 4e 46 4f 5f 31  O_1* PJOB_INFO_1
6ff0: 2c 20 4c 50 4a 4f 42 5f 49 4e 46 4f 5f 31 3b 0a  , LPJOB_INFO_1;.
7000: 61 6c 69 61 73 20 4a 4f 42 5f 49 4e 46 4f 5f 32  alias JOB_INFO_2
7010: 2a 20 50 4a 4f 42 5f 49 4e 46 4f 5f 32 2c 20 4c  * PJOB_INFO_2, L
7020: 50 4a 4f 42 5f 49 4e 46 4f 5f 32 3b 0a 61 6c 69  PJOB_INFO_2;.ali
7030: 61 73 20 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31  as ADDJOB_INFO_1
7040: 2a 20 50 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f 31  * PADDJOB_INFO_1
7050: 2c 20 4c 50 41 44 44 4a 4f 42 5f 49 4e 46 4f 5f  , LPADDJOB_INFO_
7060: 31 3b 0a 61 6c 69 61 73 20 44 41 54 41 54 59 50  1;.alias DATATYP
7070: 45 53 5f 49 4e 46 4f 5f 31 2a 20 50 44 41 54 41  ES_INFO_1* PDATA
7080: 54 59 50 45 53 5f 49 4e 46 4f 5f 31 2c 20 4c 50  TYPES_INFO_1, LP
7090: 44 41 54 41 54 59 50 45 53 5f 49 4e 46 4f 5f 31  DATATYPES_INFO_1
70a0: 3b 0a 61 6c 69 61 73 20 4d 4f 4e 49 54 4f 52 5f  ;.alias MONITOR_
70b0: 49 4e 46 4f 5f 31 2a 20 50 4d 4f 4e 49 54 4f 52  INFO_1* PMONITOR
70c0: 5f 49 4e 46 4f 5f 31 2c 20 4c 50 4d 4f 4e 49 54  _INFO_1, LPMONIT
70d0: 4f 52 5f 49 4e 46 4f 5f 31 3b 0a 61 6c 69 61 73  OR_INFO_1;.alias
70e0: 20 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32 2a   MONITOR_INFO_2*
70f0: 20 50 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f 5f 32   PMONITOR_INFO_2
7100: 2c 20 4c 50 4d 4f 4e 49 54 4f 52 5f 49 4e 46 4f  , LPMONITOR_INFO
7110: 5f 32 3b 0a 61 6c 69 61 73 20 44 4f 43 5f 49 4e  _2;.alias DOC_IN
7120: 46 4f 5f 31 2a 20 50 44 4f 43 5f 49 4e 46 4f 5f  FO_1* PDOC_INFO_
7130: 31 2c 20 4c 50 44 4f 43 5f 49 4e 46 4f 5f 31 3b  1, LPDOC_INFO_1;
7140: 0a 61 6c 69 61 73 20 44 4f 43 5f 49 4e 46 4f 5f  .alias DOC_INFO_
7150: 32 2a 20 50 44 4f 43 5f 49 4e 46 4f 5f 32 2c 20  2* PDOC_INFO_2, 
7160: 4c 50 44 4f 43 5f 49 4e 46 4f 5f 32 3b 0a 61 6c  LPDOC_INFO_2;.al
7170: 69 61 73 20 50 4f 52 54 5f 49 4e 46 4f 5f 31 2a  ias PORT_INFO_1*
7180: 20 50 50 4f 52 54 5f 49 4e 46 4f 5f 31 2c 20 4c   PPORT_INFO_1, L
7190: 50 50 4f 52 54 5f 49 4e 46 4f 5f 31 3b 0a 61 6c  PPORT_INFO_1;.al
71a0: 69 61 73 20 50 4f 52 54 5f 49 4e 46 4f 5f 32 2a  ias PORT_INFO_2*
71b0: 20 50 50 4f 52 54 5f 49 4e 46 4f 5f 32 2c 20 4c   PPORT_INFO_2, L
71c0: 50 50 4f 52 54 5f 49 4e 46 4f 5f 32 3b 0a 61 6c  PPORT_INFO_2;.al
71d0: 69 61 73 20 50 4f 52 54 5f 49 4e 46 4f 5f 33 2a  ias PORT_INFO_3*
71e0: 20 50 50 4f 52 54 5f 49 4e 46 4f 5f 33 2c 20 4c   PPORT_INFO_3, L
71f0: 50 50 4f 52 54 5f 49 4e 46 4f 5f 33 3b 0a 61 6c  PPORT_INFO_3;.al
7200: 69 61 73 20 44 52 49 56 45 52 5f 49 4e 46 4f 5f  ias DRIVER_INFO_
7210: 32 2a 20 50 44 52 49 56 45 52 5f 49 4e 46 4f 5f  2* PDRIVER_INFO_
7220: 32 2c 20 4c 50 44 52 49 56 45 52 5f 49 4e 46 4f  2, LPDRIVER_INFO
7230: 5f 32 3b 0a 61 6c 69 61 73 20 50 52 49 4e 54 45  _2;.alias PRINTE
7240: 52 5f 49 4e 46 4f 5f 31 2a 20 50 50 52 49 4e 54  R_INFO_1* PPRINT
7250: 45 52 5f 49 4e 46 4f 5f 31 2c 20 4c 50 50 52 49  ER_INFO_1, LPPRI
7260: 4e 54 45 52 5f 49 4e 46 4f 5f 31 3b 0a 61 6c 69  NTER_INFO_1;.ali
7270: 61 73 20 50 52 49 4e 54 45 52 5f 49 4e 46 4f 5f  as PRINTER_INFO_
7280: 32 2a 20 50 50 52 49 4e 54 45 52 5f 49 4e 46 4f  2* PPRINTER_INFO
7290: 5f 32 2c 20 4c 50 50 52 49 4e 54 45 52 5f 49 4e  _2, LPPRINTER_IN
72a0: 46 4f 5f 32 3b 0a 61 6c 69 61 73 20 50 52 49 4e  FO_2;.alias PRIN
72b0: 54 45 52 5f 49 4e 46 4f 5f 34 2a 20 50 50 52 49  TER_INFO_4* PPRI
72c0: 4e 54 45 52 5f 49 4e 46 4f 5f 34 2c 20 4c 50 50  NTER_INFO_4, LPP
72d0: 52 49 4e 54 45 52 5f 49 4e 46 4f 5f 34 3b 0a 61  RINTER_INFO_4;.a
72e0: 6c 69 61 73 20 50 52 49 4e 54 45 52 5f 49 4e 46  lias PRINTER_INF
72f0: 4f 5f 35 2a 20 50 50 52 49 4e 54 45 52 5f 49 4e  O_5* PPRINTER_IN
7300: 46 4f 5f 35 2c 20 4c 50 50 52 49 4e 54 45 52 5f  FO_5, LPPRINTER_
7310: 49 4e 46 4f 5f 35 3b 0a 61 6c 69 61 73 20 50 52  INFO_5;.alias PR
7320: 49 4e 54 50 52 4f 43 45 53 53 4f 52 5f 49 4e 46  INTPROCESSOR_INF
7330: 4f 5f 31 2a 20 50 50 52 49 4e 54 50 52 4f 43 45  O_1* PPRINTPROCE
7340: 53 53 4f 52 5f 49 4e 46 4f 5f 31 2c 20 4c 50 50  SSOR_INFO_1, LPP
7350: 52 49 4e 54 50 52 4f 43 45 53 53 4f 52 5f 49 4e  RINTPROCESSOR_IN
7360: 46 4f 5f 31 3b 0a 61 6c 69 61 73 20 46 4f 52 4d  FO_1;.alias FORM
7370: 5f 49 4e 46 4f 5f 31 2a 20 50 46 4f 52 4d 5f 49  _INFO_1* PFORM_I
7380: 4e 46 4f 5f 31 2c 20 4c 50 46 4f 52 4d 5f 49 4e  NFO_1, LPFORM_IN
7390: 46 4f 5f 31 3b 0a 61 6c 69 61 73 20 50 52 49 4e  FO_1;.alias PRIN
73a0: 54 45 52 5f 44 45 46 41 55 4c 54 53 2a 20 50 50  TER_DEFAULTS* PP
73b0: 52 49 4e 54 45 52 5f 44 45 46 41 55 4c 54 53 2c  RINTER_DEFAULTS,
73c0: 20 4c 50 50 52 49 4e 54 45 52 5f 44 45 46 41 55   LPPRINTER_DEFAU
73d0: 4c 54 53 3b 0a                                   LTS;.