Something went wrong. Try again.
Reactos
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681/** * This file has no copyright assigned and is placed in the Public Domain. * This file is part of the mingw-w64 runtime package. * No warranty is given; refer to the file DISCLAIMER.PD within this package. */#ifndef _WINSPOOL_#define _WINSPOOL_
#include <_mingw_unicode.h>
#ifdef _WINUSER_#include <prsht.h>#endif
#ifdef __cplusplusextern "C" {#endif
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;
__MINGW_TYPEDEF_AW(PRINTER_INFO_1) __MINGW_TYPEDEF_AW(PPRINTER_INFO_1) __MINGW_TYPEDEF_AW(LPPRINTER_INFO_1)
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;
__MINGW_TYPEDEF_AW(PRINTER_INFO_2) __MINGW_TYPEDEF_AW(PPRINTER_INFO_2) __MINGW_TYPEDEF_AW(LPPRINTER_INFO_2)
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;
__MINGW_TYPEDEF_AW(PRINTER_INFO_4) __MINGW_TYPEDEF_AW(PPRINTER_INFO_4) __MINGW_TYPEDEF_AW(LPPRINTER_INFO_4)
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;
__MINGW_TYPEDEF_AW(PRINTER_INFO_5) __MINGW_TYPEDEF_AW(PPRINTER_INFO_5) __MINGW_TYPEDEF_AW(LPPRINTER_INFO_5)
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;
__MINGW_TYPEDEF_AW(PRINTER_INFO_7) __MINGW_TYPEDEF_AW(PPRINTER_INFO_7) __MINGW_TYPEDEF_AW(LPPRINTER_INFO_7)
#define DSPRINT_PUBLISH 0x00000001#define DSPRINT_UPDATE 0x00000002#define DSPRINT_UNPUBLISH 0x00000004#define DSPRINT_REPUBLISH 0x00000008#define DSPRINT_PENDING 0x80000000
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;
__MINGW_TYPEDEF_AW(PRINTER_INFO_8) __MINGW_TYPEDEF_AW(PPRINTER_INFO_8) __MINGW_TYPEDEF_AW(LPPRINTER_INFO_8)
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;
__MINGW_TYPEDEF_AW(PRINTER_INFO_9) __MINGW_TYPEDEF_AW(PPRINTER_INFO_9) __MINGW_TYPEDEF_AW(LPPRINTER_INFO_9)
#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 PRINTER_ATTRIBUTE_RAW_ONLY 0x00001000#define PRINTER_ATTRIBUTE_PUBLISHED 0x00002000#define PRINTER_ATTRIBUTE_FAX 0x00004000#define PRINTER_ATTRIBUTE_TS 0x00008000
#define NO_PRIORITY 0#define MAX_PRIORITY 99#define MIN_PRIORITY 1#define DEF_PRIORITY 1
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;
__MINGW_TYPEDEF_AW(JOB_INFO_1) __MINGW_TYPEDEF_AW(PJOB_INFO_1) __MINGW_TYPEDEF_AW(LPJOB_INFO_1)
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;
__MINGW_TYPEDEF_AW(JOB_INFO_2) __MINGW_TYPEDEF_AW(PJOB_INFO_2) __MINGW_TYPEDEF_AW(LPJOB_INFO_2)
typedef struct _JOB_INFO_3 { DWORD JobId; DWORD NextJobId; DWORD Reserved; } JOB_INFO_3,*PJOB_INFO_3,*LPJOB_INFO_3;
#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_CONTROL_SENT_TO_PRINTER 6#define JOB_CONTROL_LAST_PAGE_EJECTED 7
#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_STATUS_RESTART 0x00000800#define JOB_STATUS_COMPLETE 0x00001000
#define JOB_POSITION_UNSPECIFIED 0
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;
__MINGW_TYPEDEF_AW(ADDJOB_INFO_1)__MINGW_TYPEDEF_AW(PADDJOB_INFO_1)__MINGW_TYPEDEF_AW(LPADDJOB_INFO_1)
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;
__MINGW_TYPEDEF_AW(DRIVER_INFO_1)__MINGW_TYPEDEF_AW(PDRIVER_INFO_1)__MINGW_TYPEDEF_AW(LPDRIVER_INFO_1)
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;
__MINGW_TYPEDEF_AW(DRIVER_INFO_2)__MINGW_TYPEDEF_AW(PDRIVER_INFO_2)__MINGW_TYPEDEF_AW(LPDRIVER_INFO_2)
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;
__MINGW_TYPEDEF_AW(DRIVER_INFO_3)__MINGW_TYPEDEF_AW(PDRIVER_INFO_3)__MINGW_TYPEDEF_AW(LPDRIVER_INFO_3)
typedef struct _DRIVER_INFO_4A { DWORD cVersion; LPSTR pName; LPSTR pEnvironment; LPSTR pDriverPath; LPSTR pDataFile; LPSTR pConfigFile; LPSTR pHelpFile; LPSTR pDependentFiles; LPSTR pMonitorName; LPSTR pDefaultDataType; LPSTR pszzPreviousNames;} 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;
__MINGW_TYPEDEF_AW(DRIVER_INFO_4)__MINGW_TYPEDEF_AW(PDRIVER_INFO_4)__MINGW_TYPEDEF_AW(LPDRIVER_INFO_4)
typedef struct _DRIVER_INFO_5A { DWORD cVersion; LPSTR pName; LPSTR pEnvironment; LPSTR pDriverPath; LPSTR pDataFile; LPSTR pConfigFile; DWORD dwDriverAttributes; DWORD dwConfigVersion; DWORD dwDriverVersion;} 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;
__MINGW_TYPEDEF_AW(DRIVER_INFO_5)__MINGW_TYPEDEF_AW(PDRIVER_INFO_5)__MINGW_TYPEDEF_AW(LPDRIVER_INFO_5)
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;
__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; 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;
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;
__MINGW_TYPEDEF_AW(DRIVER_INFO_8)__MINGW_TYPEDEF_AW(PDRIVER_INFO_8)__MINGW_TYPEDEF_AW(LPDRIVER_INFO_8)
#define DRIVER_KERNELMODE 0x00000001#define DRIVER_USERMODE 0x00000002
#define DPD_DELETE_UNUSED_FILES 0x00000001#define DPD_DELETE_SPECIFIC_VERSION 0x00000002#define DPD_DELETE_ALL_FILES 0x00000004
#define APD_STRICT_UPGRADE 0x00000001#define APD_STRICT_DOWNGRADE 0x00000002#define APD_COPY_ALL_FILES 0x00000004#define APD_COPY_NEW_FILES 0x00000008#define APD_COPY_FROM_DIRECTORY 0x00000010
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;
__MINGW_TYPEDEF_AW(DOC_INFO_1)__MINGW_TYPEDEF_AW(PDOC_INFO_1)__MINGW_TYPEDEF_AW(LPDOC_INFO_1)
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;
__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; LPSTR pName; SIZEL Size; RECTL ImageableArea; LPCSTR pKeyword; DWORD StringType; LPCSTR pMuiDll; DWORD dwResourceId; LPCSTR pDisplayName; LANGID wLangId;} FORM_INFO_2A, *PFORM_INFO_2A;
typedef struct _FORM_INFO_2W { DWORD Flags; LPWSTR pName; SIZEL Size; RECTL ImageableArea; LPCSTR pKeyword; DWORD StringType; LPCWSTR pMuiDll; DWORD dwResourceId; LPCWSTR pDisplayName; LANGID wLangId;} FORM_INFO_2W, *PFORM_INFO_2W;
__MINGW_TYPEDEF_AW(FORM_INFO_2)__MINGW_TYPEDEF_AW(PFORM_INFO_2)
#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;
typedef struct _DOC_INFO_2W { LPWSTR pDocName; LPWSTR pOutputFile; LPWSTR pDatatype; DWORD dwMode; DWORD JobId;} 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)
#define DI_CHANNEL 1#define DI_READ_SPOOL_JOB 3
typedef struct _DOC_INFO_3A { LPSTR pDocName; LPSTR pOutputFile; LPSTR pDatatype; DWORD dwFlags;} DOC_INFO_3A,*PDOC_INFO_3A,*LPDOC_INFO_3A;
typedef struct _DOC_INFO_3W { LPWSTR pDocName; LPWSTR pOutputFile; LPWSTR pDatatype; DWORD dwFlags;} 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)
#define DI_MEMORYMAP_WRITE 0x00000001
#define FORM_USER 0x00000000#define FORM_BUILTIN 0x00000001#define FORM_PRINTER 0x00000002
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;
__MINGW_TYPEDEF_AW(PRINTPROCESSOR_INFO_1)__MINGW_TYPEDEF_AW(PPRINTPROCESSOR_INFO_1)__MINGW_TYPEDEF_AW(LPPRINTPROCESSOR_INFO_1)
typedef struct _PRINTPROCESSOR_CAPS_1 { DWORD dwLevel; DWORD dwNupOptions; DWORD dwPageOrderFlags; DWORD dwNumberOfCopies;} PRINTPROCESSOR_CAPS_1,*PPRINTPROCESSOR_CAPS_1;
#define NORMAL_PRINT 0x00000000#define REVERSE_PRINT 0x00000001
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;
__MINGW_TYPEDEF_AW(PORT_INFO_1)__MINGW_TYPEDEF_AW(PPORT_INFO_1)__MINGW_TYPEDEF_AW(LPPORT_INFO_1)
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;
__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 { 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;
__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#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 _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;
__MINGW_TYPEDEF_AW(MONITOR_INFO_1)__MINGW_TYPEDEF_AW(PMONITOR_INFO_1)__MINGW_TYPEDEF_AW(LPMONITOR_INFO_1)
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;
__MINGW_TYPEDEF_AW(MONITOR_INFO_2)__MINGW_TYPEDEF_AW(PMONITOR_INFO_2)__MINGW_TYPEDEF_AW(LPMONITOR_INFO_2)
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;
__MINGW_TYPEDEF_AW(DATATYPES_INFO_1)__MINGW_TYPEDEF_AW(PDATATYPES_INFO_1)__MINGW_TYPEDEF_AW(LPDATATYPES_INFO_1)
typedef struct _PRINTER_DEFAULTSA { LPSTR pDatatype; LPDEVMODEA pDevMode; ACCESS_MASK DesiredAccess;} PRINTER_DEFAULTSA,*PPRINTER_DEFAULTSA,*LPPRINTER_DEFAULTSA;
typedef struct _PRINTER_DEFAULTSW { LPWSTR pDatatype; LPDEVMODEW pDevMode; ACCESS_MASK DesiredAccess;} PRINTER_DEFAULTSW,*PPRINTER_DEFAULTSW,*LPPRINTER_DEFAULTSW;
__MINGW_TYPEDEF_AW(PRINTER_DEFAULTS)__MINGW_TYPEDEF_AW(PPRINTER_DEFAULTS)__MINGW_TYPEDEF_AW(LPPRINTER_DEFAULTS)
typedef struct _PRINTER_ENUM_VALUESA { LPSTR pValueName; DWORD cbValueName; DWORD dwType; LPBYTE pData; DWORD cbData;} PRINTER_ENUM_VALUESA,*PPRINTER_ENUM_VALUESA,*LPPRINTER_ENUM_VALUESA;
typedef struct _PRINTER_ENUM_VALUESW { LPWSTR pValueName; DWORD cbValueName; DWORD dwType; LPBYTE pData; DWORD cbData;} 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)
#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);
#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_ENUM_HIDE 0x01000000
#define SPOOL_FILE_PERSISTENT 0x00000001#define SPOOL_FILE_TEMPORARY 0x00000002
#define OpenPrinter __MINGW_NAME_AW(OpenPrinter)#define ResetPrinter __MINGW_NAME_AW(ResetPrinter)#define SetJob __MINGW_NAME_AW(SetJob)#define GetJob __MINGW_NAME_AW(GetJob)#define EnumJobs __MINGW_NAME_AW(EnumJobs)#define AddPrinter __MINGW_NAME_AW(AddPrinter)#define SetPrinter __MINGW_NAME_AW(SetPrinter)#define GetPrinter __MINGW_NAME_AW(GetPrinter)#define AddPrinterDriver __MINGW_NAME_AW(AddPrinterDriver)#define AddPrinterDriverEx __MINGW_NAME_AW(AddPrinterDriverEx)#define EnumPrinterDrivers __MINGW_NAME_AW(EnumPrinterDrivers)#define GetPrinterDriver __MINGW_NAME_AW(GetPrinterDriver)#define GetPrinterDriverDirectory __MINGW_NAME_AW(GetPrinterDriverDirectory)#define DeletePrinterDriver __MINGW_NAME_AW(DeletePrinterDriver)#define DeletePrinterDriverEx __MINGW_NAME_AW(DeletePrinterDriverEx)#define AddPrintProcessor __MINGW_NAME_AW(AddPrintProcessor)#define EnumPrintProcessors __MINGW_NAME_AW(EnumPrintProcessors)#define GetPrintProcessorDirectory __MINGW_NAME_AW(GetPrintProcessorDirectory)#define EnumPrintProcessorDatatypes __MINGW_NAME_AW(EnumPrintProcessorDatatypes)#define DeletePrintProcessor __MINGW_NAME_AW(DeletePrintProcessor)#define StartDocPrinter __MINGW_NAME_AW(StartDocPrinter)#define AddJob __MINGW_NAME_AW(AddJob)#define DocumentProperties __MINGW_NAME_AW(DocumentProperties)#define AdvancedDocumentProperties __MINGW_NAME_AW(AdvancedDocumentProperties)#define GetPrinterData __MINGW_NAME_AW(GetPrinterData)#define GetPrinterDataEx __MINGW_NAME_AW(GetPrinterDataEx)#define EnumPrinterData __MINGW_NAME_AW(EnumPrinterData)#define EnumPrinterDataEx __MINGW_NAME_AW(EnumPrinterDataEx)#define EnumPrinterKey __MINGW_NAME_AW(EnumPrinterKey)#define SetPrinterData __MINGW_NAME_AW(SetPrinterData)#define SetPrinterDataEx __MINGW_NAME_AW(SetPrinterDataEx)#define DeletePrinterData __MINGW_NAME_AW(DeletePrinterData)#define DeletePrinterDataEx __MINGW_NAME_AW(DeletePrinterDataEx)#define DeletePrinterKey __MINGW_NAME_AW(DeletePrinterKey)
WINBOOL WINAPI OpenPrinterA(LPSTR pPrinterName,LPHANDLE phPrinter,LPPRINTER_DEFAULTSA pDefault); WINBOOL WINAPI OpenPrinterW(LPWSTR pPrinterName,LPHANDLE phPrinter,LPPRINTER_DEFAULTSW pDefault); WINBOOL WINAPI ResetPrinterA(HANDLE hPrinter,LPPRINTER_DEFAULTSA pDefault); WINBOOL WINAPI ResetPrinterW(HANDLE hPrinter,LPPRINTER_DEFAULTSW pDefault); WINBOOL WINAPI SetJobA(HANDLE hPrinter,DWORD JobId,DWORD Level,LPBYTE pJob,DWORD Command); WINBOOL WINAPI SetJobW(HANDLE hPrinter,DWORD JobId,DWORD Level,LPBYTE pJob,DWORD Command); WINBOOL WINAPI GetJobA(HANDLE hPrinter,DWORD JobId,DWORD Level,LPBYTE pJob,DWORD cbBuf,LPDWORD pcbNeeded); WINBOOL WINAPI GetJobW(HANDLE hPrinter,DWORD JobId,DWORD Level,LPBYTE pJob,DWORD cbBuf,LPDWORD pcbNeeded); WINBOOL WINAPI EnumJobsA(HANDLE hPrinter,DWORD FirstJob,DWORD NoJobs,DWORD Level,LPBYTE pJob,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); WINBOOL WINAPI EnumJobsW(HANDLE hPrinter,DWORD FirstJob,DWORD NoJobs,DWORD Level,LPBYTE pJob,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); HANDLE WINAPI AddPrinterA(LPSTR pName,DWORD Level,LPBYTE pPrinter); HANDLE WINAPI AddPrinterW(LPWSTR pName,DWORD Level,LPBYTE pPrinter); WINBOOL WINAPI DeletePrinter(HANDLE hPrinter); WINBOOL WINAPI SetPrinterA(HANDLE hPrinter,DWORD Level,LPBYTE pPrinter,DWORD Command); WINBOOL WINAPI SetPrinterW(HANDLE hPrinter,DWORD Level,LPBYTE pPrinter,DWORD Command); WINBOOL WINAPI GetPrinterA(HANDLE hPrinter,DWORD Level,LPBYTE pPrinter,DWORD cbBuf,LPDWORD pcbNeeded); WINBOOL WINAPI GetPrinterW(HANDLE hPrinter,DWORD Level,LPBYTE pPrinter,DWORD cbBuf,LPDWORD pcbNeeded); WINBOOL WINAPI AddPrinterDriverA(LPSTR pName,DWORD Level,LPBYTE pDriverInfo); WINBOOL WINAPI AddPrinterDriverW(LPWSTR pName,DWORD Level,LPBYTE pDriverInfo); WINBOOL WINAPI AddPrinterDriverExA(LPSTR pName,DWORD Level,LPBYTE pDriverInfo,DWORD dwFileCopyFlags); WINBOOL WINAPI AddPrinterDriverExW(LPWSTR pName,DWORD Level,LPBYTE pDriverInfo,DWORD dwFileCopyFlags); WINBOOL WINAPI EnumPrinterDriversA(LPSTR pName,LPSTR pEnvironment,DWORD Level,LPBYTE pDriverInfo,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); WINBOOL WINAPI EnumPrinterDriversW(LPWSTR pName,LPWSTR pEnvironment,DWORD Level,LPBYTE pDriverInfo,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); WINBOOL WINAPI GetPrinterDriverA(HANDLE hPrinter,LPSTR pEnvironment,DWORD Level,LPBYTE pDriverInfo,DWORD cbBuf,LPDWORD pcbNeeded); WINBOOL WINAPI GetPrinterDriverW(HANDLE hPrinter,LPWSTR pEnvironment,DWORD Level,LPBYTE pDriverInfo,DWORD cbBuf,LPDWORD pcbNeeded); WINBOOL WINAPI GetPrinterDriverDirectoryA(LPSTR pName,LPSTR pEnvironment,DWORD Level,LPBYTE pDriverDirectory,DWORD cbBuf,LPDWORD pcbNeeded); WINBOOL WINAPI GetPrinterDriverDirectoryW(LPWSTR pName,LPWSTR pEnvironment,DWORD Level,LPBYTE pDriverDirectory,DWORD cbBuf,LPDWORD pcbNeeded); WINBOOL WINAPI DeletePrinterDriverA(LPSTR pName,LPSTR pEnvironment,LPSTR pDriverName); WINBOOL WINAPI DeletePrinterDriverW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pDriverName); WINBOOL WINAPI DeletePrinterDriverExA(LPSTR pName,LPSTR pEnvironment,LPSTR pDriverName,DWORD dwDeleteFlag,DWORD dwVersionFlag); WINBOOL WINAPI DeletePrinterDriverExW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pDriverName,DWORD dwDeleteFlag,DWORD dwVersionFlag); WINBOOL WINAPI AddPrintProcessorA(LPSTR pName,LPSTR pEnvironment,LPSTR pPathName,LPSTR pPrintProcessorName); WINBOOL WINAPI AddPrintProcessorW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pPathName,LPWSTR pPrintProcessorName); WINBOOL WINAPI EnumPrintProcessorsA(LPSTR pName,LPSTR pEnvironment,DWORD Level,LPBYTE pPrintProcessorInfo,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); WINBOOL WINAPI EnumPrintProcessorsW(LPWSTR pName,LPWSTR pEnvironment,DWORD Level,LPBYTE pPrintProcessorInfo,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); WINBOOL WINAPI GetPrintProcessorDirectoryA(LPSTR pName,LPSTR pEnvironment,DWORD Level,LPBYTE pPrintProcessorInfo,DWORD cbBuf,LPDWORD pcbNeeded); WINBOOL WINAPI GetPrintProcessorDirectoryW(LPWSTR pName,LPWSTR pEnvironment,DWORD Level,LPBYTE pPrintProcessorInfo,DWORD cbBuf,LPDWORD pcbNeeded); WINBOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR pName,LPSTR pPrintProcessorName,DWORD Level,LPBYTE pDatatypes,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); WINBOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR pName,LPWSTR pPrintProcessorName,DWORD Level,LPBYTE pDatatypes,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); WINBOOL WINAPI DeletePrintProcessorA(LPSTR pName,LPSTR pEnvironment,LPSTR pPrintProcessorName); WINBOOL WINAPI DeletePrintProcessorW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pPrintProcessorName); DWORD WINAPI StartDocPrinterA(HANDLE hPrinter,DWORD Level,LPBYTE pDocInfo); DWORD WINAPI StartDocPrinterW(HANDLE hPrinter,DWORD Level,LPBYTE pDocInfo); WINBOOL WINAPI StartPagePrinter(HANDLE hPrinter); WINBOOL WINAPI WritePrinter(HANDLE hPrinter,LPVOID pBuf,DWORD cbBuf,LPDWORD pcWritten); WINBOOL WINAPI FlushPrinter(HANDLE hPrinter,LPVOID pBuf,DWORD cbBuf,LPDWORD pcWritten,DWORD cSleep); WINBOOL WINAPI EndPagePrinter(HANDLE hPrinter); WINBOOL WINAPI AbortPrinter(HANDLE hPrinter); WINBOOL WINAPI ReadPrinter(HANDLE hPrinter,LPVOID pBuf,DWORD cbBuf,LPDWORD pNoBytesRead); WINBOOL WINAPI EndDocPrinter(HANDLE hPrinter); WINBOOL WINAPI AddJobA(HANDLE hPrinter,DWORD Level,LPBYTE pData,DWORD cbBuf,LPDWORD pcbNeeded); WINBOOL WINAPI AddJobW(HANDLE hPrinter,DWORD Level,LPBYTE pData,DWORD cbBuf,LPDWORD pcbNeeded); WINBOOL WINAPI ScheduleJob(HANDLE hPrinter,DWORD JobId); WINBOOL WINAPI PrinterProperties(HWND hWnd,HANDLE hPrinter); LONG WINAPI DocumentPropertiesA(HWND hWnd,HANDLE hPrinter,LPSTR pDeviceName,PDEVMODEA pDevModeOutput,PDEVMODEA pDevModeInput,DWORD fMode); LONG WINAPI DocumentPropertiesW(HWND hWnd,HANDLE hPrinter,LPWSTR pDeviceName,PDEVMODEW pDevModeOutput,PDEVMODEW pDevModeInput,DWORD fMode); LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd,HANDLE hPrinter,LPSTR pDeviceName,PDEVMODEA pDevModeOutput,PDEVMODEA pDevModeInput); LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd,HANDLE hPrinter,LPWSTR pDeviceName,PDEVMODEW pDevModeOutput,PDEVMODEW pDevModeInput); LONG WINAPI ExtDeviceMode(HWND hWnd,HANDLE hInst,LPDEVMODEA pDevModeOutput,LPSTR pDeviceName,LPSTR pPort,LPDEVMODEA pDevModeInput,LPSTR pProfile,DWORD fMode); DWORD WINAPI GetPrinterDataA(HANDLE hPrinter,LPSTR pValueName,LPDWORD pType,LPBYTE pData,DWORD nSize,LPDWORD pcbNeeded); DWORD WINAPI GetPrinterDataW(HANDLE hPrinter,LPWSTR pValueName,LPDWORD pType,LPBYTE pData,DWORD nSize,LPDWORD pcbNeeded); DWORD WINAPI GetPrinterDataExA(HANDLE hPrinter,LPCSTR pKeyName,LPCSTR pValueName,LPDWORD pType,LPBYTE pData,DWORD nSize,LPDWORD pcbNeeded); DWORD WINAPI GetPrinterDataExW(HANDLE hPrinter,LPCWSTR pKeyName,LPCWSTR pValueName,LPDWORD pType,LPBYTE pData,DWORD nSize,LPDWORD pcbNeeded); DWORD WINAPI EnumPrinterDataA(HANDLE hPrinter,DWORD dwIndex,LPSTR pValueName,DWORD cbValueName,LPDWORD pcbValueName,LPDWORD pType,LPBYTE pData,DWORD cbData,LPDWORD pcbData); DWORD WINAPI EnumPrinterDataW(HANDLE hPrinter,DWORD dwIndex,LPWSTR pValueName,DWORD cbValueName,LPDWORD pcbValueName,LPDWORD pType,LPBYTE pData,DWORD cbData,LPDWORD pcbData); DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter,LPCSTR pKeyName,LPBYTE pEnumValues,DWORD cbEnumValues,LPDWORD pcbEnumValues,LPDWORD pnEnumValues); DWORD WINAPI EnumPrinterDataExW(HANDLE hPrinter,LPCWSTR pKeyName,LPBYTE pEnumValues,DWORD cbEnumValues,LPDWORD pcbEnumValues,LPDWORD pnEnumValues); DWORD WINAPI EnumPrinterKeyA(HANDLE hPrinter,LPCSTR pKeyName,LPSTR pSubkey,DWORD cbSubkey,LPDWORD pcbSubkey); DWORD WINAPI EnumPrinterKeyW(HANDLE hPrinter,LPCWSTR pKeyName,LPWSTR pSubkey,DWORD cbSubkey,LPDWORD pcbSubkey); DWORD WINAPI SetPrinterDataA(HANDLE hPrinter,LPSTR pValueName,DWORD Type,LPBYTE pData,DWORD cbData); DWORD WINAPI SetPrinterDataW(HANDLE hPrinter,LPWSTR pValueName,DWORD Type,LPBYTE pData,DWORD cbData); DWORD WINAPI SetPrinterDataExA(HANDLE hPrinter,LPCSTR pKeyName,LPCSTR pValueName,DWORD Type,LPBYTE pData,DWORD cbData); DWORD WINAPI SetPrinterDataExW(HANDLE hPrinter,LPCWSTR pKeyName,LPCWSTR pValueName,DWORD Type,LPBYTE pData,DWORD cbData); DWORD WINAPI DeletePrinterDataA(HANDLE hPrinter,LPSTR pValueName); DWORD WINAPI DeletePrinterDataW(HANDLE hPrinter,LPWSTR pValueName); DWORD WINAPI DeletePrinterDataExA(HANDLE hPrinter,LPCSTR pKeyName,LPCSTR pValueName); DWORD WINAPI DeletePrinterDataExW(HANDLE hPrinter,LPCWSTR pKeyName,LPCWSTR pValueName); DWORD WINAPI DeletePrinterKeyA(HANDLE hPrinter,LPCSTR pKeyName); DWORD WINAPI DeletePrinterKeyW(HANDLE hPrinter,LPCWSTR pKeyName);
#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 PRINTER_NOTIFY_FIELD_OBJECT_GUID 0x1A
#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
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;
#define PRINTER_NOTIFY_OPTIONS_REFRESH 0x01
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;
#define PRINTER_NOTIFY_INFO_DISCARDED 0x01
typedef struct _PRINTER_NOTIFY_INFO_DATA { WORD Type; WORD Field; DWORD Reserved; DWORD Id; union { DWORD adwData[2]; struct { DWORD cbBuf; LPVOID 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 _BINARY_CONTAINER{ DWORD cbBuf; LPBYTE pData; } BINARY_CONTAINER,*PBINARY_CONTAINER;
typedef struct _BIDI_DATA{ DWORD dwBidiType; union { WINBOOL bData; LONG iData; LPWSTR sData; FLOAT fData; BINARY_CONTAINER biData; } u; } BIDI_DATA,*PBIDI_DATA,*LPBIDI_DATA;
typedef struct _BIDI_REQUEST_DATA{ DWORD dwReqNumber; LPWSTR pSchema; BIDI_DATA data; } BIDI_REQUEST_DATA ,*PBIDI_REQUEST_DATA ,*LPBIDI_REQUEST_DATA;
typedef struct _BIDI_REQUEST_CONTAINER{ DWORD Version; DWORD Flags; DWORD Count; BIDI_REQUEST_DATA aData[1 ]; }BIDI_REQUEST_CONTAINER,*PBIDI_REQUEST_CONTAINER,*LPBIDI_REQUEST_CONTAINER;
typedef struct _BIDI_RESPONSE_DATA{ DWORD dwResult; DWORD dwReqNumber; LPWSTR pSchema; BIDI_DATA data; } BIDI_RESPONSE_DATA,*PBIDI_RESPONSE_DATA,*LPBIDI_RESPONSE_DATA;
typedef struct _BIDI_RESPONSE_CONTAINER{ DWORD Version; DWORD Flags; DWORD Count; BIDI_RESPONSE_DATA aData[1 ]; } BIDI_RESPONSE_CONTAINER,*PBIDI_RESPONSE_CONTAINER,*LPBIDI_RESPONSE_CONTAINER;
#define BIDI_ACTION_ENUM_SCHEMA L"EnumSchema"#define BIDI_ACTION_GET L"Get"#define BIDI_ACTION_SET L"Set"#define BIDI_ACTION_GET_ALL L"GetAll"
typedef enum { BIDI_NULL = 0,BIDI_INT = 1,BIDI_FLOAT = 2,BIDI_BOOL = 3,BIDI_STRING = 4,BIDI_TEXT = 5,BIDI_ENUM = 6,BIDI_BLOB = 7 } BIDI_TYPE;
#define BIDI_ACCESS_ADMINISTRATOR 0x1#define BIDI_ACCESS_USER 0x2
#define ERROR_BIDI_STATUS_OK 0#define ERROR_BIDI_NOT_SUPPORTED ERROR_NOT_SUPPORTED
#define ERROR_BIDI_ERROR_BASE 13000#define ERROR_BIDI_STATUS_WARNING (ERROR_BIDI_ERROR_BASE + 1)#define ERROR_BIDI_SCHEMA_READ_ONLY (ERROR_BIDI_ERROR_BASE + 2)#define ERROR_BIDI_SERVER_OFFLINE (ERROR_BIDI_ERROR_BASE + 3)#define ERROR_BIDI_DEVICE_OFFLINE (ERROR_BIDI_ERROR_BASE + 4)#define ERROR_BIDI_SCHEMA_NOT_SUPPORTED (ERROR_BIDI_ERROR_BASE + 5)
DWORD WINAPI WaitForPrinterChange(HANDLE hPrinter,DWORD Flags); HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE hPrinter,DWORD fdwFlags,DWORD fdwOptions,LPVOID pPrinterNotifyOptions); WINBOOL WINAPI FindNextPrinterChangeNotification(HANDLE hChange,PDWORD pdwChange,LPVOID pPrinterNotifyOptions,LPVOID *ppPrinterNotifyInfo); WINBOOL WINAPI FreePrinterNotifyInfo (PPRINTER_NOTIFY_INFO pPrinterNotifyInfo); WINBOOL WINAPI FindClosePrinterChangeNotification(HANDLE hChange);
#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 PrinterMessageBox __MINGW_NAME_AW(PrinterMessageBox)#define AddForm __MINGW_NAME_AW(AddForm)#define DeleteForm __MINGW_NAME_AW(DeleteForm)#define GetForm __MINGW_NAME_AW(GetForm)#define SetForm __MINGW_NAME_AW(SetForm)#define EnumForms __MINGW_NAME_AW(EnumForms)#define EnumMonitors __MINGW_NAME_AW(EnumMonitors)#define AddMonitor __MINGW_NAME_AW(AddMonitor)#define DeleteMonitor __MINGW_NAME_AW(DeleteMonitor)#define EnumPorts __MINGW_NAME_AW(EnumPorts)#define AddPort __MINGW_NAME_AW(AddPort)#define ConfigurePort __MINGW_NAME_AW(ConfigurePort)#define DeletePort __MINGW_NAME_AW(DeletePort)#define GetDefaultPrinter __MINGW_NAME_AW(GetDefaultPrinter)#define SetDefaultPrinter __MINGW_NAME_AW(SetDefaultPrinter)#define SetPort __MINGW_NAME_AW(SetPort)#define AddPrinterConnection __MINGW_NAME_AW(AddPrinterConnection)#define DeletePrinterConnection __MINGW_NAME_AW(DeletePrinterConnection)
DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter,DWORD Error,HWND hWnd,LPSTR pText,LPSTR pCaption,DWORD dwType); DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter,DWORD Error,HWND hWnd,LPWSTR pText,LPWSTR pCaption,DWORD dwType);
#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
WINBOOL WINAPI ClosePrinter(HANDLE hPrinter); WINBOOL WINAPI AddFormA(HANDLE hPrinter,DWORD Level,LPBYTE pForm); WINBOOL WINAPI AddFormW(HANDLE hPrinter,DWORD Level,LPBYTE pForm); WINBOOL WINAPI DeleteFormA(HANDLE hPrinter,LPSTR pFormName); WINBOOL WINAPI DeleteFormW(HANDLE hPrinter,LPWSTR pFormName); WINBOOL WINAPI GetFormA(HANDLE hPrinter,LPSTR pFormName,DWORD Level,LPBYTE pForm,DWORD cbBuf,LPDWORD pcbNeeded); WINBOOL WINAPI GetFormW(HANDLE hPrinter,LPWSTR pFormName,DWORD Level,LPBYTE pForm,DWORD cbBuf,LPDWORD pcbNeeded); WINBOOL WINAPI SetFormA(HANDLE hPrinter,LPSTR pFormName,DWORD Level,LPBYTE pForm); WINBOOL WINAPI SetFormW(HANDLE hPrinter,LPWSTR pFormName,DWORD Level,LPBYTE pForm); WINBOOL WINAPI EnumFormsA(HANDLE hPrinter,DWORD Level,LPBYTE pForm,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); WINBOOL WINAPI EnumFormsW(HANDLE hPrinter,DWORD Level,LPBYTE pForm,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); WINBOOL WINAPI EnumMonitorsA(LPSTR pName,DWORD Level,LPBYTE pMonitor,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); WINBOOL WINAPI EnumMonitorsW(LPWSTR pName,DWORD Level,LPBYTE pMonitor,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); WINBOOL WINAPI AddMonitorA(LPSTR pName,DWORD Level,LPBYTE pMonitorInfo); WINBOOL WINAPI AddMonitorW(LPWSTR pName,DWORD Level,LPBYTE pMonitorInfo); WINBOOL WINAPI DeleteMonitorA(LPSTR pName,LPSTR pEnvironment,LPSTR pMonitorName); WINBOOL WINAPI DeleteMonitorW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pMonitorName); WINBOOL WINAPI EnumPortsA(LPSTR pName,DWORD Level,LPBYTE pPorts,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); WINBOOL WINAPI EnumPortsW(LPWSTR pName,DWORD Level,LPBYTE pPorts,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); WINBOOL WINAPI AddPortA(LPSTR pName,HWND hWnd,LPSTR pMonitorName); WINBOOL WINAPI AddPortW(LPWSTR pName,HWND hWnd,LPWSTR pMonitorName); WINBOOL WINAPI ConfigurePortA(LPSTR pName,HWND hWnd,LPSTR pPortName); WINBOOL WINAPI ConfigurePortW(LPWSTR pName,HWND hWnd,LPWSTR pPortName); WINBOOL WINAPI DeletePortA(LPSTR pName,HWND hWnd,LPSTR pPortName); WINBOOL WINAPI DeletePortW(LPWSTR pName,HWND hWnd,LPWSTR pPortName); WINBOOL WINAPI XcvDataW(HANDLE hXcv,PCWSTR pszDataName,PBYTE pInputData,DWORD cbInputData,PBYTE pOutputData,DWORD cbOutputData,PDWORD pcbOutputNeeded,PDWORD pdwStatus);
#define XcvData XcvDataW
WINBOOL WINAPI GetDefaultPrinterA(LPSTR pszBuffer,LPDWORD pcchBuffer); WINBOOL WINAPI GetDefaultPrinterW(LPWSTR pszBuffer,LPDWORD pcchBuffer); WINBOOL WINAPI SetDefaultPrinterA(LPCSTR pszPrinter); WINBOOL WINAPI SetDefaultPrinterW(LPCWSTR pszPrinter); WINBOOL WINAPI SetPortA(LPSTR pName,LPSTR pPortName,DWORD dwLevel,LPBYTE pPortInfo); WINBOOL WINAPI SetPortW(LPWSTR pName,LPWSTR pPortName,DWORD dwLevel,LPBYTE pPortInfo); WINBOOL WINAPI AddPrinterConnectionA(LPSTR pName); WINBOOL WINAPI AddPrinterConnectionW(LPWSTR pName); WINBOOL WINAPI DeletePrinterConnectionA(LPSTR pName); WINBOOL WINAPI DeletePrinterConnectionW(LPWSTR pName); HANDLE WINAPI ConnectToPrinterDlg(HWND hwnd,DWORD Flags);
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,*PPROVIDOR_INFO_1W,*LPPROVIDOR_INFO_1W;
__MINGW_TYPEDEF_AW(PROVIDOR_INFO_1) __MINGW_TYPEDEF_AW(PPROVIDOR_INFO_1) __MINGW_TYPEDEF_AW(LPPROVIDOR_INFO_1)
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,*PPROVIDOR_INFO_2W,*LPPROVIDOR_INFO_2W;
__MINGW_TYPEDEF_AW(PROVIDOR_INFO_2) __MINGW_TYPEDEF_AW(PPROVIDOR_INFO_2) __MINGW_TYPEDEF_AW(LPPROVIDOR_INFO_2)
#define AddPrintProvidor __MINGW_NAME_AW(AddPrintProvidor)#define DeletePrintProvidor __MINGW_NAME_AW(DeletePrintProvidor)#define IsValidDevmode __MINGW_NAME_AW(IsValidDevmode)
WINBOOL WINAPI AddPrintProvidorA(LPSTR pName,DWORD level,LPBYTE pProvidorInfo); WINBOOL WINAPI AddPrintProvidorW(LPWSTR pName,DWORD level,LPBYTE pProvidorInfo); WINBOOL WINAPI DeletePrintProvidorA(LPSTR pName,LPSTR pEnvironment,LPSTR pPrintProvidorName); WINBOOL WINAPI DeletePrintProvidorW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pPrintProvidorName); WINBOOL WINAPI IsValidDevmodeA (PDEVMODEA pDevmode,size_t DevmodeSize); WINBOOL WINAPI IsValidDevmodeW (PDEVMODEW pDevmode,size_t DevmodeSize);
#define SPLREG_DEFAULT_SPOOL_DIRECTORY TEXT("DefaultSpoolDirectory")#define SPLREG_PORT_THREAD_PRIORITY_DEFAULT TEXT("PortThreadPriorityDefault")#define SPLREG_PORT_THREAD_PRIORITY TEXT("PortThreadPriority")#define SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT TEXT("SchedulerThreadPriorityDefault")#define SPLREG_SCHEDULER_THREAD_PRIORITY TEXT("SchedulerThreadPriority")#define SPLREG_BEEP_ENABLED TEXT("BeepEnabled")#define SPLREG_NET_POPUP TEXT("NetPopup")#define SPLREG_RETRY_POPUP TEXT("RetryPopup")#define SPLREG_NET_POPUP_TO_COMPUTER TEXT("NetPopupToComputer")#define SPLREG_EVENT_LOG TEXT("EventLog")#define SPLREG_MAJOR_VERSION TEXT("MajorVersion")#define SPLREG_MINOR_VERSION TEXT("MinorVersion")#define SPLREG_ARCHITECTURE TEXT("Architecture")#define SPLREG_OS_VERSION TEXT("OSVersion")#define SPLREG_OS_VERSIONEX TEXT("OSVersionEx")#define SPLREG_DS_PRESENT TEXT("DsPresent")#define SPLREG_DS_PRESENT_FOR_USER TEXT("DsPresentForUser")#define SPLREG_REMOTE_FAX TEXT("RemoteFax")#define SPLREG_RESTART_JOB_ON_POOL_ERROR TEXT("RestartJobOnPoolError")#define SPLREG_RESTART_JOB_ON_POOL_ENABLED TEXT("RestartJobOnPoolEnabled")#define SPLREG_DNS_MACHINE_NAME TEXT("DNSMachineName")#define SPLREG_ALLOW_USER_MANAGEFORMS TEXT("AllowUserManageForms")#define SPLREG_WEBSHAREMGMT TEXT("WebShareMgmt")
#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#define JOB_ACCESS_READ 0x00000020
#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 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 JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER | JOB_ACCESS_READ)#define JOB_READ (STANDARD_RIGHTS_READ | JOB_ACCESS_READ)#define JOB_WRITE (STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER)#define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER)
#define SPLDS_SPOOLER_KEY TEXT("DsSpooler")#define SPLDS_DRIVER_KEY TEXT("DsDriver")#define SPLDS_USER_KEY TEXT("DsUser")
#define SPLDS_ASSET_NUMBER TEXT("assetNumber")#define SPLDS_BYTES_PER_MINUTE TEXT("bytesPerMinute")#define SPLDS_DESCRIPTION TEXT("description")#define SPLDS_DRIVER_NAME TEXT("driverName")#define SPLDS_DRIVER_VERSION TEXT("driverVersion")#define SPLDS_LOCATION TEXT("location")#define SPLDS_PORT_NAME TEXT("portName")#define SPLDS_PRINT_ATTRIBUTES TEXT("printAttributes")#define SPLDS_PRINT_BIN_NAMES TEXT("printBinNames")#define SPLDS_PRINT_COLLATE TEXT("printCollate")#define SPLDS_PRINT_COLOR TEXT("printColor")#define SPLDS_PRINT_DUPLEX_SUPPORTED TEXT("printDuplexSupported")#define SPLDS_PRINT_END_TIME TEXT("printEndTime")#define SPLDS_PRINTER_CLASS TEXT("printQueue")#define SPLDS_PRINTER_NAME TEXT("printerName")#define SPLDS_PRINT_KEEP_PRINTED_JOBS TEXT("printKeepPrintedJobs")#define SPLDS_PRINT_LANGUAGE TEXT("printLanguage")#define SPLDS_PRINT_MAC_ADDRESS TEXT("printMACAddress")#define SPLDS_PRINT_MAX_X_EXTENT TEXT("printMaxXExtent")#define SPLDS_PRINT_MAX_Y_EXTENT TEXT("printMaxYExtent")#define SPLDS_PRINT_MAX_RESOLUTION_SUPPORTED TEXT("printMaxResolutionSupported")#define SPLDS_PRINT_MEDIA_READY TEXT("printMediaReady")#define SPLDS_PRINT_MEDIA_SUPPORTED TEXT("printMediaSupported")#define SPLDS_PRINT_MEMORY TEXT("printMemory")#define SPLDS_PRINT_MIN_X_EXTENT TEXT("printMinXExtent")#define SPLDS_PRINT_MIN_Y_EXTENT TEXT("printMinYExtent")#define SPLDS_PRINT_NETWORK_ADDRESS TEXT("printNetworkAddress")#define SPLDS_PRINT_NOTIFY TEXT("printNotify")#define SPLDS_PRINT_NUMBER_UP TEXT("printNumberUp")#define SPLDS_PRINT_ORIENTATIONS_SUPPORTED TEXT("printOrientationsSupported")#define SPLDS_PRINT_OWNER TEXT("printOwner")#define SPLDS_PRINT_PAGES_PER_MINUTE TEXT("printPagesPerMinute")#define SPLDS_PRINT_RATE TEXT("printRate")#define SPLDS_PRINT_RATE_UNIT TEXT("printRateUnit")#define SPLDS_PRINT_SEPARATOR_FILE TEXT("printSeparatorFile")#define SPLDS_PRINT_SHARE_NAME TEXT("printShareName")#define SPLDS_PRINT_SPOOLING TEXT("printSpooling")#define SPLDS_PRINT_STAPLING_SUPPORTED TEXT("printStaplingSupported")#define SPLDS_PRINT_START_TIME TEXT("printStartTime")#define SPLDS_PRINT_STATUS TEXT("printStatus")#define SPLDS_PRIORITY TEXT("priority")#define SPLDS_SERVER_NAME TEXT("serverName")#define SPLDS_SHORT_SERVER_NAME TEXT("shortServerName")#define SPLDS_UNC_NAME TEXT("uNCName")#define SPLDS_URL TEXT("url")#define SPLDS_FLAGS TEXT("flags")#define SPLDS_VERSION_NUMBER TEXT("versionNumber")
#define SPLDS_PRINTER_NAME_ALIASES TEXT("printerNameAliases")#define SPLDS_PRINTER_LOCATIONS TEXT("printerLocations")#define SPLDS_PRINTER_MODEL TEXT("printerModel")
#if (_WIN32_WINNT >= 0x0600)#define AddPrinterConnection2 __MINGW_NAME_AW(AddPrinterConnection2)#define DeletePrinterDriverPackage __MINGW_NAME_AW(DeletePrinterDriverPackage)#define DocumentEvent __MINGW_NAME_AW(DocumentEvent)
#define PRINTER_CONNECTION_MISMATCH 0x00000020#define PRINTER_CONNECTION_NO_UI 0x00000040
typedef enum tagPRINTER_OPTION_FLAGS { PRINTER_OPTION_NO_CACHE, PRINTER_OPTION_CACHE, PRINTER_OPTION_CLIENT_CHANGE} PRINTER_OPTION_FLAGS;
typedef enum tagEPrintXPSJobOperation { kJobProduction, kJobConsumption} EPrintXPSJobOperation;
typedef enum tagEPrintXPSJobProgress { kAddingDocumentSequence, kDocumentSequenceAdded, kAddingFixedDocument, kFixedDocumentAdded, kAddingFixedPage, kFixedPageAdded, kResourceAdded, kFontAdded, kImageAdded, kXpsDocumentCommitted} EPrintXPSJobProgress;
typedef struct _PRINTER_CONNECTION_INFO_1 { DWORD dwFlags; LPTSTR pszDriverName;} PRINTER_CONNECTION_INFO_1, *PPRINTER_CONNECTION_INFO_1;
WINBOOL AddPrinterConnection2W(HWND hWnd,LPCWSTR pszName,DWORD dwLevel,PVOID pConnectionInfo); WINBOOL AddPrinterConnection2A(HWND hWnd,LPCSTR pszName,DWORD dwLevel,PVOID pConnectionInfo); /*Not supported and returns ERROR_NOT_SUPPORTED.*/
HRESULT WINAPI DeletePrinterDriverPackageA( LPCSTR pszServer, LPCSTR pszInfPath, LPCSTR pszEnvironment);
HRESULT WINAPI DeletePrinterDriverPackageW( LPCWSTR pszServer, LPCWSTR pszInfPath, LPCWSTR pszEnvironment);
HRESULT DocumentEventA( HANDLE hPrinter, HDC hdc, INT iEsc, ULONG cbIn, PVOID pvIn, ULONG cbOut, PVOID pvOut);
HRESULT DocumentEventW( HANDLE hPrinter, HDC hdc, INT iEsc, ULONG cbIn, PVOID pvIn, ULONG cbOut, PVOID pvOut);
typedef struct _PRINTPROCESSOR_CAPS_2 { DWORD dwLevel; DWORD dwNupOptions; DWORD dwPageOrderFlags; DWORD dwNumberOfCopies; DWORD dwNupDirectionCaps; DWORD dwNupBorderCaps; DWORD dwBookletHandlingCaps; DWORD dwDuplexHandlingCaps; DWORD dwScalingCaps;} PRINTPROCESSOR_CAPS_2, *PPRINTPROCESSOR_CAPS_2;
HRESULT ReportJobProcessingProgress( HANDLE printerHandle, ULONG jobId, EPrintXPSJobOperation jobOperation, EPrintXPSJobProgress jobProgress);
typedef struct _CORE_PRINTER_DRIVERA { GUID CoreDriverGUID; FILETIME ftDriverDate; DWORDLONG dwlDriverVersion; CHAR szPackageID[MAX_PATH];} CORE_PRINTER_DRIVERA, *PCORE_PRINTER_DRIVERA;
typedef struct _CORE_PRINTER_DRIVERW { GUID CoreDriverGUID; FILETIME ftDriverDate; DWORDLONG dwlDriverVersion; WCHAR szPackageID[MAX_PATH];} CORE_PRINTER_DRIVERW, *PCORE_PRINTER_DRIVERW;
typedef struct _PRINTER_OPTIONS { UINT cbSize; DWORD dwFlags;} PRINTER_OPTIONS, *PPRINTER_OPTIONS;
__MINGW_TYPEDEF_AW(CORE_PRINTER_DRIVER)__MINGW_TYPEDEF_AW(PCORE_PRINTER_DRIVER)#define GetCorePrinterDrivers __MINGW_NAME_AW(GetCorePrinterDrivers)#define GetPrinterDriver2 __MINGW_NAME_AW(GetPrinterDriver2)#define GetPrinterDriverPackagePath __MINGW_NAME_AW(GetPrinterDriverPackagePath)#define GetSpoolFileHandle __MINGW_NAME_AW(GetSpoolFileHandle)
HRESULT WINAPI GetCorePrinterDriversA( LPCSTR pszServer, LPCSTR pszEnvironment, LPCSTR pszzCoreDriverDependencies, DWORD cCorePrinterDrivers, PCORE_PRINTER_DRIVERA pCorePrinterDrivers);
HRESULT WINAPI GetCorePrinterDriversW( LPCWSTR pszServer, LPCWSTR pszEnvironment, LPCWSTR pszzCoreDriverDependencies, DWORD cCorePrinterDrivers, PCORE_PRINTER_DRIVERW pCorePrinterDrivers);
/*Unsupported*/WINBOOL WINAPI GetPrinterDriver2A( HWND hWnd, HANDLE hPrinter, LPSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded);
WINBOOL WINAPI GetPrinterDriver2W( HWND hWnd, HANDLE hPrinter, LPWSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded);
HRESULT WINAPI GetPrinterDriverPackagePathA( LPCSTR pszServer, LPCSTR pszEnvironment, LPCSTR pszLanguage, LPCSTR pszPackageID, LPSTR pszDriverPackageCab, DWORD cchDriverPackageCab, LPDWORD pcchRequiredSize);
HRESULT WINAPI GetPrinterDriverPackagePathW( LPCWSTR pszServer, LPCWSTR pszEnvironment, LPCWSTR pszLanguage, LPCWSTR pszPackageID, LPWSTR pszDriverPackageCab, DWORD cchDriverPackageCab, LPDWORD pcchRequiredSize);
HANDLE WINAPI GetSpoolFileHandleA( HANDLE hPrinter);
HANDLE WINAPI GetSpoolFileHandleW( HANDLE hPrinter);
HANDLE WINAPI CommitSpoolData( HANDLE hPrinter, HANDLE hSpoolFile, DWORD cbCommit);
WINBOOL WINAPI CloseSpoolFileHandle( HANDLE hPrinter, HANDLE hSpoolFile);
WINBOOL WINAPI OpenPrinter2A( LPCSTR pPrinterName, LPHANDLE phPrinter, LPPRINTER_DEFAULTS pDefault, PPRINTER_OPTIONS pOptions);
WINBOOL WINAPI OpenPrinter2W( LPCWSTR pPrinterName, LPHANDLE phPrinter, LPPRINTER_DEFAULTS pDefault, PPRINTER_OPTIONS pOptions);
#define OpenPrinter2 __MINGW_NAME_AW(OpenPrinter2)
HRESULT WINAPI UploadPrinterDriverPackageA( LPCSTR pszServer, LPCSTR pszInfPath, LPCSTR pszEnvironment, DWORD dwFlags, HWND hwnd, LPSTR pszDestInfPath, PULONG pcchDestInfPath);
HRESULT WINAPI UploadPrinterDriverPackageW( LPCWSTR pszServer, LPCWSTR pszInfPath, LPCWSTR pszEnvironment, DWORD dwFlags, HWND hwnd, LPWSTR pszDestInfPath, PULONG pcchDestInfPath);
#define UploadPrinterDriverPackage __MINGW_NAME_AW(UploadPrinterDriverPackage)
#endif /*(_WIN32_WINNT >= 0x0600)*/
#ifdef __cplusplus}#endif#endif