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

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.2 ! root       24: typedef struct _PRINTER_INFO_1 {
        !            25:     DWORD   Flags;
        !            26:     LPTSTR  pDescription;
        !            27:     LPTSTR  pName;
        !            28:     LPTSTR  pComment;
        !            29: } PRINTER_INFO_1, *PPRINTER_INFO_1, *LPPRINTER_INFO_1;
        !            30: 
        !            31: typedef struct _PRINTER_INFO_2 {
        !            32:     LPTSTR  pServerName;
        !            33:     LPTSTR  pPrinterName;
        !            34:     LPTSTR  pShareName;
        !            35:     LPTSTR  pPortName;
        !            36:     LPTSTR  pDriverName;
        !            37:     LPTSTR  pComment;
        !            38:     LPTSTR  pLocation;
        !            39:     LPDEVMODE pDevMode;
        !            40:     LPTSTR  pSepFile;
        !            41:     LPTSTR  pPrintProcessor;
        !            42:     LPTSTR  pDatatype;
        !            43:     LPTSTR  pParameters;
        !            44:     PSECURITY_DESCRIPTOR pSecurityDescriptor;
        !            45:     DWORD   Attributes;
        !            46:     DWORD   Priority;
        !            47:     DWORD   DefaultPriority;
        !            48:     DWORD   StartTime;
        !            49:     DWORD   UntilTime;
        !            50:     DWORD   Status;
        !            51:     DWORD   cJobs;
        !            52:     DWORD   AveragePPM;
        !            53: } PRINTER_INFO_2, *PPRINTER_INFO_2, *LPPRINTER_INFO_2;
        !            54: 
        !            55: #define PRINTER_CONTROL_PAUSE            1
        !            56: #define PRINTER_CONTROL_RESUME           2
        !            57: #define PRINTER_CONTROL_PURGE            3
1.1       root       58: 
1.1.1.2 ! root       59: #define PRINTER_STATUS_PAUSED            0x00000001
        !            60: #define PRINTER_STATUS_ERROR             0x00000002
1.1       root       61: #define PRINTER_STATUS_PENDING_DELETION  0x00000004
                     62: 
1.1.1.2 ! root       63: #define PRINTER_ATTRIBUTE_QUEUED         0x00000001
        !            64: #define PRINTER_ATTRIBUTE_DIRECT         0x00000002
        !            65: #define PRINTER_ATTRIBUTE_DEFAULT        0x00000004
        !            66: #define PRINTER_ATTRIBUTE_SHARED         0x00000008
1.1       root       67: 
                     68: #define NO_PRIORITY   0
                     69: #define MAX_PRIORITY 99
                     70: #define MIN_PRIORITY  1
                     71: #define DEF_PRIORITY  1
                     72: 
1.1.1.2 ! root       73: typedef struct _JOB_INFO_1 {
        !            74:    DWORD    JobId;
        !            75:    LPTSTR   pPrinterName;
        !            76:    LPTSTR   pMachineName;
        !            77:    LPTSTR   pUserName;
        !            78:    LPTSTR   pDocument;
        !            79:    LPTSTR   pDatatype;
        !            80:    LPTSTR   pStatus;
        !            81:    DWORD    Status;
        !            82:    DWORD    Priority;
        !            83:    DWORD    Position;
        !            84: } JOB_INFO_1, *PJOB_INFO_1, *LPJOB_INFO_1;
        !            85: 
        !            86: typedef struct _JOB_INFO_2 {
        !            87:    DWORD    JobId;
        !            88:    LPTSTR   pPrinterName;
        !            89:    LPTSTR   pMachineName;
        !            90:    LPTSTR   pUserName;
        !            91:    LPTSTR   pDocument;
        !            92:    LPTSTR   pNotifyName;
        !            93:    LPTSTR   pDatatype;
        !            94:    LPTSTR   pPrintProcessor;
        !            95:    LPTSTR   pParameters;
        !            96:    LPTSTR   pDriverName;
        !            97:    LPDEVMODE pDevMode;
        !            98:    LPTSTR   pStatus;
        !            99:    PSECURITY_DESCRIPTOR pSecurityDescriptor;
        !           100:    DWORD    Status;
        !           101:    DWORD    Priority;
        !           102:    DWORD    Position;
        !           103:    DWORD    StartTime;
        !           104:    DWORD    UntilTime;
        !           105:    DWORD    TotalPages;
        !           106:    DWORD    Size;
        !           107:    SYSTEMTIME Submitted;    // Time the job was spooled
        !           108:    DWORD    Time;           // How many seconds the job has been printing
        !           109: } JOB_INFO_2, *PJOB_INFO_2, *LPJOB_INFO_2;
