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