mirror of
https://github.com/reactos/reactos.git
synced 2024-10-30 11:35:58 +00:00
527f2f9057
* Create a branch for some evul shell experiments. svn path=/branches/shell-experiments/; revision=61927
1982 lines
55 KiB
C
1982 lines
55 KiB
C
#ifndef _WINSPOOL_
|
|
#define _WINSPOOL_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifdef _MSC_VER
|
|
#pragma warning(push)
|
|
#pragma warning(disable:4820)
|
|
#endif
|
|
|
|
#define DI_CHANNEL 1
|
|
#define DI_CHANNEL_WRITE 2
|
|
#define DI_READ_SPOOL_JOB 3
|
|
|
|
#define FORM_BUILTIN 1
|
|
|
|
#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 1
|
|
#define JOB_STATUS_ERROR 2
|
|
#define JOB_STATUS_DELETING 4
|
|
#define JOB_STATUS_SPOOLING 8
|
|
#define JOB_STATUS_PRINTING 16
|
|
#define JOB_STATUS_OFFLINE 32
|
|
#define JOB_STATUS_PAPEROUT 0x40
|
|
#define JOB_STATUS_PRINTED 0x80
|
|
#define JOB_STATUS_DELETED 0x100
|
|
#define JOB_STATUS_BLOCKED_DEVQ 0x200
|
|
#define JOB_STATUS_USER_INTERVENTION 0x400
|
|
|
|
#define JOB_POSITION_UNSPECIFIED 0
|
|
|
|
#define JOB_NOTIFY_TYPE 1
|
|
|
|
#define JOB_NOTIFY_FIELD_PRINTER_NAME 0
|
|
#define JOB_NOTIFY_FIELD_MACHINE_NAME 1
|
|
#define JOB_NOTIFY_FIELD_PORT_NAME 2
|
|
#define JOB_NOTIFY_FIELD_USER_NAME 3
|
|
#define JOB_NOTIFY_FIELD_NOTIFY_NAME 4
|
|
#define JOB_NOTIFY_FIELD_DATATYPE 5
|
|
#define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 6
|
|
#define JOB_NOTIFY_FIELD_PARAMETERS 7
|
|
#define JOB_NOTIFY_FIELD_DRIVER_NAME 8
|
|
#define JOB_NOTIFY_FIELD_DEVMODE 9
|
|
#define JOB_NOTIFY_FIELD_STATUS 10
|
|
#define JOB_NOTIFY_FIELD_STATUS_STRING 11
|
|
#define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 12
|
|
#define JOB_NOTIFY_FIELD_DOCUMENT 13
|
|
#define JOB_NOTIFY_FIELD_PRIORITY 14
|
|
#define JOB_NOTIFY_FIELD_POSITION 15
|
|
#define JOB_NOTIFY_FIELD_SUBMITTED 16
|
|
#define JOB_NOTIFY_FIELD_START_TIME 17
|
|
#define JOB_NOTIFY_FIELD_UNTIL_TIME 18
|
|
#define JOB_NOTIFY_FIELD_TIME 19
|
|
#define JOB_NOTIFY_FIELD_TOTAL_PAGES 20
|
|
#define JOB_NOTIFY_FIELD_PAGES_PRINTED 21
|
|
#define JOB_NOTIFY_FIELD_TOTAL_BYTES 22
|
|
#define JOB_NOTIFY_FIELD_BYTES_PRINTED 23
|
|
|
|
#define JOB_ACCESS_ADMINISTER 16
|
|
#define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|JOB_ACCESS_ADMINISTER)
|
|
#define JOB_READ (STANDARD_RIGHTS_READ|JOB_ACCESS_ADMINISTER)
|
|
#define JOB_WRITE (STANDARD_RIGHTS_WRITE|JOB_ACCESS_ADMINISTER)
|
|
#define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE|JOB_ACCESS_ADMINISTER)
|
|
|
|
#define PRINTER_NOTIFY_OPTIONS_REFRESH 1
|
|
#define PRINTER_ACCESS_ADMINISTER 4
|
|
#define PRINTER_ACCESS_USE 8
|
|
|
|
#define PRINTER_ERROR_INFORMATION 0x80000000
|
|
#define PRINTER_ERROR_WARNING 0x40000000
|
|
#define PRINTER_ERROR_SEVERE 0x20000000
|
|
#define PRINTER_ERROR_OUTOFPAPER 1
|
|
#define PRINTER_ERROR_JAM 2
|
|
#define PRINTER_ERROR_OUTOFTONER 4
|
|
|
|
#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 1
|
|
#define PRINTER_STATUS_ERROR 2
|
|
#define PRINTER_STATUS_PENDING_DELETION 4
|
|
#define PRINTER_STATUS_PAPER_JAM 8
|
|
#define PRINTER_STATUS_PAPER_OUT 0x10
|
|
#define PRINTER_STATUS_MANUAL_FEED 0x20
|
|
#define PRINTER_STATUS_PAPER_PROBLEM 0x40
|
|
#define PRINTER_STATUS_OFFLINE 0x80
|
|
#define PRINTER_STATUS_IO_ACTIVE 0x100
|
|
#define PRINTER_STATUS_BUSY 0x200
|
|
#define PRINTER_STATUS_PRINTING 0x400
|
|
#define PRINTER_STATUS_OUTPUT_BIN_FULL 0x800
|
|
#define PRINTER_STATUS_NOT_AVAILABLE 0x1000
|
|
#define PRINTER_STATUS_WAITING 0x2000
|
|
#define PRINTER_STATUS_PROCESSING 0x4000
|
|
#define PRINTER_STATUS_INITIALIZING 0x8000
|
|
#define PRINTER_STATUS_WARMING_UP 0x10000
|
|
#define PRINTER_STATUS_TONER_LOW 0x20000
|
|
#define PRINTER_STATUS_NO_TONER 0x40000
|
|
#define PRINTER_STATUS_PAGE_PUNT 0x80000
|
|
#define PRINTER_STATUS_USER_INTERVENTION 0x100000
|
|
#define PRINTER_STATUS_OUT_OF_MEMORY 0x200000
|
|
#define PRINTER_STATUS_DOOR_OPEN 0x400000
|
|
#define PRINTER_STATUS_SERVER_UNKNOWN 0x800000
|
|
#define PRINTER_STATUS_POWER_SAVE 0x1000000
|
|
|
|
#define PRINTER_ATTRIBUTE_QUEUED 1
|
|
#define PRINTER_ATTRIBUTE_DIRECT 2
|
|
#define PRINTER_ATTRIBUTE_DEFAULT 4
|
|
#define PRINTER_ATTRIBUTE_SHARED 8
|
|
#define PRINTER_ATTRIBUTE_NETWORK 0x10
|
|
#define PRINTER_ATTRIBUTE_HIDDEN 0x20
|
|
#define PRINTER_ATTRIBUTE_LOCAL 0x40
|
|
#define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x80
|
|
#define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x100
|
|
#define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x200
|
|
#define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x400
|
|
#define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x800
|
|
#define PRINTER_ATTRIBUTE_RAW_ONLY 0x1000
|
|
#define PRINTER_ATTRIBUTE_PUBLISHED 0x2000
|
|
|
|
#define PRINTER_ENUM_DEFAULT 1
|
|
#define PRINTER_ENUM_LOCAL 2
|
|
#define PRINTER_ENUM_CONNECTIONS 4
|
|
#define PRINTER_ENUM_FAVORITE 4
|
|
#define PRINTER_ENUM_NAME 8
|
|
#define PRINTER_ENUM_REMOTE 16
|
|
#define PRINTER_ENUM_SHARED 32
|
|
#define PRINTER_ENUM_NETWORK 0x40
|
|
#define PRINTER_ENUM_EXPAND 0x4000
|
|
#define PRINTER_ENUM_CONTAINER 0x8000
|
|
#define PRINTER_ENUM_ICONMASK 0xff0000
|
|
#define PRINTER_ENUM_ICON1 0x10000
|
|
#define PRINTER_ENUM_ICON2 0x20000
|
|
#define PRINTER_ENUM_ICON3 0x40000
|
|
#define PRINTER_ENUM_ICON4 0x80000
|
|
#define PRINTER_ENUM_ICON5 0x100000
|
|
#define PRINTER_ENUM_ICON6 0x200000
|
|
#define PRINTER_ENUM_ICON7 0x400000
|
|
#define PRINTER_ENUM_ICON8 0x800000
|
|
|
|
#define PRINTER_NOTIFY_TYPE 0
|
|
#define PRINTER_NOTIFY_FIELD_SERVER_NAME 0
|
|
#define PRINTER_NOTIFY_FIELD_PRINTER_NAME 1
|
|
#define PRINTER_NOTIFY_FIELD_SHARE_NAME 2
|
|
#define PRINTER_NOTIFY_FIELD_PORT_NAME 3
|
|
#define PRINTER_NOTIFY_FIELD_DRIVER_NAME 4
|
|
#define PRINTER_NOTIFY_FIELD_COMMENT 5
|
|
#define PRINTER_NOTIFY_FIELD_LOCATION 6
|
|
#define PRINTER_NOTIFY_FIELD_DEVMODE 7
|
|
#define PRINTER_NOTIFY_FIELD_SEPFILE 8
|
|
#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 9
|
|
#define PRINTER_NOTIFY_FIELD_PARAMETERS 10
|
|
#define PRINTER_NOTIFY_FIELD_DATATYPE 11
|
|
#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 12
|
|
#define PRINTER_NOTIFY_FIELD_ATTRIBUTES 13
|
|
#define PRINTER_NOTIFY_FIELD_PRIORITY 14
|
|
#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 15
|
|
#define PRINTER_NOTIFY_FIELD_START_TIME 16
|
|
#define PRINTER_NOTIFY_FIELD_UNTIL_TIME 17
|
|
#define PRINTER_NOTIFY_FIELD_STATUS 18
|
|
#define PRINTER_NOTIFY_FIELD_STATUS_STRING 19
|
|
#define PRINTER_NOTIFY_FIELD_CJOBS 20
|
|
#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 21
|
|
#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 22
|
|
#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 23
|
|
#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 24
|
|
#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 25
|
|
|
|
#define PRINTER_CHANGE_ADD_PRINTER 1
|
|
#define PRINTER_CHANGE_SET_PRINTER 2
|
|
#define PRINTER_CHANGE_DELETE_PRINTER 4
|
|
#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 8
|
|
#define PRINTER_CHANGE_PRINTER 0xFF
|
|
#define PRINTER_CHANGE_ADD_JOB 0x100
|
|
#define PRINTER_CHANGE_SET_JOB 0x200
|
|
#define PRINTER_CHANGE_DELETE_JOB 0x400
|
|
#define PRINTER_CHANGE_WRITE_JOB 0x800
|
|
#define PRINTER_CHANGE_JOB 0xFF00
|
|
#define PRINTER_CHANGE_ADD_FORM 0x10000
|
|
#define PRINTER_CHANGE_SET_FORM 0x20000
|
|
#define PRINTER_CHANGE_DELETE_FORM 0x40000
|
|
#define PRINTER_CHANGE_FORM 0x70000
|
|
#define PRINTER_CHANGE_ADD_PORT 0x100000
|
|
#define PRINTER_CHANGE_CONFIGURE_PORT 0x200000
|
|
#define PRINTER_CHANGE_DELETE_PORT 0x400000
|
|
#define PRINTER_CHANGE_PORT 0x700000
|
|
#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x1000000
|
|
#define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR 0x4000000
|
|
#define PRINTER_CHANGE_PRINT_PROCESSOR 0x7000000
|
|
#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_NOTIFY_INFO_DISCARDED 1
|
|
#define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE)
|
|
#define PRINTER_READ (STANDARD_RIGHTS_READ|PRINTER_ACCESS_USE)
|
|
#define PRINTER_WRITE (STANDARD_RIGHTS_WRITE|PRINTER_ACCESS_USE)
|
|
#define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE|PRINTER_ACCESS_USE)
|
|
|
|
#define NO_PRIORITY 0
|
|
#define MAX_PRIORITY 99
|
|
#define MIN_PRIORITY 1
|
|
#define DEF_PRIORITY 1
|
|
|
|
#define PORT_TYPE_WRITE 1
|
|
#define PORT_TYPE_READ 2
|
|
#define PORT_TYPE_REDIRECTED 4
|
|
#define PORT_TYPE_NET_ATTACHED 8
|
|
|
|
#define SERVER_ACCESS_ADMINISTER 1
|
|
#define SERVER_ACCESS_ENUMERATE 2
|
|
#define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE)
|
|
#define SERVER_READ (STANDARD_RIGHTS_READ|SERVER_ACCESS_ENUMERATE)
|
|
#define SERVER_WRITE (STANDARD_RIGHTS_WRITE|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE)
|
|
#define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE|SERVER_ACCESS_ENUMERATE)
|
|
|
|
#define PORT_STATUS_TYPE_ERROR 1
|
|
#define PORT_STATUS_TYPE_WARNING 2
|
|
#define PORT_STATUS_TYPE_INFO 3
|
|
#define PORT_STATUS_OFFLINE 1
|
|
#define PORT_STATUS_PAPER_JAM 2
|
|
#define PORT_STATUS_PAPER_OUT 3
|
|
#define PORT_STATUS_OUTPUT_BIN_FULL 4
|
|
#define PORT_STATUS_PAPER_PROBLEM 5
|
|
#define PORT_STATUS_NO_TONER 6
|
|
#define PORT_STATUS_DOOR_OPEN 7
|
|
#define PORT_STATUS_USER_INTERVENTION 8
|
|
#define PORT_STATUS_OUT_OF_MEMORY 9
|
|
#define PORT_STATUS_TONER_LOW 10
|
|
#define PORT_STATUS_WARMING_UP 11
|
|
#define PORT_STATUS_POWER_SAVE 12
|
|
|
|
typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE {
|
|
WORD Type;
|
|
WORD Reserved0;
|
|
DWORD Reserved1;
|
|
DWORD Reserved2;
|
|
DWORD Count;
|
|
PWORD pFields;
|
|
} PRINTER_NOTIFY_OPTIONS_TYPE, *PPRINTER_NOTIFY_OPTIONS_TYPE, *LPPRINTER_NOTIFY_OPTIONS_TYPE;
|
|
|
|
typedef struct _PRINTER_NOTIFY_OPTIONS {
|
|
DWORD Version;
|
|
DWORD Flags;
|
|
DWORD Count;
|
|
PPRINTER_NOTIFY_OPTIONS_TYPE pTypes;
|
|
} PRINTER_NOTIFY_OPTIONS, *PPRINTER_NOTIFY_OPTIONS, *LPPRINTER_NOTIFY_OPTIONS;
|
|
|
|
#ifndef RC_INVOKED
|
|
|
|
typedef struct _ADDJOB_INFO_1A {
|
|
LPSTR Path;
|
|
DWORD JobId;
|
|
} ADDJOB_INFO_1A, *PADDJOB_INFO_1A, *LPADDJOB_INFO_1A;
|
|
|
|
typedef struct _ADDJOB_INFO_1W {
|
|
LPWSTR Path;
|
|
DWORD JobId;
|
|
} ADDJOB_INFO_1W, *PADDJOB_INFO_1W, *LPADDJOB_INFO_1W;
|
|
|
|
typedef struct _DATATYPES_INFO_1A {
|
|
LPSTR pName;
|
|
} DATATYPES_INFO_1A, *PDATATYPES_INFO_1A, *LPDATATYPES_INFO_1A;
|
|
|
|
typedef struct _DATATYPES_INFO_1W {
|
|
LPWSTR pName;
|
|
} DATATYPES_INFO_1W, *PDATATYPES_INFO_1W, *LPDATATYPES_INFO_1W;
|
|
|
|
typedef struct _JOB_INFO_1A {
|
|
DWORD JobId;
|
|
LPSTR pPrinterName;
|
|
LPSTR pMachineName;
|
|
LPSTR pUserName;
|
|
LPSTR pDocument;
|
|
LPSTR pDatatype;
|
|
LPSTR pStatus;
|
|
DWORD Status;
|
|
DWORD Priority;
|
|
DWORD Position;
|
|
DWORD TotalPages;
|
|
DWORD PagesPrinted;
|
|
SYSTEMTIME Submitted;
|
|
} JOB_INFO_1A, *PJOB_INFO_1A, *LPJOB_INFO_1A;
|
|
|
|
typedef struct _JOB_INFO_1W {
|
|
DWORD JobId;
|
|
LPWSTR pPrinterName;
|
|
LPWSTR pMachineName;
|
|
LPWSTR pUserName;
|
|
LPWSTR pDocument;
|
|
LPWSTR pDatatype;
|
|
LPWSTR pStatus;
|
|
DWORD Status;
|
|
DWORD Priority;
|
|
DWORD Position;
|
|
DWORD TotalPages;
|
|
DWORD PagesPrinted;
|
|
SYSTEMTIME Submitted;
|
|
} JOB_INFO_1W, *PJOB_INFO_1W, *LPJOB_INFO_1W;
|
|
|
|
typedef struct _JOB_INFO_2A {
|
|
DWORD JobId;
|
|
LPSTR pPrinterName;
|
|
LPSTR pMachineName;
|
|
LPSTR pUserName;
|
|
LPSTR pDocument;
|
|
LPSTR pNotifyName;
|
|
LPSTR pDatatype;
|
|
LPSTR pPrintProcessor;
|
|
LPSTR pParameters;
|
|
LPSTR pDriverName;
|
|
LPDEVMODEA pDevMode;
|
|
LPSTR pStatus;
|
|
PSECURITY_DESCRIPTOR pSecurityDescriptor;
|
|
DWORD Status;
|
|
DWORD Priority;
|
|
DWORD Position;
|
|
DWORD StartTime;
|
|
DWORD UntilTime;
|
|
DWORD TotalPages;
|
|
DWORD Size;
|
|
SYSTEMTIME Submitted;
|
|
DWORD Time;
|
|
DWORD PagesPrinted;
|
|
} JOB_INFO_2A, *PJOB_INFO_2A, *LPJOB_INFO_2A;
|
|
|
|
typedef struct _JOB_INFO_2W {
|
|
DWORD JobId;
|
|
LPWSTR pPrinterName;
|
|
LPWSTR pMachineName;
|
|
LPWSTR pUserName;
|
|
LPWSTR pDocument;
|
|
LPWSTR pNotifyName;
|
|
LPWSTR pDatatype;
|
|
LPWSTR pPrintProcessor;
|
|
LPWSTR pParameters;
|
|
LPWSTR pDriverName;
|
|
LPDEVMODEW pDevMode;
|
|
LPWSTR pStatus;
|
|
PSECURITY_DESCRIPTOR pSecurityDescriptor;
|
|
DWORD Status;
|
|
DWORD Priority;
|
|
DWORD Position;
|
|
DWORD StartTime;
|
|
DWORD UntilTime;
|
|
DWORD TotalPages;
|
|
DWORD Size;
|
|
SYSTEMTIME Submitted;
|
|
DWORD Time;
|
|
DWORD PagesPrinted;
|
|
} JOB_INFO_2W, *PJOB_INFO_2W, *LPJOB_INFO_2W;
|
|
|
|
typedef struct _JOB_INFO_3 {
|
|
DWORD JobId;
|
|
DWORD NextJobId;
|
|
DWORD Reserved;
|
|
} JOB_INFO_3, *PJOB_INFO_3, *LPJOB_INFO_3;
|
|
|
|
typedef struct _JOB_INFO_4A {
|
|
DWORD JobId;
|
|
LPSTR pPrinterName;
|
|
LPSTR pMachineName;
|
|
LPSTR pUserName;
|
|
LPSTR pDocument;
|
|
LPSTR pNotifyName;
|
|
LPSTR pDatatype;
|
|
LPSTR pPrintProcessor;
|
|
LPSTR pParameters;
|
|
LPSTR pDriverName;
|
|
LPDEVMODEA pDevMode;
|
|
LPSTR pStatus;
|
|
PSECURITY_DESCRIPTOR pSecurityDescriptor;
|
|
DWORD Status;
|
|
DWORD Priority;
|
|
DWORD Position;
|
|
DWORD StartTime;
|
|
DWORD UntilTime;
|
|
DWORD TotalPages;
|
|
DWORD Size;
|
|
SYSTEMTIME Submitted;
|
|
DWORD Time;
|
|
DWORD PagesPrinted;
|
|
LONG SizeHigh;
|
|
} JOB_INFO_4A, *PJOB_INFO_4A, *LPJOB_INFO_4A;
|
|
|
|
typedef struct _JOB_INFO_4W {
|
|
DWORD JobId;
|
|
LPWSTR pPrinterName;
|
|
LPWSTR pMachineName;
|
|
LPWSTR pUserName;
|
|
LPWSTR pDocument;
|
|
LPWSTR pNotifyName;
|
|
LPWSTR pDatatype;
|
|
LPWSTR pPrintProcessor;
|
|
LPWSTR pParameters;
|
|
LPWSTR pDriverName;
|
|
LPDEVMODEW pDevMode;
|
|
LPWSTR pStatus;
|
|
PSECURITY_DESCRIPTOR pSecurityDescriptor;
|
|
DWORD Status;
|
|
DWORD Priority;
|
|
DWORD Position;
|
|
DWORD StartTime;
|
|
DWORD UntilTime;
|
|
DWORD TotalPages;
|
|
DWORD Size;
|
|
SYSTEMTIME Submitted;
|
|
DWORD Time;
|
|
DWORD PagesPrinted;
|
|
LONG SizeHigh;
|
|
} JOB_INFO_4W, *PJOB_INFO_4W, *LPJOB_INFO_4W;
|
|
|
|
typedef struct _DOC_INFO_1A {
|
|
LPSTR pDocName;
|
|
LPSTR pOutputFile;
|
|
LPSTR pDatatype;
|
|
} DOC_INFO_1A, *PDOC_INFO_1A, *LPDOC_INFO_1A;
|
|
|
|
typedef struct _DOC_INFO_1W {
|
|
LPWSTR pDocName;
|
|
LPWSTR pOutputFile;
|
|
LPWSTR pDatatype;
|
|
} DOC_INFO_1W, *PDOC_INFO_1W, *LPDOC_INFO_1W;
|
|
|
|
typedef struct _DOC_INFO_2A {
|
|
LPSTR pDocName;
|
|
LPSTR pOutputFile;
|
|
LPSTR pDatatype;
|
|
DWORD dwMode;
|
|
DWORD JobId;
|
|
} DOC_INFO_2A, *PDOC_INFO_2A, *LPDOC_INFO_2A;
|
|
|
|
typedef struct _DOC_INFO_2W {
|
|
LPWSTR pDocName;
|
|
LPWSTR pOutputFile;
|
|
LPWSTR pDatatype;
|
|
DWORD dwMode;
|
|
DWORD JobId;
|
|
} DOC_INFO_2W, *PDOC_INFO_2W, *LPDOC_INFO_2W;
|
|
|
|
typedef struct _DRIVER_INFO_1A {
|
|
LPSTR pName;
|
|
} DRIVER_INFO_1A, *PDRIVER_INFO_1A, *LPDRIVER_INFO_1A;
|
|
|
|
typedef struct _DRIVER_INFO_1W {
|
|
LPWSTR pName;
|
|
} DRIVER_INFO_1W, *PDRIVER_INFO_1W, *LPDRIVER_INFO_1W;
|
|
|
|
typedef struct _DRIVER_INFO_2A {
|
|
DWORD cVersion;
|
|
LPSTR pName;
|
|
LPSTR pEnvironment;
|
|
LPSTR pDriverPath;
|
|
LPSTR pDataFile;
|
|
LPSTR pConfigFile;
|
|
} DRIVER_INFO_2A, *PDRIVER_INFO_2A, *LPDRIVER_INFO_2A;
|
|
|
|
typedef struct _DRIVER_INFO_2W {
|
|
DWORD cVersion;
|
|
LPWSTR pName;
|
|
LPWSTR pEnvironment;
|
|
LPWSTR pDriverPath;
|
|
LPWSTR pDataFile;
|
|
LPWSTR pConfigFile;
|
|
} DRIVER_INFO_2W, *PDRIVER_INFO_2W, *LPDRIVER_INFO_2W;
|
|
|
|
typedef struct _DRIVER_INFO_3A {
|
|
DWORD cVersion;
|
|
LPSTR pName;
|
|
LPSTR pEnvironment;
|
|
LPSTR pDriverPath;
|
|
LPSTR pDataFile;
|
|
LPSTR pConfigFile;
|
|
LPSTR pHelpFile;
|
|
LPSTR pDependentFiles;
|
|
LPSTR pMonitorName;
|
|
LPSTR pDefaultDataType;
|
|
} DRIVER_INFO_3A, *PDRIVER_INFO_3A, *LPDRIVER_INFO_3A;
|
|
|
|
typedef struct _DRIVER_INFO_3W {
|
|
DWORD cVersion;
|
|
LPWSTR pName;
|
|
LPWSTR pEnvironment;
|
|
LPWSTR pDriverPath;
|
|
LPWSTR pDataFile;
|
|
LPWSTR pConfigFile;
|
|
LPWSTR pHelpFile;
|
|
LPWSTR pDependentFiles;
|
|
LPWSTR pMonitorName;
|
|
LPWSTR pDefaultDataType;
|
|
} DRIVER_INFO_3W, *PDRIVER_INFO_3W, *LPDRIVER_INFO_3W;
|
|
|
|
typedef struct _DRIVER_INFO_4A {
|
|
DWORD cVersion; // SDK examples:
|
|
LPSTR pName; // QMS 810
|
|
LPSTR pEnvironment; // Win32 x86
|
|
LPSTR pDriverPath; // c:\drivers\pscript.dll
|
|
LPSTR pDataFile; // c:\drivers\QMS810.PPD
|
|
LPSTR pConfigFile; // c:\drivers\PSCRPTUI.DLL
|
|
LPSTR pHelpFile; // c:\drivers\PSCRPTUI.HLP
|
|
LPSTR pDependentFiles; // PSCRIPT.DLL\0QMS810.PPD\0PSCRIPTUI.DLL\0PSCRIPTUI.HLP\0PSTEST.TXT\0\0
|
|
LPSTR pMonitorName; // "PJL monitor"
|
|
LPSTR pDefaultDataType; // "EMF"
|
|
LPSTR pszzPreviousNames; // "OldName1\0OldName2\0\0
|
|
} DRIVER_INFO_4A, *PDRIVER_INFO_4A, *LPDRIVER_INFO_4A;
|
|
|
|
typedef struct _DRIVER_INFO_4W {
|
|
DWORD cVersion;
|
|
LPWSTR pName;
|
|
LPWSTR pEnvironment;
|
|
LPWSTR pDriverPath;
|
|
LPWSTR pDataFile;
|
|
LPWSTR pConfigFile;
|
|
LPWSTR pHelpFile;
|
|
LPWSTR pDependentFiles;
|
|
LPWSTR pMonitorName;
|
|
LPWSTR pDefaultDataType;
|
|
LPWSTR pszzPreviousNames;
|
|
} DRIVER_INFO_4W, *PDRIVER_INFO_4W, *LPDRIVER_INFO_4W;
|
|
|
|
typedef struct _DRIVER_INFO_5A {
|
|
DWORD cVersion; // SDK examples:
|
|
LPSTR pName; // QMS 810
|
|
LPSTR pEnvironment; // Win32 x86
|
|
LPSTR pDriverPath; // c:\drivers\pscript.dll
|
|
LPSTR pDataFile; // c:\drivers\QMS810.PPD
|
|
LPSTR pConfigFile; // c:\drivers\PSCRPTUI.DLL
|
|
DWORD dwDriverAttributes; // driver attributes (like UMPD/KMPD)
|
|
DWORD dwConfigVersion; // version number of the config file since reboot
|
|
DWORD dwDriverVersion; // version number of the driver file since reboot
|
|
} DRIVER_INFO_5A, *PDRIVER_INFO_5A, *LPDRIVER_INFO_5A;
|
|
|
|
typedef struct _DRIVER_INFO_5W {
|
|
DWORD cVersion;
|
|
LPWSTR pName;
|
|
LPWSTR pEnvironment;
|
|
LPWSTR pDriverPath;
|
|
LPWSTR pDataFile;
|
|
LPWSTR pConfigFile;
|
|
DWORD dwDriverAttributes;
|
|
DWORD dwConfigVersion;
|
|
DWORD dwDriverVersion;
|
|
} DRIVER_INFO_5W, *PDRIVER_INFO_5W, *LPDRIVER_INFO_5W;
|
|
|
|
typedef struct _DRIVER_INFO_6A {
|
|
DWORD cVersion;
|
|
LPSTR pName;
|
|
LPSTR pEnvironment;
|
|
LPSTR pDriverPath;
|
|
LPSTR pDataFile;
|
|
LPSTR pConfigFile;
|
|
LPSTR pHelpFile;
|
|
LPSTR pDependentFiles;
|
|
LPSTR pMonitorName;
|
|
LPSTR pDefaultDataType;
|
|
LPSTR pszzPreviousNames;
|
|
FILETIME ftDriverDate;
|
|
DWORDLONG dwlDriverVersion;
|
|
LPSTR pszMfgName;
|
|
LPSTR pszOEMUrl;
|
|
LPSTR pszHardwareID;
|
|
LPSTR pszProvider;
|
|
} DRIVER_INFO_6A, *PDRIVER_INFO_6A, *LPDRIVER_INFO_6A;
|
|
|
|
typedef struct _DRIVER_INFO_6W {
|
|
DWORD cVersion;
|
|
LPWSTR pName;
|
|
LPWSTR pEnvironment;
|
|
LPWSTR pDriverPath;
|
|
LPWSTR pDataFile;
|
|
LPWSTR pConfigFile;
|
|
LPWSTR pHelpFile;
|
|
LPWSTR pDependentFiles;
|
|
LPWSTR pMonitorName;
|
|
LPWSTR pDefaultDataType;
|
|
LPWSTR pszzPreviousNames;
|
|
FILETIME ftDriverDate;
|
|
DWORDLONG dwlDriverVersion;
|
|
LPWSTR pszMfgName;
|
|
LPWSTR pszOEMUrl;
|
|
LPWSTR pszHardwareID;
|
|
LPWSTR pszProvider;
|
|
} DRIVER_INFO_6W, *PDRIVER_INFO_6W, *LPDRIVER_INFO_6W;
|
|
|
|
#define PRINTER_DRIVER_PACKAGE_AWARE 0x00000001
|
|
|
|
typedef struct _DRIVER_INFO_8A {
|
|
DWORD cVersion;
|
|
LPSTR pName;
|
|
LPSTR pEnvironment;
|
|
LPSTR pDriverPath;
|
|
LPSTR pDataFile;
|
|
LPSTR pConfigFile;
|
|
LPSTR pHelpFile;
|
|
LPSTR pDependentFiles;
|
|
LPSTR pMonitorName;
|
|
LPSTR pDefaultDataType;
|
|
LPSTR pszzPreviousNames;
|
|
FILETIME ftDriverDate;
|
|
DWORDLONG dwlDriverVersion;
|
|
LPSTR pszMfgName;
|
|
LPSTR pszOEMUrl;
|
|
LPSTR pszHardwareID;
|
|
LPSTR pszProvider;
|
|
LPSTR pszPrintProcessor;
|
|
LPSTR pszVendorSetup;
|
|
LPSTR pszzColorProfiles;
|
|
LPSTR pszInfPath;
|
|
DWORD dwPrinterDriverAttributes;
|
|
LPSTR pszzCoreDriverDependencies;
|
|
FILETIME ftMinInboxDriverVerDate;
|
|
DWORDLONG dwlMinInboxDriverVerVersion;
|
|
} DRIVER_INFO_8A, *PDRIVER_INFO_8A, *LPDRIVER_INFO_8A;
|
|
|
|
typedef struct _DRIVER_INFO_8W {
|
|
DWORD cVersion;
|
|
LPWSTR pName;
|
|
LPWSTR pEnvironment;
|
|
LPWSTR pDriverPath;
|
|
LPWSTR pDataFile;
|
|
LPWSTR pConfigFile;
|
|
LPWSTR pHelpFile;
|
|
LPWSTR pDependentFiles;
|
|
LPWSTR pMonitorName;
|
|
LPWSTR pDefaultDataType;
|
|
LPWSTR pszzPreviousNames;
|
|
FILETIME ftDriverDate;
|
|
DWORDLONG dwlDriverVersion;
|
|
LPWSTR pszMfgName;
|
|
LPWSTR pszOEMUrl;
|
|
LPWSTR pszHardwareID;
|
|
LPWSTR pszProvider;
|
|
LPWSTR pszPrintProcessor;
|
|
LPWSTR pszVendorSetup;
|
|
LPWSTR pszzColorProfiles;
|
|
LPWSTR pszInfPath;
|
|
DWORD dwPrinterDriverAttributes;
|
|
LPWSTR pszzCoreDriverDependencies;
|
|
FILETIME ftMinInboxDriverVerDate;
|
|
DWORDLONG dwlMinInboxDriverVerVersion;
|
|
} DRIVER_INFO_8W, *PDRIVER_INFO_8W, *LPDRIVER_INFO_8W;
|
|
|
|
// FLAGS for dwDriverAttributes
|
|
#define DRIVER_KERNELMODE 0x00000001
|
|
#define DRIVER_USERMODE 0x00000002
|
|
|
|
// FLAGS for DeletePrinterDriverEx.
|
|
#define DPD_DELETE_UNUSED_FILES 0x00000001
|
|
#define DPD_DELETE_SPECIFIC_VERSION 0x00000002
|
|
#define DPD_DELETE_ALL_FILES 0x00000004
|
|
|
|
// FLAGS for AddPrinterDriverEx.
|
|
#define APD_STRICT_UPGRADE 0x00000001
|
|
#define APD_STRICT_DOWNGRADE 0x00000002
|
|
#define APD_COPY_ALL_FILES 0x00000004
|
|
#define APD_COPY_NEW_FILES 0x00000008
|
|
#if(_WIN32_WINNT >= 0x0501)
|
|
#define APD_COPY_FROM_DIRECTORY 0x00000010
|
|
#endif
|
|
|
|
typedef struct _MONITOR_INFO_1A {
|
|
LPSTR pName;
|
|
} MONITOR_INFO_1A, *PMONITOR_INFO_1A, *LPMONITOR_INFO_1A;
|
|
|
|
typedef struct _MONITOR_INFO_1W {
|
|
LPWSTR pName;
|
|
} MONITOR_INFO_1W, *PMONITOR_INFO_1W, *LPMONITOR_INFO_1W;
|
|
|
|
typedef struct _PORT_INFO_1A {
|
|
LPSTR pName;
|
|
} PORT_INFO_1A, *PPORT_INFO_1A, *LPPORT_INFO_1A;
|
|
|
|
typedef struct _PORT_INFO_1W {
|
|
LPWSTR pName;
|
|
} PORT_INFO_1W, *PPORT_INFO_1W, *LPPORT_INFO_1W;
|
|
|
|
typedef struct _MONITOR_INFO_2A {
|
|
LPSTR pName;
|
|
LPSTR pEnvironment;
|
|
LPSTR pDLLName;
|
|
} MONITOR_INFO_2A, *PMONITOR_INFO_2A, *LPMONITOR_INFO_2A;
|
|
|
|
typedef struct _MONITOR_INFO_2W {
|
|
LPWSTR pName;
|
|
LPWSTR pEnvironment;
|
|
LPWSTR pDLLName;
|
|
} MONITOR_INFO_2W, *PMONITOR_INFO_2W, *LPMONITOR_INFO_2W;
|
|
|
|
typedef struct _PORT_INFO_2A {
|
|
LPSTR pPortName;
|
|
LPSTR pMonitorName;
|
|
LPSTR pDescription;
|
|
DWORD fPortType;
|
|
DWORD Reserved;
|
|
} PORT_INFO_2A, *PPORT_INFO_2A, *LPPORT_INFO_2A;
|
|
|
|
typedef struct _PORT_INFO_2W {
|
|
LPWSTR pPortName;
|
|
LPWSTR pMonitorName;
|
|
LPWSTR pDescription;
|
|
DWORD fPortType;
|
|
DWORD Reserved;
|
|
} PORT_INFO_2W, *PPORT_INFO_2W, *LPPORT_INFO_2W;
|
|
|
|
typedef struct _PORT_INFO_3A {
|
|
DWORD dwStatus;
|
|
LPSTR pszStatus;
|
|
DWORD dwSeverity;
|
|
} PORT_INFO_3A, *PPORT_INFO_3A, *LPPORT_INFO_3A;
|
|
|
|
typedef struct _PORT_INFO_3W {
|
|
DWORD dwStatus;
|
|
LPWSTR pszStatus;
|
|
DWORD dwSeverity;
|
|
} PORT_INFO_3W, *PPORT_INFO_3W, *LPPORT_INFO_3W;
|
|
|
|
typedef struct _PRINTER_INFO_1A {
|
|
DWORD Flags;
|
|
LPSTR pDescription;
|
|
LPSTR pName;
|
|
LPSTR pComment;
|
|
} PRINTER_INFO_1A, *PPRINTER_INFO_1A, *LPPRINTER_INFO_1A;
|
|
|
|
typedef struct _PRINTER_INFO_1W {
|
|
DWORD Flags;
|
|
LPWSTR pDescription;
|
|
LPWSTR pName;
|
|
LPWSTR pComment;
|
|
} PRINTER_INFO_1W, *PPRINTER_INFO_1W, *LPPRINTER_INFO_1W;
|
|
|
|
typedef struct _PRINTER_INFO_2A {
|
|
LPSTR pServerName;
|
|
LPSTR pPrinterName;
|
|
LPSTR pShareName;
|
|
LPSTR pPortName;
|
|
LPSTR pDriverName;
|
|
LPSTR pComment;
|
|
LPSTR pLocation;
|
|
LPDEVMODEA pDevMode;
|
|
LPSTR pSepFile;
|
|
LPSTR pPrintProcessor;
|
|
LPSTR pDatatype;
|
|
LPSTR pParameters;
|
|
PSECURITY_DESCRIPTOR pSecurityDescriptor;
|
|
DWORD Attributes;
|
|
DWORD Priority;
|
|
DWORD DefaultPriority;
|
|
DWORD StartTime;
|
|
DWORD UntilTime;
|
|
DWORD Status;
|
|
DWORD cJobs;
|
|
DWORD AveragePPM;
|
|
} PRINTER_INFO_2A, *PPRINTER_INFO_2A, *LPPRINTER_INFO_2A;
|
|
|
|
typedef struct _PRINTER_INFO_2W {
|
|
LPWSTR pServerName;
|
|
LPWSTR pPrinterName;
|
|
LPWSTR pShareName;
|
|
LPWSTR pPortName;
|
|
LPWSTR pDriverName;
|
|
LPWSTR pComment;
|
|
LPWSTR pLocation;
|
|
LPDEVMODEW pDevMode;
|
|
LPWSTR pSepFile;
|
|
LPWSTR pPrintProcessor;
|
|
LPWSTR pDatatype;
|
|
LPWSTR pParameters;
|
|
PSECURITY_DESCRIPTOR pSecurityDescriptor;
|
|
DWORD Attributes;
|
|
DWORD Priority;
|
|
DWORD DefaultPriority;
|
|
DWORD StartTime;
|
|
DWORD UntilTime;
|
|
DWORD Status;
|
|
DWORD cJobs;
|
|
DWORD AveragePPM;
|
|
} PRINTER_INFO_2W, *PPRINTER_INFO_2W, *LPPRINTER_INFO_2W;
|
|
|
|
typedef struct _PRINTER_INFO_3 {
|
|
PSECURITY_DESCRIPTOR pSecurityDescriptor;
|
|
} PRINTER_INFO_3, *PPRINTER_INFO_3, *LPPRINTER_INFO_3;
|
|
|
|
typedef struct _PRINTER_INFO_4A {
|
|
LPSTR pPrinterName;
|
|
LPSTR pServerName;
|
|
DWORD Attributes;
|
|
} PRINTER_INFO_4A, *PPRINTER_INFO_4A, *LPPRINTER_INFO_4A;
|
|
|
|
typedef struct _PRINTER_INFO_4W {
|
|
LPWSTR pPrinterName;
|
|
LPWSTR pServerName;
|
|
DWORD Attributes;
|
|
} PRINTER_INFO_4W, *PPRINTER_INFO_4W, *LPPRINTER_INFO_4W;
|
|
|
|
typedef struct _PRINTER_INFO_5A {
|
|
LPSTR pPrinterName;
|
|
LPSTR pPortName;
|
|
DWORD Attributes;
|
|
DWORD DeviceNotSelectedTimeout;
|
|
DWORD TransmissionRetryTimeout;
|
|
} PRINTER_INFO_5A, *PPRINTER_INFO_5A, *LPPRINTER_INFO_5A;
|
|
|
|
typedef struct _PRINTER_INFO_5W {
|
|
LPWSTR pPrinterName;
|
|
LPWSTR pPortName;
|
|
DWORD Attributes;
|
|
DWORD DeviceNotSelectedTimeout;
|
|
DWORD TransmissionRetryTimeout;
|
|
} PRINTER_INFO_5W, *PPRINTER_INFO_5W, *LPPRINTER_INFO_5W;
|
|
|
|
typedef struct _PRINTER_INFO_6 {
|
|
DWORD dwStatus;
|
|
} PRINTER_INFO_6, *PPRINTER_INFO_6, *LPPRINTER_INFO_6;
|
|
|
|
typedef struct _PRINTER_INFO_7A {
|
|
LPSTR pszObjectGUID;
|
|
DWORD dwAction;
|
|
} PRINTER_INFO_7A, *PPRINTER_INFO_7A, *LPPRINTER_INFO_7A;
|
|
|
|
typedef struct _PRINTER_INFO_7W {
|
|
LPWSTR pszObjectGUID;
|
|
DWORD dwAction;
|
|
} PRINTER_INFO_7W, *PPRINTER_INFO_7W, *LPPRINTER_INFO_7W;
|
|
|
|
typedef struct _PRINTER_INFO_8A {
|
|
LPDEVMODEA pDevMode;
|
|
} PRINTER_INFO_8A, *PPRINTER_INFO_8A, *LPPRINTER_INFO_8A;
|
|
|
|
typedef struct _PRINTER_INFO_8W {
|
|
LPDEVMODEW pDevMode;
|
|
} PRINTER_INFO_8W, *PPRINTER_INFO_8W, *LPPRINTER_INFO_8W;
|
|
|
|
typedef struct _PRINTER_INFO_9A {
|
|
LPDEVMODEA pDevMode;
|
|
} PRINTER_INFO_9A, *PPRINTER_INFO_9A, *LPPRINTER_INFO_9A;
|
|
|
|
typedef struct _PRINTER_INFO_9W {
|
|
LPDEVMODEW pDevMode;
|
|
} PRINTER_INFO_9W, *PPRINTER_INFO_9W, *LPPRINTER_INFO_9W;
|
|
|
|
typedef struct _PRINTPROCESSOR_INFO_1A {
|
|
LPSTR pName;
|
|
} PRINTPROCESSOR_INFO_1A, *PPRINTPROCESSOR_INFO_1A, *LPPRINTPROCESSOR_INFO_1A;
|
|
|
|
typedef struct _PRINTPROCESSOR_INFO_1W {
|
|
LPWSTR pName;
|
|
} PRINTPROCESSOR_INFO_1W, *PPRINTPROCESSOR_INFO_1W, *LPPRINTPROCESSOR_INFO_1W;
|
|
|
|
typedef struct _PRINTER_NOTIFY_INFO_DATA {
|
|
WORD Type;
|
|
WORD Field;
|
|
DWORD Reserved;
|
|
DWORD Id;
|
|
union {
|
|
DWORD adwData[2];
|
|
struct {
|
|
DWORD cbBuf;
|
|
PVOID pBuf;
|
|
} Data;
|
|
} NotifyData;
|
|
} PRINTER_NOTIFY_INFO_DATA, *PPRINTER_NOTIFY_INFO_DATA, *LPPRINTER_NOTIFY_INFO_DATA;
|
|
|
|
typedef struct _PRINTER_NOTIFY_INFO {
|
|
DWORD Version;
|
|
DWORD Flags;
|
|
DWORD Count;
|
|
PRINTER_NOTIFY_INFO_DATA aData[1];
|
|
} PRINTER_NOTIFY_INFO, *PPRINTER_NOTIFY_INFO, *LPPRINTER_NOTIFY_INFO;
|
|
|
|
typedef struct _FORM_INFO_1A {
|
|
DWORD Flags;
|
|
LPSTR pName;
|
|
SIZEL Size;
|
|
RECTL ImageableArea;
|
|
} FORM_INFO_1A, *PFORM_INFO_1A, *LPFORM_INFO_1A;
|
|
|
|
typedef struct _FORM_INFO_1W {
|
|
DWORD Flags;
|
|
LPWSTR pName;
|
|
SIZEL Size;
|
|
RECTL ImageableArea;
|
|
} FORM_INFO_1W, *PFORM_INFO_1W, *LPFORM_INFO_1W;
|
|
|
|
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
|
|
|
typedef struct _FORM_INFO_2A {
|
|
DWORD Flags;
|
|
LPCSTR pName;
|
|
SIZEL Size;
|
|
RECTL ImageableArea;
|
|
LPCSTR pKeyword;
|
|
DWORD StringType;
|
|
LPCSTR pMuiDll;
|
|
DWORD dwResourceId;
|
|
LPCSTR pDisplayName;
|
|
LANGID wLangId;
|
|
} FORM_INFO_2A, *PFORM_INFO_2A, *LPFORM_INFO_2A;
|
|
|
|
typedef struct _FORM_INFO_2W {
|
|
DWORD Flags;
|
|
LPCWSTR pName;
|
|
SIZEL Size;
|
|
RECTL ImageableArea;
|
|
LPCSTR pKeyword;
|
|
DWORD StringType;
|
|
LPCWSTR pMuiDll;
|
|
DWORD dwResourceId;
|
|
LPCWSTR pDisplayName;
|
|
LANGID wLangId;
|
|
} FORM_INFO_2W, *PFORM_INFO_2W, *LPFORM_INFO_2W;
|
|
|
|
#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */
|
|
|
|
typedef struct _PRINTER_DEFAULTSA {
|
|
LPSTR pDatatype;
|
|
LPDEVMODE pDevMode;
|
|
ACCESS_MASK DesiredAccess;
|
|
} PRINTER_DEFAULTSA, *PPRINTER_DEFAULTSA, *LPPRINTER_DEFAULTSA;
|
|
|
|
typedef struct _PRINTER_DEFAULTSW {
|
|
LPWSTR pDatatype;
|
|
LPDEVMODE pDevMode;
|
|
ACCESS_MASK DesiredAccess;
|
|
} PRINTER_DEFAULTSW, *PPRINTER_DEFAULTSW, *LPPRINTER_DEFAULTSW;
|
|
|
|
typedef struct _PROVIDOR_INFO_1A {
|
|
LPSTR pName;
|
|
LPSTR pEnvironment;
|
|
LPSTR pDLLName;
|
|
} PROVIDOR_INFO_1A, *PPROVIDOR_INFO_1A, *LPPROVIDOR_INFO_1A;
|
|
|
|
typedef struct _PROVIDOR_INFO_1W {
|
|
LPWSTR pName;
|
|
LPWSTR pEnvironment;
|
|
LPWSTR pDLLName;
|
|
} PROVIDOR_INFO_1W, *LPPROVIDOR_INFO_1W;
|
|
|
|
typedef struct _PROVIDOR_INFO_2A {
|
|
LPSTR pOrder;
|
|
} PROVIDOR_INFO_2A, *PPROVIDOR_INFO_2A, *LPPROVIDOR_INFO_2A;
|
|
|
|
typedef struct _PROVIDOR_INFO_2W {
|
|
LPWSTR pOrder;
|
|
} PROVIDOR_INFO_2W, *LPPROVIDOR_INFO_2W;
|
|
|
|
typedef struct _BINARY_CONTAINER {
|
|
DWORD cbBuf;
|
|
LPBYTE pData;
|
|
} BINARY_CONTAINER, *PBINARY_CONTAINER;
|
|
|
|
typedef struct _BIDI_DATA {
|
|
DWORD dwBidiType;
|
|
union {
|
|
BOOL bData;
|
|
INT iData;
|
|
LPWSTR sData;
|
|
FLOAT fData;
|
|
BINARY_CONTAINER biData;
|
|
} u;
|
|
} BIDI_DATA, *LPBIDI_DATA, *PBIDI_DATA;
|
|
|
|
typedef struct _BIDI_REQUEST_DATA {
|
|
DWORD dwReqNumber;
|
|
LPWSTR pSchema;
|
|
BIDI_DATA data;
|
|
} BIDI_REQUEST_DATA, *LPBIDI_REQUEST_DATA, *PBIDI_REQUEST_DATA;
|
|
|
|
typedef struct _BIDI_REQUEST_CONTAINER {
|
|
DWORD Version;
|
|
DWORD Flags;
|
|
DWORD Count;
|
|
BIDI_REQUEST_DATA aData[1];
|
|
} BIDI_REQUEST_CONTAINER, *LPBIDI_REQUEST_CONTAINER, *PBIDI_REQUEST_CONTAINER;
|
|
|
|
typedef struct _BIDI_RESPONSE_DATA {
|
|
DWORD dwResult;
|
|
DWORD dwReqNumber;
|
|
LPWSTR pSchema;
|
|
BIDI_DATA data;
|
|
} BIDI_RESPONSE_DATA, *LPBIDI_RESPONSE_DATA, *PBIDI_RESPONSE_DATA;
|
|
|
|
typedef struct _BIDI_RESPONSE_CONTAINER {
|
|
DWORD Version;
|
|
DWORD Flags;
|
|
DWORD Count;
|
|
BIDI_RESPONSE_DATA aData[1];
|
|
} BIDI_RESPONSE_CONTAINER, *LPBIDI_RESPONSE_CONTAINER, *PBIDI_RESPONSE_CONTAINER;
|
|
|
|
#ifdef UNICODE
|
|
|
|
typedef JOB_INFO_1W JOB_INFO_1, *PJOB_INFO_1, *LPJOB_INFO_1;
|
|
typedef JOB_INFO_2W JOB_INFO_2, *PJOB_INFO_2, *LPJOB_INFO_2;
|
|
typedef JOB_INFO_4W JOB_INFO_4, *PJOB_INFO_4, *LPJOB_INFO_4;
|
|
typedef ADDJOB_INFO_1W ADDJOB_INFO_1, *PADDJOB_INFO_1, *LPADDJOB_INFO_1;
|
|
typedef DATATYPES_INFO_1W DATATYPES_INFO_1, *PDATATYPES_INFO_1, *LPDATATYPES_INFO_1;
|
|
typedef MONITOR_INFO_1W MONITOR_INFO_1, *PMONITOR_INFO_1, *LPMONITOR_INFO_1;
|
|
typedef MONITOR_INFO_2W MONITOR_INFO_2, *PMONITOR_INFO_2, *LPMONITOR_INFO_2;
|
|
typedef DOC_INFO_1W DOC_INFO_1, *PDOC_INFO_1, *LPDOC_INFO_1;
|
|
typedef DOC_INFO_2W DOC_INFO_2, *PDOC_INFO_2, *LPDOC_INFO_2;
|
|
typedef PORT_INFO_1W PORT_INFO_1, *PPORT_INFO_1, *LPPORT_INFO_1;
|
|
typedef PORT_INFO_2W PORT_INFO_2, *PPORT_INFO_2, *LPPORT_INFO_2;
|
|
typedef PORT_INFO_3W PORT_INFO_3, *PPORT_INFO_3, *LPPORT_INFO_3;
|
|
typedef DRIVER_INFO_2W DRIVER_INFO_2, *PDRIVER_INFO_2, *LPDRIVER_INFO_2;
|
|
typedef DRIVER_INFO_4W DRIVER_INFO_4, *PDRIVER_INFO_4, *LPDRIVER_INFO_4;
|
|
typedef DRIVER_INFO_5W DRIVER_INFO_5, *PDRIVER_INFO_5, *LPDRIVER_INFO_5;
|
|
typedef DRIVER_INFO_6W DRIVER_INFO_6, *PDRIVER_INFO_6, *LPDRIVER_INFO_6;
|
|
typedef DRIVER_INFO_8W DRIVER_INFO_8, *PDRIVER_INFO_8, *LPDRIVER_INFO_8;
|
|
typedef PRINTER_INFO_1W PRINTER_INFO_1, *PPRINTER_INFO_1, *LPPRINTER_INFO_1;
|
|
typedef PRINTER_INFO_2W PRINTER_INFO_2, *PPRINTER_INFO_2, *LPPRINTER_INFO_2;
|
|
typedef PRINTER_INFO_4W PRINTER_INFO_4, *PPRINTER_INFO_4, *LPPRINTER_INFO_4;
|
|
typedef PRINTER_INFO_5W PRINTER_INFO_5, *PPRINTER_INFO_5, *LPPRINTER_INFO_5;
|
|
typedef PRINTER_INFO_7W PRINTER_INFO_7, *PPRINTER_INFO_7, *LPPRINTER_INFO_7;
|
|
typedef PRINTER_INFO_8W PRINTER_INFO_8, *PPRINTER_INFO_8, *LPPRINTER_INFO_8;
|
|
typedef PRINTER_INFO_9W PRINTER_INFO_9, *PPRINTER_INFO_9, *LPPRINTER_INFO_9;
|
|
typedef PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1, *PPRINTPROCESSOR_INFO_1, *LPPRINTPROCESSOR_INFO_1;
|
|
typedef FORM_INFO_1W FORM_INFO_1, *PFORM_INFO_1, *LPFORM_INFO_1;
|
|
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
|
typedef FORM_INFO_2W FORM_INFO_2, *PFORM_INFO_2, *LPFORM_INFO_2;
|
|
#endif
|
|
typedef PRINTER_DEFAULTSW PRINTER_DEFAULTS, *PPRINTER_DEFAULTS, *LPPRINTER_DEFAULTS;
|
|
typedef PROVIDOR_INFO_1W PROVIDOR_INFO_1, *PPROVIDOR_INFO_1, *LPPROVIDOR_INFO_1;
|
|
typedef PROVIDOR_INFO_2W PROVIDOR_INFO_2, *PPROVIDOR_INFO_2, *LPPROVIDOR_INFO_2;
|
|
|
|
#else /* UNICODE */
|
|
|
|
typedef JOB_INFO_1A JOB_INFO_1, *PJOB_INFO_1, *LPJOB_INFO_1;
|
|
typedef JOB_INFO_2A JOB_INFO_2, *PJOB_INFO_2, *LPJOB_INFO_2;
|
|
typedef JOB_INFO_4A JOB_INFO_4, *PJOB_INFO_4, *LPJOB_INFO_4;
|
|
typedef ADDJOB_INFO_1A ADDJOB_INFO_1, *PADDJOB_INFO_1, *LPADDJOB_INFO_1;
|
|
typedef DATATYPES_INFO_1A DATATYPES_INFO_1, *PDATATYPES_INFO_1, *LPDATATYPES_INFO_1;
|
|
typedef MONITOR_INFO_1A MONITOR_INFO_1, *PMONITOR_INFO_1, *LPMONITOR_INFO_1;
|
|
typedef MONITOR_INFO_2A MONITOR_INFO_2, *PMONITOR_INFO_2, *LPMONITOR_INFO_2;
|
|
typedef DOC_INFO_1A DOC_INFO_1, *PDOC_INFO_1, *LPDOC_INFO_1;
|
|
typedef DOC_INFO_2A DOC_INFO_2, *PDOC_INFO_2, *LPDOC_INFO_2;
|
|
typedef PORT_INFO_1A PORT_INFO_1, *PPORT_INFO_1, *LPPORT_INFO_1;
|
|
typedef PORT_INFO_2A PORT_INFO_2, *PPORT_INFO_2, *LPPORT_INFO_2;
|
|
typedef PORT_INFO_3A PORT_INFO_3, *PPORT_INFO_3, *LPPORT_INFO_3;
|
|
typedef DRIVER_INFO_2A DRIVER_INFO_2, *PDRIVER_INFO_2, *LPDRIVER_INFO_2;
|
|
typedef DRIVER_INFO_4A DRIVER_INFO_4, *PDRIVER_INFO_4, *LPDRIVER_INFO_4;
|
|
typedef DRIVER_INFO_5A DRIVER_INFO_5, *PDRIVER_INFO_5, *LPDRIVER_INFO_5;
|
|
typedef DRIVER_INFO_6A DRIVER_INFO_6, *PDRIVER_INFO_6, *LPDRIVER_INFO_6;
|
|
typedef DRIVER_INFO_8A DRIVER_INFO_8, *PDRIVER_INFO_8, *LPDRIVER_INFO_8;
|
|
typedef PRINTER_INFO_1A PRINTER_INFO_1, *PPRINTER_INFO_1, *LPPRINTER_INFO_1;
|
|
typedef PRINTER_INFO_2A PRINTER_INFO_2, *PPRINTER_INFO_2, *LPPRINTER_INFO_2;
|
|
typedef PRINTER_INFO_4A PRINTER_INFO_4, *PPRINTER_INFO_4, *LPPRINTER_INFO_4;
|
|
typedef PRINTER_INFO_5A PRINTER_INFO_5, *PPRINTER_INFO_5, *LPPRINTER_INFO_5;
|
|
typedef PRINTER_INFO_7A PRINTER_INFO_7, *PPRINTER_INFO_7, *LPPRINTER_INFO_7;
|
|
typedef PRINTER_INFO_8A PRINTER_INFO_8, *PPRINTER_INFO_8, *LPPRINTER_INFO_8;
|
|
typedef PRINTER_INFO_9A PRINTER_INFO_9, *PPRINTER_INFO_9, *LPPRINTER_INFO_9;
|
|
typedef PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1, *PPRINTPROCESSOR_INFO_1, *LPPRINTPROCESSOR_INFO_1;
|
|
typedef FORM_INFO_1A FORM_INFO_1, *PFORM_INFO_1, *LPFORM_INFO_1;
|
|
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
|
typedef FORM_INFO_2A FORM_INFO_2, *PFORM_INFO_2, *LPFORM_INFO_2;
|
|
#endif
|
|
typedef PRINTER_DEFAULTSA PRINTER_DEFAULTS, *PPRINTER_DEFAULTS, *LPPRINTER_DEFAULTS;
|
|
typedef PROVIDOR_INFO_1A PROVIDOR_INFO_1, *PPROVIDOR_INFO_1, *LPPROVIDOR_INFO_1;
|
|
typedef PROVIDOR_INFO_2A PROVIDOR_INFO_2, *PPROVIDOR_INFO_2, *LPPROVIDOR_INFO_2;
|
|
|
|
#endif /* UNICODE */
|
|
|
|
BOOL WINAPI AbortPrinter(_In_ HANDLE);
|
|
|
|
BOOL
|
|
WINAPI
|
|
AddFormA(
|
|
_In_ HANDLE hPrinter,
|
|
_In_range_(1, 2) DWORD Level,
|
|
_When_(Level == 1, _In_reads_bytes_(sizeof(FORM_INFO_1A)))
|
|
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
|
_When_(Level == 2, _In_reads_bytes_(sizeof(FORM_INFO_2A)))
|
|
#endif
|
|
LPBYTE pForm);
|
|
|
|
BOOL
|
|
WINAPI
|
|
AddFormW(
|
|
_In_ HANDLE hPrinter,
|
|
_In_range_(1, 2) DWORD Level,
|
|
_When_(Level == 1, _In_reads_bytes_(sizeof(FORM_INFO_1W)))
|
|
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
|
_When_(Level == 2, _In_reads_bytes_(sizeof(FORM_INFO_2W)))
|
|
#endif
|
|
LPBYTE pForm);
|
|
|
|
BOOL
|
|
WINAPI
|
|
AddJobA(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pData,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
BOOL
|
|
WINAPI
|
|
AddJobW(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pData,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
BOOL
|
|
WINAPI
|
|
AddMonitorA(
|
|
_In_opt_ LPSTR pName,
|
|
_In_ DWORD Level,
|
|
_In_reads_bytes_opt_(sizeof(MONITOR_INFO_2)) LPBYTE pMonitors);
|
|
|
|
BOOL
|
|
WINAPI
|
|
AddMonitorW(
|
|
_In_opt_ LPWSTR pName,
|
|
_In_ DWORD Level,
|
|
_In_reads_bytes_opt_(sizeof(MONITOR_INFO_2)) LPBYTE pMonitors);
|
|
|
|
BOOL WINAPI AddPortA(_In_opt_ LPSTR, _In_ HWND, _In_ LPSTR);
|
|
BOOL WINAPI AddPortW(_In_opt_ LPWSTR, _In_ HWND, _In_ LPWSTR);
|
|
|
|
HANDLE
|
|
WINAPI
|
|
AddPrinterA(
|
|
_In_opt_ LPSTR pName,
|
|
_In_range_(1, 2) DWORD Level,
|
|
_When_(Level == 1, _In_reads_bytes_(sizeof(PRINTER_INFO_1)))
|
|
_When_(Level == 2, _In_reads_bytes_(sizeof(PRINTER_INFO_2)))
|
|
LPBYTE pPrinter);
|
|
|
|
HANDLE
|
|
WINAPI
|
|
AddPrinterW(
|
|
_In_opt_ LPWSTR pName,
|
|
_In_range_(1, 2) DWORD Level,
|
|
_When_(Level == 1, _In_reads_bytes_(sizeof(PRINTER_INFO_1)))
|
|
_When_(Level == 2, _In_reads_bytes_(sizeof(PRINTER_INFO_2)))
|
|
LPBYTE pPrinter);
|
|
|
|
BOOL WINAPI AddPrinterConnectionA(_In_ LPSTR);
|
|
BOOL WINAPI AddPrinterConnectionW(_In_ LPWSTR);
|
|
BOOL WINAPI AddPrinterDriverA(_In_opt_ LPSTR, _In_ DWORD, _In_ PBYTE);
|
|
BOOL WINAPI AddPrinterDriverW(_In_opt_ LPWSTR, _In_ DWORD, _In_ PBYTE);
|
|
|
|
BOOL
|
|
WINAPI
|
|
AddPrintProcessorA(
|
|
_In_opt_ LPSTR pName,
|
|
_In_opt_ LPSTR pEnvironment,
|
|
_In_ LPSTR pPathName,
|
|
_In_ LPSTR pPrintProcessorName);
|
|
|
|
BOOL
|
|
WINAPI
|
|
AddPrintProcessorW(
|
|
_In_opt_ LPWSTR pName,
|
|
_In_opt_ LPWSTR pEnvironment,
|
|
_In_ LPWSTR pPathName,
|
|
_In_ LPWSTR pPrintProcessorName);
|
|
|
|
BOOL
|
|
WINAPI
|
|
AddPrintProvidorA(
|
|
_In_opt_ LPSTR pName,
|
|
_In_range_(1, 2) DWORD Level,
|
|
_When_(Level == 1, _In_reads_bytes_(sizeof(PROVIDOR_INFO_1)))
|
|
_When_(Level == 2, _In_reads_bytes_(sizeof(PROVIDOR_INFO_2)))
|
|
LPBYTE pProvidorInfo);
|
|
|
|
BOOL
|
|
WINAPI
|
|
AddPrintProvidorW(
|
|
_In_opt_ LPWSTR pName,
|
|
_In_range_(1, 2) DWORD Level,
|
|
_When_(Level == 1, _In_reads_bytes_(sizeof(PROVIDOR_INFO_1)))
|
|
_When_(Level == 2, _In_reads_bytes_(sizeof(PROVIDOR_INFO_2)))
|
|
LPBYTE pProvidorInfo);
|
|
|
|
LONG
|
|
WINAPI
|
|
AdvancedDocumentPropertiesA(
|
|
_In_ HWND hWnd,
|
|
_In_ HANDLE hPrinter,
|
|
_In_ LPSTR pDeviceName,
|
|
_Inout_opt_ PDEVMODEA pDevModeOutput,
|
|
_In_opt_ PDEVMODEA pDevModeInput);
|
|
|
|
LONG
|
|
WINAPI
|
|
AdvancedDocumentPropertiesW(
|
|
_In_ HWND hWnd,
|
|
_In_ HANDLE hPrinter,
|
|
_In_ LPWSTR pDeviceName,
|
|
_Inout_opt_ PDEVMODEW pDevModeOutput,
|
|
_In_opt_ PDEVMODEW pDevModeInput);
|
|
|
|
BOOL WINAPI ClosePrinter(_In_ HANDLE);
|
|
BOOL WINAPI ConfigurePortA(_In_opt_ LPSTR, _In_ HWND, _In_ LPSTR);
|
|
BOOL WINAPI ConfigurePortW(_In_opt_ LPWSTR, _In_ HWND, _In_ LPWSTR);
|
|
HANDLE WINAPI ConnectToPrinterDlg(_In_ HWND, _In_ DWORD);
|
|
BOOL WINAPI DeleteFormA(_In_ HANDLE, _In_ LPSTR);
|
|
BOOL WINAPI DeleteFormW(_In_ HANDLE, _In_ LPWSTR);
|
|
BOOL WINAPI DeleteMonitorA(_In_opt_ LPSTR, _In_opt_ LPSTR, _In_ LPSTR);
|
|
BOOL WINAPI DeleteMonitorW(_In_opt_ LPWSTR, _In_opt_ LPWSTR, _In_ LPWSTR);
|
|
BOOL WINAPI DeletePortA(_In_opt_ LPSTR, _In_ HWND, _In_ LPSTR);
|
|
BOOL WINAPI DeletePortW(_In_opt_ LPWSTR, _In_ HWND, _In_ LPWSTR);
|
|
BOOL WINAPI DeletePrinter(_Inout_ HANDLE);
|
|
BOOL WINAPI DeletePrinterConnectionA(_In_ LPSTR);
|
|
BOOL WINAPI DeletePrinterConnectionW(_In_ LPWSTR);
|
|
DWORD WINAPI DeletePrinterDataA(_In_ HANDLE, _In_ LPSTR);
|
|
DWORD WINAPI DeletePrinterDataW(_In_ HANDLE, _In_ LPWSTR);
|
|
|
|
BOOL
|
|
WINAPI
|
|
DeletePrinterDriverA(
|
|
_In_opt_ LPSTR pName,
|
|
_In_opt_ LPSTR pEnvironment,
|
|
_In_ LPSTR pDriverName);
|
|
|
|
BOOL
|
|
WINAPI
|
|
DeletePrinterDriverW(
|
|
_In_opt_ LPWSTR pName,
|
|
_In_opt_ LPWSTR pEnvironment,
|
|
_In_ LPWSTR pDriverName);
|
|
|
|
BOOL
|
|
WINAPI
|
|
DeletePrintProcessorA(
|
|
_In_opt_ LPSTR pName,
|
|
_In_opt_ LPSTR pEnvironment,
|
|
_In_ LPSTR pPrintProcessorName);
|
|
|
|
BOOL
|
|
WINAPI
|
|
DeletePrintProcessorW(
|
|
_In_opt_ LPWSTR pName,
|
|
_In_opt_ LPWSTR pEnvironment,
|
|
_In_ LPWSTR pPrintProcessorName);
|
|
|
|
BOOL
|
|
WINAPI
|
|
DeletePrintProvidorA(
|
|
_In_opt_ LPSTR pName,
|
|
_In_opt_ LPSTR pEnvironment,
|
|
_In_ LPSTR pPrintProvidorName);
|
|
|
|
BOOL
|
|
WINAPI
|
|
DeletePrintProvidorW(
|
|
_In_opt_ LPWSTR pName,
|
|
_In_opt_ LPWSTR pEnvironment,
|
|
_In_ LPWSTR pPrintProvidorName);
|
|
|
|
LONG
|
|
WINAPI
|
|
DocumentPropertiesA(
|
|
_In_opt_ HWND hWnd,
|
|
_In_ HANDLE hPrinter,
|
|
_In_ LPSTR pDeviceName,
|
|
_Out_opt_ PDEVMODEA pDevModeOutput,
|
|
_In_opt_ PDEVMODEA pDevModeInput,
|
|
_In_ DWORD fMode);
|
|
|
|
LONG
|
|
WINAPI
|
|
DocumentPropertiesW(
|
|
_In_opt_ HWND hWnd,
|
|
_In_ HANDLE hPrinter,
|
|
_In_ LPWSTR pDeviceName,
|
|
_Out_opt_ PDEVMODEW pDevModeOutput,
|
|
_In_opt_ PDEVMODEW pDevModeInput,
|
|
_In_ DWORD fMode);
|
|
|
|
BOOL WINAPI EndDocPrinter(_In_ HANDLE);
|
|
BOOL WINAPI EndPagePrinter(_In_ HANDLE);
|
|
|
|
BOOL
|
|
WINAPI
|
|
EnumFormsA(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pForm,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
BOOL
|
|
WINAPI
|
|
EnumFormsW(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pForm,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
BOOL
|
|
WINAPI
|
|
EnumJobsA(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ DWORD FirstJob,
|
|
_In_ DWORD NoJobs,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pJob,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
BOOL
|
|
WINAPI
|
|
EnumJobsW(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ DWORD FirstJob,
|
|
_In_ DWORD NoJobs,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pJob,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
BOOL
|
|
WINAPI
|
|
EnumMonitorsA(
|
|
_In_opt_ LPSTR pName,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pMonitor,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
BOOL
|
|
WINAPI
|
|
EnumMonitorsW(
|
|
_In_opt_ LPWSTR pName,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pMonitor,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
BOOL
|
|
WINAPI
|
|
EnumPortsA(
|
|
_In_opt_ LPSTR pName,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pPort,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
BOOL
|
|
WINAPI
|
|
EnumPortsW(
|
|
_In_opt_ LPWSTR pName,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pPort,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
DWORD
|
|
WINAPI
|
|
EnumPrinterDataA(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ DWORD dwIndex,
|
|
_Out_writes_bytes_(cbValueName) LPSTR pValueName,
|
|
_In_ DWORD cbValueName,
|
|
_Out_ LPDWORD pcbValueName,
|
|
_Out_opt_ LPDWORD pType,
|
|
_Out_writes_to_opt_(cbData, *pcbData) LPBYTE pData,
|
|
_In_ DWORD cbData,
|
|
_When_(pData != NULL, _Pre_notnull_) _Out_opt_ LPDWORD pcbData);
|
|
|
|
DWORD
|
|
WINAPI
|
|
EnumPrinterDataW(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ DWORD dwIndex,
|
|
_Out_writes_bytes_(cbValueName) LPWSTR pValueName,
|
|
_In_ DWORD cbValueName,
|
|
_Out_ LPDWORD pcbValueName,
|
|
_Out_opt_ LPDWORD pType,
|
|
_Out_writes_to_opt_(cbData, *pcbData) LPBYTE pData,
|
|
_In_ DWORD cbData,
|
|
_When_(pData != NULL, _Pre_notnull_) _Out_opt_ LPDWORD pcbData);
|
|
|
|
BOOL
|
|
WINAPI
|
|
EnumPrinterDriversA(
|
|
_In_opt_ LPSTR pName,
|
|
_In_opt_ LPSTR pEnvironment,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pDriverInfo,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
BOOL
|
|
WINAPI
|
|
EnumPrinterDriversW(
|
|
_In_opt_ LPWSTR pName,
|
|
_In_opt_ LPWSTR pEnvironment,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pDriverInfo,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
_Success_(return != 0)
|
|
BOOL
|
|
WINAPI
|
|
EnumPrintersA(
|
|
_In_ DWORD Flags,
|
|
_In_opt_ LPSTR Name,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_to_opt_(cbBuf, *pcbNeeded) LPBYTE pPrinterEnum,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
_Success_(return != 0)
|
|
BOOL
|
|
WINAPI
|
|
EnumPrintersW(
|
|
_In_ DWORD Flags,
|
|
_In_opt_ LPWSTR Name,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_to_opt_(cbBuf, *pcbNeeded) LPBYTE pPrinterEnum,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
_Success_(return != 0)
|
|
BOOL
|
|
WINAPI
|
|
EnumPrintProcessorDatatypesA(
|
|
_In_opt_ LPSTR pName,
|
|
_In_ LPSTR pPrintProcessorName,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pDatatypes,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
_Success_(return != 0)
|
|
BOOL
|
|
WINAPI
|
|
EnumPrintProcessorDatatypesW(
|
|
_In_opt_ LPWSTR pName,
|
|
_In_ LPWSTR pPrintProcessorName,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pDatatypes,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
BOOL
|
|
WINAPI
|
|
EnumPrintProcessorsA(
|
|
_In_opt_ LPSTR pName,
|
|
_In_opt_ LPSTR pEnvironment,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pPrintProcessorInfo,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
BOOL
|
|
WINAPI
|
|
EnumPrintProcessorsW(
|
|
_In_opt_ LPWSTR pName,
|
|
_In_opt_ LPWSTR pEnvironment,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pPrintProcessorInfo,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded,
|
|
_Out_ LPDWORD pcReturned);
|
|
|
|
LONG
|
|
WINAPI
|
|
ExtDeviceMode(
|
|
_In_opt_ HWND hWnd,
|
|
_In_opt_ HANDLE hInst,
|
|
_Inout_opt_ LPDEVMODEA pDevModeOutput,
|
|
_In_opt_ LPSTR pDeviceName,
|
|
_In_opt_ LPSTR pPort,
|
|
_In_opt_ LPDEVMODEA pDevModeInput,
|
|
_In_opt_ LPSTR pProfile,
|
|
_In_ DWORD fMode);
|
|
|
|
BOOL WINAPI FindClosePrinterChangeNotification(_In_ HANDLE);
|
|
|
|
HANDLE
|
|
WINAPI
|
|
FindFirstPrinterChangeNotification(
|
|
_In_ HANDLE hPrinter,
|
|
DWORD fdwFilter,
|
|
DWORD fdwOptions,
|
|
_In_opt_ PVOID pPrinterNotifyOptions);
|
|
|
|
BOOL
|
|
WINAPI
|
|
FindNextPrinterChangeNotification(
|
|
_In_ HANDLE hChange,
|
|
_Out_opt_ PDWORD pdwChange,
|
|
_In_opt_ LPVOID pvReserved,
|
|
_Out_opt_ LPVOID *ppPrinterNotifyInfo);
|
|
|
|
BOOL WINAPI FreePrinterNotifyInfo(_In_ PPRINTER_NOTIFY_INFO);
|
|
|
|
#if _WIN32_WINNT >= 0x0500
|
|
|
|
BOOL
|
|
WINAPI
|
|
GetDefaultPrinterA(
|
|
_Out_writes_opt_(*pcchBuffer) LPSTR pszBuffer,
|
|
_Inout_ LPDWORD pcchBuffer);
|
|
|
|
BOOL
|
|
WINAPI
|
|
GetDefaultPrinterW(
|
|
_Out_writes_opt_(*pcchBuffer) LPWSTR pszBuffer,
|
|
_Inout_ LPDWORD pcchBuffer);
|
|
|
|
#endif
|
|
|
|
BOOL
|
|
WINAPI
|
|
GetFormA(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ LPSTR pFormName,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pForm,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
BOOL
|
|
WINAPI
|
|
GetFormW(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ LPWSTR pFormName,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pForm,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
BOOL
|
|
WINAPI
|
|
GetJobA(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ DWORD JobId,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pJob,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
BOOL
|
|
WINAPI
|
|
GetJobW(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ DWORD JobId,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pJob,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
BOOL
|
|
WINAPI
|
|
GetPrinterA(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pPrinter,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
BOOL
|
|
WINAPI
|
|
GetPrinterW(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pPrinter,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
DWORD
|
|
WINAPI
|
|
GetPrinterDataA(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ LPSTR pValueName,
|
|
_Out_opt_ LPDWORD pType,
|
|
_Out_writes_bytes_opt_(nSize) LPBYTE pData,
|
|
_In_ DWORD nSize,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
DWORD
|
|
WINAPI
|
|
GetPrinterDataW(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ LPWSTR pValueName,
|
|
_Out_opt_ LPDWORD pType,
|
|
_Out_writes_bytes_opt_(nSize) LPBYTE pData,
|
|
_In_ DWORD nSize,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
BOOL
|
|
WINAPI
|
|
GetPrinterDriverA(
|
|
_In_ HANDLE hPrinter,
|
|
_In_opt_ LPSTR pEnvironment,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pDriverInfo,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
BOOL
|
|
WINAPI
|
|
GetPrinterDriverW(
|
|
_In_ HANDLE hPrinter,
|
|
_In_opt_ LPWSTR pEnvironment,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pDriverInfo,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
BOOL
|
|
WINAPI
|
|
GetPrinterDriverDirectoryA(
|
|
_In_opt_ LPSTR pName,
|
|
_In_opt_ LPSTR pEnvironment,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pDriverDirectory,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
BOOL
|
|
WINAPI
|
|
GetPrinterDriverDirectoryW(
|
|
_In_opt_ LPWSTR pName,
|
|
_In_opt_ LPWSTR pEnvironment,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pDriverDirectory,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
BOOL
|
|
WINAPI
|
|
GetPrintProcessorDirectoryA(
|
|
_In_opt_ LPSTR pName,
|
|
_In_opt_ LPSTR pEnvironment,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pPrintProcessorInfo,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
BOOL
|
|
WINAPI
|
|
GetPrintProcessorDirectoryW(
|
|
_In_opt_ LPWSTR pName,
|
|
_In_opt_ LPWSTR pEnvironment,
|
|
_In_ DWORD Level,
|
|
_Out_writes_bytes_opt_(cbBuf) LPBYTE pPrintProcessorInfo,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcbNeeded);
|
|
|
|
#if NTDDI_VERSION >= NTDDI_WINXPSP2
|
|
BOOL WINAPI IsValidDevmodeA(_In_opt_ PDEVMODEA, size_t);
|
|
BOOL WINAPI IsValidDevmodeW(_In_opt_ PDEVMODEW, size_t);
|
|
#endif
|
|
|
|
BOOL
|
|
WINAPI
|
|
OpenPrinterA(
|
|
_In_opt_ LPSTR pPrinterName,
|
|
_Out_ LPHANDLE phPrinter,
|
|
_In_opt_ LPPRINTER_DEFAULTSA pDefault);
|
|
|
|
BOOL
|
|
WINAPI
|
|
OpenPrinterW(
|
|
_In_opt_ LPWSTR pPrinterName,
|
|
_Out_ LPHANDLE phPrinter,
|
|
_In_opt_ LPPRINTER_DEFAULTSW pDefault);
|
|
|
|
DWORD
|
|
WINAPI
|
|
PrinterMessageBoxA(
|
|
_In_ HANDLE hPrinter,
|
|
DWORD Error,
|
|
_In_ HWND hWnd,
|
|
_In_ LPSTR pText,
|
|
_In_ LPSTR pCaption,
|
|
DWORD dwType);
|
|
|
|
DWORD
|
|
WINAPI
|
|
PrinterMessageBoxW(
|
|
_In_ HANDLE hPrinter,
|
|
DWORD Error,
|
|
_In_ HWND hWnd,
|
|
_In_ LPWSTR pText,
|
|
_In_ LPWSTR pCaption,
|
|
DWORD dwType);
|
|
|
|
BOOL WINAPI PrinterProperties(_In_ HWND, _In_ HANDLE);
|
|
|
|
BOOL
|
|
WINAPI
|
|
ReadPrinter(
|
|
_In_ HANDLE hPrinter,
|
|
_Out_writes_bytes_(cbBuf) LPVOID pBuf,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pNoBytesRead);
|
|
|
|
BOOL WINAPI ResetPrinterA(_In_ HANDLE, _In_opt_ LPPRINTER_DEFAULTSA);
|
|
BOOL WINAPI ResetPrinterW(_In_ HANDLE, _In_opt_ LPPRINTER_DEFAULTSW);
|
|
BOOL WINAPI ScheduleJob(_In_ HANDLE, _In_ DWORD);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SetFormA(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ LPSTR pFormName,
|
|
_In_range_(1, 2) DWORD Level,
|
|
_When_(Level == 1, _In_reads_bytes_(sizeof(FORM_INFO_1A))) LPBYTE pForm);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SetFormW(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ LPWSTR pFormName,
|
|
_In_range_(1, 2) DWORD Level,
|
|
_When_(Level == 1, _In_reads_bytes_(sizeof(FORM_INFO_1W))) LPBYTE pForm);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SetJobA(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ DWORD JobId,
|
|
_In_range_(0, 4) DWORD Level,
|
|
_When_(Level == 0, _Reserved_)
|
|
_When_(Level == 1, _In_reads_bytes_opt_(sizeof(JOB_INFO_1)))
|
|
_When_(Level == 2, _In_reads_bytes_opt_(sizeof(JOB_INFO_2)))
|
|
_When_(Level == 3, _In_reads_bytes_opt_(sizeof(JOB_INFO_3)))
|
|
_When_(Level == 4, _In_reads_bytes_opt_(sizeof(JOB_INFO_4)))
|
|
LPBYTE pJob,
|
|
_In_ DWORD Command);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SetJobW(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ DWORD JobId,
|
|
_In_range_(0, 4) DWORD Level,
|
|
_When_(Level == 0, _Reserved_)
|
|
_When_(Level == 1, _In_reads_bytes_opt_(sizeof(JOB_INFO_1)))
|
|
_When_(Level == 2, _In_reads_bytes_opt_(sizeof(JOB_INFO_2)))
|
|
_When_(Level == 3, _In_reads_bytes_opt_(sizeof(JOB_INFO_3)))
|
|
_When_(Level == 4, _In_reads_bytes_opt_(sizeof(JOB_INFO_4)))
|
|
LPBYTE pJob,
|
|
_In_ DWORD Command);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SetPrinterA(
|
|
_In_ HANDLE hPrinter,
|
|
_In_range_(0, 9) DWORD Level,
|
|
_When_(Level == 0 && Command == PRINTER_CONTROL_SET_STATUS, _In_reads_bytes_(sizeof(DWORD)))
|
|
_When_(Level == 0 && Command != PRINTER_CONTROL_SET_STATUS, _In_opt_)
|
|
_When_(Level == 1, _In_reads_bytes_(sizeof(PRINTER_INFO_1)))
|
|
_When_(Level == 2, _In_reads_bytes_(sizeof(PRINTER_INFO_2)))
|
|
_When_(Level == 3, _In_reads_bytes_(sizeof(PRINTER_INFO_3)))
|
|
_When_(Level == 4, _In_reads_bytes_(sizeof(PRINTER_INFO_4)))
|
|
_When_(Level == 5, _In_reads_bytes_(sizeof(PRINTER_INFO_5)))
|
|
_When_(Level == 6, _In_reads_bytes_(sizeof(PRINTER_INFO_6)))
|
|
_When_(Level == 7, _In_reads_bytes_(sizeof(PRINTER_INFO_7)))
|
|
_When_(Level == 8, _In_reads_bytes_(sizeof(PRINTER_INFO_8)))
|
|
_When_(Level == 9, _In_reads_bytes_(sizeof(PRINTER_INFO_9)))
|
|
LPBYTE pPrinter,
|
|
_In_ DWORD Command);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SetPrinterW(
|
|
_In_ HANDLE hPrinter,
|
|
_In_range_(0, 9) DWORD Level,
|
|
_When_(Level == 0 && Command == PRINTER_CONTROL_SET_STATUS, _In_reads_bytes_(sizeof(DWORD)))
|
|
_When_(Level == 0 && Command != PRINTER_CONTROL_SET_STATUS, _In_opt_)
|
|
_When_(Level == 1, _In_reads_bytes_(sizeof(PRINTER_INFO_1)))
|
|
_When_(Level == 2, _In_reads_bytes_(sizeof(PRINTER_INFO_2)))
|
|
_When_(Level == 3, _In_reads_bytes_(sizeof(PRINTER_INFO_3)))
|
|
_When_(Level == 4, _In_reads_bytes_(sizeof(PRINTER_INFO_4)))
|
|
_When_(Level == 5, _In_reads_bytes_(sizeof(PRINTER_INFO_5)))
|
|
_When_(Level == 6, _In_reads_bytes_(sizeof(PRINTER_INFO_6)))
|
|
_When_(Level == 7, _In_reads_bytes_(sizeof(PRINTER_INFO_7)))
|
|
_When_(Level == 8, _In_reads_bytes_(sizeof(PRINTER_INFO_8)))
|
|
_When_(Level == 9, _In_reads_bytes_(sizeof(PRINTER_INFO_9)))
|
|
LPBYTE pPrinter,
|
|
_In_ DWORD Command);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SetPrinterDataA(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ LPSTR pValueName,
|
|
_In_ DWORD Type,
|
|
_In_reads_bytes_(cbData) LPBYTE pData,
|
|
_In_ DWORD cbData);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SetPrinterDataW(
|
|
_In_ HANDLE hPrinter,
|
|
_In_ LPWSTR pValueName,
|
|
_In_ DWORD Type,
|
|
_In_reads_bytes_(cbData) LPBYTE pData,
|
|
_In_ DWORD cbData);
|
|
|
|
#ifdef _WINE
|
|
LPSTR WINAPI StartDocDlgA(HANDLE hPrinter, DOCINFOA *doc);
|
|
LPWSTR WINAPI StartDocDlgW(HANDLE hPrinter, DOCINFOW *doc);
|
|
#define StartDocDlg WINELIB_NAME_AW(StartDocDlg)
|
|
#endif
|
|
|
|
DWORD
|
|
WINAPI
|
|
StartDocPrinterA(
|
|
_In_ HANDLE hPrinter,
|
|
_In_range_(1, 3) DWORD Level,
|
|
_When_(Level == 1, _In_reads_bytes_(sizeof(DOC_INFO_1))) LPBYTE pDocInfo);
|
|
|
|
DWORD
|
|
WINAPI
|
|
StartDocPrinterW(
|
|
_In_ HANDLE hPrinter,
|
|
_In_range_(1, 3) DWORD Level,
|
|
_When_(Level == 1, _In_reads_bytes_(sizeof(DOC_INFO_1))) LPBYTE pDocInfo);
|
|
|
|
BOOL WINAPI StartPagePrinter(_In_ HANDLE);
|
|
DWORD WINAPI WaitForPrinterChange(_In_ HANDLE, _In_ DWORD);
|
|
|
|
BOOL
|
|
WINAPI
|
|
WritePrinter(
|
|
_In_ HANDLE hPrinter,
|
|
_In_reads_bytes_(cbBuf) LPVOID pBuf,
|
|
_In_ DWORD cbBuf,
|
|
_Out_ LPDWORD pcWritten);
|
|
|
|
BOOL
|
|
WINAPI
|
|
XcvDataW(
|
|
_In_ HANDLE hXcv,
|
|
_In_ PCWSTR pszDataName,
|
|
_In_reads_bytes_opt_(cbInputData) PBYTE pInputData,
|
|
DWORD cbInputData,
|
|
_Out_writes_bytes_opt_(cbOutputData) PBYTE pOutputData,
|
|
DWORD cbOutputData,
|
|
_Out_ PDWORD pcbOutputNeeded,
|
|
_Out_opt_ PDWORD pdwStatus);
|
|
|
|
#ifdef UNICODE
|
|
|
|
#define AddForm AddFormW
|
|
#define AddJob AddJobW
|
|
#define AddMonitor AddMonitorW
|
|
#define AddPort AddPortW
|
|
#define AddPrinter AddPrinterW
|
|
#define AddPrinterConnection AddPrinterConnectionW
|
|
#define AddPrinterDriver AddPrinterDriverW
|
|
#define AddPrintProcessor AddPrintProcessorW
|
|
#define AddPrintProvidor AddPrintProvidorW
|
|
#define AdvancedDocumentProperties AdvancedDocumentPropertiesW
|
|
#define ConfigurePort ConfigurePortW
|
|
#define DeleteForm DeleteFormW
|
|
#define DeleteMonitor DeleteMonitorW
|
|
#define DeletePort DeletePortW
|
|
#define DeletePrinterConnection DeletePrinterConnectionW
|
|
#define DeletePrinterData DeletePrinterDataW
|
|
#define DeletePrinterDriver DeletePrinterDriverW
|
|
#define DeletePrintProcessor DeletePrinterProcessorW
|
|
#define DeletePrintProvidor DeletePrinterProvidorW
|
|
#define DocumentProperties DocumentPropertiesW
|
|
#define EnumForms EnumFormsW
|
|
#define EnumJobs EnumJobsW
|
|
#define EnumMonitors EnumMonitorsW
|
|
#define EnumPorts EnumPortsW
|
|
#define EnumPrinterData EnumPrinterDataW
|
|
#define EnumPrinterDrivers EnumPrinterDriversW
|
|
#define EnumPrinters EnumPrintersW
|
|
#define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesW
|
|
#define EnumPrintProcessors EnumPrintProcessorsW
|
|
#define GetDefaultPrinter GetDefaultPrinterW
|
|
#define GetForm GetFormW
|
|
#define GetJob GetJobW
|
|
#define GetPrinter GetPrinterW
|
|
#define GetPrinterData GetPrinterDataW
|
|
#define GetPrinterDriver GetPrinterDriverW
|
|
#define GetPrinterDriverDirectory GetPrinterDriverDirectoryW
|
|
#define GetPrintProcessorDirectory GetPrintProcessorDirectoryW
|
|
#define IsValidDevmode IsValidDevmodeW
|
|
#define OpenPrinter OpenPrinterW
|
|
#define PrinterMessageBox PrinterMessageBoxW
|
|
#define ResetPrinter ResetPrinterW
|
|
#define SetForm SetFormW
|
|
#define SetJob SetJobW
|
|
#define SetPrinter SetPrinterW
|
|
#define SetPrinterData SetPrinterDataW
|
|
#define StartDocPrinter StartDocPrinterW
|
|
|
|
#else /* UNICODE */
|
|
|
|
#define AddForm AddFormA
|
|
#define AddJob AddJobA
|
|
#define AddMonitor AddMonitorA
|
|
#define AddPort AddPortA
|
|
#define AddPrinter AddPrinterA
|
|
#define AddPrinterConnection AddPrinterConnectionA
|
|
#define AddPrinterDriver AddPrinterDriverA
|
|
#define AddPrintProcessor AddPrintProcessorA
|
|
#define AddPrintProvidor AddPrintProvidorA
|
|
#define AdvancedDocumentProperties AdvancedDocumentPropertiesA
|
|
#define ConfigurePort ConfigurePortA
|
|
#define DeleteForm DeleteFormA
|
|
#define DeleteMonitor DeleteMonitorA
|
|
#define DeletePort DeletePortA
|
|
#define DeletePrinterConnection DeletePrinterConnectionA
|
|
#define DeletePrinterData DeletePrinterDataA
|
|
#define DeletePrinterDriver DeletePrinterDriverA
|
|
#define DeletePrintProcessor DeletePrinterProcessorA
|
|
#define DeletePrintProvidor DeletePrinterProvidorA
|
|
#define DocumentProperties DocumentPropertiesA
|
|
#define EnumForms EnumFormsA
|
|
#define EnumJobs EnumJobsA
|
|
#define EnumMonitors EnumMonitorsA
|
|
#define EnumPorts EnumPortsA
|
|
#define EnumPrinterData EnumPrinterDataA
|
|
#define EnumPrinterDrivers EnumPrinterDriversA
|
|
#define EnumPrinters EnumPrintersA
|
|
#define EnumPrintProcessorDatatypes EnumPrintProcessorDatatypesA
|
|
#define EnumPrintProcessors EnumPrintProcessorsA
|
|
#define GetDefaultPrinter GetDefaultPrinterA
|
|
#define GetForm GetFormA
|
|
#define GetJob GetJobA
|
|
#define GetPrinter GetPrinterA
|
|
#define GetPrinterData GetPrinterDataA
|
|
#define GetPrinterDriver GetPrinterDriverA
|
|
#define GetPrinterDriverDirectory GetPrinterDriverDirectoryA
|
|
#define GetPrintProcessorDirectory GetPrintProcessorDirectoryA
|
|
#define IsValidDevmode IsValidDevmodeA
|
|
#define OpenPrinter OpenPrinterA
|
|
#define PrinterMessageBox PrinterMessageBoxA
|
|
#define ResetPrinter ResetPrinterA
|
|
#define SetForm SetFormA
|
|
#define SetJob SetJobA
|
|
#define SetPrinter SetPrinterA
|
|
#define SetPrinterData SetPrinterDataA
|
|
#define StartDocPrinter StartDocPrinterA
|
|
|
|
#endif /* UNICODE */
|
|
|
|
#endif /* !RC_INVOKED */
|
|
|
|
#ifdef _MSC_VER
|
|
#pragma warning(pop)
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _WINSPOOL_ */
|