1.1       root      110: 
                    111: #define JOB_CONTROL_PAUSE              1
                    112: #define JOB_CONTROL_RESUME             2
                    113: #define JOB_CONTROL_CANCEL             3
                    114: #define JOB_CONTROL_RESTART            4
                    115: 
1.1.1.2 ! root      116: #define JOB_STATUS_PAUSED     0x00000001
        !           117: #define JOB_STATUS_ERROR      0x00000002
        !           118: #define JOB_STATUS_DELETING   0x00000004
        !           119: #define JOB_STATUS_SPOOLING   0x00000008
        !           120: #define JOB_STATUS_PRINTING   0x00000010
        !           121: #define JOB_STATUS_OFFLINE    0x00000020
        !           122: #define JOB_STATUS_PAPEROUT   0x00000040
        !           123: #define JOB_STATUS_PRINTED    0x00000080
        !           124: 
        !           125: typedef struct _ADDJOB_INFO_1 {
        !           126:     LPTSTR  Path;
        !           127:     DWORD   JobId;
        !           128: } ADDJOB_INFO_1, *PADDJOB_INFO_1, *LPADDJOB_INFO_1;
        !           129: 
        !           130: typedef struct _DRIVER_INFO_1 {
        !           131:     LPTSTR  pName;              // QMS 810
        !           132: } DRIVER_INFO_1, *PDRIVER_INFO_1, *LPDRIVER_INFO_1;
        !           133: 
        !           134: typedef struct _DRIVER_INFO_2 {
        !           135:     DWORD   cVersion;
        !           136:     LPTSTR  pName;              // QMS 810
        !           137:     LPTSTR  pEnvironment;       // W32x86
        !           138:     LPTSTR  pDriverPath;        // c:\drivers\pscript.dll
        !           139:     LPTSTR  pDataFile;          // c:\drivers\QMS810.PPD
        !           140:     LPTSTR  pConfigFile;        // c:\drivers\PSCRPTUI.DLL
        !           141: } DRIVER_INFO_2, *PDRIVER_INFO_2, *LPDRIVER_INFO_2;
        !           142: 
        !           143: typedef struct _DOC_INFO_1 {
        !           144:     LPTSTR  pDocName;
        !           145:     LPTSTR  pOutputFile;
        !           146:     LPTSTR  pDatatype;
        !           147: } DOC_INFO_1, *PDOC_INFO_1, *LPDOC_INFO_1;
        !           148: 
        !           149: typedef struct _FORM_INFO_1 {
        !           150:     LPTSTR  pName;
        !           151:     SIZEL   Size;
        !           152:     RECTL   ImageableArea;
        !           153: } FORM_INFO_1, *PFORM_INFO_1, *LPFORM_INFO_1;
        !           154: 
        !           155: typedef struct _PRINTPROCESSOR_INFO_1 {
        !           156:     LPTSTR  pName;
        !           157: } PRINTPROCESSOR_INFO_1, *PPRINTPROCESSOR_INFO_1, *LPPRINTPROCESSOR_INFO_1;
        !           158: 
        !           159: typedef struct _PORT_INFO_1 {
        !           160:     LPSTR   pName;
        !           161: } PORT_INFO_1, *PPORT_INFO_1, *LPPORT_INFO_1;
        !           162: 
        !           163: typedef struct _MONITOR_INFO_1 {
        !           164:     LPSTR   pName;
        !           165: } MONITOR_INFO_1, *PMONITOR_INFO_1, *LPMONITOR_INFO_1;
        !           166: 
        !           167: typedef struct _DATATYPES_INFO_1 {
        !           168:     LPSTR   pName;
        !           169: } DATATYPES_INFO_1, *PDATATYPES_INFO_1, *LPDATATYPES_INFO_1;
        !           170: 
        !           171: typedef struct _PRINTER_DEFAULTS {
        !           172:     LPSTR   pDatatype;
        !           173:     LPDEVMODE pDevMode;
        !           174: } PRINTER_DEFAULTS, *PPRINTER_DEFAULTS, *LPPRINTER_DEFAULTS;
