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

1.1       root        1: /*++
                      2: 
                      3: Copyright (c) 1990  Microsoft Corporation
                      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.3 ! root       24: typedef struct _PRINTER_INFO_1A {
1.1.1.2   root       25:     DWORD   Flags;
1.1.1.3 ! root       26:     LPSTR   pDescription;
        !            27:     LPSTR   pName;
        !            28:     LPSTR   pComment;
        !            29: } PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
        !            30: 
        !            31: typedef struct _PRINTER_INFO_1W {
        !            32:     DWORD   Flags;
        !            33:     LPWSTR  pDescription;
        !            34:     LPWSTR  pName;
        !            35:     LPWSTR  pComment;
        !            36: } PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
        !            37: 
        !            38: #ifdef UNICODE
        !            39: #define PRINTER_INFO_1 PRINTER_INFO_1W
        !            40: #define PPRINTER_INFO_1 PPRINTER_INFO_1W
        !            41: #define LPPRINTER_INFO_1 LPPRINTER_INFO_1W
        !            42: #else
        !            43: #define PRINTER_INFO_1 PRINTER_INFO_1A
        !            44: #define PPRINTER_INFO_1 PPRINTER_INFO_1A
        !            45: #define LPPRINTER_INFO_1 LPPRINTER_INFO_1A
        !            46: #endif // UNICODE
        !            47: 
        !            48: typedef struct _PRINTER_INFO_2A {
        !            49:     LPSTR   pServerName;
        !            50:     LPSTR   pPrinterName;
        !            51:     LPSTR   pShareName;
        !            52:     LPSTR   pPortName;
        !            53:     LPSTR   pDriverName;
        !            54:     LPSTR   pComment;
        !            55:     LPSTR   pLocation;
        !            56:     LPDEVMODEA pDevMode;
        !            57:     LPSTR   pSepFile;
        !            58:     LPSTR   pPrintProcessor;
        !            59:     LPSTR   pDatatype;
        !            60:     LPSTR   pParameters;
        !            61:     PSECURITY_DESCRIPTOR pSecurityDescriptor;
        !            62:     DWORD   Attributes;
        !            63:     DWORD   Priority;
        !            64:     DWORD   DefaultPriority;
        !            65:     DWORD   StartTime;
        !            66:     DWORD   UntilTime;
        !            67:     DWORD   Status;
        !            68:     DWORD   cJobs;
        !            69:     DWORD   AveragePPM;
        !            70: } PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
        !            71: 
        !            72: typedef struct _PRINTER_INFO_2W {
        !            73:     LPWSTR  pServerName;
        !            74:     LPWSTR  pPrinterName;
        !            75:     LPWSTR  pShareName;
        !            76:     LPWSTR  pPortName;
        !            77:     LPWSTR  pDriverName;
        !            78:     LPWSTR  pComment;
        !            79:     LPWSTR  pLocation;
        !            80:     LPDEVMODEW pDevMode;
        !            81:     LPWSTR  pSepFile;
        !            82:     LPWSTR  pPrintProcessor;
        !            83:     LPWSTR  pDatatype;
        !            84:     LPWSTR  pParameters;
1.1.1.2   root       85:     PSECURITY_DESCRIPTOR pSecurityDescriptor;
                     86:     DWORD   Attributes;
                     87:     DWORD   Priority;
                     88:     DWORD   DefaultPriority;
                     89:     DWORD   StartTime;
                     90:     DWORD   UntilTime;
                     91:     DWORD   Status;
                     92:     DWORD   cJobs;
                     93:     DWORD   AveragePPM;
1.1.1.3 ! root       94: } PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
        !            95: 
        !            96: #ifdef UNICODE
        !            97: #define PRINTER_INFO_2 PRINTER_INFO_2W
        !            98: #define PPRINTER_INFO_2 PPRINTER_INFO_2W
        !            99: #define LPPRINTER_INFO_2 LPPRINTER_INFO_2W
        !           100: #else
        !           101: #define PRINTER_INFO_2 PRINTER_INFO_2A
        !           102: #define PPRINTER_INFO_2 PPRINTER_INFO_2A
        !           103: #define LPPRINTER_INFO_2 LPPRINTER_INFO_2A
        !           104: #endif // UNICODE
1.1.1.2   root      105: 
                    106: #define PRINTER_CONTROL_PAUSE            1
                    107: #define PRINTER_CONTROL_RESUME           2
                    108: #define PRINTER_CONTROL_PURGE            3
1.1       root      109: 
1.1.1.2   root      110: #define PRINTER_STATUS_PAUSED            0x00000001
                    111: #define PRINTER_STATUS_ERROR             0x00000002
1.1       root      112: #define PRINTER_STATUS_PENDING_DELETION  0x00000004
                    113: 
1.1.1.2   root      114: #define PRINTER_ATTRIBUTE_QUEUED         0x00000001
                    115: #define PRINTER_ATTRIBUTE_DIRECT         0x00000002
                    116: #define PRINTER_ATTRIBUTE_DEFAULT        0x00000004
                    117: #define PRINTER_ATTRIBUTE_SHARED         0x00000008
1.1       root      118: 
                    119: #define NO_PRIORITY   0
                    120: #define MAX_PRIORITY 99
                    121: #define MIN_PRIORITY  1
                    122: #define DEF_PRIORITY  1
                    123: 
1.1.1.3 ! root      124: typedef struct _JOB_INFO_1A {
        !           125:    DWORD    JobId;
        !           126:    LPSTR    pPrinterName;
        !           127:    LPSTR    pMachineName;
        !           128:    LPSTR    pUserName;
        !           129:    LPSTR    pDocument;
        !           130:    LPSTR    pDatatype;
        !           131:    LPSTR    pStatus;
        !           132:    DWORD    Status;
        !           133:    DWORD    Priority;
        !           134:    DWORD    Position;
        !           135:    DWORD    TotalPages;
        !           136:    DWORD    PagesPrinted;
        !           137:    SYSTEMTIME Submitted;
        !           138: } JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;
        !           139: 
        !           140: typedef struct _JOB_INFO_1W {
1.1.1.2   root      141:    DWORD    JobId;
1.1.1.3 ! root      142:    LPWSTR   pPrinterName;
        !           143:    LPWSTR   pMachineName;
        !           144:    LPWSTR   pUserName;
        !           145:    LPWSTR   pDocument;
        !           146:    LPWSTR   pDatatype;
        !           147:    LPWSTR   pStatus;
1.1.1.2   root      148:    DWORD    Status;
                    149:    DWORD    Priority;
                    150:    DWORD    Position;
1.1.1.3 ! root      151:    DWORD    TotalPages;
        !           152:    DWORD    PagesPrinted;
        !           153:    SYSTEMTIME Submitted;
        !           154: } JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;
        !           155: 
        !           156: #ifdef UNICODE
        !           157: #define JOB_INFO_1 JOB_INFO_1W
        !           158: #define PJOB_INFO_1 PJOB_INFO_1W
        !           159: #define LPJOB_INFO_1 LPJOB_INFO_1W
        !           160: #else
        !           161: #define JOB_INFO_1 JOB_INFO_1A
        !           162: #define PJOB_INFO_1 PJOB_INFO_1A
        !           163: #define LPJOB_INFO_1 LPJOB_INFO_1A
        !           164: #endif // UNICODE
1.1.1.2   root      165: 
1.1.1.3 ! root      166: typedef struct _JOB_INFO_2A {
1.1.1.2   root      167:    DWORD    JobId;
1.1.1.3 ! root      168:    LPSTR    pPrinterName;
        !           169:    LPSTR    pMachineName;
        !           170:    LPSTR    pUserName;
        !           171:    LPSTR    pDocument;
        !           172:    LPSTR    pNotifyName;
        !           173:    LPSTR    pDatatype;
        !           174:    LPSTR    pPrintProcessor;
        !           175:    LPSTR    pParameters;
        !           176:    LPSTR    pDriverName;
1.1.1.2   root      177:    LPDEVMODE pDevMode;
1.1.1.3 ! root      178:    LPSTR    pStatus;
1.1.1.2   root      179:    PSECURITY_DESCRIPTOR pSecurityDescriptor;
                    180:    DWORD    Status;
                    181:    DWORD    Priority;
                    182:    DWORD    Position;
                    183:    DWORD    StartTime;
                    184:    DWORD    UntilTime;
                    185:    DWORD    TotalPages;
                    186:    DWORD    Size;
                    187:    SYSTEMTIME Submitted;    // Time the job was spooled
                    188:    DWORD    Time;           // How many seconds the job has been printing
1.1.1.3 ! root      189:    DWORD    PagesPrinted;
        !           190: } JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;
        !           191: 
        !           192: typedef struct _JOB_INFO_2W {
        !           193:    DWORD    JobId;
        !           194:    LPWSTR   pPrinterName;
        !           195:    LPWSTR   pMachineName;
        !           196:    LPWSTR   pUserName;
        !           197:    LPWSTR   pDocument;
        !           198:    LPWSTR   pNotifyName;
        !           199:    LPWSTR   pDatatype;
        !           200:    LPWSTR   pPrintProcessor;
        !           201:    LPWSTR   pParameters;
        !           202:    LPWSTR   pDriverName;
        !           203:    LPDEVMODE pDevMode;
        !           204:    LPWSTR   pStatus;
        !           205:    PSECURITY_DESCRIPTOR pSecurityDescriptor;
        !           206:    DWORD    Status;
        !           207:    DWORD    Priority;
        !           208:    DWORD    Position;
        !           209:    DWORD    StartTime;
        !           210:    DWORD    UntilTime;
        !           211:    DWORD    TotalPages;
        !           212:    DWORD    Size;
        !           213:    SYSTEMTIME Submitted;    // Time the job was spooled
        !           214:    DWORD    Time;           // How many seconds the job has been printing
        !           215:    DWORD    PagesPrinted;
        !           216: } JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;
        !           217: 
        !           218: #ifdef UNICODE
        !           219: #define JOB_INFO_2 JOB_INFO_2W
        !           220: #define PJOB_INFO_2 PJOB_INFO_2W
        !           221: #define LPJOB_INFO_2 LPJOB_INFO_2W
        !           222: #else
        !           223: #define JOB_INFO_2 JOB_INFO_2A
        !           224: #define PJOB_INFO_2 PJOB_INFO_2A
        !           225: #define LPJOB_INFO_2 LPJOB_INFO_2A
        !           226: #endif // UNICODE
1.1       root      227: 
                    228: #define JOB_CONTROL_PAUSE              1
                    229: #define JOB_CONTROL_RESUME             2
                    230: #define JOB_CONTROL_CANCEL             3
                    231: #define JOB_CONTROL_RESTART            4
                    232: 
1.1.1.2   root      233: #define JOB_STATUS_PAUSED     0x00000001
                    234: #define JOB_STATUS_ERROR      0x00000002
                    235: #define JOB_STATUS_DELETING   0x00000004
                    236: #define JOB_STATUS_SPOOLING   0x00000008
                    237: #define JOB_STATUS_PRINTING   0x00000010
                    238: #define JOB_STATUS_OFFLINE    0x00000020
                    239: #define JOB_STATUS_PAPEROUT   0x00000040
                    240: #define JOB_STATUS_PRINTED    0x00000080
                    241: 
1.1.1.3 ! root      242: typedef struct _ADDJOB_INFO_1A {
        !           243:     LPSTR   Path;
1.1.1.2   root      244:     DWORD   JobId;
1.1.1.3 ! root      245: } ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
1.1.1.2   root      246: 
1.1.1.3 ! root      247: typedef struct _ADDJOB_INFO_1W {
        !           248:     LPWSTR  Path;
        !           249:     DWORD   JobId;
        !           250: } ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
        !           251: 
        !           252: #ifdef UNICODE
        !           253: #define ADDJOB_INFO_1 ADDJOB_INFO_1W
        !           254: #define PADDJOB_INFO_1 PADDJOB_INFO_1W
        !           255: #define LPADDJOB_INFO_1 LPADDJOB_INFO_1W
        !           256: #else
        !           257: #define ADDJOB_INFO_1 ADDJOB_INFO_1A
        !           258: #define PADDJOB_INFO_1 PADDJOB_INFO_1A
        !           259: #define LPADDJOB_INFO_1 LPADDJOB_INFO_1A
        !           260: #endif // UNICODE
        !           261: 
        !           262: typedef struct _DRIVER_INFO_1A {
        !           263:     LPSTR   pName;              // QMS 810
        !           264: } DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
        !           265: 
        !           266: typedef struct _DRIVER_INFO_1W {
        !           267:     LPWSTR  pName;              // QMS 810
        !           268: } DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
        !           269: 
        !           270: #ifdef UNICODE
        !           271: #define DRIVER_INFO_1 DRIVER_INFO_1W
        !           272: #define PDRIVER_INFO_1 PDRIVER_INFO_1W
        !           273: #define LPDRIVER_INFO_1 LPDRIVER_INFO_1W
        !           274: #else
        !           275: #define DRIVER_INFO_1 DRIVER_INFO_1A
        !           276: #define PDRIVER_INFO_1 PDRIVER_INFO_1A
        !           277: #define LPDRIVER_INFO_1 LPDRIVER_INFO_1A
        !           278: #endif // UNICODE
        !           279: 
        !           280: typedef struct _DRIVER_INFO_2A {
        !           281:     DWORD   cVersion;
        !           282:     LPSTR   pName;              // QMS 810
        !           283:     LPSTR   pEnvironment;       // Win32 x86
        !           284:     LPSTR   pDriverPath;        // c:\drivers\pscript.dll
        !           285:     LPSTR   pDataFile;          // c:\drivers\QMS810.PPD
        !           286:     LPSTR   pConfigFile;        // c:\drivers\PSCRPTUI.DLL
        !           287: } DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
1.1.1.2   root      288: 
1.1.1.3 ! root      289: typedef struct _DRIVER_INFO_2W {
1.1.1.2   root      290:     DWORD   cVersion;
1.1.1.3 ! root      291:     LPWSTR  pName;              // QMS 810
        !           292:     LPWSTR  pEnvironment;       // Win32 x86
        !           293:     LPWSTR  pDriverPath;        // c:\drivers\pscript.dll
        !           294:     LPWSTR  pDataFile;          // c:\drivers\QMS810.PPD
        !           295:     LPWSTR  pConfigFile;        // c:\drivers\PSCRPTUI.DLL
        !           296: } DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
        !           297: 
        !           298: #ifdef UNICODE
        !           299: #define DRIVER_INFO_2 DRIVER_INFO_2W
        !           300: #define PDRIVER_INFO_2 PDRIVER_INFO_2W
        !           301: #define LPDRIVER_INFO_2 LPDRIVER_INFO_2W
        !           302: #else
        !           303: #define DRIVER_INFO_2 DRIVER_INFO_2A
        !           304: #define PDRIVER_INFO_2 PDRIVER_INFO_2A
        !           305: #define LPDRIVER_INFO_2 LPDRIVER_INFO_2A
        !           306: #endif // UNICODE
        !           307: 
        !           308: typedef struct _DOC_INFO_1A {
        !           309:     LPSTR   pDocName;
        !           310:     LPSTR   pOutputFile;
        !           311:     LPSTR   pDatatype;
        !           312: } DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
        !           313: 
        !           314: typedef struct _DOC_INFO_1W {
        !           315:     LPWSTR  pDocName;
        !           316:     LPWSTR  pOutputFile;
        !           317:     LPWSTR  pDatatype;
        !           318: } DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
        !           319: 
        !           320: #ifdef UNICODE
        !           321: #define DOC_INFO_1 DOC_INFO_1W
        !           322: #define PDOC_INFO_1 PDOC_INFO_1W
        !           323: #define LPDOC_INFO_1 LPDOC_INFO_1W
        !           324: #else
        !           325: #define DOC_INFO_1 DOC_INFO_1A
        !           326: #define PDOC_INFO_1 PDOC_INFO_1A
        !           327: #define LPDOC_INFO_1 LPDOC_INFO_1A
        !           328: #endif // UNICODE
1.1.1.2   root      329: 
1.1.1.3 ! root      330: typedef struct _FORM_INFO_1A {
        !           331:     LPSTR   pName;
1.1.1.2   root      332:     SIZEL   Size;
                    333:     RECTL   ImageableArea;
1.1.1.3 ! root      334: } FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;
1.1.1.2   root      335: 
1.1.1.3 ! root      336: typedef struct _FORM_INFO_1W {
        !           337:     LPWSTR  pName;
        !           338:     SIZEL   Size;
        !           339:     RECTL   ImageableArea;
        !           340: } FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;
1.1.1.2   root      341: 
1.1.1.3 ! root      342: #ifdef UNICODE
        !           343: #define FORM_INFO_1 FORM_INFO_1W
        !           344: #define PFORM_INFO_1 PFORM_INFO_1W
        !           345: #define LPFORM_INFO_1 LPFORM_INFO_1W
        !           346: #else
        !           347: #define FORM_INFO_1 FORM_INFO_1A
        !           348: #define PFORM_INFO_1 PFORM_INFO_1A
        !           349: #define LPFORM_INFO_1 LPFORM_INFO_1A
        !           350: #endif // UNICODE
        !           351: 
        !           352: typedef struct _PRINTPROCESSOR_INFO_1A {
1.1.1.2   root      353:     LPSTR   pName;
1.1.1.3 ! root      354: } PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A, *LPPRINTPROCESSOR_INFO_1A;
        !           355: 
        !           356: typedef struct _PRINTPROCESSOR_INFO_1W {
        !           357:     LPWSTR  pName;
        !           358: } PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W, *LPPRINTPROCESSOR_INFO_1W;
        !           359: 
        !           360: #ifdef UNICODE
        !           361: #define PRINTPROCESSOR_INFO_1 PRINTPROCESSOR_INFO_1W
        !           362: #define PPRINTPROCESSOR_INFO_1 PPRINTPROCESSOR_INFO_1W
        !           363: #define LPPRINTPROCESSOR_INFO_1 LPPRINTPROCESSOR_INFO_1W
        !           364: #else
        !           365: #define PRINTPROCESSOR_INFO_1 PRINTPROCESSOR_INFO_1A
        !           366: #define PPRINTPROCESSOR_INFO_1 PPRINTPROCESSOR_INFO_1A
        !           367: #define LPPRINTPROCESSOR_INFO_1 LPPRINTPROCESSOR_INFO_1A
        !           368: #endif // UNICODE
1.1.1.2   root      369: 
1.1.1.3 ! root      370: typedef struct _PORT_INFO_1A {
1.1.1.2   root      371:     LPSTR   pName;
1.1.1.3 ! root      372: } PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
1.1.1.2   root      373: 
1.1.1.3 ! root      374: typedef struct _PORT_INFO_1W {
        !           375:     LPWSTR  pName;
        !           376: } PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
        !           377: 
        !           378: #ifdef UNICODE
        !           379: #define PORT_INFO_1 PORT_INFO_1W
        !           380: #define PPORT_INFO_1 PPORT_INFO_1W
        !           381: #define LPPORT_INFO_1 LPPORT_INFO_1W
        !           382: #else
        !           383: #define PORT_INFO_1 PORT_INFO_1A
        !           384: #define PPORT_INFO_1 PPORT_INFO_1A
        !           385: #define LPPORT_INFO_1 LPPORT_INFO_1A
        !           386: #endif // UNICODE
        !           387: 
        !           388: typedef struct _MONITOR_INFO_1A {
        !           389:     LPSTR   pName;
        !           390: } MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
        !           391: 
        !           392: typedef struct _MONITOR_INFO_1W {
        !           393:     LPWSTR  pName;
        !           394: } MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
        !           395: 
        !           396: #ifdef UNICODE
        !           397: #define MONITOR_INFO_1 MONITOR_INFO_1W
        !           398: #define PMONITOR_INFO_1 PMONITOR_INFO_1W
        !           399: #define LPMONITOR_INFO_1 LPMONITOR_INFO_1W
        !           400: #else
        !           401: #define MONITOR_INFO_1 MONITOR_INFO_1A
        !           402: #define PMONITOR_INFO_1 PMONITOR_INFO_1A
        !           403: #define LPMONITOR_INFO_1 LPMONITOR_INFO_1A
        !           404: #endif // UNICODE
        !           405: 
        !           406: typedef struct _DATATYPES_INFO_1A {
1.1.1.2   root      407:     LPSTR   pName;
1.1.1.3 ! root      408: } DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
        !           409: 
        !           410: typedef struct _DATATYPES_INFO_1W {
        !           411:     LPWSTR  pName;
        !           412: } DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
        !           413: 
        !           414: #ifdef UNICODE
        !           415: #define DATATYPES_INFO_1 DATATYPES_INFO_1W
        !           416: #define PDATATYPES_INFO_1 PDATATYPES_INFO_1W
        !           417: #define LPDATATYPES_INFO_1 LPDATATYPES_INFO_1W
        !           418: #else
        !           419: #define DATATYPES_INFO_1 DATATYPES_INFO_1A
        !           420: #define PDATATYPES_INFO_1 PDATATYPES_INFO_1A
        !           421: #define LPDATATYPES_INFO_1 LPDATATYPES_INFO_1A
        !           422: #endif // UNICODE
1.1.1.2   root      423: 
1.1.1.3 ! root      424: typedef struct _PRINTER_DEFAULTSA {
1.1.1.2   root      425:     LPSTR   pDatatype;
1.1.1.3 ! root      426:     LPDEVMODEA pDevMode;
        !           427: } PRINTER_DEFAULTSA, *PPRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
        !           428: 
        !           429: typedef struct _PRINTER_DEFAULTSW {
        !           430:     LPWSTR  pDatatype;
        !           431:     LPDEVMODEW pDevMode;
        !           432: } PRINTER_DEFAULTSW, *PPRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
        !           433: 
        !           434: #ifdef UNICODE
        !           435: #define PRINTER_DEFAULTS PRINTER_DEFAULTSW
        !           436: #define PPRINTER_DEFAULTS PPRINTER_DEFAULTSW
        !           437: #define LPPRINTER_DEFAULTS LPPRINTER_DEFAULTSW
        !           438: #else
        !           439: #define PRINTER_DEFAULTS PRINTER_DEFAULTSA
        !           440: #define PPRINTER_DEFAULTS PPRINTER_DEFAULTSA
        !           441: #define LPPRINTER_DEFAULTS LPPRINTER_DEFAULTSA
        !           442: #endif // UNICODE
1.1       root      443: 
                    444: BOOL
1.1.1.2   root      445: WINAPI
1.1.1.3 ! root      446: EnumPrintersA(
1.1.1.2   root      447:     DWORD   Flags,
1.1.1.3 ! root      448:     LPSTR   Name,
1.1.1.2   root      449:     DWORD   Level,
                    450:     LPBYTE  pPrinterEnum,
                    451:     DWORD   cbBuf,
                    452:     LPDWORD pcbNeeded,
                    453:     LPDWORD pcReturned
                    454: );
                    455: 
1.1.1.3 ! root      456: BOOL
        !           457: WINAPI
        !           458: EnumPrintersW(
        !           459:     DWORD   Flags,
        !           460:     LPWSTR  Name,
        !           461:     DWORD   Level,
        !           462:     LPBYTE  pPrinterEnum,
        !           463:     DWORD   cbBuf,
        !           464:     LPDWORD pcbNeeded,
        !           465:     LPDWORD pcReturned
        !           466: );
        !           467: 
        !           468: #ifdef UNICODE
        !           469: #define EnumPrinters EnumPrintersW
        !           470: #else
        !           471: #define EnumPrinters EnumPrintersA
        !           472: #endif // !UNICODE
        !           473: 
        !           474: #define PRINTER_ENUM_DEFAULT     0x00000001
        !           475: #define PRINTER_ENUM_LOCAL       0x00000002
        !           476: #define PRINTER_ENUM_CONNECTIONS 0x00000004
        !           477: #define PRINTER_ENUM_FAVORITE    0x00000004
        !           478: #define PRINTER_ENUM_NAME        0x00000008
        !           479: #define PRINTER_ENUM_REMOTE      0x00000010
        !           480: #define PRINTER_ENUM_SHARED      0x00000020
        !           481: #define PRINTER_ENUM_NETWORK     0x00000040
        !           482: 
        !           483: #define PRINTER_ENUM_CONTAINER   0x00008000
        !           484: 
        !           485: #define PRINTER_ENUM_ICONMASK    0x00ff0000
        !           486: #define PRINTER_ENUM_ICON1       0x00010000
        !           487: #define PRINTER_ENUM_ICON2       0x00020000
        !           488: #define PRINTER_ENUM_ICON3       0x00040000
        !           489: #define PRINTER_ENUM_ICON4       0x00080000
        !           490: #define PRINTER_ENUM_ICON5       0x00100000
        !           491: #define PRINTER_ENUM_ICON6       0x00200000
        !           492: #define PRINTER_ENUM_ICON7       0x00400000
        !           493: #define PRINTER_ENUM_ICON8       0x00800000
1.1.1.2   root      494: 
                    495: BOOL
                    496: WINAPI
1.1.1.3 ! root      497: OpenPrinterA(
        !           498:    LPSTR    pPrinterName,
1.1.1.2   root      499:    LPHANDLE phPrinter,
1.1.1.3 ! root      500:    LPPRINTER_DEFAULTSA pDefault
        !           501: );
        !           502: 
        !           503: BOOL
        !           504: WINAPI
        !           505: OpenPrinterW(
        !           506:    LPWSTR   pPrinterName,
        !           507:    LPHANDLE phPrinter,
        !           508:    LPPRINTER_DEFAULTSW pDefault
        !           509: );
        !           510: 
        !           511: #ifdef UNICODE
        !           512: #define OpenPrinter OpenPrinterW
        !           513: #else
        !           514: #define OpenPrinter OpenPrinterA
        !           515: #endif // !UNICODE
        !           516: 
        !           517: BOOL
        !           518: WINAPI
        !           519: SetJobA(
        !           520:     HANDLE  hPrinter,
        !           521:     DWORD   JobId,
        !           522:     DWORD   Level,
        !           523:     LPBYTE  pJob,
        !           524:     DWORD   Command
1.1.1.2   root      525: );
                    526: 
                    527: BOOL
                    528: WINAPI
1.1.1.3 ! root      529: SetJobW(
1.1.1.2   root      530:     HANDLE  hPrinter,
                    531:     DWORD   JobId,
                    532:     DWORD   Level,
                    533:     LPBYTE  pJob,
                    534:     DWORD   Command
1.1       root      535: );
                    536: 
1.1.1.3 ! root      537: #ifdef UNICODE
        !           538: #define SetJob SetJobW
        !           539: #else
        !           540: #define SetJob SetJobA
        !           541: #endif // !UNICODE
        !           542: 
1.1       root      543: BOOL
1.1.1.2   root      544: WINAPI
1.1.1.3 ! root      545: GetJobA(
1.1.1.2   root      546:    HANDLE   hPrinter,
                    547:    DWORD    JobId,
                    548:    DWORD    Level,
                    549:    LPBYTE   pJob,
                    550:    DWORD    cbBuf,
                    551:    LPDWORD  pcbNeeded
1.1       root      552: );
                    553: 
                    554: BOOL
1.1.1.2   root      555: WINAPI
1.1.1.3 ! root      556: GetJobW(
        !           557:    HANDLE   hPrinter,
        !           558:    DWORD    JobId,
        !           559:    DWORD    Level,
        !           560:    LPBYTE   pJob,
        !           561:    DWORD    cbBuf,
        !           562:    LPDWORD  pcbNeeded
        !           563: );
        !           564: 
        !           565: #ifdef UNICODE
        !           566: #define GetJob GetJobW
        !           567: #else
        !           568: #define GetJob GetJobA
        !           569: #endif // !UNICODE
        !           570: 
        !           571: BOOL
        !           572: WINAPI
        !           573: EnumJobsA(
        !           574:     HANDLE  hPrinter,
        !           575:     DWORD   FirstJob,
        !           576:     DWORD   NoJobs,
        !           577:     DWORD   Level,
        !           578:     LPBYTE  pJob,
        !           579:     DWORD   cbBuf,
        !           580:     LPDWORD pcbNeeded,
        !           581:     LPDWORD pcReturned
        !           582: );
        !           583: 
        !           584: BOOL
        !           585: WINAPI
        !           586: EnumJobsW(
1.1.1.2   root      587:     HANDLE  hPrinter,
                    588:     DWORD   FirstJob,
                    589:     DWORD   NoJobs,
                    590:     DWORD   Level,
                    591:     LPBYTE  pJob,
                    592:     DWORD   cbBuf,
                    593:     LPDWORD pcbNeeded,
                    594:     LPDWORD pcReturned
1.1       root      595: );
                    596: 
1.1.1.3 ! root      597: #ifdef UNICODE
        !           598: #define EnumJobs EnumJobsW
        !           599: #else
        !           600: #define EnumJobs EnumJobsA
        !           601: #endif // !UNICODE
        !           602: 
1.1.1.2   root      603: HANDLE
                    604: WINAPI
1.1.1.3 ! root      605: AddPrinterA(
1.1.1.2   root      606:     LPSTR   pName,
                    607:     DWORD   Level,
                    608:     LPBYTE  pPrinter
1.1       root      609: );
                    610: 
1.1.1.3 ! root      611: HANDLE
        !           612: WINAPI
        !           613: AddPrinterW(
        !           614:     LPWSTR  pName,
        !           615:     DWORD   Level,
        !           616:     LPBYTE  pPrinter
        !           617: );
        !           618: 
        !           619: #ifdef UNICODE
        !           620: #define AddPrinter AddPrinterW
        !           621: #else
        !           622: #define AddPrinter AddPrinterA
        !           623: #endif // !UNICODE
        !           624: 
1.1       root      625: BOOL
1.1.1.2   root      626: WINAPI
1.1       root      627: DeletePrinter(
1.1.1.2   root      628:    HANDLE   hPrinter
1.1       root      629: );
                    630: 
                    631: BOOL
1.1.1.2   root      632: WINAPI
1.1.1.3 ! root      633: SetPrinterA(
1.1.1.2   root      634:     HANDLE  hPrinter,
                    635:     DWORD   Level,
                    636:     LPBYTE  pPrinter,
                    637:     DWORD   Command
1.1       root      638: );
                    639: 
                    640: BOOL
1.1.1.2   root      641: WINAPI
1.1.1.3 ! root      642: SetPrinterW(
        !           643:     HANDLE  hPrinter,
        !           644:     DWORD   Level,
        !           645:     LPBYTE  pPrinter,
        !           646:     DWORD   Command
        !           647: );
        !           648: 
        !           649: #ifdef UNICODE
        !           650: #define SetPrinter SetPrinterW
        !           651: #else
        !           652: #define SetPrinter SetPrinterA
        !           653: #endif // !UNICODE
        !           654: 
        !           655: BOOL
        !           656: WINAPI
        !           657: GetPrinterA(
1.1.1.2   root      658:     HANDLE  hPrinter,
                    659:     DWORD   Level,
                    660:     LPBYTE  pPrinter,
                    661:     DWORD   cbBuf,
                    662:     LPDWORD pcbNeeded
1.1       root      663: );
                    664: 
                    665: BOOL
1.1.1.2   root      666: WINAPI
1.1.1.3 ! root      667: GetPrinterW(
        !           668:     HANDLE  hPrinter,
        !           669:     DWORD   Level,
        !           670:     LPBYTE  pPrinter,
        !           671:     DWORD   cbBuf,
        !           672:     LPDWORD pcbNeeded
        !           673: );
        !           674: 
        !           675: #ifdef UNICODE
        !           676: #define GetPrinter GetPrinterW
        !           677: #else
        !           678: #define GetPrinter GetPrinterA
        !           679: #endif // !UNICODE
        !           680: 
        !           681: BOOL
        !           682: WINAPI
        !           683: AddPrinterDriverA(
        !           684:     LPSTR   pName,
1.1.1.2   root      685:     DWORD   Level,
                    686:     LPBYTE  pDriverInfo
1.1       root      687: );
                    688: 
                    689: BOOL
1.1.1.2   root      690: WINAPI
1.1.1.3 ! root      691: AddPrinterDriverW(
        !           692:     LPWSTR  pName,
        !           693:     DWORD   Level,
        !           694:     LPBYTE  pDriverInfo
        !           695: );
        !           696: 
        !           697: #ifdef UNICODE
        !           698: #define AddPrinterDriver AddPrinterDriverW
        !           699: #else
        !           700: #define AddPrinterDriver AddPrinterDriverA
        !           701: #endif // !UNICODE
        !           702: 
        !           703: BOOL
        !           704: WINAPI
        !           705: EnumPrinterDriversA(
        !           706:     LPSTR   pName,
        !           707:     LPSTR   pEnvironment,
1.1.1.2   root      708:     DWORD   Level,
                    709:     LPBYTE  pDriverInfo,
                    710:     DWORD   cbBuf,
                    711:     LPDWORD pcbNeeded,
                    712:     LPDWORD pcReturned
1.1       root      713: );
                    714: 
                    715: BOOL
1.1.1.2   root      716: WINAPI
1.1.1.3 ! root      717: EnumPrinterDriversW(
        !           718:     LPWSTR  pName,
        !           719:     LPWSTR  pEnvironment,
        !           720:     DWORD   Level,
        !           721:     LPBYTE  pDriverInfo,
        !           722:     DWORD   cbBuf,
        !           723:     LPDWORD pcbNeeded,
        !           724:     LPDWORD pcReturned
        !           725: );
        !           726: 
        !           727: #ifdef UNICODE
        !           728: #define EnumPrinterDrivers EnumPrinterDriversW
        !           729: #else
        !           730: #define EnumPrinterDrivers EnumPrinterDriversA
        !           731: #endif // !UNICODE
        !           732: 
        !           733: BOOL
        !           734: WINAPI
        !           735: GetPrinterDriverA(
1.1.1.2   root      736:     HANDLE  hPrinter,
1.1.1.3 ! root      737:     LPSTR   pEnvironment,
1.1.1.2   root      738:     DWORD   Level,
                    739:     LPBYTE  pDriverInfo,
                    740:     DWORD   cbBuf,
                    741:     LPDWORD pcbNeeded
1.1       root      742: );
                    743: 
                    744: BOOL
1.1.1.2   root      745: WINAPI
1.1.1.3 ! root      746: GetPrinterDriverW(
        !           747:     HANDLE  hPrinter,
        !           748:     LPWSTR  pEnvironment,
        !           749:     DWORD   Level,
        !           750:     LPBYTE  pDriverInfo,
        !           751:     DWORD   cbBuf,
        !           752:     LPDWORD pcbNeeded
        !           753: );
        !           754: 
        !           755: #ifdef UNICODE
        !           756: #define GetPrinterDriver GetPrinterDriverW
        !           757: #else
        !           758: #define GetPrinterDriver GetPrinterDriverA
        !           759: #endif // !UNICODE
        !           760: 
        !           761: BOOL
        !           762: WINAPI
        !           763: GetPrinterDriverDirectoryA(
        !           764:     LPSTR   pName,
        !           765:     LPSTR   pEnvironment,
        !           766:     DWORD   Level,
        !           767:     LPBYTE  pDriverDirectory,
        !           768:     DWORD   cbBuf,
        !           769:     LPDWORD pcbNeeded
        !           770: );
        !           771: 
        !           772: BOOL
        !           773: WINAPI
        !           774: GetPrinterDriverDirectoryW(
        !           775:     LPWSTR  pName,
        !           776:     LPWSTR  pEnvironment,
1.1.1.2   root      777:     DWORD   Level,
                    778:     LPBYTE  pDriverDirectory,
                    779:     DWORD   cbBuf,
                    780:     LPDWORD pcbNeeded
1.1       root      781: );
                    782: 
1.1.1.3 ! root      783: #ifdef UNICODE
        !           784: #define GetPrinterDriverDirectory GetPrinterDriverDirectoryW
        !           785: #else
        !           786: #define GetPrinterDriverDirectory GetPrinterDriverDirectoryA
        !           787: #endif // !UNICODE
        !           788: 
        !           789: BOOL
        !           790: WINAPI
        !           791: DeletePrinterDriverA(
        !           792:    LPSTR    pName,
        !           793:    LPSTR    pEnvironment,
        !           794:    LPSTR    pDriverName
        !           795: );
        !           796: 
1.1       root      797: BOOL
1.1.1.2   root      798: WINAPI
1.1.1.3 ! root      799: DeletePrinterDriverW(
        !           800:    LPWSTR   pName,
        !           801:    LPWSTR   pEnvironment,
        !           802:    LPWSTR   pDriverName
1.1       root      803: );
                    804: 
1.1.1.3 ! root      805: #ifdef UNICODE
        !           806: #define DeletePrinterDriver DeletePrinterDriverW
        !           807: #else
        !           808: #define DeletePrinterDriver DeletePrinterDriverA
        !           809: #endif // !UNICODE
        !           810: 
1.1       root      811: BOOL
1.1.1.2   root      812: WINAPI
1.1.1.3 ! root      813: AddPrintProcessorA(
        !           814:     LPSTR   pName,
        !           815:     LPSTR   pEnvironment,
        !           816:     LPSTR   pPathName,
        !           817:     LPSTR   pPrintProcessorName
1.1       root      818: );
                    819: 
1.1.1.2   root      820: BOOL
                    821: WINAPI
1.1.1.3 ! root      822: AddPrintProcessorW(
        !           823:     LPWSTR  pName,
        !           824:     LPWSTR  pEnvironment,
        !           825:     LPWSTR  pPathName,
        !           826:     LPWSTR  pPrintProcessorName
        !           827: );
        !           828: 
        !           829: #ifdef UNICODE
        !           830: #define AddPrintProcessor AddPrintProcessorW
        !           831: #else
        !           832: #define AddPrintProcessor AddPrintProcessorA
        !           833: #endif // !UNICODE
        !           834: 
        !           835: BOOL
        !           836: WINAPI
        !           837: EnumPrintProcessorsA(
        !           838:     LPSTR   pName,
        !           839:     LPSTR   pEnvironment,
1.1.1.2   root      840:     DWORD   Level,
                    841:     LPBYTE  pPrintProcessorInfo,
                    842:     DWORD   cbBuf,
                    843:     LPDWORD pcbNeeded,
                    844:     LPDWORD pcReturned
1.1       root      845: );
                    846: 
                    847: BOOL
1.1.1.2   root      848: WINAPI
1.1.1.3 ! root      849: EnumPrintProcessorsW(
        !           850:     LPWSTR  pName,
        !           851:     LPWSTR  pEnvironment,
        !           852:     DWORD   Level,
        !           853:     LPBYTE  pPrintProcessorInfo,
        !           854:     DWORD   cbBuf,
        !           855:     LPDWORD pcbNeeded,
        !           856:     LPDWORD pcReturned
        !           857: );
        !           858: 
        !           859: #ifdef UNICODE
        !           860: #define EnumPrintProcessors EnumPrintProcessorsW
        !           861: #else
        !           862: #define EnumPrintProcessors EnumPrintProcessorsA
        !           863: #endif // !UNICODE
        !           864: 
        !           865: BOOL
        !           866: WINAPI
        !           867: GetPrintProcessorDirectoryA(
        !           868:     LPSTR   pName,
        !           869:     LPSTR   pEnvironment,
1.1.1.2   root      870:     DWORD   Level,
                    871:     LPBYTE  pPrintProcessorInfo,
                    872:     DWORD   cbBuf,
                    873:     LPDWORD pcbNeeded
1.1       root      874: );
                    875: 
                    876: BOOL
1.1.1.2   root      877: WINAPI
1.1.1.3 ! root      878: GetPrintProcessorDirectoryW(
        !           879:     LPWSTR  pName,
        !           880:     LPWSTR  pEnvironment,
        !           881:     DWORD   Level,
        !           882:     LPBYTE  pPrintProcessorInfo,
        !           883:     DWORD   cbBuf,
        !           884:     LPDWORD pcbNeeded
        !           885: );
        !           886: 
        !           887: #ifdef UNICODE
        !           888: #define GetPrintProcessorDirectory GetPrintProcessorDirectoryW
        !           889: #else
        !           890: #define GetPrintProcessorDirectory GetPrintProcessorDirectoryA
        !           891: #endif // !UNICODE
        !           892: 
        !           893: DWORD
        !           894: WINAPI
        !           895: StartDocPrinterA(
        !           896:     HANDLE  hPrinter,
        !           897:     DWORD   Level,
        !           898:     LPBYTE  pDocInfo
        !           899: );
        !           900: 
        !           901: DWORD
        !           902: WINAPI
        !           903: StartDocPrinterW(
1.1.1.2   root      904:     HANDLE  hPrinter,
                    905:     DWORD   Level,
                    906:     LPBYTE  pDocInfo
1.1       root      907: );
                    908: 
1.1.1.3 ! root      909: #ifdef UNICODE
        !           910: #define StartDocPrinter StartDocPrinterW
        !           911: #else
        !           912: #define StartDocPrinter StartDocPrinterA
        !           913: #endif // !UNICODE
        !           914: 
1.1       root      915: BOOL
1.1.1.2   root      916: WINAPI
                    917: StartPagePrinter(
                    918:     HANDLE  hPrinter
1.1       root      919: );
                    920: 
                    921: BOOL
1.1.1.2   root      922: WINAPI
                    923: WritePrinter(
                    924:     HANDLE  hPrinter,
                    925:     LPVOID  pBuf,
                    926:     DWORD   cbBuf,
                    927:     LPDWORD pcWritten
1.1       root      928: );
                    929: 
                    930: BOOL
1.1.1.2   root      931: WINAPI
                    932: EndPagePrinter(
                    933:    HANDLE   hPrinter
1.1       root      934: );
                    935: 
                    936: BOOL
1.1.1.2   root      937: WINAPI
                    938: AbortPrinter(
                    939:    HANDLE   hPrinter
1.1       root      940: );
                    941: 
                    942: BOOL
1.1.1.2   root      943: WINAPI
                    944: ReadPrinter(
                    945:     HANDLE  hPrinter,
                    946:     LPVOID  pBuf,
                    947:     DWORD   cbBuf,
                    948:     LPDWORD pNoBytesRead
1.1       root      949: );
                    950: 
                    951: BOOL
1.1.1.2   root      952: WINAPI
                    953: EndDocPrinter(
                    954:    HANDLE   hPrinter
1.1       root      955: );
                    956: 
                    957: BOOL
1.1.1.2   root      958: WINAPI
1.1.1.3 ! root      959: AddJobA(
1.1.1.2   root      960:     HANDLE  hPrinter,
                    961:     DWORD   Level,
                    962:     LPBYTE  pData,
                    963:     DWORD   cbBuf,
                    964:     LPDWORD pcbNeeded
                    965: );
                    966: 
                    967: BOOL
                    968: WINAPI
1.1.1.3 ! root      969: AddJobW(
        !           970:     HANDLE  hPrinter,
        !           971:     DWORD   Level,
        !           972:     LPBYTE  pData,
        !           973:     DWORD   cbBuf,
        !           974:     LPDWORD pcbNeeded
        !           975: );
        !           976: 
        !           977: #ifdef UNICODE
        !           978: #define AddJob AddJobW
        !           979: #else
        !           980: #define AddJob AddJobA
        !           981: #endif // !UNICODE
        !           982: 
        !           983: BOOL
        !           984: WINAPI
1.1.1.2   root      985: ScheduleJob(
                    986:     HANDLE  hPrinter,
                    987:     DWORD   JobId
                    988: );
                    989: 
                    990: BOOL
                    991: WINAPI
1.1       root      992: PrinterProperties(
1.1.1.2   root      993:     HWND    hWnd,
                    994:     HANDLE  hPrinter
                    995: );
                    996: 
                    997: LONG
                    998: WINAPI
1.1.1.3 ! root      999: DocumentPropertiesA(
1.1.1.2   root     1000:     HWND    hWnd,
                   1001:     HANDLE  hPrinter,
                   1002:     LPSTR   pDeviceName,
1.1.1.3 ! root     1003:     PDEVMODEA pDevModeOutput,
        !          1004:     PDEVMODEA pDevModeInput,
1.1.1.2   root     1005:     DWORD   fMode
                   1006: );
                   1007: 
                   1008: LONG
                   1009: WINAPI
1.1.1.3 ! root     1010: DocumentPropertiesW(
        !          1011:     HWND    hWnd,
        !          1012:     HANDLE  hPrinter,
        !          1013:     LPWSTR  pDeviceName,
        !          1014:     PDEVMODEW pDevModeOutput,
        !          1015:     PDEVMODEW pDevModeInput,
        !          1016:     DWORD   fMode
        !          1017: );
        !          1018: 
        !          1019: #ifdef UNICODE
        !          1020: #define DocumentProperties DocumentPropertiesW
        !          1021: #else
        !          1022: #define DocumentProperties DocumentPropertiesA
        !          1023: #endif // !UNICODE
        !          1024: 
        !          1025: LONG
        !          1026: WINAPI
        !          1027: AdvancedDocumentPropertiesA(
1.1.1.2   root     1028:     HWND    hWnd,
                   1029:     HANDLE  hPrinter,
                   1030:     LPSTR   pDeviceName,
1.1.1.3 ! root     1031:     PDEVMODEA pDevModeOutput,
        !          1032:     PDEVMODEA pDevModeInput
1.1.1.2   root     1033: );
                   1034: 
1.1.1.3 ! root     1035: LONG
        !          1036: WINAPI
        !          1037: AdvancedDocumentPropertiesW(
        !          1038:     HWND    hWnd,
        !          1039:     HANDLE  hPrinter,
        !          1040:     LPWSTR  pDeviceName,
        !          1041:     PDEVMODEW pDevModeOutput,
        !          1042:     PDEVMODEW pDevModeInput
        !          1043: );
        !          1044: 
        !          1045: #ifdef UNICODE
        !          1046: #define AdvancedDocumentProperties AdvancedDocumentPropertiesW
        !          1047: #else
        !          1048: #define AdvancedDocumentProperties AdvancedDocumentPropertiesA
        !          1049: #endif // !UNICODE
        !          1050: 
1.1.1.2   root     1051: DWORD
                   1052: WINAPI
1.1.1.3 ! root     1053: GetPrinterDataA(
1.1.1.2   root     1054:     HANDLE   hPrinter,
1.1.1.3 ! root     1055:     LPSTR    pValueName,
1.1.1.2   root     1056:     LPDWORD  pType,
                   1057:     LPBYTE   pData,
                   1058:     DWORD    nSize,
                   1059:     LPDWORD  pcbNeeded
                   1060: );
                   1061: 
                   1062: DWORD
                   1063: WINAPI
1.1.1.3 ! root     1064: GetPrinterDataW(
        !          1065:     HANDLE   hPrinter,
        !          1066:     LPWSTR   pValueName,
        !          1067:     LPDWORD  pType,
        !          1068:     LPBYTE   pData,
        !          1069:     DWORD    nSize,
        !          1070:     LPDWORD  pcbNeeded
        !          1071: );
        !          1072: 
        !          1073: #ifdef UNICODE
        !          1074: #define GetPrinterData GetPrinterDataW
        !          1075: #else
        !          1076: #define GetPrinterData GetPrinterDataA
        !          1077: #endif // !UNICODE
        !          1078: 
        !          1079: DWORD
        !          1080: WINAPI
        !          1081: SetPrinterDataA(
1.1.1.2   root     1082:     HANDLE  hPrinter,
1.1.1.3 ! root     1083:     LPSTR   pValueName,
1.1.1.2   root     1084:     DWORD   Type,
                   1085:     LPBYTE  pData,
                   1086:     DWORD   cbData
                   1087: );
                   1088: 
1.1.1.3 ! root     1089: DWORD
        !          1090: WINAPI
        !          1091: SetPrinterDataW(
        !          1092:     HANDLE  hPrinter,
        !          1093:     LPWSTR  pValueName,
        !          1094:     DWORD   Type,
        !          1095:     LPBYTE  pData,
        !          1096:     DWORD   cbData
        !          1097: );
        !          1098: 
        !          1099: #ifdef UNICODE
        !          1100: #define SetPrinterData SetPrinterDataW
        !          1101: #else
        !          1102: #define SetPrinterData SetPrinterDataA
        !          1103: #endif // !UNICODE
        !          1104: 
        !          1105: DWORD
        !          1106: WINAPI
        !          1107: WaitForPrinterChange(
        !          1108:     HANDLE  hPrinter,
        !          1109:     DWORD   Flags
        !          1110: );
        !          1111: 
        !          1112: DWORD
        !          1113: WINAPI
        !          1114: PrinterMessageBoxA(
        !          1115:     HANDLE  hPrinter,
        !          1116:     DWORD   Error,
        !          1117:     HWND    hWnd,
        !          1118:     LPSTR   pText,
        !          1119:     LPSTR   pCaption,
        !          1120:     DWORD   dwType
        !          1121: );
        !          1122: 
        !          1123: DWORD
        !          1124: WINAPI
        !          1125: PrinterMessageBoxW(
        !          1126:     HANDLE  hPrinter,
        !          1127:     DWORD   Error,
        !          1128:     HWND    hWnd,
        !          1129:     LPWSTR  pText,
        !          1130:     LPWSTR  pCaption,
        !          1131:     DWORD   dwType
        !          1132: );
        !          1133: 
        !          1134: #ifdef UNICODE
        !          1135: #define PrinterMessageBox PrinterMessageBoxW
        !          1136: #else
        !          1137: #define PrinterMessageBox PrinterMessageBoxA
        !          1138: #endif // !UNICODE
        !          1139: 
        !          1140: #define PRINTER_ERROR_INFORMATION   0x80000000
        !          1141: #define PRINTER_ERROR_WARNING       0x40000000
        !          1142: #define PRINTER_ERROR_SEVERE        0x20000000
        !          1143: 
        !          1144: #define PRINTER_ERROR_OUTOFPAPER    0x00000001
        !          1145: #define PRINTER_ERROR_JAM           0x00000002
        !          1146: #define PRINTER_ERROR_OUTOFTONER    0x00000004
        !          1147: 
1.1.1.2   root     1148: BOOL
                   1149: WINAPI
                   1150: ClosePrinter(
                   1151:     HANDLE hPrinter
                   1152: );
                   1153: 
                   1154: BOOL
                   1155: WINAPI
1.1.1.3 ! root     1156: AddFormA(
1.1.1.2   root     1157:     HANDLE  hPrinter,
                   1158:     DWORD   Level,
                   1159:     LPBYTE  pForm
                   1160: );
                   1161: 
                   1162: BOOL
                   1163: WINAPI
1.1.1.3 ! root     1164: AddFormW(
        !          1165:     HANDLE  hPrinter,
        !          1166:     DWORD   Level,
        !          1167:     LPBYTE  pForm
        !          1168: );
        !          1169: 
        !          1170: #ifdef UNICODE
        !          1171: #define AddForm AddFormW
        !          1172: #else
        !          1173: #define AddForm AddFormA
        !          1174: #endif // !UNICODE
        !          1175: 
        !          1176: BOOL
        !          1177: WINAPI
        !          1178: DeleteFormA(
1.1.1.2   root     1179:     HANDLE  hPrinter,
                   1180:     LPSTR   pFormName
                   1181: );
                   1182: 
                   1183: BOOL
                   1184: WINAPI
1.1.1.3 ! root     1185: DeleteFormW(
        !          1186:     HANDLE  hPrinter,
        !          1187:     LPWSTR  pFormName
        !          1188: );
        !          1189: 
        !          1190: #ifdef UNICODE
        !          1191: #define DeleteForm DeleteFormW
        !          1192: #else
        !          1193: #define DeleteForm DeleteFormA
        !          1194: #endif // !UNICODE
        !          1195: 
        !          1196: BOOL
        !          1197: WINAPI
        !          1198: GetFormA(
1.1.1.2   root     1199:     HANDLE  hPrinter,
                   1200:     LPSTR   pFormName,
                   1201:     DWORD   Level,
                   1202:     LPBYTE  pForm,
                   1203:     DWORD   cbBuf,
                   1204:     LPDWORD pcbNeeded
                   1205: );
                   1206: 
                   1207: BOOL
                   1208: WINAPI
1.1.1.3 ! root     1209: GetFormW(
        !          1210:     HANDLE  hPrinter,
        !          1211:     LPWSTR  pFormName,
        !          1212:     DWORD   Level,
        !          1213:     LPBYTE  pForm,
        !          1214:     DWORD   cbBuf,
        !          1215:     LPDWORD pcbNeeded
        !          1216: );
        !          1217: 
        !          1218: #ifdef UNICODE
        !          1219: #define GetForm GetFormW
        !          1220: #else
        !          1221: #define GetForm GetFormA
        !          1222: #endif // !UNICODE
        !          1223: 
        !          1224: BOOL
        !          1225: WINAPI
        !          1226: SetFormA(
1.1.1.2   root     1227:     HANDLE  hPrinter,
                   1228:     LPSTR   pFormName,
                   1229:     DWORD   Level,
                   1230:     LPBYTE  pForm
                   1231: );
                   1232: 
                   1233: BOOL
                   1234: WINAPI
1.1.1.3 ! root     1235: SetFormW(
        !          1236:     HANDLE  hPrinter,
        !          1237:     LPWSTR  pFormName,
        !          1238:     DWORD   Level,
        !          1239:     LPBYTE  pForm
        !          1240: );
        !          1241: 
        !          1242: #ifdef UNICODE
        !          1243: #define SetForm SetFormW
        !          1244: #else
        !          1245: #define SetForm SetFormA
        !          1246: #endif // !UNICODE
        !          1247: 
        !          1248: BOOL
        !          1249: WINAPI
        !          1250: EnumFormsA(
        !          1251:     HANDLE  hPrinter,
        !          1252:     DWORD   Level,
        !          1253:     LPBYTE  pForm,
        !          1254:     DWORD   cbBuf,
        !          1255:     LPDWORD pcbNeeded,
        !          1256:     LPDWORD pcReturned
        !          1257: );
        !          1258: 
        !          1259: BOOL
        !          1260: WINAPI
        !          1261: EnumFormsW(
1.1.1.2   root     1262:     HANDLE  hPrinter,
                   1263:     DWORD   Level,
                   1264:     LPBYTE  pForm,
                   1265:     DWORD   cbBuf,
                   1266:     LPDWORD pcbNeeded,
                   1267:     LPDWORD pcReturned
                   1268: );
                   1269: 
1.1.1.3 ! root     1270: #ifdef UNICODE
        !          1271: #define EnumForms EnumFormsW
        !          1272: #else
        !          1273: #define EnumForms EnumFormsA
        !          1274: #endif // !UNICODE
        !          1275: 
1.1.1.2   root     1276: BOOL
                   1277: WINAPI
1.1.1.3 ! root     1278: EnumMonitorsA(
1.1.1.2   root     1279:     LPSTR   pName,
                   1280:     DWORD   Level,
                   1281:     LPBYTE  pMonitors,
                   1282:     DWORD   cbBuf,
                   1283:     LPDWORD pcbNeeded,
                   1284:     LPDWORD pcReturned
                   1285: );
                   1286: 
                   1287: BOOL
                   1288: WINAPI
1.1.1.3 ! root     1289: EnumMonitorsW(
        !          1290:     LPWSTR  pName,
        !          1291:     DWORD   Level,
        !          1292:     LPBYTE  pMonitors,
        !          1293:     DWORD   cbBuf,
        !          1294:     LPDWORD pcbNeeded,
        !          1295:     LPDWORD pcReturned
        !          1296: );
        !          1297: 
        !          1298: #ifdef UNICODE
        !          1299: #define EnumMonitors EnumMonitorsW
        !          1300: #else
        !          1301: #define EnumMonitors EnumMonitorsA
        !          1302: #endif // !UNICODE
        !          1303: 
        !          1304: BOOL
        !          1305: WINAPI
        !          1306: EnumPortsA(
1.1.1.2   root     1307:     LPSTR   pName,
                   1308:     DWORD   Level,
                   1309:     LPBYTE  pPorts,
                   1310:     DWORD   cbBuf,
                   1311:     LPDWORD pcbNeeded,
                   1312:     LPDWORD pcReturned
                   1313: );
                   1314: 
                   1315: BOOL
                   1316: WINAPI
1.1.1.3 ! root     1317: EnumPortsW(
        !          1318:     LPWSTR  pName,
        !          1319:     DWORD   Level,
        !          1320:     LPBYTE  pPorts,
        !          1321:     DWORD   cbBuf,
        !          1322:     LPDWORD pcbNeeded,
        !          1323:     LPDWORD pcReturned
        !          1324: );
        !          1325: 
        !          1326: #ifdef UNICODE
        !          1327: #define EnumPorts EnumPortsW
        !          1328: #else
        !          1329: #define EnumPorts EnumPortsA
        !          1330: #endif // !UNICODE
        !          1331: 
        !          1332: BOOL
        !          1333: WINAPI
        !          1334: AddPortA(
1.1.1.2   root     1335:     LPSTR   pName,
                   1336:     HWND    hWnd,
                   1337:     LPSTR   pMonitorName
                   1338: );
                   1339: 
                   1340: BOOL
                   1341: WINAPI
1.1.1.3 ! root     1342: AddPortW(
        !          1343:     LPWSTR  pName,
        !          1344:     HWND    hWnd,
        !          1345:     LPWSTR  pMonitorName
        !          1346: );
        !          1347: 
        !          1348: #ifdef UNICODE
        !          1349: #define AddPort AddPortW
        !          1350: #else
        !          1351: #define AddPort AddPortA
        !          1352: #endif // !UNICODE
        !          1353: 
        !          1354: BOOL
        !          1355: WINAPI
        !          1356: ConfigurePortA(
1.1.1.2   root     1357:     LPSTR   pName,
                   1358:     HWND    hWnd,
                   1359:     LPSTR   pPortName
                   1360: );
                   1361: 
                   1362: BOOL
                   1363: WINAPI
1.1.1.3 ! root     1364: ConfigurePortW(
        !          1365:     LPWSTR  pName,
        !          1366:     HWND    hWnd,
        !          1367:     LPWSTR  pPortName
        !          1368: );
        !          1369: 
        !          1370: #ifdef UNICODE
        !          1371: #define ConfigurePort ConfigurePortW
        !          1372: #else
        !          1373: #define ConfigurePort ConfigurePortA
        !          1374: #endif // !UNICODE
        !          1375: 
        !          1376: BOOL
        !          1377: WINAPI
        !          1378: DeletePortA(
1.1.1.2   root     1379:     LPSTR   pName,
                   1380:     HWND    hWnd,
                   1381:     LPSTR   pPortName
1.1       root     1382: );
                   1383: 
1.1.1.3 ! root     1384: BOOL
        !          1385: WINAPI
        !          1386: DeletePortW(
        !          1387:     LPWSTR  pName,
        !          1388:     HWND    hWnd,
        !          1389:     LPWSTR  pPortName
        !          1390: );
        !          1391: 
        !          1392: #ifdef UNICODE
        !          1393: #define DeletePort DeletePortW
        !          1394: #else
        !          1395: #define DeletePort DeletePortA
        !          1396: #endif // !UNICODE
        !          1397: 
        !          1398: BOOL
        !          1399: WINAPI
        !          1400: AddPrinterConnectionA(
        !          1401:     LPSTR   pName
        !          1402: );
        !          1403: 
        !          1404: BOOL
        !          1405: WINAPI
        !          1406: AddPrinterConnectionW(
        !          1407:     LPWSTR  pName
        !          1408: );
        !          1409: 
        !          1410: #ifdef UNICODE
        !          1411: #define AddPrinterConnection AddPrinterConnectionW
        !          1412: #else
        !          1413: #define AddPrinterConnection AddPrinterConnectionA
        !          1414: #endif // !UNICODE
        !          1415: 
        !          1416: BOOL
        !          1417: WINAPI
        !          1418: DeletePrinterConnectionA(
        !          1419:     LPSTR   pName
        !          1420: );
        !          1421: 
        !          1422: BOOL
        !          1423: WINAPI
        !          1424: DeletePrinterConnectionW(
        !          1425:     LPWSTR  pName
        !          1426: );
        !          1427: 
        !          1428: #ifdef UNICODE
        !          1429: #define DeletePrinterConnection DeletePrinterConnectionW
        !          1430: #else
        !          1431: #define DeletePrinterConnection DeletePrinterConnectionA
        !          1432: #endif // !UNICODE
        !          1433: 
        !          1434: HANDLE
        !          1435: WINAPI
        !          1436: ConnectToPrinterDlg(
        !          1437:     HWND    hwnd,
        !          1438:     DWORD   Flags
        !          1439: );
        !          1440: 
1.1       root     1441: #endif // _WINSPOOL_

unix.superglobalmegacorp.com

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