home *** CD-ROM | disk | FTP | other *** search
- //--------------------------------------------------------------
- //
- // WINSPOOL.H
- //
- // This file contains type declarations and constants for
- // the Windows printing API. The function prototypes
- // are stored in the file WINSPOOL.PRG.
- //
- //
- // Visual dBASE Samples Group
- //
- // $Revision: 1.2 $
- //
- // Portions copyright (c) 1990-1995, Microsoft Corp.
- //
- //--------------------------------------------------------------
- //
- // Module Name:
- //
- // WinSpool.h
- //
- // Abstract:
- //
- // Header file for Print APIs
- //
-
- #ifndef _WINSPOOL_
- #define _WINSPOOL_
-
- #include <WINDEF.H>
-
- #define PPRINTER_INFO_1 PSTRUCTURE
- #define LPPRINTER_INFO_1 LPSTRUCTURE
-
- #define PPRINTER_INFO_2 PSTRUCTURE
- #define LPPRINTER_INFO_2 LPSTRUCTURE
-
- #define PPRINTER_INFO_3 PSTRUCTURE
- #define LPPRINTER_INFO_3 LPSTRUCTURE
-
- #define PPRINTER_INFO_4 PSTRUCTURE
- #define LPPRINTER_INFO_4 LPSTRUCTURE
-
- #define PPRINTER_INFO_5 PSTRUCTURE
- #define LPPRINTER_INFO_5 LPSTRUCTURE
-
- #define PRINTER_CONTROL_PAUSE 1
- #define PRINTER_CONTROL_RESUME 2
- #define PRINTER_CONTROL_PURGE 3
- #define PRINTER_CONTROL_SET_STATUS 4
-
- #define PRINTER_STATUS_PAUSED 0x00000001
- #define PRINTER_STATUS_ERROR 0x00000002
- #define PRINTER_STATUS_PENDING_DELETION 0x00000004
- #define PRINTER_STATUS_PAPER_JAM 0x00000008
- #define PRINTER_STATUS_PAPER_OUT 0x00000010
- #define PRINTER_STATUS_MANUAL_FEED 0x00000020
- #define PRINTER_STATUS_PAPER_PROBLEM 0x00000040
- #define PRINTER_STATUS_OFFLINE 0x00000080
- #define PRINTER_STATUS_IO_ACTIVE 0x00000100
- #define PRINTER_STATUS_BUSY 0x00000200
- #define PRINTER_STATUS_PRINTING 0x00000400
- #define PRINTER_STATUS_OUTPUT_BIN_FULL 0x00000800
- #define PRINTER_STATUS_NOT_AVAILABLE 0x00001000
- #define PRINTER_STATUS_WAITING 0x00002000
- #define PRINTER_STATUS_PROCESSING 0x00004000
- #define PRINTER_STATUS_INITIALIZING 0x00008000
- #define PRINTER_STATUS_WARMING_UP 0x00010000
- #define PRINTER_STATUS_TONER_LOW 0x00020000
- #define PRINTER_STATUS_NO_TONER 0x00040000
- #define PRINTER_STATUS_PAGE_PUNT 0x00080000
- #define PRINTER_STATUS_USER_INTERVENTION 0x00100000
- #define PRINTER_STATUS_OUT_OF_MEMORY 0x00200000
- #define PRINTER_STATUS_DOOR_OPEN 0x00400000
- #define PRINTER_STATUS_SERVER_UNKNOWN 0x00800000
- #define PRINTER_STATUS_POWER_SAVE 0x01000000
-
- #define PRINTER_ATTRIBUTE_QUEUED 0x00000001
- #define PRINTER_ATTRIBUTE_DIRECT 0x00000002
- #define PRINTER_ATTRIBUTE_DEFAULT 0x00000004
- #define PRINTER_ATTRIBUTE_SHARED 0x00000008
- #define PRINTER_ATTRIBUTE_NETWORK 0x00000010
- #define PRINTER_ATTRIBUTE_HIDDEN 0x00000020
- #define PRINTER_ATTRIBUTE_LOCAL 0x00000040
-
- #define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x00000080
- #define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x00000100
- #define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x00000200
-
- #define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x00000400
- #define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x00000800
-
- #define NO_PRIORITY 0
- #define MAX_PRIORITY 99
- #define MIN_PRIORITY 1
- #define DEF_PRIORITY 1
-
- #define PJOB_INFO_1 PSTRUCTURE
- #define LPJOB_INFO_1 LPSTRUCTURE
-
- #define PJOB_INFO_2 PSTRUCTURE
- #define LPJOB_INFO_2 LPSTRUCTURE
-
- #define JOB_CONTROL_PAUSE 1
- #define JOB_CONTROL_RESUME 2
- #define JOB_CONTROL_CANCEL 3
- #define JOB_CONTROL_RESTART 4
- #define JOB_CONTROL_DELETE 5
-
- #define JOB_STATUS_PAUSED 0x00000001
- #define JOB_STATUS_ERROR 0x00000002
- #define JOB_STATUS_DELETING 0x00000004
- #define JOB_STATUS_SPOOLING 0x00000008
- #define JOB_STATUS_PRINTING 0x00000010
- #define JOB_STATUS_OFFLINE 0x00000020
- #define JOB_STATUS_PAPEROUT 0x00000040
- #define JOB_STATUS_PRINTED 0x00000080
- #define JOB_STATUS_DELETED 0x00000100
- #define JOB_STATUS_BLOCKED_DEVQ 0x00000200
- #define JOB_STATUS_USER_INTERVENTION 0x00000400
-
- #define JOB_POSITION_UNSPECIFIED 0
-
- #define PADDJOB_INFO_1 PSTRUCTURE
- #define LPADDJOB_INFO_1 LPSTRUCTURE
-
- #define PDRIVER_INFO_1 PSTRUCTURE
- #define LPDRIVER_INFO_1 LPSTRUCTURE
-
- #define PDRIVER_INFO_2 PSTRUCTURE
- #define LPDRIVER_INFO_2 LPSTRUCTURE
-
- #define PDRIVER_INFO_3 PSTRUCTURE
- #define LPDRIVER_INFO_3 LPSTRUCTURE
-
- #define PDOC_INFO_1 PSTRUCTURE
- #define LPDOC_INFO_1 LPSTRUCTURE
-
- #define PFORM_INFO_1 PSTRUCTURE
- #define LPFORM_INFO_1 LPSTRUCTURE
-
- #define PDOC_INFO_2 PSTRUCTURE
- #define LPDOC_INFO_2 LPSTRUCTURE
-
- #define DI_CHANNEL 1 && start direct read/write channel,
- #define DI_CHANNEL_WRITE 2 && Direct write only - background read thread ok
- #define DI_READ_SPOOL_JOB 3
-
- #define FORM_BUILTIN 0x00000001
-
- #define PPRINTPROCESSOR_INFO_1 PSTRUCTURE
- #define LPPRINTPROCESSOR_INFO_1 LPSTRUCTURE
-
- #define PPORT_INFO_1 PSTRUCTURE
- #define LPPORT_INFO_1 LPSTRUCTURE
-
- #define PPORT_INFO_2 PSTRUCTURE
- #define LPPORT_INFO_2 LPSTRUCTURE
-
- #define PORT_TYPE_WRITE 0x0001
- #define PORT_TYPE_READ 0x0002
- #define PORT_TYPE_REDIRECTED 0x0004
- #define PORT_TYPE_NET_ATTACHED 0x0008
-
- #define PMONITOR_INFO_1 PSTRUCTURE
- #define LPMONITOR_INFO_1 LPSTRUCTURE
-
- #define PMONITOR_INFO_2 PSTRUCTURE
- #define LPMONITOR_INFO_2 LPSTRUCTURE
-
- #define PDATATYPES_INFO_1 PSTRUCTURE
- #define LPDATATYPES_INFO_1 LPSTRUCTURE
-
- #define PPRINTER_DEFAULTS PSTRUCTURE
- #define LPPRINTER_DEFAULTS LPSTRUCTURE
-
- #define PRINTER_ENUM_DEFAULT 0x00000001
- #define PRINTER_ENUM_LOCAL 0x00000002
- #define PRINTER_ENUM_CONNECTIONS 0x00000004
- #define PRINTER_ENUM_FAVORITE 0x00000004
- #define PRINTER_ENUM_NAME 0x00000008
- #define PRINTER_ENUM_REMOTE 0x00000010
- #define PRINTER_ENUM_SHARED 0x00000020
- #define PRINTER_ENUM_NETWORK 0x00000040
-
- #define PRINTER_ENUM_EXPAND 0x00004000
- #define PRINTER_ENUM_CONTAINER 0x00008000
-
- #define PRINTER_ENUM_ICONMASK 0x00ff0000
- #define PRINTER_ENUM_ICON1 0x00010000
- #define PRINTER_ENUM_ICON2 0x00020000
- #define PRINTER_ENUM_ICON3 0x00040000
- #define PRINTER_ENUM_ICON4 0x00080000
- #define PRINTER_ENUM_ICON5 0x00100000
- #define PRINTER_ENUM_ICON6 0x00200000
- #define PRINTER_ENUM_ICON7 0x00400000
- #define PRINTER_ENUM_ICON8 0x00800000
-
- #define PRINTER_NOTIFY_TYPE 0x00
- #define JOB_NOTIFY_TYPE 0x01
-
- #define PRINTER_NOTIFY_FIELD_SERVER_NAME 0x00
- #define PRINTER_NOTIFY_FIELD_PRINTER_NAME 0x01
- #define PRINTER_NOTIFY_FIELD_SHARE_NAME 0x02
- #define PRINTER_NOTIFY_FIELD_PORT_NAME 0x03
- #define PRINTER_NOTIFY_FIELD_DRIVER_NAME 0x04
- #define PRINTER_NOTIFY_FIELD_COMMENT 0x05
- #define PRINTER_NOTIFY_FIELD_LOCATION 0x06
- #define PRINTER_NOTIFY_FIELD_DEVMODE 0x07
- #define PRINTER_NOTIFY_FIELD_SEPFILE 0x08
- #define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 0x09
- #define PRINTER_NOTIFY_FIELD_PARAMETERS 0x0A
- #define PRINTER_NOTIFY_FIELD_DATATYPE 0x0B
- #define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0C
- #define PRINTER_NOTIFY_FIELD_ATTRIBUTES 0x0D
- #define PRINTER_NOTIFY_FIELD_PRIORITY 0x0E
- #define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 0x0F
- #define PRINTER_NOTIFY_FIELD_START_TIME 0x10
- #define PRINTER_NOTIFY_FIELD_UNTIL_TIME 0x11
- #define PRINTER_NOTIFY_FIELD_STATUS 0x12
- #define PRINTER_NOTIFY_FIELD_STATUS_STRING 0x13
- #define PRINTER_NOTIFY_FIELD_CJOBS 0x14
- #define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 0x15
- #define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 0x16
- #define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 0x17
- #define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 0x18
- #define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 0x19
-
- #define JOB_NOTIFY_FIELD_PRINTER_NAME 0x00
- #define JOB_NOTIFY_FIELD_MACHINE_NAME 0x01
- #define JOB_NOTIFY_FIELD_PORT_NAME 0x02
- #define JOB_NOTIFY_FIELD_USER_NAME 0x03
- #define JOB_NOTIFY_FIELD_NOTIFY_NAME 0x04
- #define JOB_NOTIFY_FIELD_DATATYPE 0x05
- #define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 0x06
- #define JOB_NOTIFY_FIELD_PARAMETERS 0x07
- #define JOB_NOTIFY_FIELD_DRIVER_NAME 0x08
- #define JOB_NOTIFY_FIELD_DEVMODE 0x09
- #define JOB_NOTIFY_FIELD_STATUS 0x0A
- #define JOB_NOTIFY_FIELD_STATUS_STRING 0x0B
- #define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0C
- #define JOB_NOTIFY_FIELD_DOCUMENT 0x0D
- #define JOB_NOTIFY_FIELD_PRIORITY 0x0E
- #define JOB_NOTIFY_FIELD_POSITION 0x0F
- #define JOB_NOTIFY_FIELD_SUBMITTED 0x10
- #define JOB_NOTIFY_FIELD_START_TIME 0x11
- #define JOB_NOTIFY_FIELD_UNTIL_TIME 0x12
- #define JOB_NOTIFY_FIELD_TIME 0x13
- #define JOB_NOTIFY_FIELD_TOTAL_PAGES 0x14
- #define JOB_NOTIFY_FIELD_PAGES_PRINTED 0x15
- #define JOB_NOTIFY_FIELD_TOTAL_BYTES 0x16
- #define JOB_NOTIFY_FIELD_BYTES_PRINTED 0x17
-
-
- #define PPRINTER_NOTIFY_OPTIONS_TYPE PSTRUCTURE
- #define LPPRINTER_NOTIFY_OPTIONS_TYPE LPSTRUCTURE
-
- #define PRINTER_NOTIFY_OPTIONS_REFRESH 0x01
-
- #define PPRINTER_NOTIFY_OPTIONS PSTRUCTURE
- #define LPPRINTER_NOTIFY_OPTIONS LPSTRUCTURE
-
- #define PRINTER_NOTIFY_INFO_DISCARDED 0x01
-
- #define PPRINTER_NOTIFY_INFO_DATA PSTRUCTURE
- #define LPPRINTER_NOTIFY_INFO_DATA LPSTRUCTURE
-
- #define PPRINTER_NOTIFY_INFO PSTRUCTURE
- #define LPPRINTER_NOTIFY_INFO LPSTRUCTURE
-
- #define PRINTER_CHANGE_ADD_PRINTER 0x00000001
- #define PRINTER_CHANGE_SET_PRINTER 0x00000002
- #define PRINTER_CHANGE_DELETE_PRINTER 0x00000004
- #define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 0x00000008
- #define PRINTER_CHANGE_PRINTER 0x000000FF
- #define PRINTER_CHANGE_ADD_JOB 0x00000100
- #define PRINTER_CHANGE_SET_JOB 0x00000200
- #define PRINTER_CHANGE_DELETE_JOB 0x00000400
- #define PRINTER_CHANGE_WRITE_JOB 0x00000800
- #define PRINTER_CHANGE_JOB 0x0000FF00
- #define PRINTER_CHANGE_ADD_FORM 0x00010000
- #define PRINTER_CHANGE_SET_FORM 0x00020000
- #define PRINTER_CHANGE_DELETE_FORM 0x00040000
- #define PRINTER_CHANGE_FORM 0x00070000
- #define PRINTER_CHANGE_ADD_PORT 0x00100000
- #define PRINTER_CHANGE_CONFIGURE_PORT 0x00200000
- #define PRINTER_CHANGE_DELETE_PORT 0x00400000
- #define PRINTER_CHANGE_PORT 0x00700000
- #define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x01000000
- #define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR 0x04000000
- #define PRINTER_CHANGE_PRINT_PROCESSOR 0x07000000
- #define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000
- #define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000
- #define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000
- #define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000
- #define PRINTER_CHANGE_TIMEOUT 0x80000000
- #define PRINTER_CHANGE_ALL 0x7777FFFF
-
- #define PRINTER_ERROR_INFORMATION 0x80000000
- #define PRINTER_ERROR_WARNING 0x40000000
- #define PRINTER_ERROR_SEVERE 0x20000000
-
- #define PRINTER_ERROR_OUTOFPAPER 0x00000001
- #define PRINTER_ERROR_JAM 0x00000002
- #define PRINTER_ERROR_OUTOFTONER 0x00000004
-
- #define PPROVIDOR_INFO_1 PSTRUCTURE
- #define LPPROVIDOR_INFO_1 LPSTRUCTURE
-
- #define SERVER_ACCESS_ADMINISTER 0x00000001
- #define SERVER_ACCESS_ENUMERATE 0x00000002
-
- #define PRINTER_ACCESS_ADMINISTER 0x00000004
- #define PRINTER_ACCESS_USE 0x00000008
-
- #define JOB_ACCESS_ADMINISTER 0x00000010
-
-
- //
- // Access rights for print servers
- //
-
- #define SERVER_ALL_ACCESS (bitor(bitor(STANDARD_RIGHTS_REQUIRED, SERVER_ACCESS_ADMINISTER), SERVER_ACCESS_ENUMERATE))
- #define SERVER_READ (bitor(STANDARD_RIGHTS_READ, SERVER_ACCESS_ENUMERATE))
- #define SERVER_WRITE (bitor(bitor(STANDARD_RIGHTS_WRITE, SERVER_ACCESS_ADMINISTER), SERVER_ACCESS_ENUMERATE))
- #define SERVER_EXECUTE (bitor(STANDARD_RIGHTS_EXECUTE, SERVER_ACCESS_ENUMERATE))
-
- //
- // Access rights for printers
- //
-
- #define PRINTER_ALL_ACCESS (bitor(bitor(STANDARD_RIGHTS_REQUIRED, PRINTER_ACCESS_ADMINISTER),PRINTER_ACCESS_USE))
- #define PRINTER_READ (bitor(STANDARD_RIGHTS_READ, PRINTER_ACCESS_USE))
- #define PRINTER_WRITE (bitor(STANDARD_RIGHTS_WRITE, PRINTER_ACCESS_USE))
- #define PRINTER_EXECUTE (bitor(STANDARD_RIGHTS_EXECUTE, PRINTER_ACCESS_USE))
-
- //
- // Access rights for jobs
- //
-
- #define JOB_ALL_ACCESS (bitor(STANDARD_RIGHTS_REQUIRED, JOB_ACCESS_ADMINISTER))
- #define JOB_READ (bitor(STANDARD_RIGHTS_READ, JOB_ACCESS_ADMINISTER))
- #define JOB_WRITE (bitor(STANDARD_RIGHTS_WRITE, JOB_ACCESS_ADMINISTER))
- #define JOB_EXECUTE (bitor(STANDARD_RIGHTS_EXECUTE, JOB_ACCESS_ADMINISTER))
- // End winspool.h
-
- #endif
-