1.1       root      175: 
                    176: BOOL
1.1.1.2 ! root      177: WINAPI
        !           178: EnumPrinters(
        !           179:     DWORD   Flags,
        !           180:     LPTSTR  Name,
        !           181:     DWORD   Level,
        !           182:     LPBYTE  pPrinterEnum,
        !           183:     DWORD   cbBuf,
        !           184:     LPDWORD pcbNeeded,
        !           185:     LPDWORD pcReturned
        !           186: );
        !           187: 
        !           188: #define PRINTER_ENUM_DEFAULT    0x00000001
        !           189: #define PRINTER_ENUM_LOCAL      0x00000002
        !           190: #define PRINTER_ENUM_FAVORITE   0x00000004
        !           191: #define PRINTER_ENUM_NAME       0x00000008
        !           192: #define PRINTER_ENUM_REMOTE     0x00000010
        !           193: #define PRINTER_ENUM_SHARED     0x00000020
        !           194: 
        !           195: BOOL
        !           196: WINAPI
        !           197: OpenPrinter(
        !           198:    LPTSTR   pPrinterName,
        !           199:    LPHANDLE phPrinter,
        !           200:    LPPRINTER_DEFAULTS pDefault
        !           201: );
        !           202: 
        !           203: BOOL
        !           204: WINAPI
1.1       root      205: SetJob(
1.1.1.2 ! root      206:     HANDLE  hPrinter,
        !           207:     DWORD   JobId,
        !           208:     DWORD   Level,
        !           209:     LPBYTE  pJob,
        !           210:     DWORD   Command
1.1       root      211: );
                    212: 
                    213: BOOL
1.1.1.2 ! root      214: WINAPI
1.1       root      215: GetJob(
1.1.1.2 ! root      216:    HANDLE   hPrinter,
        !           217:    DWORD    JobId,
        !           218:    DWORD    Level,
        !           219:    LPBYTE   pJob,
        !           220:    DWORD    cbBuf,
        !           221:    LPDWORD  pcbNeeded
1.1       root      222: );
                    223: 
                    224: BOOL
1.1.1.2 ! root      225: WINAPI
1.1       root      226: EnumJobs(
1.1.1.2 ! root      227:     HANDLE  hPrinter,
        !           228:     DWORD   FirstJob,
        !           229:     DWORD   NoJobs,
        !           230:     DWORD   Level,
        !           231:     LPBYTE  pJob,
        !           232:     DWORD   cbBuf,
        !           233:     LPDWORD pcbNeeded,
        !           234:     LPDWORD pcReturned
1.1       root      235: );
                    236: 
1.1.1.2 ! root      237: HANDLE
        !           238: WINAPI
1.1       root      239: AddPrinter(
1.1.1.2 ! root      240:     LPSTR   pName,
        !           241:     DWORD   Level,
        !           242:     LPBYTE  pPrinter
1.1       root      243: );
                    244: 
                    245: BOOL
