|
|
1.1 root 1: /******************************************************************************\
2: *
3: * ENUMPRT.H
4: *
5: \******************************************************************************/
6:
7:
8:
9: /******************************************************************************\
10: * SYMBOLIC CONSTANTS
11: \******************************************************************************/
12:
13: #define MAX_ATTRIBUTES 4 // # of elements in gaAttributes
14: #define MAX_PRIORITIES 4 // # of elements in gaPriorities
15: #define MAX_STATUS 3 // # of elements in gaStatus
16: #define MAX_FIELDS 15 // # of elements in gaFields
17: #define MAX_ORIENTATION 2 // # of elements in gaOrientation
18: #define MAX_PAPERSIZE 41 // # of elements in gaPaperSize
19: #define MAX_DEFAULTSOURCE 16 // # of elements in gaDefaultSource
20: #define MAX_PRINTQUALITY 4 // # of elements in gaPrintQuality
21: #define MAX_COLOR 2 // # of elements in gaColor
22: #define MAX_DUPLEX 3 // # of elements in gaDuplex
23:
24: #define ERR_MOD_NAME (LPCTSTR)"Error: PRINTER.EXE (ENUMPRT.C)"
25:
26: #define BLANKS " \t\t"
27:
28: /******************************************************************************\
29: * TYPEDEFS
30: \******************************************************************************/
31:
32: typedef struct tagENUMPRTLOOKUP
33: {
34: DWORD dwValue;
35: LPCSTR szValue;
36:
37: } ENUMPRTLOOKUP;
38:
39:
40:
41: /******************************************************************************\
42: * GLOBAL VARIABLES
43: \******************************************************************************/
44:
45: HWND ghwndEnumPrt;
46: DWORD gdwEnumFlags;
47: char gszEnumName[BUFSIZE];
48:
49: LPSTR gaEnumPrt[] =
50:
51: { "PRINTER_INFO_1" ,
52: " pDescription: \t\t%s" ,
53: " pName: \t\t%s" ,
54: " pComment: \t%s" ,
55: "PRINTER_INFO_2" ,
56: " pServerName: \t%s" , // 5
57: " pPrinterName: \t%s" ,
58: " pShareName: \t%s" ,
59: " pPortName: \t%s" ,
60: " pDriverName: \t%s" ,
61: " pComment: \t%s" , // 10
62: " pLocation: \t%s" ,
63: " pDevMode \t" ,
64: " dmDeviceName: \t%s" ,
65: " dmSpecVersion: \t%d" ,
66: " dmDriverVersion: \t%d" , // 15
67: " dmSize: \t%d" ,
68: " dmDriverExtra: \t%d" ,
69: " dmFields: \t%s" ,
70: " dmOrientation: \t%s" ,
71: " dmPaperSize: \t%s" , // 20
72: " dmPaperLength: \t%d" ,
73: " dmPaperWidth: \t%d" ,
74: " dmScale: \t%d" ,
75: " dmCopies: \t%d" ,
76: " dmDefaultSource: \t%s" , // 25
77: " dmPrintQuality: \t%s" ,
78: " dmColor: \t%s" ,
79: " dmDuplex: \t%s" ,
80: " dmYResolution: \t" ,
81: " dmTTOption: \t" , // 30
82: " dmCollate: \t" ,
83: " dmFormName: \t" ,
84: " pSepFile: \t\t%s" ,
85: " pPrintProcessor: \t%s" ,
86: " pDatatype: \t\t%s" , // 35
87: " pParameters: \t%s" ,
88: " Attributes: \t\t" ,
89: " Priority: \t\t%s" ,
90: " Priority: \t\t%ld",
91: " DefaultPriority: \t\t%ld", // 40
92: " StartTime: \t\t%ld",
93: " UntilTime: \t\t%ld",
94: " Status: \t" ,
95: " cJobs: \t\t%ld",
96: " AveragePPM: \t%ld" };
97:
98: ENUMPRTLOOKUP gaAttributes[] =
99:
100: { { PRINTER_ATTRIBUTE_QUEUED , "PRINTER_ATTRIBUTE_QUEUED " },
101: { PRINTER_ATTRIBUTE_DIRECT , "PRINTER_ATTRIBUTE_DIRECT " },
102: { PRINTER_ATTRIBUTE_DEFAULT , "PRINTER_ATTRIBUTE_DEFAULT " },
103: { PRINTER_ATTRIBUTE_SHARED , "PRINTER_ATTRIBUTE_SHARED " } };
104:
105: ENUMPRTLOOKUP gaPriorities[] =
106:
107: { { NO_PRIORITY , "NO_PRIORITY " },
108: { MAX_PRIORITY , "MAX_PRIORITY " },
109: { MIN_PRIORITY , "MIN_PRIORITY " },
110: { DEF_PRIORITY , "DEF_PRIORITY " } };
111:
112: ENUMPRTLOOKUP gaStatus[] =
113:
114: { { PRINTER_STATUS_PAUSED , "PRINTER_STATUS_PAUSED " },
115: { PRINTER_STATUS_ERROR , "PRINTER_STATUS_ERROR " },
116: { PRINTER_STATUS_PENDING_DELETION, "PRINTER_STATUS_PENDING_DELETION "},
117: { 0 , "" }};
118:
119: ENUMPRTLOOKUP gaFields[] =
120:
121: { { DM_ORIENTATION , "DM_ORIENTATION " },
122: { DM_PAPERSIZE , "DM_PAPERSIZE " },
123: { DM_PAPERLENGTH , "DM_PAPERLENGTH " },
124: { DM_PAPERWIDTH , "DM_PAPERWIDTH " },
125: { DM_SCALE , "DM_SCALE " },
126: { DM_COPIES , "DM_COPIES " },
127: { DM_DEFAULTSOURCE, "DM_DEFAULTSOURCE" },
128: { DM_PRINTQUALITY , "DM_PRINTQUALITY " },
129: { DM_COLOR , "DM_COLOR " },
130: { DM_DUPLEX , "DM_DUPLEX " },
131: { DM_YRESOLUTION , "DM_YRESOLUTION " },
132: { DM_TTOPTION , "DM_TTOPTION " },
133: { DM_COLLATE , "DM_COLLATE " },
134: { DM_FORMNAME , "DM_FORMNAME " },
135: { 0 , "0 " } };
136:
137: ENUMPRTLOOKUP gaOrientation[] =
138:
139: { { DMORIENT_PORTRAIT , "DMORIENT_PORTRAIT " },
140: { DMORIENT_LANDSCAPE, "DMORIENT_LANDSCAPE" } };
141:
142: ENUMPRTLOOKUP gaPaperSize[] =
143:
144: { { DMPAPER_FIRST , "DMPAPER_FIRST " },
145: { DMPAPER_LETTER , "DMPAPER_LETTER " },
146: { DMPAPER_LETTERSMALL , "DMPAPER_LETTERSMALL " },
147: { DMPAPER_TABLOID , "DMPAPER_TABLOID " },
148: { DMPAPER_LEDGER , "DMPAPER_LEDGER " },
149: { DMPAPER_LEGAL , "DMPAPER_LEGAL " },
150: { DMPAPER_STATEMENT , "DMPAPER_STATEMENT " },
151: { DMPAPER_EXECUTIVE , "DMPAPER_EXECUTIVE " },
152: { DMPAPER_A3 , "DMPAPER_A3 " },
153: { DMPAPER_A4 , "DMPAPER_A4 " },
154: { DMPAPER_A4SMALL , "DMPAPER_A4SMALL " },
155: { DMPAPER_A5 , "DMPAPER_A5 " },
156: { DMPAPER_B4 , "DMPAPER_B4 " },
157: { DMPAPER_B5 , "DMPAPER_B5 " },
158: { DMPAPER_FOLIO , "DMPAPER_FOLIO " },
159: { DMPAPER_QUARTO , "DMPAPER_QUARTO " },
160: { DMPAPER_10X14 , "DMPAPER_10X14 " },
161: { DMPAPER_11X17 , "DMPAPER_11X17 " },
162: { DMPAPER_NOTE , "DMPAPER_NOTE " },
163: { DMPAPER_ENV_9 , "DMPAPER_ENV_9 " },
164: { DMPAPER_ENV_10 , "DMPAPER_ENV_10 " },
165: { DMPAPER_ENV_11 , "DMPAPER_ENV_11 " },
166: { DMPAPER_ENV_12 , "DMPAPER_ENV_12 " },
167: { DMPAPER_ENV_14 , "DMPAPER_ENV_14 " },
168: { DMPAPER_CSHEET , "DMPAPER_CSHEET " },
169: { DMPAPER_DSHEET , "DMPAPER_DSHEET " },
170: { DMPAPER_ESHEET , "DMPAPER_ESHEET " },
171: { DMPAPER_ENV_DL , "DMPAPER_ENV_DL " },
172: { DMPAPER_ENV_C5 , "DMPAPER_ENV_C5 " },
173: { DMPAPER_ENV_C3 , "DMPAPER_ENV_C3 " },
174: { DMPAPER_ENV_C4 , "DMPAPER_ENV_C4 " },
175: { DMPAPER_ENV_C6 , "DMPAPER_ENV_C6 " },
176: { DMPAPER_ENV_C65 , "DMPAPER_ENV_C65 " },
177: { DMPAPER_ENV_B4 , "DMPAPER_ENV_B4 " },
178: { DMPAPER_ENV_B5 , "DMPAPER_ENV_B5 " },
179: { DMPAPER_ENV_B6 , "DMPAPER_ENV_B6 " },
180: { DMPAPER_ENV_ITALY , "DMPAPER_ENV_ITALY " },
181: { DMPAPER_ENV_MONARCH , "DMPAPER_ENV_MONARCH " },
182: { DMPAPER_ENV_PERSONAL , "DMPAPER_ENV_PERSONAL " },
183: { DMPAPER_FANFOLD_STD_GERMAN, "DMPAPER_FANFOLD_STD_GERMAN" },
184: { DMPAPER_FANFOLD_LGL_GERMAN, "DMPAPER_FANFOLD_LGL_GERMAN" } };
185:
186: ENUMPRTLOOKUP gaDefaultSource[] =
187:
188: { { DMBIN_FIRST , "DMBIN_FIRST " },
189: { DMBIN_UPPER , "DMBIN_UPPER " },
190: { DMBIN_ONLYONE , "DMBIN_ONLYONE " },
191: { DMBIN_LOWER , "DMBIN_LOWER " },
192: { DMBIN_MIDDLE , "DMBIN_MIDDLE " },
193: { DMBIN_MANUAL , "DMBIN_MANUAL " },
194: { DMBIN_ENVELOPE , "DMBIN_ENVELOPE " },
195: { DMBIN_ENVMANUAL , "DMBIN_ENVMANUAL " },
196: { DMBIN_AUTO , "DMBIN_AUTO " },
197: { DMBIN_TRACTOR , "DMBIN_TRACTOR " },
198: { DMBIN_SMALLFMT , "DMBIN_SMALLFMT " },
199: { DMBIN_LARGEFMT , "DMBIN_LARGEFMT " },
200: { DMBIN_LARGECAPACITY, "DMBIN_LARGECAPACITY" },
201: { DMBIN_CASSETTE , "DMBIN_CASSETTE " },
202: { DMBIN_LAST , "DMBIN_LAST " },
203: { DMBIN_USER , "DMBIN_USER " } };
204:
205: ENUMPRTLOOKUP gaPrintQuality[] =
206:
207: { { (DWORD)DMRES_DRAFT , "DMRES_DRAFT " },
208: { (DWORD)DMRES_LOW , "DMRES_LOW " },
209: { (DWORD)DMRES_MEDIUM, "DMRES_MEDIUM" },
210: { (DWORD)DMRES_HIGH , "DMRES_HIGH " } };
211:
212: ENUMPRTLOOKUP gaColor[] =
213:
214: { { DMCOLOR_MONOCHROME, "DMCOLOR_MONOCHROME" },
215: { DMCOLOR_COLOR , "DMCOLOR_COLOR " } };
216:
217: ENUMPRTLOOKUP gaDuplex[] =
218:
219: { { DMDUP_SIMPLEX , "DMDUP_SIMPLEX " },
220: { DMDUP_VERTICAL , "DMDUP_VERTICAL " },
221: { DMDUP_HORIZONTAL, "DMDUP_HORIZONTAL" } };
222:
223: char *gaDriverInfo[] =
224:
225: { "DRIVER_INFO_1",
226: " pName\t\t%s",
227:
228: "DRIVER_INFO_2",
229: " cVersion\t%ld",
230: " pName\t\t%s",
231: " pEnvironment\t%s",
232: " pDriverPath\t%s",
233: " pDataFile\t%s",
234: " pConfigFile\t%s" };
235:
236:
237:
238: /******************************************************************************\
239: * EXTERNAL VARIABLES
240: \******************************************************************************/
241:
242: extern HWND ghwndMain;
243:
244:
245:
246: /******************************************************************************\
247: * MACROS
248: \******************************************************************************/
249:
250: #define outstr(fmt,arg) wsprintf (buf,fmt,arg?arg:"(null)"); \
251: SendDlgItemMessage (hwnd, DID_LISTBOX, \
252: LB_INSERTSTRING, (UINT)-1, \
253: (LONG) buf);
254:
255: #define outstr2(buf) SendDlgItemMessage (hwnd, DID_LISTBOX, \
256: LB_INSERTSTRING, (UINT)-1, \
257: (LONG) buf);
258:
259: #define outstr3() SendDlgItemMessage (hwnd, DID_LISTBOX, \
260: LB_INSERTSTRING, \
261: (UINT)-1, (LONG) buf);
262:
263: #define outnum(fmt,arg) wsprintf(buf,fmt,arg); \
264: SendDlgItemMessage (hwnd, DID_LISTBOX, \
265: LB_INSERTSTRING, (UINT)-1, \
266: (LONG) buf);
267:
268:
269:
270: /******************************************************************************\
271: * FUNCTION PROTOTYPES
272: \******************************************************************************/
273:
274: LRESULT CALLBACK EnumPrintersOptionsDlgProc (HWND, UINT, WPARAM, LPARAM);
275:
276: BOOL DisplayEnumPrintersInfo (HWND);
277: void SetEnumPrintersDlgFields (HWND, DWORD, LPPRINTER_INFO_1,
278: LPPRINTER_INFO_2);
279: void ComplexEnumPrintersLine (HWND, char *, ENUMPRTLOOKUP *, int, DWORD);
280: BOOL DisplayPrinterDriversInfo (HWND);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.