[Printing] Update and Add Functions

More forwards to LocalSpl and LocalMon. At sometime will be merged together.
Bug fixes.
Printer Driver code is a wine hack. (WIP)
Added information for shell tray icon notifications.
Sync wine WinSpool driver tests. Unplugged from build.
This commit is contained in:
James Tabor 2020-08-26 17:12:20 -05:00
parent 22fb1e947d
commit 62c4b828b4
54 changed files with 6000 additions and 564 deletions

View file

@ -351,55 +351,55 @@ extern "C" {
#define JOB_POSITION_UNSPECIFIED 0
typedef struct _ADDJOB_INFO_1A {
typedef struct _ADDJOB_INFO_1A {
LPSTR Path;
DWORD JobId;
} ADDJOB_INFO_1A,*PADDJOB_INFO_1A,*LPADDJOB_INFO_1A;
} ADDJOB_INFO_1A,*PADDJOB_INFO_1A,*LPADDJOB_INFO_1A;
typedef struct _ADDJOB_INFO_1W {
typedef struct _ADDJOB_INFO_1W {
LPWSTR Path;
DWORD JobId;
} ADDJOB_INFO_1W,*PADDJOB_INFO_1W,*LPADDJOB_INFO_1W;
} ADDJOB_INFO_1W,*PADDJOB_INFO_1W,*LPADDJOB_INFO_1W;
__MINGW_TYPEDEF_AW(ADDJOB_INFO_1)
__MINGW_TYPEDEF_AW(PADDJOB_INFO_1)
__MINGW_TYPEDEF_AW(LPADDJOB_INFO_1)
__MINGW_TYPEDEF_AW(ADDJOB_INFO_1)
__MINGW_TYPEDEF_AW(PADDJOB_INFO_1)
__MINGW_TYPEDEF_AW(LPADDJOB_INFO_1)
typedef struct _DRIVER_INFO_1A {
typedef struct _DRIVER_INFO_1A {
LPSTR pName;
} DRIVER_INFO_1A,*PDRIVER_INFO_1A,*LPDRIVER_INFO_1A;
} DRIVER_INFO_1A,*PDRIVER_INFO_1A,*LPDRIVER_INFO_1A;
typedef struct _DRIVER_INFO_1W {
typedef struct _DRIVER_INFO_1W {
LPWSTR pName;
} DRIVER_INFO_1W,*PDRIVER_INFO_1W,*LPDRIVER_INFO_1W;
} DRIVER_INFO_1W,*PDRIVER_INFO_1W,*LPDRIVER_INFO_1W;
__MINGW_TYPEDEF_AW(DRIVER_INFO_1)
__MINGW_TYPEDEF_AW(PDRIVER_INFO_1)
__MINGW_TYPEDEF_AW(LPDRIVER_INFO_1)
__MINGW_TYPEDEF_AW(DRIVER_INFO_1)
__MINGW_TYPEDEF_AW(PDRIVER_INFO_1)
__MINGW_TYPEDEF_AW(LPDRIVER_INFO_1)
typedef struct _DRIVER_INFO_2A {
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;
} DRIVER_INFO_2A,*PDRIVER_INFO_2A,*LPDRIVER_INFO_2A;
typedef struct _DRIVER_INFO_2W {
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;
} DRIVER_INFO_2W,*PDRIVER_INFO_2W,*LPDRIVER_INFO_2W;
__MINGW_TYPEDEF_AW(DRIVER_INFO_2)
__MINGW_TYPEDEF_AW(PDRIVER_INFO_2)
__MINGW_TYPEDEF_AW(LPDRIVER_INFO_2)
__MINGW_TYPEDEF_AW(DRIVER_INFO_2)
__MINGW_TYPEDEF_AW(PDRIVER_INFO_2)
__MINGW_TYPEDEF_AW(LPDRIVER_INFO_2)
typedef struct _DRIVER_INFO_3A {
typedef struct _DRIVER_INFO_3A {
DWORD cVersion;
LPSTR pName;
LPSTR pEnvironment;
@ -410,9 +410,9 @@ extern "C" {
LPSTR pDependentFiles;
LPSTR pMonitorName;
LPSTR pDefaultDataType;
} DRIVER_INFO_3A,*PDRIVER_INFO_3A,*LPDRIVER_INFO_3A;
} DRIVER_INFO_3A,*PDRIVER_INFO_3A,*LPDRIVER_INFO_3A;
typedef struct _DRIVER_INFO_3W {
typedef struct _DRIVER_INFO_3W {
DWORD cVersion;
LPWSTR pName;
LPWSTR pEnvironment;
@ -423,13 +423,13 @@ extern "C" {
LPWSTR pDependentFiles;
LPWSTR pMonitorName;
LPWSTR pDefaultDataType;
} DRIVER_INFO_3W,*PDRIVER_INFO_3W,*LPDRIVER_INFO_3W;
} DRIVER_INFO_3W,*PDRIVER_INFO_3W,*LPDRIVER_INFO_3W;
__MINGW_TYPEDEF_AW(DRIVER_INFO_3)
__MINGW_TYPEDEF_AW(PDRIVER_INFO_3)
__MINGW_TYPEDEF_AW(LPDRIVER_INFO_3)
__MINGW_TYPEDEF_AW(DRIVER_INFO_3)
__MINGW_TYPEDEF_AW(PDRIVER_INFO_3)
__MINGW_TYPEDEF_AW(LPDRIVER_INFO_3)
typedef struct _DRIVER_INFO_4A {
typedef struct _DRIVER_INFO_4A {
DWORD cVersion;
LPSTR pName;
LPSTR pEnvironment;
@ -441,9 +441,9 @@ extern "C" {
LPSTR pMonitorName;
LPSTR pDefaultDataType;
LPSTR pszzPreviousNames;
} DRIVER_INFO_4A,*PDRIVER_INFO_4A,*LPDRIVER_INFO_4A;
} DRIVER_INFO_4A,*PDRIVER_INFO_4A,*LPDRIVER_INFO_4A;
typedef struct _DRIVER_INFO_4W {
typedef struct _DRIVER_INFO_4W {
DWORD cVersion;
LPWSTR pName;
LPWSTR pEnvironment;
@ -455,13 +455,13 @@ extern "C" {
LPWSTR pMonitorName;
LPWSTR pDefaultDataType;
LPWSTR pszzPreviousNames;
} DRIVER_INFO_4W,*PDRIVER_INFO_4W,*LPDRIVER_INFO_4W;
} DRIVER_INFO_4W,*PDRIVER_INFO_4W,*LPDRIVER_INFO_4W;
__MINGW_TYPEDEF_AW(DRIVER_INFO_4)
__MINGW_TYPEDEF_AW(PDRIVER_INFO_4)
__MINGW_TYPEDEF_AW(LPDRIVER_INFO_4)
__MINGW_TYPEDEF_AW(DRIVER_INFO_4)
__MINGW_TYPEDEF_AW(PDRIVER_INFO_4)
__MINGW_TYPEDEF_AW(LPDRIVER_INFO_4)
typedef struct _DRIVER_INFO_5A {
typedef struct _DRIVER_INFO_5A {
DWORD cVersion;
LPSTR pName;
LPSTR pEnvironment;
@ -471,9 +471,9 @@ extern "C" {
DWORD dwDriverAttributes;
DWORD dwConfigVersion;
DWORD dwDriverVersion;
} DRIVER_INFO_5A,*PDRIVER_INFO_5A,*LPDRIVER_INFO_5A;
} DRIVER_INFO_5A,*PDRIVER_INFO_5A,*LPDRIVER_INFO_5A;
typedef struct _DRIVER_INFO_5W {
typedef struct _DRIVER_INFO_5W {
DWORD cVersion;
LPWSTR pName;
LPWSTR pEnvironment;
@ -483,13 +483,13 @@ extern "C" {
DWORD dwDriverAttributes;
DWORD dwConfigVersion;
DWORD dwDriverVersion;
} DRIVER_INFO_5W,*PDRIVER_INFO_5W,*LPDRIVER_INFO_5W;
} DRIVER_INFO_5W,*PDRIVER_INFO_5W,*LPDRIVER_INFO_5W;
__MINGW_TYPEDEF_AW(DRIVER_INFO_5)
__MINGW_TYPEDEF_AW(PDRIVER_INFO_5)
__MINGW_TYPEDEF_AW(LPDRIVER_INFO_5)
__MINGW_TYPEDEF_AW(DRIVER_INFO_5)
__MINGW_TYPEDEF_AW(PDRIVER_INFO_5)
__MINGW_TYPEDEF_AW(LPDRIVER_INFO_5)
typedef struct _DRIVER_INFO_6A {
typedef struct _DRIVER_INFO_6A {
DWORD cVersion;
LPSTR pName;
LPSTR pEnvironment;
@ -507,9 +507,9 @@ extern "C" {
LPSTR pszOEMUrl;
LPSTR pszHardwareID;
LPSTR pszProvider;
} DRIVER_INFO_6A,*PDRIVER_INFO_6A,*LPDRIVER_INFO_6A;
} DRIVER_INFO_6A,*PDRIVER_INFO_6A,*LPDRIVER_INFO_6A;
typedef struct _DRIVER_INFO_6W {
typedef struct _DRIVER_INFO_6W {
DWORD cVersion;
LPWSTR pName;
LPWSTR pEnvironment;
@ -527,11 +527,11 @@ extern "C" {
LPWSTR pszOEMUrl;
LPWSTR pszHardwareID;
LPWSTR pszProvider;
} DRIVER_INFO_6W,*PDRIVER_INFO_6W,*LPDRIVER_INFO_6W;
} DRIVER_INFO_6W,*PDRIVER_INFO_6W,*LPDRIVER_INFO_6W;
__MINGW_TYPEDEF_AW(DRIVER_INFO_6)
__MINGW_TYPEDEF_AW(PDRIVER_INFO_6)
__MINGW_TYPEDEF_AW(LPDRIVER_INFO_6)
__MINGW_TYPEDEF_AW(DRIVER_INFO_6)
__MINGW_TYPEDEF_AW(PDRIVER_INFO_6)
__MINGW_TYPEDEF_AW(LPDRIVER_INFO_6)
typedef struct _DRIVER_INFO_8W {
DWORD cVersion;
@ -606,39 +606,39 @@ __MINGW_TYPEDEF_AW(LPDRIVER_INFO_8)
#define APD_COPY_NEW_FILES 0x00000008
#define APD_COPY_FROM_DIRECTORY 0x00000010
typedef struct _DOC_INFO_1A {
typedef struct _DOC_INFO_1A {
LPSTR pDocName;
LPSTR pOutputFile;
LPSTR pDatatype;
} DOC_INFO_1A,*PDOC_INFO_1A,*LPDOC_INFO_1A;
} DOC_INFO_1A,*PDOC_INFO_1A,*LPDOC_INFO_1A;
typedef struct _DOC_INFO_1W {
typedef struct _DOC_INFO_1W {
LPWSTR pDocName;
LPWSTR pOutputFile;
LPWSTR pDatatype;
} DOC_INFO_1W,*PDOC_INFO_1W,*LPDOC_INFO_1W;
} DOC_INFO_1W,*PDOC_INFO_1W,*LPDOC_INFO_1W;
__MINGW_TYPEDEF_AW(DOC_INFO_1)
__MINGW_TYPEDEF_AW(PDOC_INFO_1)
__MINGW_TYPEDEF_AW(LPDOC_INFO_1)
__MINGW_TYPEDEF_AW(DOC_INFO_1)
__MINGW_TYPEDEF_AW(PDOC_INFO_1)
__MINGW_TYPEDEF_AW(LPDOC_INFO_1)
typedef struct _FORM_INFO_1A {
typedef struct _FORM_INFO_1A {
DWORD Flags;
LPSTR pName;
SIZEL Size;
RECTL ImageableArea;
} FORM_INFO_1A,*PFORM_INFO_1A,*LPFORM_INFO_1A;
} FORM_INFO_1A,*PFORM_INFO_1A,*LPFORM_INFO_1A;
typedef struct _FORM_INFO_1W {
typedef struct _FORM_INFO_1W {
DWORD Flags;
LPWSTR pName;
SIZEL Size;
RECTL ImageableArea;
} FORM_INFO_1W,*PFORM_INFO_1W,*LPFORM_INFO_1W;
} FORM_INFO_1W,*PFORM_INFO_1W,*LPFORM_INFO_1W;
__MINGW_TYPEDEF_AW(FORM_INFO_1)
__MINGW_TYPEDEF_AW(PFORM_INFO_1)
__MINGW_TYPEDEF_AW(LPFORM_INFO_1)
__MINGW_TYPEDEF_AW(FORM_INFO_1)
__MINGW_TYPEDEF_AW(PFORM_INFO_1)
__MINGW_TYPEDEF_AW(LPFORM_INFO_1)
typedef struct _FORM_INFO_2A {
DWORD Flags;
@ -669,46 +669,50 @@ typedef struct _FORM_INFO_2W {
__MINGW_TYPEDEF_AW(FORM_INFO_2)
__MINGW_TYPEDEF_AW(PFORM_INFO_2)
typedef struct _DOC_INFO_2A {
#define STRING_NONE 0x00000001
#define STRING_MUIDLL 0x00000002
#define STRING_LANGPAIR 0x00000004
typedef struct _DOC_INFO_2A {
LPSTR pDocName;
LPSTR pOutputFile;
LPSTR pDatatype;
DWORD dwMode;
DWORD JobId;
} DOC_INFO_2A,*PDOC_INFO_2A,*LPDOC_INFO_2A;
} DOC_INFO_2A,*PDOC_INFO_2A,*LPDOC_INFO_2A;
typedef struct _DOC_INFO_2W {
typedef struct _DOC_INFO_2W {
LPWSTR pDocName;
LPWSTR pOutputFile;
LPWSTR pDatatype;
DWORD dwMode;
DWORD JobId;
} DOC_INFO_2W,*PDOC_INFO_2W,*LPDOC_INFO_2W;
} DOC_INFO_2W,*PDOC_INFO_2W,*LPDOC_INFO_2W;
__MINGW_TYPEDEF_AW(DOC_INFO_2)
__MINGW_TYPEDEF_AW(PDOC_INFO_2)
__MINGW_TYPEDEF_AW(LPDOC_INFO_2)
__MINGW_TYPEDEF_AW(DOC_INFO_2)
__MINGW_TYPEDEF_AW(PDOC_INFO_2)
__MINGW_TYPEDEF_AW(LPDOC_INFO_2)
#define DI_CHANNEL 1
#define DI_READ_SPOOL_JOB 3
typedef struct _DOC_INFO_3A {
typedef struct _DOC_INFO_3A {
LPSTR pDocName;
LPSTR pOutputFile;
LPSTR pDatatype;
DWORD dwFlags;
} DOC_INFO_3A,*PDOC_INFO_3A,*LPDOC_INFO_3A;
} DOC_INFO_3A,*PDOC_INFO_3A,*LPDOC_INFO_3A;
typedef struct _DOC_INFO_3W {
typedef struct _DOC_INFO_3W {
LPWSTR pDocName;
LPWSTR pOutputFile;
LPWSTR pDatatype;
DWORD dwFlags;
} DOC_INFO_3W,*PDOC_INFO_3W,*LPDOC_INFO_3W;
} DOC_INFO_3W,*PDOC_INFO_3W,*LPDOC_INFO_3W;
__MINGW_TYPEDEF_AW(DOC_INFO_3)
__MINGW_TYPEDEF_AW(PDOC_INFO_3)
__MINGW_TYPEDEF_AW(LPDOC_INFO_3)
__MINGW_TYPEDEF_AW(DOC_INFO_3)
__MINGW_TYPEDEF_AW(PDOC_INFO_3)
__MINGW_TYPEDEF_AW(LPDOC_INFO_3)
#define DI_MEMORYMAP_WRITE 0x00000001
@ -716,79 +720,79 @@ __MINGW_TYPEDEF_AW(PFORM_INFO_2)
#define FORM_BUILTIN 0x00000001
#define FORM_PRINTER 0x00000002
typedef struct _PRINTPROCESSOR_INFO_1A {
typedef struct _PRINTPROCESSOR_INFO_1A {
LPSTR pName;
} PRINTPROCESSOR_INFO_1A,*PPRINTPROCESSOR_INFO_1A,*LPPRINTPROCESSOR_INFO_1A;
} PRINTPROCESSOR_INFO_1A,*PPRINTPROCESSOR_INFO_1A,*LPPRINTPROCESSOR_INFO_1A;
typedef struct _PRINTPROCESSOR_INFO_1W {
typedef struct _PRINTPROCESSOR_INFO_1W {
LPWSTR pName;
} PRINTPROCESSOR_INFO_1W,*PPRINTPROCESSOR_INFO_1W,*LPPRINTPROCESSOR_INFO_1W;
} PRINTPROCESSOR_INFO_1W,*PPRINTPROCESSOR_INFO_1W,*LPPRINTPROCESSOR_INFO_1W;
__MINGW_TYPEDEF_AW(PRINTPROCESSOR_INFO_1)
__MINGW_TYPEDEF_AW(PPRINTPROCESSOR_INFO_1)
__MINGW_TYPEDEF_AW(LPPRINTPROCESSOR_INFO_1)
__MINGW_TYPEDEF_AW(PRINTPROCESSOR_INFO_1)
__MINGW_TYPEDEF_AW(PPRINTPROCESSOR_INFO_1)
__MINGW_TYPEDEF_AW(LPPRINTPROCESSOR_INFO_1)
typedef struct _PRINTPROCESSOR_CAPS_1 {
typedef struct _PRINTPROCESSOR_CAPS_1 {
DWORD dwLevel;
DWORD dwNupOptions;
DWORD dwPageOrderFlags;
DWORD dwNumberOfCopies;
} PRINTPROCESSOR_CAPS_1,*PPRINTPROCESSOR_CAPS_1;
} PRINTPROCESSOR_CAPS_1,*PPRINTPROCESSOR_CAPS_1;
#define NORMAL_PRINT 0x00000000
#define REVERSE_PRINT 0x00000001
typedef struct _PORT_INFO_1A {
typedef struct _PORT_INFO_1A {
LPSTR pName;
} PORT_INFO_1A,*PPORT_INFO_1A,*LPPORT_INFO_1A;
typedef struct _PORT_INFO_1W {
} 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;
} PORT_INFO_1W,*PPORT_INFO_1W,*LPPORT_INFO_1W;
__MINGW_TYPEDEF_AW(PORT_INFO_1)
__MINGW_TYPEDEF_AW(PPORT_INFO_1)
__MINGW_TYPEDEF_AW(LPPORT_INFO_1)
__MINGW_TYPEDEF_AW(PORT_INFO_1)
__MINGW_TYPEDEF_AW(PPORT_INFO_1)
__MINGW_TYPEDEF_AW(LPPORT_INFO_1)
typedef struct _PORT_INFO_2A {
typedef struct _PORT_INFO_2A {
LPSTR pPortName;
LPSTR pMonitorName;
LPSTR pDescription;
DWORD fPortType;
DWORD Reserved;
} PORT_INFO_2A,*PPORT_INFO_2A,*LPPORT_INFO_2A;
} PORT_INFO_2A,*PPORT_INFO_2A,*LPPORT_INFO_2A;
typedef struct _PORT_INFO_2W {
typedef struct _PORT_INFO_2W {
LPWSTR pPortName;
LPWSTR pMonitorName;
LPWSTR pDescription;
DWORD fPortType;
DWORD Reserved;
} PORT_INFO_2W,*PPORT_INFO_2W,*LPPORT_INFO_2W;
} PORT_INFO_2W,*PPORT_INFO_2W,*LPPORT_INFO_2W;
__MINGW_TYPEDEF_AW(PORT_INFO_2)
__MINGW_TYPEDEF_AW(PPORT_INFO_2)
__MINGW_TYPEDEF_AW(LPPORT_INFO_2)
__MINGW_TYPEDEF_AW(PORT_INFO_2)
__MINGW_TYPEDEF_AW(PPORT_INFO_2)
__MINGW_TYPEDEF_AW(LPPORT_INFO_2)
#define PORT_TYPE_WRITE 0x0001
#define PORT_TYPE_READ 0x0002
#define PORT_TYPE_REDIRECTED 0x0004
#define PORT_TYPE_NET_ATTACHED 0x0008
typedef struct _PORT_INFO_3A {
typedef struct _PORT_INFO_3A {
DWORD dwStatus;
LPSTR pszStatus;
DWORD dwSeverity;
} PORT_INFO_3A,*PPORT_INFO_3A,*LPPORT_INFO_3A;
} PORT_INFO_3A,*PPORT_INFO_3A,*LPPORT_INFO_3A;
typedef struct _PORT_INFO_3W {
typedef struct _PORT_INFO_3W {
DWORD dwStatus;
LPWSTR pszStatus;
DWORD dwSeverity;
} PORT_INFO_3W,*PPORT_INFO_3W,*LPPORT_INFO_3W;
} PORT_INFO_3W,*PPORT_INFO_3W,*LPPORT_INFO_3W;
__MINGW_TYPEDEF_AW(PORT_INFO_3)
__MINGW_TYPEDEF_AW(PPORT_INFO_3)
__MINGW_TYPEDEF_AW(LPPORT_INFO_3)
__MINGW_TYPEDEF_AW(PORT_INFO_3)
__MINGW_TYPEDEF_AW(PPORT_INFO_3)
__MINGW_TYPEDEF_AW(LPPORT_INFO_3)
#define PORT_STATUS_TYPE_ERROR 1
#define PORT_STATUS_TYPE_WARNING 2
@ -807,86 +811,86 @@ __MINGW_TYPEDEF_AW(PFORM_INFO_2)
#define PORT_STATUS_WARMING_UP 11
#define PORT_STATUS_POWER_SAVE 12
typedef struct _MONITOR_INFO_1A{
typedef struct _MONITOR_INFO_1A{
LPSTR pName;
} MONITOR_INFO_1A,*PMONITOR_INFO_1A,*LPMONITOR_INFO_1A;
} MONITOR_INFO_1A,*PMONITOR_INFO_1A,*LPMONITOR_INFO_1A;
typedef struct _MONITOR_INFO_1W{
typedef struct _MONITOR_INFO_1W{
LPWSTR pName;
} MONITOR_INFO_1W,*PMONITOR_INFO_1W,*LPMONITOR_INFO_1W;
} MONITOR_INFO_1W,*PMONITOR_INFO_1W,*LPMONITOR_INFO_1W;
__MINGW_TYPEDEF_AW(MONITOR_INFO_1)
__MINGW_TYPEDEF_AW(PMONITOR_INFO_1)
__MINGW_TYPEDEF_AW(LPMONITOR_INFO_1)
__MINGW_TYPEDEF_AW(MONITOR_INFO_1)
__MINGW_TYPEDEF_AW(PMONITOR_INFO_1)
__MINGW_TYPEDEF_AW(LPMONITOR_INFO_1)
typedef struct _MONITOR_INFO_2A {
typedef struct _MONITOR_INFO_2A {
LPSTR pName;
LPSTR pEnvironment;
LPSTR pDLLName;
} MONITOR_INFO_2A,*PMONITOR_INFO_2A,*LPMONITOR_INFO_2A;
} MONITOR_INFO_2A,*PMONITOR_INFO_2A,*LPMONITOR_INFO_2A;
typedef struct _MONITOR_INFO_2W {
typedef struct _MONITOR_INFO_2W {
LPWSTR pName;
LPWSTR pEnvironment;
LPWSTR pDLLName;
} MONITOR_INFO_2W,*PMONITOR_INFO_2W,*LPMONITOR_INFO_2W;
} MONITOR_INFO_2W,*PMONITOR_INFO_2W,*LPMONITOR_INFO_2W;
__MINGW_TYPEDEF_AW(MONITOR_INFO_2)
__MINGW_TYPEDEF_AW(PMONITOR_INFO_2)
__MINGW_TYPEDEF_AW(LPMONITOR_INFO_2)
__MINGW_TYPEDEF_AW(MONITOR_INFO_2)
__MINGW_TYPEDEF_AW(PMONITOR_INFO_2)
__MINGW_TYPEDEF_AW(LPMONITOR_INFO_2)
typedef struct _DATATYPES_INFO_1A {
typedef struct _DATATYPES_INFO_1A {
LPSTR pName;
} DATATYPES_INFO_1A,*PDATATYPES_INFO_1A,*LPDATATYPES_INFO_1A;
} DATATYPES_INFO_1A,*PDATATYPES_INFO_1A,*LPDATATYPES_INFO_1A;
typedef struct _DATATYPES_INFO_1W {
typedef struct _DATATYPES_INFO_1W {
LPWSTR pName;
} DATATYPES_INFO_1W,*PDATATYPES_INFO_1W,*LPDATATYPES_INFO_1W;
} DATATYPES_INFO_1W,*PDATATYPES_INFO_1W,*LPDATATYPES_INFO_1W;
__MINGW_TYPEDEF_AW(DATATYPES_INFO_1)
__MINGW_TYPEDEF_AW(PDATATYPES_INFO_1)
__MINGW_TYPEDEF_AW(LPDATATYPES_INFO_1)
__MINGW_TYPEDEF_AW(DATATYPES_INFO_1)
__MINGW_TYPEDEF_AW(PDATATYPES_INFO_1)
__MINGW_TYPEDEF_AW(LPDATATYPES_INFO_1)
typedef struct _PRINTER_DEFAULTSA {
typedef struct _PRINTER_DEFAULTSA {
LPSTR pDatatype;
LPDEVMODEA pDevMode;
ACCESS_MASK DesiredAccess;
} PRINTER_DEFAULTSA,*PPRINTER_DEFAULTSA,*LPPRINTER_DEFAULTSA;
} PRINTER_DEFAULTSA,*PPRINTER_DEFAULTSA,*LPPRINTER_DEFAULTSA;
typedef struct _PRINTER_DEFAULTSW {
typedef struct _PRINTER_DEFAULTSW {
LPWSTR pDatatype;
LPDEVMODEW pDevMode;
ACCESS_MASK DesiredAccess;
} PRINTER_DEFAULTSW,*PPRINTER_DEFAULTSW,*LPPRINTER_DEFAULTSW;
} PRINTER_DEFAULTSW,*PPRINTER_DEFAULTSW,*LPPRINTER_DEFAULTSW;
__MINGW_TYPEDEF_AW(PRINTER_DEFAULTS)
__MINGW_TYPEDEF_AW(PPRINTER_DEFAULTS)
__MINGW_TYPEDEF_AW(LPPRINTER_DEFAULTS)
__MINGW_TYPEDEF_AW(PRINTER_DEFAULTS)
__MINGW_TYPEDEF_AW(PPRINTER_DEFAULTS)
__MINGW_TYPEDEF_AW(LPPRINTER_DEFAULTS)
typedef struct _PRINTER_ENUM_VALUESA {
typedef struct _PRINTER_ENUM_VALUESA {
LPSTR pValueName;
DWORD cbValueName;
DWORD dwType;
LPBYTE pData;
DWORD cbData;
} PRINTER_ENUM_VALUESA,*PPRINTER_ENUM_VALUESA,*LPPRINTER_ENUM_VALUESA;
} PRINTER_ENUM_VALUESA,*PPRINTER_ENUM_VALUESA,*LPPRINTER_ENUM_VALUESA;
typedef struct _PRINTER_ENUM_VALUESW {
typedef struct _PRINTER_ENUM_VALUESW {
LPWSTR pValueName;
DWORD cbValueName;
DWORD dwType;
LPBYTE pData;
DWORD cbData;
} PRINTER_ENUM_VALUESW,*PPRINTER_ENUM_VALUESW,*LPPRINTER_ENUM_VALUESW;
} PRINTER_ENUM_VALUESW,*PPRINTER_ENUM_VALUESW,*LPPRINTER_ENUM_VALUESW;
__MINGW_TYPEDEF_AW(PRINTER_ENUM_VALUES)
__MINGW_TYPEDEF_AW(PPRINTER_ENUM_VALUES)
__MINGW_TYPEDEF_AW(LPPRINTER_ENUM_VALUES)
__MINGW_TYPEDEF_AW(PRINTER_ENUM_VALUES)
__MINGW_TYPEDEF_AW(PPRINTER_ENUM_VALUES)
__MINGW_TYPEDEF_AW(LPPRINTER_ENUM_VALUES)
#define EnumPrinters __MINGW_NAME_AW(EnumPrinters)
WINBOOL WINAPI EnumPrintersA(DWORD Flags,LPSTR Name,DWORD Level,LPBYTE pPrinterEnum,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL WINAPI EnumPrintersW(DWORD Flags,LPWSTR Name,DWORD Level,LPBYTE pPrinterEnum,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL WINAPI EnumPrintersA(DWORD Flags,LPSTR Name,DWORD Level,LPBYTE pPrinterEnum,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
WINBOOL WINAPI EnumPrintersW(DWORD Flags,LPWSTR Name,DWORD Level,LPBYTE pPrinterEnum,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned);
#define PRINTER_ENUM_DEFAULT 0x00000001
#define PRINTER_ENUM_LOCAL 0x00000002