1.1.1.2 ! root      246: WINAPI
1.1       root      247: DeletePrinter(
1.1.1.2 ! root      248:    HANDLE   hPrinter
1.1       root      249: );
                    250: 
                    251: BOOL
1.1.1.2 ! root      252: WINAPI
1.1       root      253: SetPrinter(
1.1.1.2 ! root      254:     HANDLE  hPrinter,
        !           255:     DWORD   Level,
        !           256:     LPBYTE  pPrinter,
        !           257:     DWORD   Command
1.1       root      258: );
                    259: 
                    260: BOOL
1.1.1.2 ! root      261: WINAPI
1.1       root      262: GetPrinter(
1.1.1.2 ! root      263:     HANDLE  hPrinter,
        !           264:     DWORD   Level,
        !           265:     LPBYTE  pPrinter,
        !           266:     DWORD   cbBuf,
        !           267:     LPDWORD pcbNeeded
1.1       root      268: );
                    269: 
                    270: BOOL
1.1.1.2 ! root      271: WINAPI
        !           272: AddPrinterDriver(
        !           273:     LPTSTR  pName,
        !           274:     DWORD   Level,
        !           275:     LPBYTE  pDriverInfo
1.1       root      276: );
                    277: 
                    278: BOOL
1.1.1.2 ! root      279: WINAPI
        !           280: EnumPrinterDrivers(
        !           281:     LPTSTR  pName,
        !           282:     LPTSTR  pEnvironment,
        !           283:     DWORD   Level,
        !           284:     LPBYTE  pDriverInfo,
        !           285:     DWORD   cbBuf,
        !           286:     LPDWORD pcbNeeded,
        !           287:     LPDWORD pcReturned
1.1       root      288: );
                    289: 
                    290: BOOL
1.1.1.2 ! root      291: WINAPI
        !           292: GetPrinterDriver(
        !           293:     HANDLE  hPrinter,
        !           294:     LPTSTR  pEnvironment,
        !           295:     DWORD   Level,
        !           296:     LPBYTE  pDriverInfo,
        !           297:     DWORD   cbBuf,
        !           298:     LPDWORD pcbNeeded
1.1       root      299: );
                    300: 
                    301: BOOL
1.1.1.2 ! root      302: WINAPI
        !           303: GetPrinterDriverDirectory(
        !           304:     LPTSTR  pName,
        !           305:     LPTSTR  pEnvironment,
        !           306:     DWORD   Level,
        !           307:     LPBYTE  pDriverDirectory,
        !           308:     DWORD   cbBuf,
        !           309:     LPDWORD pcbNeeded
1.1       root      310: );
                    311: 
                    312: BOOL
1.1.1.2 ! root      313: WINAPI
        !           314: DeletePrinterDriver(
        !           315:    LPTSTR   pName,
        !           316:    LPTSTR   pEnvironment,
        !           317:    LPTSTR   pDriverName
1.1       root      318: );
                    319: 
                    320: BOOL
1.1.1.2 ! root      321: WINAPI
1.1       root      322: AddPrintProcessor(
1.1.1.2 ! root      323:     LPTSTR  pName,
        !           324:     LPTSTR  pEnvironment,
        !           325:     LPTSTR  pPathName,
        !           326:     LPTSTR  pPrintProcessorName
1.1       root      327: );
                    328: 
1.1.1.2 ! root      329: BOOL
        !           330: WINAPI
        !           331: EnumPrintProcessors(
        !           332:     LPTSTR  pName,
        !           333:     LPTSTR  pEnvironment,
        !           334:     DWORD   Level,
        !           335:     LPBYTE  pPrintProcessorInfo,
        !           336:     DWORD   cbBuf,
        !           337:     LPDWORD pcbNeeded,
        !           338:     LPDWORD pcReturned
1.1       root      339: );
                    340: 
                    341: BOOL
