Annotation of mstools/samples/printer/enumprt.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.