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

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

unix.superglobalmegacorp.com

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