1.1.1.2 ! root      342: WINAPI
        !           343: GetPrintProcessorDirectory(
        !           344:     LPTSTR  pName,
        !           345:     LPTSTR  pEnvironment,
        !           346:     DWORD   Level,
        !           347:     LPBYTE  pPrintProcessorInfo,
        !           348:     DWORD   cbBuf,
        !           349:     LPDWORD pcbNeeded
1.1       root      350: );
                    351: 
                    352: BOOL
1.1.1.2 ! root      353: WINAPI
        !           354: StartDocPrinter(
        !           355:     HANDLE  hPrinter,
        !           356:     DWORD   Level,
        !           357:     LPBYTE  pDocInfo
1.1       root      358: );
                    359: 
                    360: BOOL
1.1.1.2 ! root      361: WINAPI
        !           362: StartPagePrinter(
        !           363:     HANDLE  hPrinter
1.1       root      364: );
                    365: 
                    366: BOOL
1.1.1.2 ! root      367: WINAPI
        !           368: WritePrinter(
        !           369:     HANDLE  hPrinter,
        !           370:     LPVOID  pBuf,
        !           371:     DWORD   cbBuf,
        !           372:     LPDWORD pcWritten
1.1       root      373: );
                    374: 
                    375: BOOL
1.1.1.2 ! root      376: WINAPI
        !           377: EndPagePrinter(
        !           378:    HANDLE   hPrinter
1.1       root      379: );
                    380: 
                    381: BOOL
1.1.1.2 ! root      382: WINAPI
        !           383: AbortPrinter(
        !           384:    HANDLE   hPrinter
1.1       root      385: );
                    386: 
                    387: BOOL
1.1.1.2 ! root      388: WINAPI
        !           389: ReadPrinter(
        !           390:     HANDLE  hPrinter,
        !           391:     LPVOID  pBuf,
        !           392:     DWORD   cbBuf,
        !           393:     LPDWORD pNoBytesRead
1.1       root      394: );
                    395: 
                    396: BOOL
1.1.1.2 ! root      397: WINAPI
        !           398: EndDocPrinter(
        !           399:    HANDLE   hPrinter
1.1       root      400: );
                    401: 
                    402: BOOL
1.1.1.2 ! root      403: WINAPI
        !           404: AddJob(
        !           405:     HANDLE  hPrinter,
        !           406:     DWORD   Level,
        !           407:     LPBYTE  pData,
        !           408:     DWORD   cbBuf,
        !           409:     LPDWORD pcbNeeded
        !           410: );
        !           411: 
        !           412: BOOL
        !           413: WINAPI
        !           414: ScheduleJob(
        !           415:     HANDLE  hPrinter,
        !           416:     DWORD   JobId
        !           417: );
        !           418: 
        !           419: BOOL
        !           420: WINAPI
