Annotation of mstools/h/winspool.h, revision 1.1.1.4

1.1       root        1: /*++
                      2: 
1.1.1.4 ! root        3: Copyright (c) 1990-1993  Microsoft Corporation
1.1       root        4: 
                      5: Module Name:
                      6: 
                      7:     WinSpool.h
                      8: 
                      9: Abstract:
                     10: 
                     11:     Header file for Print APIs
                     12: 
                     13: Author:
                     14: 
                     15:     Dave Snipp (DaveSn) 15-Mar-1991
                     16: 
                     17: Revision History:
                     18: 
                     19: --*/
                     20: 
                     21: #ifndef _WINSPOOL_
                     22: #define _WINSPOOL_
                     23: 
1.1.1.4 ! root       24: #ifdef __cplusplus
        !            25: extern "C" {
        !            26: #endif
        !            27: 
1.1.1.3   root       28: typedef struct _PRINTER_INFO_1A {
1.1.1.2   root       29:     DWORD   Flags;
1.1.1.3   root       30:     LPSTR   pDescription;
                     31:     LPSTR   pName;
                     32:     LPSTR   pComment;
                     33: } PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
                     34: 
                     35: typedef struct _PRINTER_INFO_1W {
                     36:     DWORD   Flags;
                     37:     LPWSTR  pDescription;
                     38:     LPWSTR  pName;
                     39:     LPWSTR  pComment;
                     40: } PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
                     41: 
                     42: #ifdef UNICODE
                     43: #define PRINTER_INFO_1 PRINTER_INFO_1W
                     44: #define PPRINTER_INFO_1 PPRINTER_INFO_1W
                     45: #define LPPRINTER_INFO_1 LPPRINTER_INFO_1W
                     46: #else
                     47: #define PRINTER_INFO_1 PRINTER_INFO_1A
                     48: #define PPRINTER_INFO_1 PPRINTER_INFO_1A
                     49: #define LPPRINTER_INFO_1 LPPRINTER_INFO_1A
                     50: #endif // UNICODE
                     51: 
                     52: typedef struct _PRINTER_INFO_2A {
                     53:     LPSTR   pServerName;
                     54:     LPSTR   pPrinterName;
                     55:     LPSTR   pShareName;
                     56:     LPSTR   pPortName;
                     57:     LPSTR   pDriverName;
                     58:     LPSTR   pComment;
                     59:     LPSTR   pLocation;
                     60:     LPDEVMODEA pDevMode;
                     61:     LPSTR   pSepFile;
                     62:     LPSTR   pPrintProcessor;
                     63:     LPSTR   pDatatype;
                     64:     LPSTR   pParameters;
                     65:     PSECURITY_DESCRIPTOR pSecurityDescriptor;
                     66:     DWORD   Attributes;
                     67:     DWORD   Priority;
                     68:     DWORD   DefaultPriority;
                     69:     DWORD   StartTime;
                     70:     DWORD   UntilTime;
                     71:     DWORD   Status;
                     72:     DWORD   cJobs;
                     73:     DWORD   AveragePPM;
                     74: } PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
                     75: 
                     76: typedef struct _PRINTER_INFO_2W {
                     77:     LPWSTR  pServerName;
                     78:     LPWSTR  pPrinterName;
                     79:     LPWSTR  pShareName;
                     80:     LPWSTR  pPortName;
                     81:     LPWSTR  pDriverName;
                     82:     LPWSTR  pComment;
                     83:     LPWSTR  pLocation;
                     84:     LPDEVMODEW pDevMode;
                     85:     LPWSTR  pSepFile;
                     86:     LPWSTR  pPrintProcessor;
                     87:     LPWSTR  pDatatype;
                     88:     LPWSTR  pParameters;
1.1.1.2   root       89:     PSECURITY_DESCRIPTOR pSecurityDescriptor;
                     90:     DWORD   Attributes;
                     91:     DWORD   Priority;
                     92:     DWORD   DefaultPriority;
                     93:     DWORD   StartTime;
                     94:     DWORD   UntilTime;
                     95:     DWORD   Status;
                     96:     DWORD   cJobs;
                     97:     DWORD   AveragePPM;
1.1.1.3   root       98: } PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
                     99: 
                    100: #ifdef UNICODE
                    101: #define PRINTER_INFO_2 PRINTER_INFO_2W
                    102: #define PPRINTER_INFO_2 PPRINTER_INFO_2W
                    103: #define LPPRINTER_INFO_2 LPPRINTER_INFO_2W
                    104: #else
                    105: #define PRINTER_INFO_2 PRINTER_INFO_2A
                    106: #define PPRINTER_INFO_2 PPRINTER_INFO_2A
                    107: #define LPPRINTER_INFO_2 LPPRINTER_INFO_2A
                    108: #endif // UNICODE
1.1.1.2   root      109: 
1.1.1.4 ! root      110: typedef struct _PRINTER_INFO_3 {
        !           111:     PSECURITY_DESCRIPTOR pSecurityDescriptor;
        !           112: } PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;
        !           113: 
1.1.1.2   root      114: #define PRINTER_CONTROL_PAUSE            1
                    115: #define PRINTER_CONTROL_RESUME           2
                    116: #define PRINTER_CONTROL_PURGE            3
1.1       root      117: 
1.1.1.2   root      118: #define PRINTER_STATUS_PAUSED            0x00000001
                    119: #define PRINTER_STATUS_ERROR             0x00000002
1.1       root      120: #define PRINTER_STATUS_PENDING_DELETION  0x00000004
1.1.1.4 ! root      121: #define PRINTER_STATUS_PAPER_JAM         0x00000008
        !           122: #define PRINTER_STATUS_PAPER_OUT         0x00000010
        !           123: #define PRINTER_STATUS_MANUAL_FEED       0x00000020
        !           124: #define PRINTER_STATUS_PAPER_PROBLEM     0x00000040
        !           125: #define PRINTER_STATUS_OFFLINE           0x00000080
        !           126: #define PRINTER_STATUS_IO_ACTIVE         0x00000100
        !           127: #define PRINTER_STATUS_BUSY              0x00000200
        !           128: #define PRINTER_STATUS_PRINTING          0x00000400
        !           129: #define PRINTER_STATUS_OUTPUT_BIN_FULL   0x00000800
        !           130: #define PRINTER_STATUS_NOT_AVAILABLE     0x00001000
        !           131: #define PRINTER_STATUS_WAITING           0x00002000
        !           132: #define PRINTER_STATUS_PROCESSING        0x00004000
        !           133: #define PRINTER_STATUS_INITIALIZING      0x00008000
        !           134: #define PRINTER_STATUS_WARMING_UP        0x00010000
        !           135: #define PRINTER_STATUS_TONER_LOW         0x00020000
        !           136: #define PRINTER_STATUS_NO_TONER          0x00040000
        !           137: #define PRINTER_STATUS_PAGE_PUNT         0x00080000
        !           138: #define PRINTER_STATUS_USER_INTERVENTION 0x00100000
        !           139: #define PRINTER_STATUS_OUT_OF_MEMORY     0x00200000
        !           140: #define PRINTER_STATUS_DOOR_OPEN         0x00400000
        !           141: 
1.1       root      142: 
1.1.1.2   root      143: #define PRINTER_ATTRIBUTE_QUEUED         0x00000001
                    144: #define PRINTER_ATTRIBUTE_DIRECT         0x00000002
                    145: #define PRINTER_ATTRIBUTE_DEFAULT        0x00000004
                    146: #define PRINTER_ATTRIBUTE_SHARED         0x00000008
1.1.1.4 ! root      147: #define PRINTER_ATTRIBUTE_NETWORK        0x00000010
        !           148: #define PRINTER_ATTRIBUTE_HIDDEN         0x00000020
        !           149: #define PRINTER_ATTRIBUTE_LOCAL          0x00000040
1.1       root      150: 
                    151: #define NO_PRIORITY   0
                    152: #define MAX_PRIORITY 99
                    153: #define MIN_PRIORITY  1
                    154: #define DEF_PRIORITY  1
                    155: 
1.1.1.3   root      156: typedef struct _JOB_INFO_1A {
                    157:    DWORD    JobId;
                    158:    LPSTR    pPrinterName;
                    159:    LPSTR    pMachineName;
                    160:    LPSTR    pUserName;
                    161:    LPSTR    pDocument;
                    162:    LPSTR    pDatatype;
                    163:    LPSTR    pStatus;
                    164:    DWORD    Status;
                    165:    DWORD    Priority;
                    166:    DWORD    Position;
                    167:    DWORD    TotalPages;
                    168:    DWORD    PagesPrinted;
                    169:    SYSTEMTIME Submitted;
                    170: } JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;
                    171: 
                    172: typedef struct _JOB_INFO_1W {
1.1.1.2   root      173:    DWORD    JobId;
1.1.1.3   root      174:    LPWSTR   pPrinterName;
                    175:    LPWSTR   pMachineName;
                    176:    LPWSTR   pUserName;
                    177:    LPWSTR   pDocument;
                    178:    LPWSTR   pDatatype;
                    179:    LPWSTR   pStatus;
1.1.1.2   root      180:    DWORD    Status;
                    181:    DWORD    Priority;
                    182:    DWORD    Position;
1.1.1.3   root      183:    DWORD    TotalPages;
                    184:    DWORD    PagesPrinted;
                    185:    SYSTEMTIME Submitted;
                    186: } JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;
                    187: 
                    188: #ifdef UNICODE
                    189: #define JOB_INFO_1 JOB_INFO_1W
                    190: #define PJOB_INFO_1 PJOB_INFO_1W
                    191: #define LPJOB_INFO_1 LPJOB_INFO_1W
                    192: #else
                    193: #define JOB_INFO_1 JOB_INFO_1A
                    194: #define PJOB_INFO_1 PJOB_INFO_1A
                    195: #define LPJOB_INFO_1 LPJOB_INFO_1A
                    196: #endif // UNICODE
1.1.1.2   root      197: 
1.1.1.3   root      198: typedef struct _JOB_INFO_2A {
1.1.1.2   root      199:    DWORD    JobId;
1.1.1.3   root      200:    LPSTR    pPrinterName;
                    201:    LPSTR    pMachineName;
                    202:    LPSTR    pUserName;
                    203:    LPSTR    pDocument;
                    204:    LPSTR    pNotifyName;
                    205:    LPSTR    pDatatype;
                    206:    LPSTR    pPrintProcessor;
                    207:    LPSTR    pParameters;
                    208:    LPSTR    pDriverName;
1.1.1.2   root      209:    LPDEVMODE pDevMode;
1.1.1.3   root      210:    LPSTR    pStatus;
1.1.1.2   root      211:    PSECURITY_DESCRIPTOR pSecurityDescriptor;
                    212:    DWORD    Status;
                    213:    DWORD    Priority;
                    214:    DWORD    Position;
                    215:    DWORD    StartTime;
                    216:    DWORD    UntilTime;
                    217:    DWORD    TotalPages;
                    218:    DWORD    Size;
                    219:    SYSTEMTIME Submitted;    // Time the job was spooled
                    220:    DWORD    Time;           // How many seconds the job has been printing
1.1.1.3   root      221:    DWORD    PagesPrinted;
                    222: } JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;
                    223: 
                    224: typedef struct _JOB_INFO_2W {
                    225:    DWORD    JobId;
                    226:    LPWSTR   pPrinterName;
                    227:    LPWSTR   pMachineName;
                    228:    LPWSTR   pUserName;
                    229:    LPWSTR   pDocument;
                    230:    LPWSTR   pNotifyName;
                    231:    LPWSTR   pDatatype;
                    232:    LPWSTR   pPrintProcessor;
                    233:    LPWSTR   pParameters;
                    234:    LPWSTR   pDriverName;
                    235:    LPDEVMODE pDevMode;
                    236:    LPWSTR   pStatus;
                    237:    PSECURITY_DESCRIPTOR pSecurityDescriptor;
                    238:    DWORD    Status;
                    239:    DWORD    Priority;
                    240:    DWORD    Position;
                    241:    DWORD    StartTime;
                    242:    DWORD    UntilTime;
                    243:    DWORD    TotalPages;
                    244:    DWORD    Size;
                    245:    SYSTEMTIME Submitted;    // Time the job was spooled
                    246:    DWORD    Time;           // How many seconds the job has been printing
                    247:    DWORD    PagesPrinted;
                    248: } JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;
                    249: 
                    250: #ifdef UNICODE
                    251: #define JOB_INFO_2 JOB_INFO_2W
                    252: #define PJOB_INFO_2 PJOB_INFO_2W
                    253: #define LPJOB_INFO_2 LPJOB_INFO_2W
                    254: #else
                    255: #define JOB_INFO_2 JOB_INFO_2A
                    256: #define PJOB_INFO_2 PJOB_INFO_2A
                    257: #define LPJOB_INFO_2 LPJOB_INFO_2A
                    258: #endif // UNICODE
1.1       root      259: 
                    260: #define JOB_CONTROL_PAUSE              1
                    261: #define JOB_CONTROL_RESUME             2
                    262: #define JOB_CONTROL_CANCEL             3
                    263: #define JOB_CONTROL_RESTART            4
                    264: 
1.1.1.2   root      265: #define JOB_STATUS_PAUSED     0x00000001
                    266: #define JOB_STATUS_ERROR      0x00000002
                    267: #define JOB_STATUS_DELETING   0x00000004
                    268: #define JOB_STATUS_SPOOLING   0x00000008
                    269: #define JOB_STATUS_PRINTING   0x00000010
                    270: #define JOB_STATUS_OFFLINE    0x00000020
                    271: #define JOB_STATUS_PAPEROUT   0x00000040
                    272: #define JOB_STATUS_PRINTED    0x00000080
                    273: 
1.1.1.4 ! root      274: #define JOB_POSITION_UNSPECIFIED       0
        !           275: 
1.1.1.3   root      276: typedef struct _ADDJOB_INFO_1A {
                    277:     LPSTR   Path;
1.1.1.2   root      278:     DWORD   JobId;
1.1.1.3   root      279: } ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
1.1.1.2   root      280: 
1.1.1.3   root      281: typedef struct _ADDJOB_INFO_1W {
                    282:     LPWSTR  Path;
                    283:     DWORD   JobId;
                    284: } ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
                    285: 
                    286: #ifdef UNICODE
                    287: #define ADDJOB_INFO_1 ADDJOB_INFO_1W
                    288: #define PADDJOB_INFO_1 PADDJOB_INFO_1W
                    289: #define LPADDJOB_INFO_1 LPADDJOB_INFO_1W
                    290: #else
                    291: #define ADDJOB_INFO_1 ADDJOB_INFO_1A
                    292: #define PADDJOB_INFO_1 PADDJOB_INFO_1A
                    293: #define LPADDJOB_INFO_1 LPADDJOB_INFO_1A
                    294: #endif // UNICODE
                    295: 
                    296: typedef struct _DRIVER_INFO_1A {
                    297:     LPSTR   pName;              // QMS 810
                    298: } DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
                    299: 
                    300: typedef struct _DRIVER_INFO_1W {
                    301:     LPWSTR  pName;              // QMS 810
                    302: } DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
                    303: 
                    304: #ifdef UNICODE
                    305: #define DRIVER_INFO_1 DRIVER_INFO_1W
                    306: #define PDRIVER_INFO_1 PDRIVER_INFO_1W
                    307: #define LPDRIVER_INFO_1 LPDRIVER_INFO_1W
                    308: #else
                    309: #define DRIVER_INFO_1 DRIVER_INFO_1A
                    310: #define PDRIVER_INFO_1 PDRIVER_INFO_1A
                    311: #define LPDRIVER_INFO_1 LPDRIVER_INFO_1A
                    312: #endif // UNICODE
                    313: 
                    314: typedef struct _DRIVER_INFO_2A {
                    315:     DWORD   cVersion;
                    316:     LPSTR   pName;              // QMS 810
                    317:     LPSTR   pEnvironment;       // Win32 x86
                    318:     LPSTR   pDriverPath;        // c:\drivers\pscript.dll
                    319:     LPSTR   pDataFile;          // c:\drivers\QMS810.PPD
                    320:     LPSTR   pConfigFile;        // c:\drivers\PSCRPTUI.DLL
                    321: } DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
1.1.1.2   root      322: 
1.1.1.3   root      323: typedef struct _DRIVER_INFO_2W {
1.1.1.2   root      324:     DWORD   cVersion;
1.1.1.3   root      325:     LPWSTR  pName;              // QMS 810
                    326:     LPWSTR  pEnvironment;       // Win32 x86
                    327:     LPWSTR  pDriverPath;        // c:\drivers\pscript.dll
                    328:     LPWSTR  pDataFile;          // c:\drivers\QMS810.PPD
                    329:     LPWSTR  pConfigFile;        // c:\drivers\PSCRPTUI.DLL
                    330: } DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
                    331: 
                    332: #ifdef UNICODE
                    333: #define DRIVER_INFO_2 DRIVER_INFO_2W
                    334: #define PDRIVER_INFO_2 PDRIVER_INFO_2W
                    335: #define LPDRIVER_INFO_2 LPDRIVER_INFO_2W
                    336: #else
                    337: #define DRIVER_INFO_2 DRIVER_INFO_2A
                    338: #define PDRIVER_INFO_2 PDRIVER_INFO_2A
                    339: #define LPDRIVER_INFO_2 LPDRIVER_INFO_2A
                    340: #endif // UNICODE
                    341: 
                    342: typedef struct _DOC_INFO_1A {
                    343:     LPSTR   pDocName;
                    344:     LPSTR   pOutputFile;
                    345:     LPSTR   pDatatype;
                    346: } DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
                    347: 
                    348: typedef struct _DOC_INFO_1W {
                    349:     LPWSTR  pDocName;
                    350:     LPWSTR  pOutputFile;
                    351:     LPWSTR  pDatatype;
                    352: } DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
                    353: 
                    354: #ifdef UNICODE
                    355: #define DOC_INFO_1 DOC_INFO_1W
                    356: #define PDOC_INFO_1 PDOC_INFO_1W
                    357: #define LPDOC_INFO_1 LPDOC_INFO_1W
                    358: #else
                    359: #define DOC_INFO_1 DOC_INFO_1A
                    360: #define PDOC_INFO_1 PDOC_INFO_1A
                    361: #define LPDOC_INFO_1 LPDOC_INFO_1A
                    362: #endif // UNICODE
1.1.1.2   root      363: 
1.1.1.3   root      364: typedef struct _FORM_INFO_1A {
1.1.1.4 ! root      365:     DWORD   Flags;
1.1.1.3   root      366:     LPSTR   pName;
1.1.1.2   root      367:     SIZEL   Size;
                    368:     RECTL   ImageableArea;
1.1.1.3   root      369: } FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;
1.1.1.2   root      370: 
1.1.1.3   root      371: typedef struct _FORM_INFO_1W {
1.1.1.4 ! root      372:     DWORD   Flags;
1.1.1.3   root      373:     LPWSTR  pName;
                    374:     SIZEL   Size;
                    375:     RECTL   ImageableArea;
                    376: } FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;
1.1.1.2   root      377: 
1.1.1.3   root      378: #ifdef UNICODE
                    379: #define FORM_INFO_1 FORM_INFO_1W
                    380: #define PFORM_INFO_1 PFORM_INFO_1W
                    381: #define LPFORM_INFO_1 LPFORM_INFO_1W
                    382: #else
                    383: #define FORM_INFO_1 FORM_INFO_1A
                    384: #define PFORM_INFO_1 PFORM_INFO_1A
                    385: #define LPFORM_INFO_1 LPFORM_INFO_1A
                    386: #endif // UNICODE
                    387: 
1.1.1.4 ! root      388: #define FORM_BUILTIN    0x00000001
        !           389: 
        !           390: 
1.1.1.3   root      391: typedef struct _PRINTPROCESSOR_INFO_1A {
1.1.1.2   root      392:     LPSTR   pName;
1.1.1.3   root      393: } PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A, *LPPRINTPROCESSOR_INFO_1A;
                    394: 
                    395: typedef struct _PRINTPROCESSOR_INFO_1W {
                    396:     LPWSTR  pName;
                    397: } PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W, *LPPRINTPROCESSOR_INFO_1W;
                    398: 
                    399: #ifdef UNICODE
                    400: #define PRINTPROCESSOR_INFO_1 PRINTPROCESSOR_INFO_1W
                    401: #define PPRINTPROCESSOR_INFO_1 PPRINTPROCESSOR_INFO_1W
                    402: #define LPPRINTPROCESSOR_INFO_1 LPPRINTPROCESSOR_INFO_1W
                    403: #else
                    404: #define PRINTPROCESSOR_INFO_1 PRINTPROCESSOR_INFO_1A
                    405: #define PPRINTPROCESSOR_INFO_1 PPRINTPROCESSOR_INFO_1A
                    406: #define LPPRINTPROCESSOR_INFO_1 LPPRINTPROCESSOR_INFO_1A
                    407: #endif // UNICODE
1.1.1.2   root      408: 
1.1.1.3   root      409: typedef struct _PORT_INFO_1A {
1.1.1.2   root      410:     LPSTR   pName;
1.1.1.3   root      411: } PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
1.1.1.2   root      412: 
1.1.1.3   root      413: typedef struct _PORT_INFO_1W {
                    414:     LPWSTR  pName;
                    415: } PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
                    416: 
                    417: #ifdef UNICODE
                    418: #define PORT_INFO_1 PORT_INFO_1W
                    419: #define PPORT_INFO_1 PPORT_INFO_1W
                    420: #define LPPORT_INFO_1 LPPORT_INFO_1W
                    421: #else
                    422: #define PORT_INFO_1 PORT_INFO_1A
                    423: #define PPORT_INFO_1 PPORT_INFO_1A
                    424: #define LPPORT_INFO_1 LPPORT_INFO_1A
                    425: #endif // UNICODE
                    426: 
                    427: typedef struct _MONITOR_INFO_1A {
                    428:     LPSTR   pName;
                    429: } MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
                    430: 
                    431: typedef struct _MONITOR_INFO_1W {
                    432:     LPWSTR  pName;
                    433: } MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
                    434: 
                    435: #ifdef UNICODE
                    436: #define MONITOR_INFO_1 MONITOR_INFO_1W
                    437: #define PMONITOR_INFO_1 PMONITOR_INFO_1W
                    438: #define LPMONITOR_INFO_1 LPMONITOR_INFO_1W
                    439: #else
                    440: #define MONITOR_INFO_1 MONITOR_INFO_1A
                    441: #define PMONITOR_INFO_1 PMONITOR_INFO_1A
                    442: #define LPMONITOR_INFO_1 LPMONITOR_INFO_1A
                    443: #endif // UNICODE
                    444: 
1.1.1.4 ! root      445: typedef struct _MONITOR_INFO_2A {
        !           446:     LPSTR   pName;
        !           447:     LPSTR   pEnvironment;
        !           448:     LPSTR   pDLLName;
        !           449: } MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;
        !           450: 
        !           451: typedef struct _MONITOR_INFO_2W {
        !           452:     LPWSTR  pName;
        !           453:     LPWSTR  pEnvironment;
        !           454:     LPWSTR  pDLLName;
        !           455: } MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;
        !           456: 
        !           457: #ifdef UNICODE
        !           458: #define MONITOR_INFO_2 MONITOR_INFO_2W
        !           459: #define PMONITOR_INFO_2 PMONITOR_INFO_2W
        !           460: #define LPMONITOR_INFO_2 LPMONITOR_INFO_2W
        !           461: #else
        !           462: #define MONITOR_INFO_2 MONITOR_INFO_2A
        !           463: #define PMONITOR_INFO_2 PMONITOR_INFO_2A
        !           464: #define LPMONITOR_INFO_2 LPMONITOR_INFO_2A
        !           465: #endif // UNICODE
        !           466: 
1.1.1.3   root      467: typedef struct _DATATYPES_INFO_1A {
1.1.1.2   root      468:     LPSTR   pName;
1.1.1.3   root      469: } DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
                    470: 
                    471: typedef struct _DATATYPES_INFO_1W {
                    472:     LPWSTR  pName;
                    473: } DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
                    474: 
                    475: #ifdef UNICODE
                    476: #define DATATYPES_INFO_1 DATATYPES_INFO_1W
                    477: #define PDATATYPES_INFO_1 PDATATYPES_INFO_1W
                    478: #define LPDATATYPES_INFO_1 LPDATATYPES_INFO_1W
                    479: #else
                    480: #define DATATYPES_INFO_1 DATATYPES_INFO_1A
                    481: #define PDATATYPES_INFO_1 PDATATYPES_INFO_1A
                    482: #define LPDATATYPES_INFO_1 LPDATATYPES_INFO_1A
                    483: #endif // UNICODE
1.1.1.2   root      484: 
1.1.1.3   root      485: typedef struct _PRINTER_DEFAULTSA {
1.1.1.4 ! root      486:     LPSTR       pDatatype;
        !           487:     LPDEVMODEA  pDevMode;
        !           488:     ACCESS_MASK DesiredAccess;
1.1.1.3   root      489: } PRINTER_DEFAULTSA, *PPRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
                    490: 
                    491: typedef struct _PRINTER_DEFAULTSW {
1.1.1.4 ! root      492:     LPWSTR      pDatatype;
        !           493:     LPDEVMODEW  pDevMode;
        !           494:     ACCESS_MASK DesiredAccess;
1.1.1.3   root      495: } PRINTER_DEFAULTSW, *PPRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
                    496: 
                    497: #ifdef UNICODE
                    498: #define PRINTER_DEFAULTS PRINTER_DEFAULTSW
                    499: #define PPRINTER_DEFAULTS PPRINTER_DEFAULTSW
                    500: #define LPPRINTER_DEFAULTS LPPRINTER_DEFAULTSW
                    501: #else
                    502: #define PRINTER_DEFAULTS PRINTER_DEFAULTSA
                    503: #define PPRINTER_DEFAULTS PPRINTER_DEFAULTSA
                    504: #define LPPRINTER_DEFAULTS LPPRINTER_DEFAULTSA
                    505: #endif // UNICODE
1.1       root      506: 
                    507: BOOL
1.1.1.2   root      508: WINAPI
1.1.1.3   root      509: EnumPrintersA(
1.1.1.2   root      510:     DWORD   Flags,
1.1.1.3   root      511:     LPSTR   Name,
1.1.1.2   root      512:     DWORD   Level,
                    513:     LPBYTE  pPrinterEnum,
                    514:     DWORD   cbBuf,
                    515:     LPDWORD pcbNeeded,
                    516:     LPDWORD pcReturned
                    517: );
                    518: 
1.1.1.3   root      519: BOOL
                    520: WINAPI
                    521: EnumPrintersW(
                    522:     DWORD   Flags,
                    523:     LPWSTR  Name,
                    524:     DWORD   Level,
                    525:     LPBYTE  pPrinterEnum,
                    526:     DWORD   cbBuf,
                    527:     LPDWORD pcbNeeded,
                    528:     LPDWORD pcReturned
                    529: );
                    530: 
                    531: #ifdef UNICODE
                    532: #define EnumPrinters EnumPrintersW
                    533: #else
                    534: #define EnumPrinters EnumPrintersA
                    535: #endif // !UNICODE
                    536: 
                    537: #define PRINTER_ENUM_DEFAULT     0x00000001
                    538: #define PRINTER_ENUM_LOCAL       0x00000002
                    539: #define PRINTER_ENUM_CONNECTIONS 0x00000004
                    540: #define PRINTER_ENUM_FAVORITE    0x00000004
                    541: #define PRINTER_ENUM_NAME        0x00000008
                    542: #define PRINTER_ENUM_REMOTE      0x00000010
                    543: #define PRINTER_ENUM_SHARED      0x00000020
                    544: #define PRINTER_ENUM_NETWORK     0x00000040
                    545: 
1.1.1.4 ! root      546: #define PRINTER_ENUM_EXPAND      0x00004000
1.1.1.3   root      547: #define PRINTER_ENUM_CONTAINER   0x00008000
                    548: 
                    549: #define PRINTER_ENUM_ICONMASK    0x00ff0000
                    550: #define PRINTER_ENUM_ICON1       0x00010000
                    551: #define PRINTER_ENUM_ICON2       0x00020000
                    552: #define PRINTER_ENUM_ICON3       0x00040000
                    553: #define PRINTER_ENUM_ICON4       0x00080000
                    554: #define PRINTER_ENUM_ICON5       0x00100000
                    555: #define PRINTER_ENUM_ICON6       0x00200000
                    556: #define PRINTER_ENUM_ICON7       0x00400000
                    557: #define PRINTER_ENUM_ICON8       0x00800000
1.1.1.2   root      558: 
                    559: BOOL
                    560: WINAPI
1.1.1.3   root      561: OpenPrinterA(
                    562:    LPSTR    pPrinterName,
1.1.1.2   root      563:    LPHANDLE phPrinter,
1.1.1.3   root      564:    LPPRINTER_DEFAULTSA pDefault
                    565: );
                    566: 
                    567: BOOL
                    568: WINAPI
                    569: OpenPrinterW(
                    570:    LPWSTR   pPrinterName,
                    571:    LPHANDLE phPrinter,
                    572:    LPPRINTER_DEFAULTSW pDefault
                    573: );
                    574: 
                    575: #ifdef UNICODE
                    576: #define OpenPrinter OpenPrinterW
                    577: #else
                    578: #define OpenPrinter OpenPrinterA
                    579: #endif // !UNICODE
                    580: 
                    581: BOOL
                    582: WINAPI
1.1.1.4 ! root      583: ResetPrinterA(
        !           584:    HANDLE   hPrinter,
        !           585:    LPPRINTER_DEFAULTSA pDefault
        !           586: );
        !           587: 
        !           588: BOOL
        !           589: WINAPI
        !           590: ResetPrinterW(
        !           591:    HANDLE   hPrinter,
        !           592:    LPPRINTER_DEFAULTSW pDefault
        !           593: );
        !           594: 
        !           595: #ifdef UNICODE
        !           596: #define ResetPrinter ResetPrinterW
        !           597: #else
        !           598: #define ResetPrinter ResetPrinterA
        !           599: #endif // !UNICODE
        !           600: 
        !           601: BOOL
        !           602: WINAPI
1.1.1.3   root      603: SetJobA(
                    604:     HANDLE  hPrinter,
                    605:     DWORD   JobId,
                    606:     DWORD   Level,
                    607:     LPBYTE  pJob,
                    608:     DWORD   Command
1.1.1.2   root      609: );
                    610: 
                    611: BOOL
                    612: WINAPI
1.1.1.3   root      613: SetJobW(
1.1.1.2   root      614:     HANDLE  hPrinter,
                    615:     DWORD   JobId,
                    616:     DWORD   Level,
                    617:     LPBYTE  pJob,
                    618:     DWORD   Command
1.1       root      619: );
                    620: 
1.1.1.3   root      621: #ifdef UNICODE
                    622: #define SetJob SetJobW
                    623: #else
                    624: #define SetJob SetJobA
                    625: #endif // !UNICODE
                    626: 
1.1       root      627: BOOL
1.1.1.2   root      628: WINAPI
1.1.1.3   root      629: GetJobA(
1.1.1.2   root      630:    HANDLE   hPrinter,
                    631:    DWORD    JobId,
                    632:    DWORD    Level,
                    633:    LPBYTE   pJob,
                    634:    DWORD    cbBuf,
                    635:    LPDWORD  pcbNeeded
1.1       root      636: );
                    637: 
                    638: BOOL
1.1.1.2   root      639: WINAPI
1.1.1.3   root      640: GetJobW(
                    641:    HANDLE   hPrinter,
                    642:    DWORD    JobId,
                    643:    DWORD    Level,
                    644:    LPBYTE   pJob,
                    645:    DWORD    cbBuf,
                    646:    LPDWORD  pcbNeeded
                    647: );
                    648: 
                    649: #ifdef UNICODE
                    650: #define GetJob GetJobW
                    651: #else
                    652: #define GetJob GetJobA
                    653: #endif // !UNICODE
                    654: 
                    655: BOOL
                    656: WINAPI
                    657: EnumJobsA(
                    658:     HANDLE  hPrinter,
                    659:     DWORD   FirstJob,
                    660:     DWORD   NoJobs,
                    661:     DWORD   Level,
                    662:     LPBYTE  pJob,
                    663:     DWORD   cbBuf,
                    664:     LPDWORD pcbNeeded,
                    665:     LPDWORD pcReturned
                    666: );
                    667: 
                    668: BOOL
                    669: WINAPI
                    670: EnumJobsW(
1.1.1.2   root      671:     HANDLE  hPrinter,
                    672:     DWORD   FirstJob,
                    673:     DWORD   NoJobs,
                    674:     DWORD   Level,
                    675:     LPBYTE  pJob,
                    676:     DWORD   cbBuf,
                    677:     LPDWORD pcbNeeded,
                    678:     LPDWORD pcReturned
1.1       root      679: );
                    680: 
1.1.1.3   root      681: #ifdef UNICODE
                    682: #define EnumJobs EnumJobsW
                    683: #else
                    684: #define EnumJobs EnumJobsA
                    685: #endif // !UNICODE
                    686: 
1.1.1.2   root      687: HANDLE
                    688: WINAPI
1.1.1.3   root      689: AddPrinterA(
1.1.1.2   root      690:     LPSTR   pName,
                    691:     DWORD   Level,
                    692:     LPBYTE  pPrinter
1.1       root      693: );
                    694: 
1.1.1.3   root      695: HANDLE
                    696: WINAPI
                    697: AddPrinterW(
                    698:     LPWSTR  pName,
                    699:     DWORD   Level,
                    700:     LPBYTE  pPrinter
                    701: );
                    702: 
                    703: #ifdef UNICODE
                    704: #define AddPrinter AddPrinterW
                    705: #else
                    706: #define AddPrinter AddPrinterA
                    707: #endif // !UNICODE
                    708: 
1.1       root      709: BOOL
1.1.1.2   root      710: WINAPI
1.1       root      711: DeletePrinter(
1.1.1.2   root      712:    HANDLE   hPrinter
1.1       root      713: );
                    714: 
                    715: BOOL
1.1.1.2   root      716: WINAPI
1.1.1.3   root      717: SetPrinterA(
1.1.1.2   root      718:     HANDLE  hPrinter,
                    719:     DWORD   Level,
                    720:     LPBYTE  pPrinter,
                    721:     DWORD   Command
1.1       root      722: );
                    723: 
                    724: BOOL
1.1.1.2   root      725: WINAPI
1.1.1.3   root      726: SetPrinterW(
                    727:     HANDLE  hPrinter,
                    728:     DWORD   Level,
                    729:     LPBYTE  pPrinter,
                    730:     DWORD   Command
                    731: );
                    732: 
                    733: #ifdef UNICODE
                    734: #define SetPrinter SetPrinterW
                    735: #else
                    736: #define SetPrinter SetPrinterA
                    737: #endif // !UNICODE
                    738: 
                    739: BOOL
                    740: WINAPI
                    741: GetPrinterA(
1.1.1.2   root      742:     HANDLE  hPrinter,
                    743:     DWORD   Level,
                    744:     LPBYTE  pPrinter,
                    745:     DWORD   cbBuf,
                    746:     LPDWORD pcbNeeded
1.1       root      747: );
                    748: 
                    749: BOOL
1.1.1.2   root      750: WINAPI
1.1.1.3   root      751: GetPrinterW(
                    752:     HANDLE  hPrinter,
                    753:     DWORD   Level,
                    754:     LPBYTE  pPrinter,
                    755:     DWORD   cbBuf,
                    756:     LPDWORD pcbNeeded
                    757: );
                    758: 
                    759: #ifdef UNICODE
                    760: #define GetPrinter GetPrinterW
                    761: #else
                    762: #define GetPrinter GetPrinterA
                    763: #endif // !UNICODE
                    764: 
                    765: BOOL
                    766: WINAPI
                    767: AddPrinterDriverA(
                    768:     LPSTR   pName,
1.1.1.2   root      769:     DWORD   Level,
                    770:     LPBYTE  pDriverInfo
1.1       root      771: );
                    772: 
                    773: BOOL
1.1.1.2   root      774: WINAPI
1.1.1.3   root      775: AddPrinterDriverW(
                    776:     LPWSTR  pName,
                    777:     DWORD   Level,
                    778:     LPBYTE  pDriverInfo
                    779: );
                    780: 
                    781: #ifdef UNICODE
                    782: #define AddPrinterDriver AddPrinterDriverW
                    783: #else
                    784: #define AddPrinterDriver AddPrinterDriverA
                    785: #endif // !UNICODE
                    786: 
                    787: BOOL
                    788: WINAPI
                    789: EnumPrinterDriversA(
                    790:     LPSTR   pName,
                    791:     LPSTR   pEnvironment,
1.1.1.2   root      792:     DWORD   Level,
                    793:     LPBYTE  pDriverInfo,
                    794:     DWORD   cbBuf,
                    795:     LPDWORD pcbNeeded,
                    796:     LPDWORD pcReturned
1.1       root      797: );
                    798: 
                    799: BOOL
1.1.1.2   root      800: WINAPI
1.1.1.3   root      801: EnumPrinterDriversW(
                    802:     LPWSTR  pName,
                    803:     LPWSTR  pEnvironment,
                    804:     DWORD   Level,
                    805:     LPBYTE  pDriverInfo,
                    806:     DWORD   cbBuf,
                    807:     LPDWORD pcbNeeded,
                    808:     LPDWORD pcReturned
                    809: );
                    810: 
                    811: #ifdef UNICODE
                    812: #define EnumPrinterDrivers EnumPrinterDriversW
                    813: #else
                    814: #define EnumPrinterDrivers EnumPrinterDriversA
                    815: #endif // !UNICODE
                    816: 
                    817: BOOL
                    818: WINAPI
                    819: GetPrinterDriverA(
1.1.1.2   root      820:     HANDLE  hPrinter,
1.1.1.3   root      821:     LPSTR   pEnvironment,
1.1.1.2   root      822:     DWORD   Level,
                    823:     LPBYTE  pDriverInfo,
                    824:     DWORD   cbBuf,
                    825:     LPDWORD pcbNeeded
1.1       root      826: );
                    827: 
                    828: BOOL
1.1.1.2   root      829: WINAPI
1.1.1.3   root      830: GetPrinterDriverW(
                    831:     HANDLE  hPrinter,
                    832:     LPWSTR  pEnvironment,
                    833:     DWORD   Level,
                    834:     LPBYTE  pDriverInfo,
                    835:     DWORD   cbBuf,
                    836:     LPDWORD pcbNeeded
                    837: );
                    838: 
                    839: #ifdef UNICODE
                    840: #define GetPrinterDriver GetPrinterDriverW
                    841: #else
                    842: #define GetPrinterDriver GetPrinterDriverA
                    843: #endif // !UNICODE
                    844: 
                    845: BOOL
                    846: WINAPI
                    847: GetPrinterDriverDirectoryA(
                    848:     LPSTR   pName,
                    849:     LPSTR   pEnvironment,
                    850:     DWORD   Level,
                    851:     LPBYTE  pDriverDirectory,
                    852:     DWORD   cbBuf,
                    853:     LPDWORD pcbNeeded
                    854: );
                    855: 
                    856: BOOL
                    857: WINAPI
                    858: GetPrinterDriverDirectoryW(
                    859:     LPWSTR  pName,
                    860:     LPWSTR  pEnvironment,
1.1.1.2   root      861:     DWORD   Level,
                    862:     LPBYTE  pDriverDirectory,
                    863:     DWORD   cbBuf,
                    864:     LPDWORD pcbNeeded
1.1       root      865: );
                    866: 
1.1.1.3   root      867: #ifdef UNICODE
                    868: #define GetPrinterDriverDirectory GetPrinterDriverDirectoryW
                    869: #else
                    870: #define GetPrinterDriverDirectory GetPrinterDriverDirectoryA
                    871: #endif // !UNICODE
                    872: 
                    873: BOOL
                    874: WINAPI
                    875: DeletePrinterDriverA(
                    876:    LPSTR    pName,
                    877:    LPSTR    pEnvironment,
                    878:    LPSTR    pDriverName
                    879: );
                    880: 
1.1       root      881: BOOL
1.1.1.2   root      882: WINAPI
1.1.1.3   root      883: DeletePrinterDriverW(
                    884:    LPWSTR   pName,
                    885:    LPWSTR   pEnvironment,
                    886:    LPWSTR   pDriverName
1.1       root      887: );
                    888: 
1.1.1.3   root      889: #ifdef UNICODE
                    890: #define DeletePrinterDriver DeletePrinterDriverW
                    891: #else
                    892: #define DeletePrinterDriver DeletePrinterDriverA
                    893: #endif // !UNICODE
                    894: 
1.1       root      895: BOOL
1.1.1.2   root      896: WINAPI
1.1.1.3   root      897: AddPrintProcessorA(
                    898:     LPSTR   pName,
                    899:     LPSTR   pEnvironment,
                    900:     LPSTR   pPathName,
                    901:     LPSTR   pPrintProcessorName
1.1       root      902: );
                    903: 
1.1.1.2   root      904: BOOL
                    905: WINAPI
1.1.1.3   root      906: AddPrintProcessorW(
                    907:     LPWSTR  pName,
                    908:     LPWSTR  pEnvironment,
                    909:     LPWSTR  pPathName,
                    910:     LPWSTR  pPrintProcessorName
                    911: );
                    912: 
                    913: #ifdef UNICODE
                    914: #define AddPrintProcessor AddPrintProcessorW
                    915: #else
                    916: #define AddPrintProcessor AddPrintProcessorA
                    917: #endif // !UNICODE
                    918: 
                    919: BOOL
                    920: WINAPI
                    921: EnumPrintProcessorsA(
                    922:     LPSTR   pName,
                    923:     LPSTR   pEnvironment,
1.1.1.2   root      924:     DWORD   Level,
                    925:     LPBYTE  pPrintProcessorInfo,
                    926:     DWORD   cbBuf,
                    927:     LPDWORD pcbNeeded,
                    928:     LPDWORD pcReturned
1.1       root      929: );
                    930: 
                    931: BOOL
1.1.1.2   root      932: WINAPI
1.1.1.3   root      933: EnumPrintProcessorsW(
                    934:     LPWSTR  pName,
                    935:     LPWSTR  pEnvironment,
                    936:     DWORD   Level,
                    937:     LPBYTE  pPrintProcessorInfo,
                    938:     DWORD   cbBuf,
                    939:     LPDWORD pcbNeeded,
                    940:     LPDWORD pcReturned
                    941: );
                    942: 
                    943: #ifdef UNICODE
                    944: #define EnumPrintProcessors EnumPrintProcessorsW
                    945: #else
                    946: #define EnumPrintProcessors EnumPrintProcessorsA
                    947: #endif // !UNICODE
                    948: 
                    949: BOOL
                    950: WINAPI
                    951: GetPrintProcessorDirectoryA(
                    952:     LPSTR   pName,
                    953:     LPSTR   pEnvironment,
1.1.1.2   root      954:     DWORD   Level,
                    955:     LPBYTE  pPrintProcessorInfo,
                    956:     DWORD   cbBuf,
                    957:     LPDWORD pcbNeeded
1.1       root      958: );
                    959: 
                    960: BOOL
1.1.1.2   root      961: WINAPI
1.1.1.3   root      962: GetPrintProcessorDirectoryW(
                    963:     LPWSTR  pName,
                    964:     LPWSTR  pEnvironment,
                    965:     DWORD   Level,
                    966:     LPBYTE  pPrintProcessorInfo,
                    967:     DWORD   cbBuf,
                    968:     LPDWORD pcbNeeded
                    969: );
                    970: 
                    971: #ifdef UNICODE
                    972: #define GetPrintProcessorDirectory GetPrintProcessorDirectoryW
                    973: #else
                    974: #define GetPrintProcessorDirectory GetPrintProcessorDirectoryA
                    975: #endif // !UNICODE
                    976: 
1.1.1.4 ! root      977: BOOL
        !           978: EnumPrintProcessorDatatypesW(
        !           979:     LPWSTR  pName,
        !           980:     LPWSTR  pPrintProcessorName,
        !           981:     DWORD   Level,
        !           982:     LPBYTE  pDatatypes,
        !           983:     DWORD   cbBuf,
        !           984:     LPDWORD pcbNeeded,
        !           985:     LPDWORD pcReturned
        !           986: );
        !           987: 
        !           988: BOOL
        !           989: EnumPrintProcessorDatatypesA(
        !           990:     LPSTR   pName,
        !           991:     LPSTR   pPrintProcessorName,
        !           992:     DWORD   Level,
        !           993:     LPBYTE  pDatatypes,
        !           994:     DWORD   cbBuf,
        !           995:     LPDWORD pcbNeeded,
        !           996:     LPDWORD pcReturned
        !           997: );
        !           998: 
        !           999: #ifdef UNICODE
        !          1000: #define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesW
        !          1001: #else
        !          1002: #define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesA
        !          1003: #endif // !UNICODE
        !          1004: 
        !          1005: BOOL
        !          1006: WINAPI
        !          1007: DeletePrintProcessorA(
        !          1008:     LPSTR   pName,
        !          1009:     LPSTR   pEnvironment,
        !          1010:     LPSTR   pPrintProcessorName
        !          1011: );
        !          1012: 
        !          1013: BOOL
        !          1014: WINAPI
        !          1015: DeletePrintProcessorW(
        !          1016:     LPWSTR  pName,
        !          1017:     LPWSTR  pEnvironment,
        !          1018:     LPWSTR  pPrintProcessorName
        !          1019: );
        !          1020: 
        !          1021: #ifdef UNICODE
        !          1022: #define DeletePrintProcessor DeletePrintProcessorW
        !          1023: #else
        !          1024: #define DeletePrintProcessor DeletePrintProcessorA
        !          1025: #endif // !UNICODE
        !          1026: 
1.1.1.3   root     1027: DWORD
                   1028: WINAPI
                   1029: StartDocPrinterA(
                   1030:     HANDLE  hPrinter,
                   1031:     DWORD   Level,
                   1032:     LPBYTE  pDocInfo
                   1033: );
                   1034: 
                   1035: DWORD
                   1036: WINAPI
                   1037: StartDocPrinterW(
1.1.1.2   root     1038:     HANDLE  hPrinter,
                   1039:     DWORD   Level,
                   1040:     LPBYTE  pDocInfo
1.1       root     1041: );
                   1042: 
1.1.1.3   root     1043: #ifdef UNICODE
                   1044: #define StartDocPrinter StartDocPrinterW
                   1045: #else
                   1046: #define StartDocPrinter StartDocPrinterA
                   1047: #endif // !UNICODE
                   1048: 
1.1       root     1049: BOOL
1.1.1.2   root     1050: WINAPI
                   1051: StartPagePrinter(
                   1052:     HANDLE  hPrinter
1.1       root     1053: );
                   1054: 
                   1055: BOOL
1.1.1.2   root     1056: WINAPI
                   1057: WritePrinter(
                   1058:     HANDLE  hPrinter,
                   1059:     LPVOID  pBuf,
                   1060:     DWORD   cbBuf,
                   1061:     LPDWORD pcWritten
1.1       root     1062: );
                   1063: 
                   1064: BOOL
1.1.1.2   root     1065: WINAPI
                   1066: EndPagePrinter(
                   1067:    HANDLE   hPrinter
1.1       root     1068: );
                   1069: 
                   1070: BOOL
1.1.1.2   root     1071: WINAPI
                   1072: AbortPrinter(
                   1073:    HANDLE   hPrinter
1.1       root     1074: );
                   1075: 
                   1076: BOOL
1.1.1.2   root     1077: WINAPI
                   1078: ReadPrinter(
                   1079:     HANDLE  hPrinter,
                   1080:     LPVOID  pBuf,
                   1081:     DWORD   cbBuf,
                   1082:     LPDWORD pNoBytesRead
1.1       root     1083: );
                   1084: 
                   1085: BOOL
1.1.1.2   root     1086: WINAPI
                   1087: EndDocPrinter(
                   1088:    HANDLE   hPrinter
1.1       root     1089: );
                   1090: 
                   1091: BOOL
1.1.1.2   root     1092: WINAPI
1.1.1.3   root     1093: AddJobA(
1.1.1.2   root     1094:     HANDLE  hPrinter,
                   1095:     DWORD   Level,
                   1096:     LPBYTE  pData,
                   1097:     DWORD   cbBuf,
                   1098:     LPDWORD pcbNeeded
                   1099: );
                   1100: 
                   1101: BOOL
                   1102: WINAPI
1.1.1.3   root     1103: AddJobW(
                   1104:     HANDLE  hPrinter,
                   1105:     DWORD   Level,
                   1106:     LPBYTE  pData,
                   1107:     DWORD   cbBuf,
                   1108:     LPDWORD pcbNeeded
                   1109: );
                   1110: 
                   1111: #ifdef UNICODE
                   1112: #define AddJob AddJobW
                   1113: #else
                   1114: #define AddJob AddJobA
                   1115: #endif // !UNICODE
                   1116: 
                   1117: BOOL
                   1118: WINAPI
1.1.1.2   root     1119: ScheduleJob(
                   1120:     HANDLE  hPrinter,
                   1121:     DWORD   JobId
                   1122: );
                   1123: 
                   1124: BOOL
                   1125: WINAPI
1.1       root     1126: PrinterProperties(
1.1.1.2   root     1127:     HWND    hWnd,
                   1128:     HANDLE  hPrinter
                   1129: );
                   1130: 
                   1131: LONG
                   1132: WINAPI
1.1.1.3   root     1133: DocumentPropertiesA(
1.1.1.2   root     1134:     HWND    hWnd,
                   1135:     HANDLE  hPrinter,
                   1136:     LPSTR   pDeviceName,
1.1.1.3   root     1137:     PDEVMODEA pDevModeOutput,
                   1138:     PDEVMODEA pDevModeInput,
1.1.1.2   root     1139:     DWORD   fMode
                   1140: );
                   1141: 
                   1142: LONG
                   1143: WINAPI
1.1.1.3   root     1144: DocumentPropertiesW(
                   1145:     HWND    hWnd,
                   1146:     HANDLE  hPrinter,
                   1147:     LPWSTR  pDeviceName,
                   1148:     PDEVMODEW pDevModeOutput,
                   1149:     PDEVMODEW pDevModeInput,
                   1150:     DWORD   fMode
                   1151: );
                   1152: 
                   1153: #ifdef UNICODE
                   1154: #define DocumentProperties DocumentPropertiesW
                   1155: #else
                   1156: #define DocumentProperties DocumentPropertiesA
                   1157: #endif // !UNICODE
                   1158: 
                   1159: LONG
                   1160: WINAPI
                   1161: AdvancedDocumentPropertiesA(
1.1.1.2   root     1162:     HWND    hWnd,
                   1163:     HANDLE  hPrinter,
                   1164:     LPSTR   pDeviceName,
1.1.1.3   root     1165:     PDEVMODEA pDevModeOutput,
                   1166:     PDEVMODEA pDevModeInput
1.1.1.2   root     1167: );
                   1168: 
1.1.1.3   root     1169: LONG
                   1170: WINAPI
                   1171: AdvancedDocumentPropertiesW(
                   1172:     HWND    hWnd,
                   1173:     HANDLE  hPrinter,
                   1174:     LPWSTR  pDeviceName,
                   1175:     PDEVMODEW pDevModeOutput,
                   1176:     PDEVMODEW pDevModeInput
                   1177: );
                   1178: 
                   1179: #ifdef UNICODE
                   1180: #define AdvancedDocumentProperties AdvancedDocumentPropertiesW
                   1181: #else
                   1182: #define AdvancedDocumentProperties AdvancedDocumentPropertiesA
                   1183: #endif // !UNICODE
                   1184: 
1.1.1.2   root     1185: DWORD
                   1186: WINAPI
1.1.1.3   root     1187: GetPrinterDataA(
1.1.1.2   root     1188:     HANDLE   hPrinter,
1.1.1.3   root     1189:     LPSTR    pValueName,
1.1.1.2   root     1190:     LPDWORD  pType,
                   1191:     LPBYTE   pData,
                   1192:     DWORD    nSize,
                   1193:     LPDWORD  pcbNeeded
                   1194: );
                   1195: 
                   1196: DWORD
                   1197: WINAPI
1.1.1.3   root     1198: GetPrinterDataW(
                   1199:     HANDLE   hPrinter,
                   1200:     LPWSTR   pValueName,
                   1201:     LPDWORD  pType,
                   1202:     LPBYTE   pData,
                   1203:     DWORD    nSize,
                   1204:     LPDWORD  pcbNeeded
                   1205: );
                   1206: 
                   1207: #ifdef UNICODE
                   1208: #define GetPrinterData GetPrinterDataW
                   1209: #else
                   1210: #define GetPrinterData GetPrinterDataA
                   1211: #endif // !UNICODE
                   1212: 
                   1213: DWORD
                   1214: WINAPI
                   1215: SetPrinterDataA(
1.1.1.2   root     1216:     HANDLE  hPrinter,
1.1.1.3   root     1217:     LPSTR   pValueName,
1.1.1.2   root     1218:     DWORD   Type,
                   1219:     LPBYTE  pData,
                   1220:     DWORD   cbData
                   1221: );
                   1222: 
1.1.1.3   root     1223: DWORD
                   1224: WINAPI
                   1225: SetPrinterDataW(
                   1226:     HANDLE  hPrinter,
                   1227:     LPWSTR  pValueName,
                   1228:     DWORD   Type,
                   1229:     LPBYTE  pData,
                   1230:     DWORD   cbData
                   1231: );
                   1232: 
                   1233: #ifdef UNICODE
                   1234: #define SetPrinterData SetPrinterDataW
                   1235: #else
                   1236: #define SetPrinterData SetPrinterDataA
                   1237: #endif // !UNICODE
                   1238: 
                   1239: DWORD
                   1240: WINAPI
                   1241: WaitForPrinterChange(
                   1242:     HANDLE  hPrinter,
                   1243:     DWORD   Flags
                   1244: );
                   1245: 
1.1.1.4 ! root     1246: #define PRINTER_CHANGE_ADD_PRINTER              0x00000001
        !          1247: #define PRINTER_CHANGE_SET_PRINTER              0x00000002
        !          1248: #define PRINTER_CHANGE_DELETE_PRINTER           0x00000004
        !          1249: #define PRINTER_CHANGE_PRINTER                  0x000000FF
        !          1250: #define PRINTER_CHANGE_ADD_JOB                  0x00000100
        !          1251: #define PRINTER_CHANGE_SET_JOB                  0x00000200
        !          1252: #define PRINTER_CHANGE_DELETE_JOB               0x00000400
        !          1253: #define PRINTER_CHANGE_WRITE_JOB                0x00000800
        !          1254: #define PRINTER_CHANGE_JOB                      0x0000FF00
        !          1255: #define PRINTER_CHANGE_ADD_FORM                 0x00010000
        !          1256: #define PRINTER_CHANGE_SET_FORM                 0x00020000
        !          1257: #define PRINTER_CHANGE_DELETE_FORM              0x00040000
        !          1258: #define PRINTER_CHANGE_FORM                     0x00070000
        !          1259: #define PRINTER_CHANGE_ADD_PORT                 0x00100000
        !          1260: #define PRINTER_CHANGE_CONFIGURE_PORT           0x00200000
        !          1261: #define PRINTER_CHANGE_DELETE_PORT              0x00400000
        !          1262: #define PRINTER_CHANGE_PORT                     0x00700000
        !          1263: #define PRINTER_CHANGE_ADD_PRINT_PROCESSOR      0x01000000
        !          1264: #define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR   0x04000000
        !          1265: #define PRINTER_CHANGE_PRINT_PROCESSOR          0x07000000
        !          1266: #define PRINTER_CHANGE_ADD_PRINTER_DRIVER       0x10000000
        !          1267: #define PRINTER_CHANGE_DELETE_PRINTER_DRIVER    0x40000000
        !          1268: #define PRINTER_CHANGE_PRINTER_DRIVER           0x70000000
        !          1269: #define PRINTER_CHANGE_TIMEOUT                  0x80000000
        !          1270: #define PRINTER_CHANGE_ALL                      0x7777FFFF
        !          1271: 
1.1.1.3   root     1272: DWORD
                   1273: WINAPI
                   1274: PrinterMessageBoxA(
                   1275:     HANDLE  hPrinter,
                   1276:     DWORD   Error,
                   1277:     HWND    hWnd,
                   1278:     LPSTR   pText,
                   1279:     LPSTR   pCaption,
                   1280:     DWORD   dwType
                   1281: );
                   1282: 
                   1283: DWORD
                   1284: WINAPI
                   1285: PrinterMessageBoxW(
                   1286:     HANDLE  hPrinter,
                   1287:     DWORD   Error,
                   1288:     HWND    hWnd,
                   1289:     LPWSTR  pText,
                   1290:     LPWSTR  pCaption,
                   1291:     DWORD   dwType
                   1292: );
                   1293: 
                   1294: #ifdef UNICODE
                   1295: #define PrinterMessageBox PrinterMessageBoxW
                   1296: #else
                   1297: #define PrinterMessageBox PrinterMessageBoxA
                   1298: #endif // !UNICODE
                   1299: 
                   1300: #define PRINTER_ERROR_INFORMATION   0x80000000
                   1301: #define PRINTER_ERROR_WARNING       0x40000000
                   1302: #define PRINTER_ERROR_SEVERE        0x20000000
                   1303: 
                   1304: #define PRINTER_ERROR_OUTOFPAPER    0x00000001
                   1305: #define PRINTER_ERROR_JAM           0x00000002
                   1306: #define PRINTER_ERROR_OUTOFTONER    0x00000004
                   1307: 
1.1.1.2   root     1308: BOOL
                   1309: WINAPI
                   1310: ClosePrinter(
                   1311:     HANDLE hPrinter
                   1312: );
                   1313: 
                   1314: BOOL
                   1315: WINAPI
1.1.1.3   root     1316: AddFormA(
1.1.1.2   root     1317:     HANDLE  hPrinter,
                   1318:     DWORD   Level,
                   1319:     LPBYTE  pForm
                   1320: );
                   1321: 
                   1322: BOOL
                   1323: WINAPI
1.1.1.3   root     1324: AddFormW(
                   1325:     HANDLE  hPrinter,
                   1326:     DWORD   Level,
                   1327:     LPBYTE  pForm
                   1328: );
                   1329: 
                   1330: #ifdef UNICODE
                   1331: #define AddForm AddFormW
                   1332: #else
                   1333: #define AddForm AddFormA
                   1334: #endif // !UNICODE
                   1335: 
                   1336: BOOL
                   1337: WINAPI
                   1338: DeleteFormA(
1.1.1.2   root     1339:     HANDLE  hPrinter,
                   1340:     LPSTR   pFormName
                   1341: );
                   1342: 
                   1343: BOOL
                   1344: WINAPI
1.1.1.3   root     1345: DeleteFormW(
                   1346:     HANDLE  hPrinter,
                   1347:     LPWSTR  pFormName
                   1348: );
                   1349: 
                   1350: #ifdef UNICODE
                   1351: #define DeleteForm DeleteFormW
                   1352: #else
                   1353: #define DeleteForm DeleteFormA
                   1354: #endif // !UNICODE
                   1355: 
                   1356: BOOL
                   1357: WINAPI
                   1358: GetFormA(
1.1.1.2   root     1359:     HANDLE  hPrinter,
                   1360:     LPSTR   pFormName,
                   1361:     DWORD   Level,
                   1362:     LPBYTE  pForm,
                   1363:     DWORD   cbBuf,
                   1364:     LPDWORD pcbNeeded
                   1365: );
                   1366: 
                   1367: BOOL
                   1368: WINAPI
1.1.1.3   root     1369: GetFormW(
                   1370:     HANDLE  hPrinter,
                   1371:     LPWSTR  pFormName,
                   1372:     DWORD   Level,
                   1373:     LPBYTE  pForm,
                   1374:     DWORD   cbBuf,
                   1375:     LPDWORD pcbNeeded
                   1376: );
                   1377: 
                   1378: #ifdef UNICODE
                   1379: #define GetForm GetFormW
                   1380: #else
                   1381: #define GetForm GetFormA
                   1382: #endif // !UNICODE
                   1383: 
                   1384: BOOL
                   1385: WINAPI
                   1386: SetFormA(
1.1.1.2   root     1387:     HANDLE  hPrinter,
                   1388:     LPSTR   pFormName,
                   1389:     DWORD   Level,
                   1390:     LPBYTE  pForm
                   1391: );
                   1392: 
                   1393: BOOL
                   1394: WINAPI
1.1.1.3   root     1395: SetFormW(
                   1396:     HANDLE  hPrinter,
                   1397:     LPWSTR  pFormName,
                   1398:     DWORD   Level,
                   1399:     LPBYTE  pForm
                   1400: );
                   1401: 
                   1402: #ifdef UNICODE
                   1403: #define SetForm SetFormW
                   1404: #else
                   1405: #define SetForm SetFormA
                   1406: #endif // !UNICODE
                   1407: 
                   1408: BOOL
                   1409: WINAPI
                   1410: EnumFormsA(
                   1411:     HANDLE  hPrinter,
                   1412:     DWORD   Level,
                   1413:     LPBYTE  pForm,
                   1414:     DWORD   cbBuf,
                   1415:     LPDWORD pcbNeeded,
                   1416:     LPDWORD pcReturned
                   1417: );
                   1418: 
                   1419: BOOL
                   1420: WINAPI
                   1421: EnumFormsW(
1.1.1.2   root     1422:     HANDLE  hPrinter,
                   1423:     DWORD   Level,
                   1424:     LPBYTE  pForm,
                   1425:     DWORD   cbBuf,
                   1426:     LPDWORD pcbNeeded,
                   1427:     LPDWORD pcReturned
                   1428: );
                   1429: 
1.1.1.3   root     1430: #ifdef UNICODE
                   1431: #define EnumForms EnumFormsW
                   1432: #else
                   1433: #define EnumForms EnumFormsA
                   1434: #endif // !UNICODE
                   1435: 
1.1.1.2   root     1436: BOOL
                   1437: WINAPI
1.1.1.3   root     1438: EnumMonitorsA(
1.1.1.2   root     1439:     LPSTR   pName,
                   1440:     DWORD   Level,
                   1441:     LPBYTE  pMonitors,
                   1442:     DWORD   cbBuf,
                   1443:     LPDWORD pcbNeeded,
                   1444:     LPDWORD pcReturned
                   1445: );
                   1446: 
                   1447: BOOL
                   1448: WINAPI
1.1.1.3   root     1449: EnumMonitorsW(
                   1450:     LPWSTR  pName,
                   1451:     DWORD   Level,
                   1452:     LPBYTE  pMonitors,
                   1453:     DWORD   cbBuf,
                   1454:     LPDWORD pcbNeeded,
                   1455:     LPDWORD pcReturned
                   1456: );
                   1457: 
                   1458: #ifdef UNICODE
                   1459: #define EnumMonitors EnumMonitorsW
                   1460: #else
                   1461: #define EnumMonitors EnumMonitorsA
                   1462: #endif // !UNICODE
                   1463: 
                   1464: BOOL
                   1465: WINAPI
1.1.1.4 ! root     1466: AddMonitorA(
        !          1467:     LPSTR   pName,
        !          1468:     DWORD   Level,
        !          1469:     LPBYTE  pMonitors
        !          1470: );
        !          1471: 
        !          1472: BOOL
        !          1473: WINAPI
        !          1474: AddMonitorW(
        !          1475:     LPWSTR  pName,
        !          1476:     DWORD   Level,
        !          1477:     LPBYTE  pMonitors
        !          1478: );
        !          1479: 
        !          1480: #ifdef UNICODE
        !          1481: #define AddMonitor AddMonitorW
        !          1482: #else
        !          1483: #define AddMonitor AddMonitorA
        !          1484: #endif // !UNICODE
        !          1485: 
        !          1486: BOOL
        !          1487: WINAPI
        !          1488: DeleteMonitorA(
        !          1489:     LPSTR   pName,
        !          1490:     LPSTR   pEnvironment,
        !          1491:     LPSTR   pMonitorName
        !          1492: );
        !          1493: 
        !          1494: BOOL
        !          1495: WINAPI
        !          1496: DeleteMonitorW(
        !          1497:     LPWSTR  pName,
        !          1498:     LPWSTR  pEnvironment,
        !          1499:     LPWSTR  pMonitorName
        !          1500: );
        !          1501: 
        !          1502: #ifdef UNICODE
        !          1503: #define DeleteMonitor DeleteMonitorW
        !          1504: #else
        !          1505: #define DeleteMonitor DeleteMonitorA
        !          1506: #endif // !UNICODE
        !          1507: 
        !          1508: BOOL
        !          1509: WINAPI
1.1.1.3   root     1510: EnumPortsA(
1.1.1.2   root     1511:     LPSTR   pName,
                   1512:     DWORD   Level,
                   1513:     LPBYTE  pPorts,
                   1514:     DWORD   cbBuf,
                   1515:     LPDWORD pcbNeeded,
                   1516:     LPDWORD pcReturned
                   1517: );
                   1518: 
                   1519: BOOL
                   1520: WINAPI
1.1.1.3   root     1521: EnumPortsW(
                   1522:     LPWSTR  pName,
                   1523:     DWORD   Level,
                   1524:     LPBYTE  pPorts,
                   1525:     DWORD   cbBuf,
                   1526:     LPDWORD pcbNeeded,
                   1527:     LPDWORD pcReturned
                   1528: );
                   1529: 
                   1530: #ifdef UNICODE
                   1531: #define EnumPorts EnumPortsW
                   1532: #else
                   1533: #define EnumPorts EnumPortsA
                   1534: #endif // !UNICODE
                   1535: 
                   1536: BOOL
                   1537: WINAPI
                   1538: AddPortA(
1.1.1.2   root     1539:     LPSTR   pName,
                   1540:     HWND    hWnd,
                   1541:     LPSTR   pMonitorName
                   1542: );
                   1543: 
                   1544: BOOL
                   1545: WINAPI
1.1.1.3   root     1546: AddPortW(
                   1547:     LPWSTR  pName,
                   1548:     HWND    hWnd,
                   1549:     LPWSTR  pMonitorName
                   1550: );
                   1551: 
                   1552: #ifdef UNICODE
                   1553: #define AddPort AddPortW
                   1554: #else
                   1555: #define AddPort AddPortA
                   1556: #endif // !UNICODE
                   1557: 
                   1558: BOOL
                   1559: WINAPI
                   1560: ConfigurePortA(
1.1.1.2   root     1561:     LPSTR   pName,
                   1562:     HWND    hWnd,
                   1563:     LPSTR   pPortName
                   1564: );
                   1565: 
                   1566: BOOL
                   1567: WINAPI
1.1.1.3   root     1568: ConfigurePortW(
                   1569:     LPWSTR  pName,
                   1570:     HWND    hWnd,
                   1571:     LPWSTR  pPortName
                   1572: );
                   1573: 
                   1574: #ifdef UNICODE
                   1575: #define ConfigurePort ConfigurePortW
                   1576: #else
                   1577: #define ConfigurePort ConfigurePortA
                   1578: #endif // !UNICODE
                   1579: 
                   1580: BOOL
                   1581: WINAPI
                   1582: DeletePortA(
1.1.1.2   root     1583:     LPSTR   pName,
                   1584:     HWND    hWnd,
                   1585:     LPSTR   pPortName
1.1       root     1586: );
                   1587: 
1.1.1.3   root     1588: BOOL
                   1589: WINAPI
                   1590: DeletePortW(
                   1591:     LPWSTR  pName,
                   1592:     HWND    hWnd,
                   1593:     LPWSTR  pPortName
                   1594: );
                   1595: 
                   1596: #ifdef UNICODE
                   1597: #define DeletePort DeletePortW
                   1598: #else
                   1599: #define DeletePort DeletePortA
                   1600: #endif // !UNICODE
                   1601: 
                   1602: BOOL
                   1603: WINAPI
                   1604: AddPrinterConnectionA(
                   1605:     LPSTR   pName
                   1606: );
                   1607: 
                   1608: BOOL
                   1609: WINAPI
                   1610: AddPrinterConnectionW(
                   1611:     LPWSTR  pName
                   1612: );
                   1613: 
                   1614: #ifdef UNICODE
                   1615: #define AddPrinterConnection AddPrinterConnectionW
                   1616: #else
                   1617: #define AddPrinterConnection AddPrinterConnectionA
                   1618: #endif // !UNICODE
                   1619: 
                   1620: BOOL
                   1621: WINAPI
                   1622: DeletePrinterConnectionA(
                   1623:     LPSTR   pName
                   1624: );
                   1625: 
                   1626: BOOL
                   1627: WINAPI
                   1628: DeletePrinterConnectionW(
                   1629:     LPWSTR  pName
                   1630: );
                   1631: 
                   1632: #ifdef UNICODE
                   1633: #define DeletePrinterConnection DeletePrinterConnectionW
                   1634: #else
                   1635: #define DeletePrinterConnection DeletePrinterConnectionA
                   1636: #endif // !UNICODE
                   1637: 
                   1638: HANDLE
                   1639: WINAPI
                   1640: ConnectToPrinterDlg(
                   1641:     HWND    hwnd,
                   1642:     DWORD   Flags
                   1643: );
                   1644: 
1.1.1.4 ! root     1645: typedef struct _PROVIDOR_INFO_1A {
        !          1646:     LPSTR   pName;
        !          1647:     LPSTR   pEnvironment;
        !          1648:     LPSTR   pDLLName;
        !          1649: } PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;
        !          1650: 
        !          1651: typedef struct _PROVIDOR_INFO_1W {
        !          1652:     LPWSTR  pName;
        !          1653:     LPWSTR  pEnvironment;
        !          1654:     LPWSTR  pDLLName;
        !          1655: } PROVIDOR_INFO_1W, *PPROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;
        !          1656: 
        !          1657: #ifdef UNICODE
        !          1658: #define PROVIDOR_INFO_1 PROVIDOR_INFO_1W
        !          1659: #define PPROVIDOR_INFO_1 PPROVIDOR_INFO_1W
        !          1660: #define LPPROVIDOR_INFO_1 LPPROVIDOR_INFO_1W
        !          1661: #else
        !          1662: #define PROVIDOR_INFO_1 PROVIDOR_INFO_1A
        !          1663: #define PPROVIDOR_INFO_1 PPROVIDOR_INFO_1A
        !          1664: #define LPPROVIDOR_INFO_1 LPPROVIDOR_INFO_1A
        !          1665: #endif // UNICODE
        !          1666: 
        !          1667: BOOL
        !          1668: WINAPI
        !          1669: AddPrintProvidorA(
        !          1670:     LPSTR   pName,
        !          1671:     DWORD   Level,
        !          1672:     LPBYTE  pProvidorInfo
        !          1673: );
        !          1674: 
        !          1675: BOOL
        !          1676: WINAPI
        !          1677: AddPrintProvidorW(
        !          1678:     LPWSTR  pName,
        !          1679:     DWORD   Level,
        !          1680:     LPBYTE  pProvidorInfo
        !          1681: );
        !          1682: 
        !          1683: #ifdef UNICODE
        !          1684: #define AddPrintProvidor AddPrintProvidorW
        !          1685: #else
        !          1686: #define AddPrintProvidor AddPrintProvidorA
        !          1687: #endif // !UNICODE
        !          1688: 
        !          1689: BOOL
        !          1690: WINAPI
        !          1691: DeletePrintProvidorA(
        !          1692:     LPSTR   pName,
        !          1693:     LPSTR   pEnvironment,
        !          1694:     LPSTR   pPrintProvidorName
        !          1695: );
        !          1696: 
        !          1697: BOOL
        !          1698: WINAPI
        !          1699: DeletePrintProvidorW(
        !          1700:     LPWSTR  pName,
        !          1701:     LPWSTR  pEnvironment,
        !          1702:     LPWSTR  pPrintProvidorName
        !          1703: );
        !          1704: 
        !          1705: #ifdef UNICODE
        !          1706: #define DeletePrintProvidor DeletePrintProvidorW
        !          1707: #else
        !          1708: #define DeletePrintProvidor DeletePrintProvidorA
        !          1709: #endif // !UNICODE
        !          1710: 
        !          1711: #define SERVER_ACCESS_ADMINISTER    0x00000001
        !          1712: #define SERVER_ACCESS_ENUMERATE     0x00000002
        !          1713: 
        !          1714: #define PRINTER_ACCESS_ADMINISTER   0x00000004
        !          1715: #define PRINTER_ACCESS_USE          0x00000008
        !          1716: 
        !          1717: #define JOB_ACCESS_ADMINISTER       0x00000010
        !          1718: 
        !          1719: 
        !          1720: /*
        !          1721:  * Access rights for print servers
        !          1722:  */
        !          1723: 
        !          1724: #define SERVER_ALL_ACCESS    (STANDARD_RIGHTS_REQUIRED      |\
        !          1725:                               SERVER_ACCESS_ADMINISTER      |\
        !          1726:                               SERVER_ACCESS_ENUMERATE)
        !          1727: 
        !          1728: #define SERVER_READ          (STANDARD_RIGHTS_READ          |\
        !          1729:                               SERVER_ACCESS_ENUMERATE)
        !          1730: 
        !          1731: #define SERVER_WRITE         (STANDARD_RIGHTS_WRITE         |\
        !          1732:                               SERVER_ACCESS_ADMINISTER      |\
        !          1733:                               SERVER_ACCESS_ENUMERATE)
        !          1734: 
        !          1735: #define SERVER_EXECUTE       (STANDARD_RIGHTS_EXECUTE       |\
        !          1736:                               SERVER_ACCESS_ENUMERATE)
        !          1737: 
        !          1738: /*
        !          1739:  * Access rights for printers
        !          1740:  */
        !          1741: 
        !          1742: #define PRINTER_ALL_ACCESS    (STANDARD_RIGHTS_REQUIRED     |\
        !          1743:                                PRINTER_ACCESS_ADMINISTER    |\
        !          1744:                                PRINTER_ACCESS_USE)
        !          1745: 
        !          1746: #define PRINTER_READ          (STANDARD_RIGHTS_READ         |\
        !          1747:                                PRINTER_ACCESS_USE)
        !          1748: 
        !          1749: #define PRINTER_WRITE         (STANDARD_RIGHTS_WRITE        |\
        !          1750:                                PRINTER_ACCESS_USE)
        !          1751: 
        !          1752: #define PRINTER_EXECUTE       (STANDARD_RIGHTS_EXECUTE      |\
        !          1753:                                PRINTER_ACCESS_USE)
        !          1754: 
        !          1755: /*
        !          1756:  * Access rights for jobs
        !          1757:  */
        !          1758: 
        !          1759: #define JOB_ALL_ACCESS         (STANDARD_RIGHTS_REQUIRED    |\
        !          1760:                                 JOB_ACCESS_ADMINISTER)
        !          1761: 
        !          1762: #define JOB_READ               (STANDARD_RIGHTS_READ        |\
        !          1763:                                 JOB_ACCESS_ADMINISTER)
        !          1764: 
        !          1765: #define JOB_WRITE              (STANDARD_RIGHTS_WRITE       |\
        !          1766:                                 JOB_ACCESS_ADMINISTER)
        !          1767: 
        !          1768: #define JOB_EXECUTE            (STANDARD_RIGHTS_EXECUTE     |\
        !          1769:                                 JOB_ACCESS_ADMINISTER)
        !          1770: 
        !          1771: 
        !          1772: #ifdef __cplusplus
        !          1773: }
        !          1774: #endif
        !          1775: 
1.1       root     1776: #endif // _WINSPOOL_

unix.superglobalmegacorp.com

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