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;.