1.1       root      421: PrinterProperties(
1.1.1.2 ! root      422:     HWND    hWnd,
        !           423:     HANDLE  hPrinter
        !           424: );
        !           425: 
        !           426: LONG
        !           427: WINAPI
        !           428: DocumentProperties(
        !           429:     HWND    hWnd,
        !           430:     HANDLE  hPrinter,
        !           431:     LPSTR   pDeviceName,
        !           432:     PDEVMODE pDevModeOutput,
        !           433:     PDEVMODE pDevModeInput,
        !           434:     DWORD   fMode
        !           435: );
        !           436: 
        !           437: LONG
        !           438: WINAPI
        !           439: AdvancedDocumentProperties(
        !           440:     HWND    hWnd,
        !           441:     HANDLE  hPrinter,
        !           442:     LPSTR   pDeviceName,
        !           443:     PDEVMODE pDevModeOutput,
        !           444:     PDEVMODE pDevModeInput
        !           445: );
        !           446: 
        !           447: DWORD
        !           448: WINAPI
        !           449: GetPrinterData(
        !           450:     HANDLE   hPrinter,
        !           451:     LPTSTR   pValueName,
        !           452:     LPDWORD  pType,
        !           453:     LPBYTE   pData,
        !           454:     DWORD    nSize,
        !           455:     LPDWORD  pcbNeeded
        !           456: );
        !           457: 
        !           458: DWORD
        !           459: WINAPI
        !           460: SetPrinterData(
        !           461:     HANDLE  hPrinter,
        !           462:     LPTSTR  pValueName,
        !           463:     DWORD   Type,
        !           464:     LPBYTE  pData,
        !           465:     DWORD   cbData
        !           466: );
        !           467: 
        !           468: BOOL
        !           469: WINAPI
        !           470: ClosePrinter(
        !           471:     HANDLE hPrinter
        !           472: );
        !           473: 
        !           474: BOOL
        !           475: WINAPI
        !           476: AddForm(
        !           477:     HANDLE  hPrinter,
        !           478:     DWORD   Level,
        !           479:     LPBYTE  pForm
        !           480: );
        !           481: 
        !           482: BOOL
        !           483: WINAPI
        !           484: DeleteForm(
        !           485:     HANDLE  hPrinter,
        !           486:     LPSTR   pFormName
        !           487: );
        !           488: 
        !           489: BOOL
        !           490: WINAPI
        !           491: GetForm(
        !           492:     HANDLE  hPrinter,
        !           493:     LPSTR   pFormName,
        !           494:     DWORD   Level,
        !           495:     LPBYTE  pForm,
        !           496:     DWORD   cbBuf,
        !           497:     LPDWORD pcbNeeded
        !           498: );
        !           499: 
        !           500: BOOL
        !           501: WINAPI
        !           502: SetForm(
        !           503:     HANDLE  hPrinter,
        !           504:     LPSTR   pFormName,
        !           505:     DWORD   Level,
        !           506:     LPBYTE  pForm
        !           507: );
        !           508: 
        !           509: BOOL
        !           510: WINAPI
        !           511: EnumForms(
        !           512:     HANDLE  hPrinter,
        !           513:     DWORD   Level,
        !           514:     LPBYTE  pForm,
        !           515:     DWORD   cbBuf,
        !           516:     LPDWORD pcbNeeded,
        !           517:     LPDWORD pcReturned
        !           518: );
        !           519: 
        !           520: BOOL
        !           521: WINAPI
        !           522: EnumMonitors(
        !           523:     LPSTR   pName,
        !           524:     DWORD   Level,
        !           525:     LPBYTE  pMonitors,
        !           526:     DWORD   cbBuf,
        !           527:     LPDWORD pcbNeeded,
        !           528:     LPDWORD pcReturned
        !           529: );
        !           530: 
        !           531: BOOL
        !           532: WINAPI
        !           533: EnumPorts(
        !           534:     LPSTR   pName,
        !           535:     DWORD   Level,
        !           536:     LPBYTE  pPorts,
        !           537:     DWORD   cbBuf,
        !           538:     LPDWORD pcbNeeded,
        !           539:     LPDWORD pcReturned
        !           540: );
        !           541: 
        !           542: BOOL
        !           543: WINAPI
        !           544: AddPort(
        !           545:     LPSTR   pName,
        !           546:     HWND    hWnd,
        !           547:     LPSTR   pMonitorName
        !           548: );
        !           549: 
        !           550: BOOL
        !           551: WINAPI
        !           552: ConfigurePort(
        !           553:     LPSTR   pName,
        !           554:     HWND    hWnd,
        !           555:     LPSTR   pPortName
        !           556: );
        !           557: 
        !           558: BOOL
        !           559: WINAPI
        !           560: DeletePort(
        !           561:     LPSTR   pName,
        !           562:     HWND    hWnd,
        !           563:     LPSTR   pPortName
1.1       root      564: );
                    565: 
                    566: #endif // _WINSPOOL_

unix.superglobalmegacorp.com

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