147#define DSPRINT_PUBLISH 0x00000001
148#define DSPRINT_UPDATE 0x00000002
149#define DSPRINT_UNPUBLISH 0x00000004
150#define DSPRINT_REPUBLISH 0x00000008
151#define DSPRINT_PENDING 0x80000000
177#define PRINTER_CONTROL_PAUSE 1
178#define PRINTER_CONTROL_RESUME 2
179#define PRINTER_CONTROL_PURGE 3
180#define PRINTER_CONTROL_SET_STATUS 4
182#define PRINTER_STATUS_PAUSED 0x00000001
183#define PRINTER_STATUS_ERROR 0x00000002
184#define PRINTER_STATUS_PENDING_DELETION 0x00000004
185#define PRINTER_STATUS_PAPER_JAM 0x00000008
186#define PRINTER_STATUS_PAPER_OUT 0x00000010
187#define PRINTER_STATUS_MANUAL_FEED 0x00000020
188#define PRINTER_STATUS_PAPER_PROBLEM 0x00000040
189#define PRINTER_STATUS_OFFLINE 0x00000080
190#define PRINTER_STATUS_IO_ACTIVE 0x00000100
191#define PRINTER_STATUS_BUSY 0x00000200
192#define PRINTER_STATUS_PRINTING 0x00000400
193#define PRINTER_STATUS_OUTPUT_BIN_FULL 0x00000800
194#define PRINTER_STATUS_NOT_AVAILABLE 0x00001000
195#define PRINTER_STATUS_WAITING 0x00002000
196#define PRINTER_STATUS_PROCESSING 0x00004000
197#define PRINTER_STATUS_INITIALIZING 0x00008000
198#define PRINTER_STATUS_WARMING_UP 0x00010000
199#define PRINTER_STATUS_TONER_LOW 0x00020000
200#define PRINTER_STATUS_NO_TONER 0x00040000
201#define PRINTER_STATUS_PAGE_PUNT 0x00080000
202#define PRINTER_STATUS_USER_INTERVENTION 0x00100000
203#define PRINTER_STATUS_OUT_OF_MEMORY 0x00200000
204#define PRINTER_STATUS_DOOR_OPEN 0x00400000
205#define PRINTER_STATUS_SERVER_UNKNOWN 0x00800000
206#define PRINTER_STATUS_POWER_SAVE 0x01000000
208#define PRINTER_ATTRIBUTE_QUEUED 0x00000001
209#define PRINTER_ATTRIBUTE_DIRECT 0x00000002
210#define PRINTER_ATTRIBUTE_DEFAULT 0x00000004
211#define PRINTER_ATTRIBUTE_SHARED 0x00000008
212#define PRINTER_ATTRIBUTE_NETWORK 0x00000010
213#define PRINTER_ATTRIBUTE_HIDDEN 0x00000020
214#define PRINTER_ATTRIBUTE_LOCAL 0x00000040
216#define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x00000080
217#define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x00000100
218#define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x00000200
220#define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x00000400
221#define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x00000800
222#define PRINTER_ATTRIBUTE_RAW_ONLY 0x00001000
223#define PRINTER_ATTRIBUTE_PUBLISHED 0x00002000
224#define PRINTER_ATTRIBUTE_FAX 0x00004000
225#define PRINTER_ATTRIBUTE_TS 0x00008000
228#define MAX_PRIORITY 99
229#define MIN_PRIORITY 1
230#define DEF_PRIORITY 1
330#define JOB_CONTROL_PAUSE 1
331#define JOB_CONTROL_RESUME 2
332#define JOB_CONTROL_CANCEL 3
333#define JOB_CONTROL_RESTART 4
334#define JOB_CONTROL_DELETE 5
335#define JOB_CONTROL_SENT_TO_PRINTER 6
336#define JOB_CONTROL_LAST_PAGE_EJECTED 7
338#define JOB_STATUS_PAUSED 0x00000001
339#define JOB_STATUS_ERROR 0x00000002
340#define JOB_STATUS_DELETING 0x00000004
341#define JOB_STATUS_SPOOLING 0x00000008
342#define JOB_STATUS_PRINTING 0x00000010
343#define JOB_STATUS_OFFLINE 0x00000020
344#define JOB_STATUS_PAPEROUT 0x00000040
345#define JOB_STATUS_PRINTED 0x00000080
346#define JOB_STATUS_DELETED 0x00000100
347#define JOB_STATUS_BLOCKED_DEVQ 0x00000200
348#define JOB_STATUS_USER_INTERVENTION 0x00000400
349#define JOB_STATUS_RESTART 0x00000800
350#define JOB_STATUS_COMPLETE 0x00001000
352#define JOB_POSITION_UNSPECIFIED 0
596#define DRIVER_KERNELMODE 0x00000001
597#define DRIVER_USERMODE 0x00000002
599#define DPD_DELETE_UNUSED_FILES 0x00000001
600#define DPD_DELETE_SPECIFIC_VERSION 0x00000002
601#define DPD_DELETE_ALL_FILES 0x00000004
603#define APD_STRICT_UPGRADE 0x00000001
604#define APD_STRICT_DOWNGRADE 0x00000002
605#define APD_COPY_ALL_FILES 0x00000004
606#define APD_COPY_NEW_FILES 0x00000008
607#define APD_COPY_FROM_DIRECTORY 0x00000010
672#define STRING_NONE 0x00000001
673#define STRING_MUIDLL 0x00000002
674#define STRING_LANGPAIR 0x00000004
697#define DI_READ_SPOOL_JOB 3
717#define DI_MEMORYMAP_WRITE 0x00000001
719#define FORM_USER 0x00000000
720#define FORM_BUILTIN 0x00000001
721#define FORM_PRINTER 0x00000002
742#define NORMAL_PRINT 0x00000000
743#define REVERSE_PRINT 0x00000001
776#define PORT_TYPE_WRITE 0x0001
777#define PORT_TYPE_READ 0x0002
778#define PORT_TYPE_REDIRECTED 0x0004
779#define PORT_TYPE_NET_ATTACHED 0x0008
797#define PORT_STATUS_TYPE_ERROR 1
798#define PORT_STATUS_TYPE_WARNING 2
799#define PORT_STATUS_TYPE_INFO 3
801#define PORT_STATUS_OFFLINE 1
802#define PORT_STATUS_PAPER_JAM 2
803#define PORT_STATUS_PAPER_OUT 3
804#define PORT_STATUS_OUTPUT_BIN_FULL 4
805#define PORT_STATUS_PAPER_PROBLEM 5
806#define PORT_STATUS_NO_TONER 6
807#define PORT_STATUS_DOOR_OPEN 7
808#define PORT_STATUS_USER_INTERVENTION 8
809#define PORT_STATUS_OUT_OF_MEMORY 9
810#define PORT_STATUS_TONER_LOW 10
811#define PORT_STATUS_WARMING_UP 11
812#define PORT_STATUS_POWER_SAVE 12
890#define EnumPrinters __MINGW_NAME_AW(EnumPrinters)
895#define PRINTER_ENUM_DEFAULT 0x00000001
896#define PRINTER_ENUM_LOCAL 0x00000002
897#define PRINTER_ENUM_CONNECTIONS 0x00000004
898#define PRINTER_ENUM_FAVORITE 0x00000004
899#define PRINTER_ENUM_NAME 0x00000008
900#define PRINTER_ENUM_REMOTE 0x00000010
901#define PRINTER_ENUM_SHARED 0x00000020
902#define PRINTER_ENUM_NETWORK 0x00000040
904#define PRINTER_ENUM_EXPAND 0x00004000
905#define PRINTER_ENUM_CONTAINER 0x00008000
907#define PRINTER_ENUM_ICONMASK 0x00ff0000
908#define PRINTER_ENUM_ICON1 0x00010000
909#define PRINTER_ENUM_ICON2 0x00020000
910#define PRINTER_ENUM_ICON3 0x00040000
911#define PRINTER_ENUM_ICON4 0x00080000
912#define PRINTER_ENUM_ICON5 0x00100000
913#define PRINTER_ENUM_ICON6 0x00200000
914#define PRINTER_ENUM_ICON7 0x00400000
915#define PRINTER_ENUM_ICON8 0x00800000
916#define PRINTER_ENUM_HIDE 0x01000000
918#define SPOOL_FILE_PERSISTENT 0x00000001
919#define SPOOL_FILE_TEMPORARY 0x00000002
921#define OpenPrinter __MINGW_NAME_AW(OpenPrinter)
922#define ResetPrinter __MINGW_NAME_AW(ResetPrinter)
923#define SetJob __MINGW_NAME_AW(SetJob)
924#define GetJob __MINGW_NAME_AW(GetJob)
925#define EnumJobs __MINGW_NAME_AW(EnumJobs)
926#define AddPrinter __MINGW_NAME_AW(AddPrinter)
927#define SetPrinter __MINGW_NAME_AW(SetPrinter)
928#define GetPrinter __MINGW_NAME_AW(GetPrinter)
929#define AddPrinterDriver __MINGW_NAME_AW(AddPrinterDriver)
930#define AddPrinterDriverEx __MINGW_NAME_AW(AddPrinterDriverEx)
931#define EnumPrinterDrivers __MINGW_NAME_AW(EnumPrinterDrivers)
932#define GetPrinterDriver __MINGW_NAME_AW(GetPrinterDriver)
933#define GetPrinterDriverDirectory __MINGW_NAME_AW(GetPrinterDriverDirectory)
934#define DeletePrinterDriver __MINGW_NAME_AW(DeletePrinterDriver)
935#define DeletePrinterDriverEx __MINGW_NAME_AW(DeletePrinterDriverEx)
936#define AddPrintProcessor __MINGW_NAME_AW(AddPrintProcessor)
937#define EnumPrintProcessors __MINGW_NAME_AW(EnumPrintProcessors)
938#define GetPrintProcessorDirectory __MINGW_NAME_AW(GetPrintProcessorDirectory)
939#define EnumPrintProcessorDatatypes __MINGW_NAME_AW(EnumPrintProcessorDatatypes)
940#define DeletePrintProcessor __MINGW_NAME_AW(DeletePrintProcessor)
941#define StartDocPrinter __MINGW_NAME_AW(StartDocPrinter)
942#define AddJob __MINGW_NAME_AW(AddJob)
943#define DocumentProperties __MINGW_NAME_AW(DocumentProperties)
944#define AdvancedDocumentProperties __MINGW_NAME_AW(AdvancedDocumentProperties)
945#define GetPrinterData __MINGW_NAME_AW(GetPrinterData)
946#define GetPrinterDataEx __MINGW_NAME_AW(GetPrinterDataEx)
947#define EnumPrinterData __MINGW_NAME_AW(EnumPrinterData)
948#define EnumPrinterDataEx __MINGW_NAME_AW(EnumPrinterDataEx)
949#define EnumPrinterKey __MINGW_NAME_AW(EnumPrinterKey)
950#define SetPrinterData __MINGW_NAME_AW(SetPrinterData)
951#define SetPrinterDataEx __MINGW_NAME_AW(SetPrinterDataEx)
952#define DeletePrinterData __MINGW_NAME_AW(DeletePrinterData)
953#define DeletePrinterDataEx __MINGW_NAME_AW(DeletePrinterDataEx)
954#define DeletePrinterKey __MINGW_NAME_AW(DeletePrinterKey)
1036#define PRINTER_NOTIFY_TYPE 0x00
1037#define JOB_NOTIFY_TYPE 0x01
1039#define PRINTER_NOTIFY_FIELD_SERVER_NAME 0x00
1040#define PRINTER_NOTIFY_FIELD_PRINTER_NAME 0x01
1041#define PRINTER_NOTIFY_FIELD_SHARE_NAME 0x02
1042#define PRINTER_NOTIFY_FIELD_PORT_NAME 0x03
1043#define PRINTER_NOTIFY_FIELD_DRIVER_NAME 0x04
1044#define PRINTER_NOTIFY_FIELD_COMMENT 0x05
1045#define PRINTER_NOTIFY_FIELD_LOCATION 0x06
1046#define PRINTER_NOTIFY_FIELD_DEVMODE 0x07
1047#define PRINTER_NOTIFY_FIELD_SEPFILE 0x08
1048#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 0x09
1049#define PRINTER_NOTIFY_FIELD_PARAMETERS 0x0A
1050#define PRINTER_NOTIFY_FIELD_DATATYPE 0x0B
1051#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0C
1052#define PRINTER_NOTIFY_FIELD_ATTRIBUTES 0x0D
1053#define PRINTER_NOTIFY_FIELD_PRIORITY 0x0E
1054#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 0x0F
1055#define PRINTER_NOTIFY_FIELD_START_TIME 0x10
1056#define PRINTER_NOTIFY_FIELD_UNTIL_TIME 0x11
1057#define PRINTER_NOTIFY_FIELD_STATUS 0x12
1058#define PRINTER_NOTIFY_FIELD_STATUS_STRING 0x13
1059#define PRINTER_NOTIFY_FIELD_CJOBS 0x14
1060#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 0x15
1061#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 0x16
1062#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 0x17
1063#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 0x18
1064#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 0x19
1065#define PRINTER_NOTIFY_FIELD_OBJECT_GUID 0x1A
1067#define JOB_NOTIFY_FIELD_PRINTER_NAME 0x00
1068#define JOB_NOTIFY_FIELD_MACHINE_NAME 0x01
1069#define JOB_NOTIFY_FIELD_PORT_NAME 0x02
1070#define JOB_NOTIFY_FIELD_USER_NAME 0x03
1071#define JOB_NOTIFY_FIELD_NOTIFY_NAME 0x04
1072#define JOB_NOTIFY_FIELD_DATATYPE 0x05
1073#define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 0x06
1074#define JOB_NOTIFY_FIELD_PARAMETERS 0x07
1075#define JOB_NOTIFY_FIELD_DRIVER_NAME 0x08
1076#define JOB_NOTIFY_FIELD_DEVMODE 0x09
1077#define JOB_NOTIFY_FIELD_STATUS 0x0A
1078#define JOB_NOTIFY_FIELD_STATUS_STRING 0x0B
1079#define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0C
1080#define JOB_NOTIFY_FIELD_DOCUMENT 0x0D
1081#define JOB_NOTIFY_FIELD_PRIORITY 0x0E
1082#define JOB_NOTIFY_FIELD_POSITION 0x0F
1083#define JOB_NOTIFY_FIELD_SUBMITTED 0x10
1084#define JOB_NOTIFY_FIELD_START_TIME 0x11
1085#define JOB_NOTIFY_FIELD_UNTIL_TIME 0x12
1086#define JOB_NOTIFY_FIELD_TIME 0x13
1087#define JOB_NOTIFY_FIELD_TOTAL_PAGES 0x14
1088#define JOB_NOTIFY_FIELD_PAGES_PRINTED 0x15
1089#define JOB_NOTIFY_FIELD_TOTAL_BYTES 0x16
1090#define JOB_NOTIFY_FIELD_BYTES_PRINTED 0x17
1101#define PRINTER_NOTIFY_OPTIONS_REFRESH 0x01
1110#define PRINTER_NOTIFY_INFO_DISCARDED 0x01
1176#define BIDI_ACTION_ENUM_SCHEMA L"EnumSchema"
1177#define BIDI_ACTION_GET L"Get"
1178#define BIDI_ACTION_SET L"Set"
1179#define BIDI_ACTION_GET_ALL L"GetAll"
1185#define BIDI_ACCESS_ADMINISTRATOR 0x1
1186#define BIDI_ACCESS_USER 0x2
1188#define ERROR_BIDI_STATUS_OK 0
1189#define ERROR_BIDI_NOT_SUPPORTED ERROR_NOT_SUPPORTED
1191#define ERROR_BIDI_ERROR_BASE 13000
1192#define ERROR_BIDI_STATUS_WARNING (ERROR_BIDI_ERROR_BASE + 1)
1193#define ERROR_BIDI_SCHEMA_READ_ONLY (ERROR_BIDI_ERROR_BASE + 2)
1194#define ERROR_BIDI_SERVER_OFFLINE (ERROR_BIDI_ERROR_BASE + 3)
1195#define ERROR_BIDI_DEVICE_OFFLINE (ERROR_BIDI_ERROR_BASE + 4)
1196#define ERROR_BIDI_SCHEMA_NOT_SUPPORTED (ERROR_BIDI_ERROR_BASE + 5)
1204#define PRINTER_CHANGE_ADD_PRINTER 0x00000001
1205#define PRINTER_CHANGE_SET_PRINTER 0x00000002
1206#define PRINTER_CHANGE_DELETE_PRINTER 0x00000004
1207#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 0x00000008
1208#define PRINTER_CHANGE_PRINTER 0x000000FF
1209#define PRINTER_CHANGE_ADD_JOB 0x00000100
1210#define PRINTER_CHANGE_SET_JOB 0x00000200
1211#define PRINTER_CHANGE_DELETE_JOB 0x00000400
1212#define PRINTER_CHANGE_WRITE_JOB 0x00000800
1213#define PRINTER_CHANGE_JOB 0x0000FF00
1214#define PRINTER_CHANGE_ADD_FORM 0x00010000
1215#define PRINTER_CHANGE_SET_FORM 0x00020000
1216#define PRINTER_CHANGE_DELETE_FORM 0x00040000
1217#define PRINTER_CHANGE_FORM 0x00070000
1218#define PRINTER_CHANGE_ADD_PORT 0x00100000
1219#define PRINTER_CHANGE_CONFIGURE_PORT 0x00200000
1220#define PRINTER_CHANGE_DELETE_PORT 0x00400000
1221#define PRINTER_CHANGE_PORT 0x00700000
1222#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x01000000
1223#define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR 0x04000000
1224#define PRINTER_CHANGE_PRINT_PROCESSOR 0x07000000
1225#define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000
1226#define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000
1227#define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000
1228#define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000
1229#define PRINTER_CHANGE_TIMEOUT 0x80000000
1230#define PRINTER_CHANGE_ALL 0x7777FFFF
1232#define PrinterMessageBox __MINGW_NAME_AW(PrinterMessageBox)
1233#define AddForm __MINGW_NAME_AW(AddForm)
1234#define DeleteForm __MINGW_NAME_AW(DeleteForm)
1235#define GetForm __MINGW_NAME_AW(GetForm)
1236#define SetForm __MINGW_NAME_AW(SetForm)
1237#define EnumForms __MINGW_NAME_AW(EnumForms)
1238#define EnumMonitors __MINGW_NAME_AW(EnumMonitors)
1239#define AddMonitor __MINGW_NAME_AW(AddMonitor)
1240#define DeleteMonitor __MINGW_NAME_AW(DeleteMonitor)
1241#define EnumPorts __MINGW_NAME_AW(EnumPorts)
1242#define AddPort __MINGW_NAME_AW(AddPort)
1243#define ConfigurePort __MINGW_NAME_AW(ConfigurePort)
1244#define DeletePort __MINGW_NAME_AW(DeletePort)
1245#define GetDefaultPrinter __MINGW_NAME_AW(GetDefaultPrinter)
1246#define SetDefaultPrinter __MINGW_NAME_AW(SetDefaultPrinter)
1247#define SetPort __MINGW_NAME_AW(SetPort)
1248#define AddPrinterConnection __MINGW_NAME_AW(AddPrinterConnection)
1249#define DeletePrinterConnection __MINGW_NAME_AW(DeletePrinterConnection)
1254#define PRINTER_ERROR_INFORMATION 0x80000000
1255#define PRINTER_ERROR_WARNING 0x40000000
1256#define PRINTER_ERROR_SEVERE 0x20000000
1258#define PRINTER_ERROR_OUTOFPAPER 0x00000001
1259#define PRINTER_ERROR_JAM 0x00000002
1260#define PRINTER_ERROR_OUTOFTONER 0x00000004
1289#define XcvData XcvDataW
1331#define AddPrintProvidor __MINGW_NAME_AW(AddPrintProvidor)
1332#define DeletePrintProvidor __MINGW_NAME_AW(DeletePrintProvidor)
1333#define IsValidDevmode __MINGW_NAME_AW(IsValidDevmode)
1342#define SPLREG_DEFAULT_SPOOL_DIRECTORY TEXT("DefaultSpoolDirectory")
1343#define SPLREG_PORT_THREAD_PRIORITY_DEFAULT TEXT("PortThreadPriorityDefault")
1344#define SPLREG_PORT_THREAD_PRIORITY TEXT("PortThreadPriority")
1345#define SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT TEXT("SchedulerThreadPriorityDefault")
1346#define SPLREG_SCHEDULER_THREAD_PRIORITY TEXT("SchedulerThreadPriority")
1347#define SPLREG_BEEP_ENABLED TEXT("BeepEnabled")
1348#define SPLREG_NET_POPUP TEXT("NetPopup")
1349#define SPLREG_RETRY_POPUP TEXT("RetryPopup")
1350#define SPLREG_NET_POPUP_TO_COMPUTER TEXT("NetPopupToComputer")
1351#define SPLREG_EVENT_LOG TEXT("EventLog")
1352#define SPLREG_MAJOR_VERSION TEXT("MajorVersion")
1353#define SPLREG_MINOR_VERSION TEXT("MinorVersion")
1354#define SPLREG_ARCHITECTURE TEXT("Architecture")
1355#define SPLREG_OS_VERSION TEXT("OSVersion")
1356#define SPLREG_OS_VERSIONEX TEXT("OSVersionEx")
1357#define SPLREG_DS_PRESENT TEXT("DsPresent")
1358#define SPLREG_DS_PRESENT_FOR_USER TEXT("DsPresentForUser")
1359#define SPLREG_REMOTE_FAX TEXT("RemoteFax")
1360#define SPLREG_RESTART_JOB_ON_POOL_ERROR TEXT("RestartJobOnPoolError")
1361#define SPLREG_RESTART_JOB_ON_POOL_ENABLED TEXT("RestartJobOnPoolEnabled")
1362#define SPLREG_DNS_MACHINE_NAME TEXT("DNSMachineName")
1363#define SPLREG_ALLOW_USER_MANAGEFORMS TEXT("AllowUserManageForms")
1364#define SPLREG_WEBSHAREMGMT TEXT("WebShareMgmt")
1366#define SERVER_ACCESS_ADMINISTER 0x00000001
1367#define SERVER_ACCESS_ENUMERATE 0x00000002
1369#define PRINTER_ACCESS_ADMINISTER 0x00000004
1370#define PRINTER_ACCESS_USE 0x00000008
1372#define JOB_ACCESS_ADMINISTER 0x00000010
1373#define JOB_ACCESS_READ 0x00000020
1375#define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
1376#define SERVER_READ (STANDARD_RIGHTS_READ | SERVER_ACCESS_ENUMERATE)
1377#define SERVER_WRITE (STANDARD_RIGHTS_WRITE | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE)
1378#define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE | SERVER_ACCESS_ENUMERATE)
1379#define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | PRINTER_ACCESS_ADMINISTER | PRINTER_ACCESS_USE)
1380#define PRINTER_READ (STANDARD_RIGHTS_READ | PRINTER_ACCESS_USE)
1381#define PRINTER_WRITE (STANDARD_RIGHTS_WRITE | PRINTER_ACCESS_USE)
1382#define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE | PRINTER_ACCESS_USE)
1383#define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER | JOB_ACCESS_READ)
1384#define JOB_READ (STANDARD_RIGHTS_READ | JOB_ACCESS_READ)
1385#define JOB_WRITE (STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER)
1386#define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER)
1388#define SPLDS_SPOOLER_KEY TEXT("DsSpooler")
1389#define SPLDS_DRIVER_KEY TEXT("DsDriver")
1390#define SPLDS_USER_KEY TEXT("DsUser")
1392#define SPLDS_ASSET_NUMBER TEXT("assetNumber")
1393#define SPLDS_BYTES_PER_MINUTE TEXT("bytesPerMinute")
1394#define SPLDS_DESCRIPTION TEXT("description")
1395#define SPLDS_DRIVER_NAME TEXT("driverName")
1396#define SPLDS_DRIVER_VERSION TEXT("driverVersion")
1397#define SPLDS_LOCATION TEXT("location")
1398#define SPLDS_PORT_NAME TEXT("portName")
1399#define SPLDS_PRINT_ATTRIBUTES TEXT("printAttributes")
1400#define SPLDS_PRINT_BIN_NAMES TEXT("printBinNames")
1401#define SPLDS_PRINT_COLLATE TEXT("printCollate")
1402#define SPLDS_PRINT_COLOR TEXT("printColor")
1403#define SPLDS_PRINT_DUPLEX_SUPPORTED TEXT("printDuplexSupported")
1404#define SPLDS_PRINT_END_TIME TEXT("printEndTime")
1405#define SPLDS_PRINTER_CLASS TEXT("printQueue")
1406#define SPLDS_PRINTER_NAME TEXT("printerName")
1407#define SPLDS_PRINT_KEEP_PRINTED_JOBS TEXT("printKeepPrintedJobs")
1408#define SPLDS_PRINT_LANGUAGE TEXT("printLanguage")
1409#define SPLDS_PRINT_MAC_ADDRESS TEXT("printMACAddress")
1410#define SPLDS_PRINT_MAX_X_EXTENT TEXT("printMaxXExtent")
1411#define SPLDS_PRINT_MAX_Y_EXTENT TEXT("printMaxYExtent")
1412#define SPLDS_PRINT_MAX_RESOLUTION_SUPPORTED TEXT("printMaxResolutionSupported")
1413#define SPLDS_PRINT_MEDIA_READY TEXT("printMediaReady")
1414#define SPLDS_PRINT_MEDIA_SUPPORTED TEXT("printMediaSupported")
1415#define SPLDS_PRINT_MEMORY TEXT("printMemory")
1416#define SPLDS_PRINT_MIN_X_EXTENT TEXT("printMinXExtent")
1417#define SPLDS_PRINT_MIN_Y_EXTENT TEXT("printMinYExtent")
1418#define SPLDS_PRINT_NETWORK_ADDRESS TEXT("printNetworkAddress")
1419#define SPLDS_PRINT_NOTIFY TEXT("printNotify")
1420#define SPLDS_PRINT_NUMBER_UP TEXT("printNumberUp")
1421#define SPLDS_PRINT_ORIENTATIONS_SUPPORTED TEXT("printOrientationsSupported")
1422#define SPLDS_PRINT_OWNER TEXT("printOwner")
1423#define SPLDS_PRINT_PAGES_PER_MINUTE TEXT("printPagesPerMinute")
1424#define SPLDS_PRINT_RATE TEXT("printRate")
1425#define SPLDS_PRINT_RATE_UNIT TEXT("printRateUnit")
1426#define SPLDS_PRINT_SEPARATOR_FILE TEXT("printSeparatorFile")
1427#define SPLDS_PRINT_SHARE_NAME TEXT("printShareName")
1428#define SPLDS_PRINT_SPOOLING TEXT("printSpooling")
1429#define SPLDS_PRINT_STAPLING_SUPPORTED TEXT("printStaplingSupported")
1430#define SPLDS_PRINT_START_TIME TEXT("printStartTime")
1431#define SPLDS_PRINT_STATUS TEXT("printStatus")
1432#define SPLDS_PRIORITY TEXT("priority")
1433#define SPLDS_SERVER_NAME TEXT("serverName")
1434#define SPLDS_SHORT_SERVER_NAME TEXT("shortServerName")
1435#define SPLDS_UNC_NAME TEXT("uNCName")
1436#define SPLDS_URL TEXT("url")
1437#define SPLDS_FLAGS TEXT("flags")
1438#define SPLDS_VERSION_NUMBER TEXT("versionNumber")
1440#define SPLDS_PRINTER_NAME_ALIASES TEXT("printerNameAliases")
1441#define SPLDS_PRINTER_LOCATIONS TEXT("printerLocations")
1442#define SPLDS_PRINTER_MODEL TEXT("printerModel")
1444#if (_WIN32_WINNT >= 0x0600)
1445#define AddPrinterConnection2 __MINGW_NAME_AW(AddPrinterConnection2)
1446#define DeletePrinterDriverPackage __MINGW_NAME_AW(DeletePrinterDriverPackage)
1447#define DocumentEvent __MINGW_NAME_AW(DocumentEvent)
1449#define PRINTER_CONNECTION_MISMATCH 0x00000020
1450#define PRINTER_CONNECTION_NO_UI 0x00000040
1452typedef enum tagPRINTER_OPTION_FLAGS {
1453 PRINTER_OPTION_NO_CACHE,
1454 PRINTER_OPTION_CACHE,
1455 PRINTER_OPTION_CLIENT_CHANGE
1456} PRINTER_OPTION_FLAGS;
1458typedef enum tagEPrintXPSJobOperation {
1461} EPrintXPSJobOperation;
1463typedef enum tagEPrintXPSJobProgress {
1464 kAddingDocumentSequence,
1465 kDocumentSequenceAdded,
1466 kAddingFixedDocument,
1467 kFixedDocumentAdded,
1473 kXpsDocumentCommitted
1474} EPrintXPSJobProgress;
1476typedef struct _PRINTER_CONNECTION_INFO_1 {
1479} PRINTER_CONNECTION_INFO_1, *PPRINTER_CONNECTION_INFO_1;
1516typedef struct _PRINTPROCESSOR_CAPS_2 {
1519 DWORD dwPageOrderFlags;
1520 DWORD dwNumberOfCopies;
1521 DWORD dwNupDirectionCaps;
1522 DWORD dwNupBorderCaps;
1523 DWORD dwBookletHandlingCaps;
1524 DWORD dwDuplexHandlingCaps;
1525 DWORD dwScalingCaps;
1526} PRINTPROCESSOR_CAPS_2, *PPRINTPROCESSOR_CAPS_2;
1528HRESULT ReportJobProcessingProgress(
1531 EPrintXPSJobOperation jobOperation,
1532 EPrintXPSJobProgress jobProgress
1535typedef struct _CORE_PRINTER_DRIVERA {
1536 GUID CoreDriverGUID;
1540} CORE_PRINTER_DRIVERA, *PCORE_PRINTER_DRIVERA;
1542typedef struct _CORE_PRINTER_DRIVERW {
1543 GUID CoreDriverGUID;
1547} CORE_PRINTER_DRIVERW, *PCORE_PRINTER_DRIVERW;
1549typedef struct _PRINTER_OPTIONS {
1552} PRINTER_OPTIONS, *PPRINTER_OPTIONS;
1556#define GetCorePrinterDrivers __MINGW_NAME_AW(GetCorePrinterDrivers)
1557#define GetPrinterDriver2 __MINGW_NAME_AW(GetPrinterDriver2)
1558#define GetPrinterDriverPackagePath __MINGW_NAME_AW(GetPrinterDriverPackagePath)
1559#define GetSpoolFileHandle __MINGW_NAME_AW(GetSpoolFileHandle)
1564 LPCSTR pszzCoreDriverDependencies,
1565 DWORD cCorePrinterDrivers,
1566 PCORE_PRINTER_DRIVERA pCorePrinterDrivers
1572 LPCWSTR pszzCoreDriverDependencies,
1573 DWORD cCorePrinterDrivers,
1574 PCORE_PRINTER_DRIVERW pCorePrinterDrivers
1603 LPSTR pszDriverPackageCab,
1604 DWORD cchDriverPackageCab,
1613 LPWSTR pszDriverPackageCab,
1614 DWORD cchDriverPackageCab,
1640 LPPRINTER_DEFAULTS pDefault,
1641 PPRINTER_OPTIONS pOptions
1647 LPPRINTER_DEFAULTS pDefault,
1648 PPRINTER_OPTIONS pOptions
1651#define OpenPrinter2 __MINGW_NAME_AW(OpenPrinter2)
1659 LPSTR pszDestInfPath,
1673#define UploadPrinterDriverPackage __MINGW_NAME_AW(UploadPrinterDriverPackage)
#define __MINGW_TYPEDEF_AW(type)
HANDLE WINAPI CommitSpoolData(HANDLE hPrinter, HANDLE hSpoolFile, DWORD cbCommit)
BOOL WINAPI CloseSpoolFileHandle(HANDLE hPrinter, HANDLE hSpoolFile)
unsigned long long DWORDLONG
LPCWSTR LPCWSTR LPCWSTR pszEnvironment
union _BIDI_DATA::@3339 u
BIDI_REQUEST_DATA aData[1]
BIDI_RESPONSE_DATA aData[1]
DWORDLONG dwlDriverVersion
DWORDLONG dwlDriverVersion
FILETIME ftMinInboxDriverVerDate
DWORD dwPrinterDriverAttributes
DWORDLONG dwlDriverVersion
LPSTR pszzCoreDriverDependencies
DWORDLONG dwlMinInboxDriverVerVersion
DWORDLONG dwlMinInboxDriverVerVersion
LPWSTR pszzCoreDriverDependencies
DWORDLONG dwlDriverVersion
FILETIME ftMinInboxDriverVerDate
DWORD dwPrinterDriverAttributes
PSECURITY_DESCRIPTOR pSecurityDescriptor
PSECURITY_DESCRIPTOR pSecurityDescriptor
ACCESS_MASK DesiredAccess
ACCESS_MASK DesiredAccess
PSECURITY_DESCRIPTOR pSecurityDescriptor
PSECURITY_DESCRIPTOR pSecurityDescriptor
PSECURITY_DESCRIPTOR pSecurityDescriptor
DWORD DeviceNotSelectedTimeout
DWORD TransmissionRetryTimeout
DWORD TransmissionRetryTimeout
DWORD DeviceNotSelectedTimeout
union _PRINTER_NOTIFY_INFO_DATA::@3337 NotifyData
struct _PRINTER_NOTIFY_INFO_DATA::@3337::@3338 Data
PRINTER_NOTIFY_INFO_DATA aData[1]
PPRINTER_NOTIFY_OPTIONS_TYPE pTypes
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
*nSize LPSTR _Inout_ LPDWORD nSize
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_In_ DWORD _Out_writes_bytes_to_opt_ pcbData void _Inout_ DWORD * pcbData
_In_ DWORD _Out_ PDWORD pcbNeeded
struct _PRINTER_INFO_9A PRINTER_INFO_9A
DWORD WINAPI StartDocPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo)
struct _PRINTER_NOTIFY_OPTIONS_TYPE * PPRINTER_NOTIFY_OPTIONS_TYPE
struct _PRINTER_INFO_2W * PPRINTER_INFO_2W
struct _PORT_INFO_2A * LPPORT_INFO_2A
struct _PRINTER_INFO_8W PRINTER_INFO_8W
struct _ADDJOB_INFO_1A * PADDJOB_INFO_1A
WINBOOL WINAPI OpenPrinterA(LPSTR pPrinterName, LPHANDLE phPrinter, LPPRINTER_DEFAULTSA pDefault)
WINBOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName)
WINBOOL WINAPI EnumFormsW(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
struct _DOC_INFO_3A * PDOC_INFO_3A
struct _MONITOR_INFO_2A MONITOR_INFO_2A
struct _BIDI_RESPONSE_CONTAINER * LPBIDI_RESPONSE_CONTAINER
struct _MONITOR_INFO_1W * LPMONITOR_INFO_1W
struct _PRINTER_DEFAULTSA PRINTER_DEFAULTSA
struct _DOC_INFO_1W * LPDOC_INFO_1W
struct _PRINTER_INFO_2A * PPRINTER_INFO_2A
struct _PRINTER_NOTIFY_OPTIONS PRINTER_NOTIFY_OPTIONS
WINBOOL WINAPI EnumPrintProcessorsW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level, LPBYTE pPrintProcessorInfo, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
struct _PORT_INFO_1A PORT_INFO_1A
struct _PRINTER_INFO_2A * LPPRINTER_INFO_2A
struct _PRINTER_ENUM_VALUESA * PPRINTER_ENUM_VALUESA
WINBOOL WINAPI DeletePrinterDriverW(LPWSTR pName, LPWSTR pEnvironment, LPWSTR pDriverName)
DWORD WINAPI DeletePrinterKeyA(HANDLE hPrinter, LPCSTR pKeyName)
struct _PRINTER_INFO_5W PRINTER_INFO_5W
WINBOOL WINAPI DeleteFormW(HANDLE hPrinter, LPWSTR pFormName)
struct _DRIVER_INFO_2W DRIVER_INFO_2W
struct _PRINTER_ENUM_VALUESW * LPPRINTER_ENUM_VALUESW
struct _FORM_INFO_2W * PFORM_INFO_2W
WINBOOL WINAPI AddPrinterConnectionA(LPSTR pName)
struct _JOB_INFO_1A * LPJOB_INFO_1A
DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter, DWORD Error, HWND hWnd, LPWSTR pText, LPWSTR pCaption, DWORD dwType)
WINBOOL WINAPI DeleteFormA(HANDLE hPrinter, LPSTR pFormName)
struct _PROVIDOR_INFO_1W * LPPROVIDOR_INFO_1W
WINBOOL WINAPI SetPortA(LPSTR pName, LPSTR pPortName, DWORD dwLevel, LPBYTE pPortInfo)
WINBOOL WINAPI DeletePrinterDriverA(LPSTR pName, LPSTR pEnvironment, LPSTR pDriverName)
struct _DOC_INFO_1A * LPDOC_INFO_1A
WINBOOL WINAPI ReadPrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf, LPDWORD pNoBytesRead)
DWORD WINAPI SetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, DWORD Type, LPBYTE pData, DWORD cbData)
HANDLE WINAPI AddPrinterW(LPWSTR pName, DWORD Level, LPBYTE pPrinter)
DWORD WINAPI EnumPrinterDataW(HANDLE hPrinter, DWORD dwIndex, LPWSTR pValueName, DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData, DWORD cbData, LPDWORD pcbData)
struct _FORM_INFO_1A * PFORM_INFO_1A
WINBOOL WINAPI DeletePrintProvidorW(LPWSTR pName, LPWSTR pEnvironment, LPWSTR pPrintProvidorName)
struct _BIDI_REQUEST_CONTAINER * LPBIDI_REQUEST_CONTAINER
struct _DRIVER_INFO_4A * LPDRIVER_INFO_4A
WINBOOL WINAPI DeleteMonitorW(LPWSTR pName, LPWSTR pEnvironment, LPWSTR pMonitorName)
struct _PROVIDOR_INFO_2W * PPROVIDOR_INFO_2W
DWORD WINAPI GetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName, LPCSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded)
WINBOOL WINAPI SetPortW(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel, LPBYTE pPortInfo)
struct _BIDI_REQUEST_CONTAINER * PBIDI_REQUEST_CONTAINER
WINBOOL WINAPI GetDefaultPrinterW(LPWSTR pszBuffer, LPDWORD pcchBuffer)
struct _MONITOR_INFO_2W * PMONITOR_INFO_2W
struct _DRIVER_INFO_5A DRIVER_INFO_5A
WINBOOL WINAPI EnumPortsW(LPWSTR pName, DWORD Level, LPBYTE pPorts, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
struct _PRINTER_INFO_4W * LPPRINTER_INFO_4W
struct _DRIVER_INFO_2A * LPDRIVER_INFO_2A
HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE hPrinter, DWORD fdwFlags, DWORD fdwOptions, LPVOID pPrinterNotifyOptions)
struct _PRINTER_DEFAULTSW * LPPRINTER_DEFAULTSW
struct _JOB_INFO_3 * PJOB_INFO_3
struct _FORM_INFO_1A * LPFORM_INFO_1A
WINBOOL WINAPI SetDefaultPrinterA(LPCSTR pszPrinter)
WINBOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, DWORD cbBuf, LPDWORD pcbNeeded)
struct _BIDI_REQUEST_CONTAINER BIDI_REQUEST_CONTAINER
struct _DRIVER_INFO_6W DRIVER_INFO_6W
WINBOOL WINAPI DeletePrintProcessorW(LPWSTR pName, LPWSTR pEnvironment, LPWSTR pPrintProcessorName)
struct _PRINTER_INFO_1A * PPRINTER_INFO_1A
WINBOOL WINAPI GetPrinterDriverW(HANDLE hPrinter, LPWSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded)
DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter, DWORD Error, HWND hWnd, LPSTR pText, LPSTR pCaption, DWORD dwType)
struct _DRIVER_INFO_1A DRIVER_INFO_1A
struct _PRINTER_NOTIFY_OPTIONS_TYPE PRINTER_NOTIFY_OPTIONS_TYPE
DWORD WINAPI SetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName, LPCSTR pValueName, DWORD Type, LPBYTE pData, DWORD cbData)
struct _PRINTER_INFO_3 PRINTER_INFO_3
struct _PRINTER_INFO_1W PRINTER_INFO_1W
struct _JOB_INFO_3 JOB_INFO_3
struct _DRIVER_INFO_3W * LPDRIVER_INFO_3W
WINBOOL WINAPI EndPagePrinter(HANDLE hPrinter)
struct _DRIVER_INFO_6W * PDRIVER_INFO_6W
WINBOOL WINAPI EnumPrintersW(DWORD Flags, LPWSTR Name, DWORD Level, LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
struct _PRINTER_INFO_5A * LPPRINTER_INFO_5A
struct _FORM_INFO_2W FORM_INFO_2W
struct _MONITOR_INFO_1A MONITOR_INFO_1A
struct _PRINTER_INFO_2W PRINTER_INFO_2W
struct _DRIVER_INFO_1W DRIVER_INFO_1W
HANDLE WINAPI ConnectToPrinterDlg(HWND hwnd, DWORD Flags)
WINBOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR pName, LPWSTR pPrintProcessorName, DWORD Level, LPBYTE pDatatypes, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
struct _PROVIDOR_INFO_2W * LPPROVIDOR_INFO_2W
WINBOOL WINAPI GetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level, LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded)
struct _MONITOR_INFO_2A * PMONITOR_INFO_2A
struct _PRINTER_INFO_4W * PPRINTER_INFO_4W
WINBOOL WINAPI DeletePortA(LPSTR pName, HWND hWnd, LPSTR pPortName)
WINBOOL WINAPI SetFormW(HANDLE hPrinter, LPWSTR pFormName, DWORD Level, LPBYTE pForm)
WINBOOL WINAPI AddPrinterDriverExW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo, DWORD dwFileCopyFlags)
struct _PROVIDOR_INFO_2W PROVIDOR_INFO_2W
struct _PORT_INFO_3W * PPORT_INFO_3W
struct _PRINTER_INFO_5W * LPPRINTER_INFO_5W
struct _PRINTER_INFO_2A PRINTER_INFO_2A
struct _PRINTER_INFO_1W * PPRINTER_INFO_1W
struct _JOB_INFO_1W JOB_INFO_1W
struct _DRIVER_INFO_1A * PDRIVER_INFO_1A
struct _MONITOR_INFO_1W * PMONITOR_INFO_1W
struct _JOB_INFO_2W * PJOB_INFO_2W
struct _DRIVER_INFO_6A * PDRIVER_INFO_6A
struct _PRINTER_INFO_6 * PPRINTER_INFO_6
struct _PORT_INFO_2W * PPORT_INFO_2W
WINBOOL WINAPI GetDefaultPrinterA(LPSTR pszBuffer, LPDWORD pcchBuffer)
struct _BINARY_CONTAINER * PBINARY_CONTAINER
struct _PRINTER_INFO_1A * LPPRINTER_INFO_1A
struct _BIDI_REQUEST_DATA BIDI_REQUEST_DATA
WINBOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR pName, LPSTR pPrintProcessorName, DWORD Level, LPBYTE pDatatypes, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
WINBOOL WINAPI DeletePrinterConnectionW(LPWSTR pName)
WINBOOL WINAPI GetPrinterDriverA(HANDLE hPrinter, LPSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded)
struct _PRINTER_INFO_7W * LPPRINTER_INFO_7W
struct _DRIVER_INFO_8W * LPDRIVER_INFO_8W
struct _DOC_INFO_2A * LPDOC_INFO_2A
struct _DRIVER_INFO_3W * PDRIVER_INFO_3W
struct _DRIVER_INFO_1A * LPDRIVER_INFO_1A
WINBOOL WINAPI AddMonitorA(LPSTR pName, DWORD Level, LPBYTE pMonitorInfo)
struct _PORT_INFO_2W * LPPORT_INFO_2W
struct _DRIVER_INFO_6A DRIVER_INFO_6A
struct _PRINTER_INFO_8A * LPPRINTER_INFO_8A
DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo)
WINBOOL WINAPI SetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, DWORD Command)
struct _PORT_INFO_3W PORT_INFO_3W
struct _PRINTPROCESSOR_INFO_1W * PPRINTPROCESSOR_INFO_1W
struct _PRINTER_INFO_9A * PPRINTER_INFO_9A
struct _PRINTER_INFO_9A * LPPRINTER_INFO_9A
DWORD WINAPI SetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, DWORD Type, LPBYTE pData, DWORD cbData)
WINBOOL WINAPI FindNextPrinterChangeNotification(HANDLE hChange, PDWORD pdwChange, LPVOID pPrinterNotifyOptions, LPVOID *ppPrinterNotifyInfo)
struct _FORM_INFO_1W * PFORM_INFO_1W
WINBOOL WINAPI SetJobW(HANDLE hPrinter, DWORD JobId, DWORD Level, LPBYTE pJob, DWORD Command)
struct _PRINTER_DEFAULTSA * LPPRINTER_DEFAULTSA
WINBOOL WINAPI SetJobA(HANDLE hPrinter, DWORD JobId, DWORD Level, LPBYTE pJob, DWORD Command)
struct _DRIVER_INFO_5A * LPDRIVER_INFO_5A
struct _DRIVER_INFO_1W * LPDRIVER_INFO_1W
struct _PRINTER_ENUM_VALUESW PRINTER_ENUM_VALUESW
LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter, LPWSTR pDeviceName, PDEVMODEW pDevModeOutput, PDEVMODEW pDevModeInput, DWORD fMode)
struct _DOC_INFO_3A * LPDOC_INFO_3A
struct _PORT_INFO_1A * PPORT_INFO_1A
struct _PRINTER_INFO_9W PRINTER_INFO_9W
struct _BIDI_RESPONSE_CONTAINER BIDI_RESPONSE_CONTAINER
struct _BIDI_DATA * PBIDI_DATA
WINBOOL WINAPI DeleteMonitorA(LPSTR pName, LPSTR pEnvironment, LPSTR pMonitorName)
WINBOOL WINAPI GetPrinterDriverDirectoryA(LPSTR pName, LPSTR pEnvironment, DWORD Level, LPBYTE pDriverDirectory, DWORD cbBuf, LPDWORD pcbNeeded)
struct _DATATYPES_INFO_1A * PDATATYPES_INFO_1A
struct _PRINTER_INFO_4A * LPPRINTER_INFO_4A
DWORD WINAPI GetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded)
struct _PRINTER_NOTIFY_INFO * LPPRINTER_NOTIFY_INFO
struct _DRIVER_INFO_5W DRIVER_INFO_5W
WINBOOL WINAPI EnumJobsA(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs, DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
struct _DRIVER_INFO_4W * PDRIVER_INFO_4W
struct _PORT_INFO_3A PORT_INFO_3A
struct _DOC_INFO_3W DOC_INFO_3W
struct _JOB_INFO_1W * LPJOB_INFO_1W
struct _ADDJOB_INFO_1W * PADDJOB_INFO_1W
WINBOOL WINAPI AddPortW(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName)
LONG WINAPI DocumentPropertiesA(HWND hWnd, HANDLE hPrinter, LPSTR pDeviceName, PDEVMODEA pDevModeOutput, PDEVMODEA pDevModeInput, DWORD fMode)
WINBOOL WINAPI StartPagePrinter(HANDLE hPrinter)
struct _DRIVER_INFO_3A * PDRIVER_INFO_3A
WINBOOL WINAPI ResetPrinterW(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault)
struct _PRINTER_INFO_4A * PPRINTER_INFO_4A
struct _FORM_INFO_1W * LPFORM_INFO_1W
DWORD WINAPI DeletePrinterKeyW(HANDLE hPrinter, LPCWSTR pKeyName)
WINBOOL WINAPI EnumPortsA(LPSTR pName, DWORD Level, LPBYTE pPorts, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
struct _PRINTER_INFO_5A * PPRINTER_INFO_5A
WINBOOL WINAPI AddJobW(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf, LPDWORD pcbNeeded)
struct _FORM_INFO_2A * PFORM_INFO_2A
WINBOOL WINAPI AddPrinterDriverW(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo)
DWORD WINAPI DeletePrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName, LPCWSTR pValueName)
WINBOOL WINAPI SetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, DWORD Command)
struct _DRIVER_INFO_8A * PDRIVER_INFO_8A
WINBOOL WINAPI DeletePrinterConnectionA(LPSTR pName)
struct _DRIVER_INFO_4A * PDRIVER_INFO_4A
WINBOOL WINAPI GetPrintProcessorDirectoryW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level, LPBYTE pPrintProcessorInfo, DWORD cbBuf, LPDWORD pcbNeeded)
WINBOOL WINAPI AddPrinterDriverA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo)
struct _JOB_INFO_2W JOB_INFO_2W
WINBOOL WINAPI DeletePrinterDriverExW(LPWSTR pName, LPWSTR pEnvironment, LPWSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag)
struct _PRINTER_INFO_4W PRINTER_INFO_4W
struct _PROVIDOR_INFO_1W PROVIDOR_INFO_1W
struct _DRIVER_INFO_2A * PDRIVER_INFO_2A
struct _PRINTPROCESSOR_INFO_1W PRINTPROCESSOR_INFO_1W
struct _PRINTER_DEFAULTSW PRINTER_DEFAULTSW
DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName, LPBYTE pEnumValues, DWORD cbEnumValues, LPDWORD pcbEnumValues, LPDWORD pnEnumValues)
struct _BIDI_RESPONSE_CONTAINER * PBIDI_RESPONSE_CONTAINER
DWORD WINAPI SetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName, LPCWSTR pValueName, DWORD Type, LPBYTE pData, DWORD cbData)
struct _DRIVER_INFO_5W * PDRIVER_INFO_5W
WINBOOL WINAPI FlushPrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf, LPDWORD pcWritten, DWORD cSleep)
struct _JOB_INFO_1A JOB_INFO_1A
struct _DATATYPES_INFO_1A * LPDATATYPES_INFO_1A
struct _PROVIDOR_INFO_1A * LPPROVIDOR_INFO_1A
struct _JOB_INFO_1A * PJOB_INFO_1A
struct _PRINTER_INFO_6 PRINTER_INFO_6
WINBOOL WINAPI EnumMonitorsW(LPWSTR pName, DWORD Level, LPBYTE pMonitor, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
struct _ADDJOB_INFO_1A * LPADDJOB_INFO_1A
struct _PORT_INFO_3W * LPPORT_INFO_3W
struct _JOB_INFO_2A * LPJOB_INFO_2A
struct _DOC_INFO_2A DOC_INFO_2A
struct _PORT_INFO_2A * PPORT_INFO_2A
WINBOOL WINAPI AddFormA(HANDLE hPrinter, DWORD Level, LPBYTE pForm)
struct _MONITOR_INFO_1W MONITOR_INFO_1W
struct _PRINTER_INFO_9W * LPPRINTER_INFO_9W
WINBOOL WINAPI AddPrintProvidorW(LPWSTR pName, DWORD level, LPBYTE pProvidorInfo)
struct _PRINTER_ENUM_VALUESW * PPRINTER_ENUM_VALUESW
struct _PORT_INFO_2A PORT_INFO_2A
struct _DATATYPES_INFO_1W * PDATATYPES_INFO_1W
struct _ADDJOB_INFO_1W ADDJOB_INFO_1W
struct _PROVIDOR_INFO_1W * PPROVIDOR_INFO_1W
struct _PRINTER_NOTIFY_INFO * PPRINTER_NOTIFY_INFO
struct _DOC_INFO_3A DOC_INFO_3A
WINBOOL WINAPI OpenPrinterW(LPWSTR pPrinterName, LPHANDLE phPrinter, LPPRINTER_DEFAULTSW pDefault)
struct _PRINTER_INFO_7A PRINTER_INFO_7A
struct _BINARY_CONTAINER BINARY_CONTAINER
struct _PRINTPROCESSOR_INFO_1A * PPRINTPROCESSOR_INFO_1A
WINBOOL WINAPI EnumPrintProcessorsA(LPSTR pName, LPSTR pEnvironment, DWORD Level, LPBYTE pPrintProcessorInfo, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
WINBOOL WINAPI AbortPrinter(HANDLE hPrinter)
WINBOOL WINAPI AddPrinterDriverExA(LPSTR pName, DWORD Level, LPBYTE pDriverInfo, DWORD dwFileCopyFlags)
WINBOOL WINAPI EndDocPrinter(HANDLE hPrinter)
struct _DOC_INFO_2W * LPDOC_INFO_2W
WINBOOL WINAPI GetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, DWORD cbBuf, LPDWORD pcbNeeded)
struct _DOC_INFO_2W * PDOC_INFO_2W
struct _PRINTPROCESSOR_INFO_1A * LPPRINTPROCESSOR_INFO_1A
struct _PROVIDOR_INFO_2A * LPPROVIDOR_INFO_2A
struct _JOB_INFO_2A * PJOB_INFO_2A
struct _BIDI_RESPONSE_DATA * PBIDI_RESPONSE_DATA
struct _MONITOR_INFO_2W MONITOR_INFO_2W
WINBOOL WINAPI DeletePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName)
WINBOOL WINAPI DeletePrintProcessorA(LPSTR pName, LPSTR pEnvironment, LPSTR pPrintProcessorName)
struct _PRINTER_INFO_7W * PPRINTER_INFO_7W
struct _PORT_INFO_1A * LPPORT_INFO_1A
struct _PRINTER_NOTIFY_INFO PRINTER_NOTIFY_INFO
WINBOOL WINAPI SetDefaultPrinterW(LPCWSTR pszPrinter)
struct _PROVIDOR_INFO_1A * PPROVIDOR_INFO_1A
struct _PRINTER_INFO_4A PRINTER_INFO_4A
DWORD WINAPI GetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded)
WINBOOL WINAPI EnumFormsA(HANDLE hPrinter, DWORD Level, LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
struct _DRIVER_INFO_8A DRIVER_INFO_8A
WINBOOL WINAPI EnumPrinterDriversA(LPSTR pName, LPSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
struct _PRINTER_NOTIFY_OPTIONS_TYPE * LPPRINTER_NOTIFY_OPTIONS_TYPE
WINBOOL WINAPI ClosePrinter(HANDLE hPrinter)
WINBOOL WINAPI GetPrinterDriverDirectoryW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level, LPBYTE pDriverDirectory, DWORD cbBuf, LPDWORD pcbNeeded)
DWORD WINAPI EnumPrinterKeyW(HANDLE hPrinter, LPCWSTR pKeyName, LPWSTR pSubkey, DWORD cbSubkey, LPDWORD pcbSubkey)
WINBOOL WINAPI XcvDataW(HANDLE hXcv, PCWSTR pszDataName, PBYTE pInputData, DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData, PDWORD pcbOutputNeeded, PDWORD pdwStatus)
struct _PRINTER_INFO_1A PRINTER_INFO_1A
struct _PROVIDOR_INFO_1A PROVIDOR_INFO_1A
struct _JOB_INFO_2W * LPJOB_INFO_2W
struct _BIDI_RESPONSE_DATA * LPBIDI_RESPONSE_DATA
struct _DRIVER_INFO_6W * LPDRIVER_INFO_6W
WINBOOL WINAPI ConfigurePortA(LPSTR pName, HWND hWnd, LPSTR pPortName)
struct _JOB_INFO_1W * PJOB_INFO_1W
struct _PRINTER_INFO_3 * PPRINTER_INFO_3
struct _PRINTER_NOTIFY_INFO_DATA PRINTER_NOTIFY_INFO_DATA
WINBOOL WINAPI GetJobW(HANDLE hPrinter, DWORD JobId, DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded)
struct _PRINTER_INFO_5W * PPRINTER_INFO_5W
WINBOOL WINAPI ConfigurePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName)
LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter, LPWSTR pDeviceName, PDEVMODEW pDevModeOutput, PDEVMODEW pDevModeInput)
struct _DRIVER_INFO_6A * LPDRIVER_INFO_6A
struct _DRIVER_INFO_8W * PDRIVER_INFO_8W
struct _DRIVER_INFO_4W * LPDRIVER_INFO_4W
struct _DRIVER_INFO_4A DRIVER_INFO_4A
struct _MONITOR_INFO_1A * PMONITOR_INFO_1A
WINBOOL WINAPI EnumPrinterDriversW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
struct _DRIVER_INFO_4W DRIVER_INFO_4W
struct _DATATYPES_INFO_1A DATATYPES_INFO_1A
DWORD WINAPI EnumPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName, LPBYTE pEnumValues, DWORD cbEnumValues, LPDWORD pcbEnumValues, LPDWORD pnEnumValues)
struct _MONITOR_INFO_1A * LPMONITOR_INFO_1A
struct _BIDI_DATA BIDI_DATA
WINBOOL WINAPI ScheduleJob(HANDLE hPrinter, DWORD JobId)
WINBOOL WINAPI FindClosePrinterChangeNotification(HANDLE hChange)
struct _PRINTER_INFO_8W * LPPRINTER_INFO_8W
struct _DOC_INFO_2A * PDOC_INFO_2A
struct _PRINTER_INFO_8A PRINTER_INFO_8A
DWORD WINAPI WaitForPrinterChange(HANDLE hPrinter, DWORD Flags)
struct _PORT_INFO_1W PORT_INFO_1W
WINBOOL WINAPI ResetPrinterA(HANDLE hPrinter, LPPRINTER_DEFAULTSA pDefault)
WINBOOL WINAPI GetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level, LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded)
struct _DATATYPES_INFO_1W DATATYPES_INFO_1W
struct _DRIVER_INFO_2W * PDRIVER_INFO_2W
WINBOOL WINAPI AddJobA(HANDLE hPrinter, DWORD Level, LPBYTE pData, DWORD cbBuf, LPDWORD pcbNeeded)
struct _PRINTER_INFO_1W * LPPRINTER_INFO_1W
struct _PRINTPROCESSOR_INFO_1W * LPPRINTPROCESSOR_INFO_1W
WINBOOL WINAPI AddPrinterConnectionW(LPWSTR pName)
DWORD WINAPI DeletePrinterDataA(HANDLE hPrinter, LPSTR pValueName)
DWORD WINAPI DeletePrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName, LPCSTR pValueName)
WINBOOL WINAPI AddFormW(HANDLE hPrinter, DWORD Level, LPBYTE pForm)
struct _DOC_INFO_3W * LPDOC_INFO_3W
struct _DRIVER_INFO_1W * PDRIVER_INFO_1W
struct _PRINTER_NOTIFY_INFO_DATA * PPRINTER_NOTIFY_INFO_DATA
struct _PRINTER_DEFAULTSA * PPRINTER_DEFAULTSA
struct _DOC_INFO_1W DOC_INFO_1W
struct _DRIVER_INFO_3A DRIVER_INFO_3A
DWORD WINAPI EnumPrinterKeyA(HANDLE hPrinter, LPCSTR pKeyName, LPSTR pSubkey, DWORD cbSubkey, LPDWORD pcbSubkey)
struct _BIDI_RESPONSE_DATA BIDI_RESPONSE_DATA
struct _PRINTER_INFO_3 * LPPRINTER_INFO_3
struct _PRINTER_NOTIFY_INFO_DATA * LPPRINTER_NOTIFY_INFO_DATA
struct _PRINTPROCESSOR_INFO_1A PRINTPROCESSOR_INFO_1A
struct _DRIVER_INFO_5W * LPDRIVER_INFO_5W
struct _BIDI_DATA * LPBIDI_DATA
WINBOOL WINAPI AddPrintProcessorW(LPWSTR pName, LPWSTR pEnvironment, LPWSTR pPathName, LPWSTR pPrintProcessorName)
struct _DRIVER_INFO_3W DRIVER_INFO_3W
struct _PRINTER_DEFAULTSW * PPRINTER_DEFAULTSW
struct _JOB_INFO_3 * LPJOB_INFO_3
HANDLE WINAPI AddPrinterA(LPSTR pName, DWORD Level, LPBYTE pPrinter)
struct _PRINTER_INFO_7A * PPRINTER_INFO_7A
struct _PRINTER_INFO_9W * PPRINTER_INFO_9W
WINBOOL WINAPI AddPrintProvidorA(LPSTR pName, DWORD level, LPBYTE pProvidorInfo)
struct _FORM_INFO_2A FORM_INFO_2A
struct _DATATYPES_INFO_1W * LPDATATYPES_INFO_1W
struct _PRINTER_INFO_5A PRINTER_INFO_5A
WINBOOL WINAPI AddMonitorW(LPWSTR pName, DWORD Level, LPBYTE pMonitorInfo)
WINBOOL WINAPI DeletePrintProvidorA(LPSTR pName, LPSTR pEnvironment, LPSTR pPrintProvidorName)
struct _PRINTER_INFO_2W * LPPRINTER_INFO_2W
struct _DRIVER_INFO_2W * LPDRIVER_INFO_2W
struct _PORT_INFO_3A * PPORT_INFO_3A
struct _PORT_INFO_1W * PPORT_INFO_1W
struct _PRINTER_INFO_7A * LPPRINTER_INFO_7A
WINBOOL WINAPI AddPrintProcessorA(LPSTR pName, LPSTR pEnvironment, LPSTR pPathName, LPSTR pPrintProcessorName)
WINBOOL WINAPI GetPrintProcessorDirectoryA(LPSTR pName, LPSTR pEnvironment, DWORD Level, LPBYTE pPrintProcessorInfo, DWORD cbBuf, LPDWORD pcbNeeded)
struct _PRINTER_ENUM_VALUESA * LPPRINTER_ENUM_VALUESA
struct _PRINTER_INFO_6 * LPPRINTER_INFO_6
struct _ADDJOB_INFO_1W * LPADDJOB_INFO_1W
struct _DOC_INFO_1W * PDOC_INFO_1W
struct _DOC_INFO_1A * PDOC_INFO_1A
WINBOOL WINAPI EnumMonitorsA(LPSTR pName, DWORD Level, LPBYTE pMonitor, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
WINBOOL WINAPI DeletePrinter(HANDLE hPrinter)
struct _PROVIDOR_INFO_2A PROVIDOR_INFO_2A
struct _MONITOR_INFO_2A * LPMONITOR_INFO_2A
LONG WINAPI ExtDeviceMode(HWND hWnd, HANDLE hInst, LPDEVMODEA pDevModeOutput, LPSTR pDeviceName, LPSTR pPort, LPDEVMODEA pDevModeInput, LPSTR pProfile, DWORD fMode)
struct _DRIVER_INFO_8W DRIVER_INFO_8W
struct _PRINTER_INFO_8A * PPRINTER_INFO_8A
DWORD WINAPI DeletePrinterDataW(HANDLE hPrinter, LPWSTR pValueName)
struct _BIDI_REQUEST_DATA * LPBIDI_REQUEST_DATA
struct _PRINTER_NOTIFY_OPTIONS * PPRINTER_NOTIFY_OPTIONS
struct _DRIVER_INFO_5A * PDRIVER_INFO_5A
struct _PRINTER_INFO_8W * PPRINTER_INFO_8W
struct _PRINTPROCESSOR_CAPS_1 PRINTPROCESSOR_CAPS_1
struct _DOC_INFO_2W DOC_INFO_2W
WINBOOL WINAPI IsValidDevmodeW(PDEVMODEW pDevmode, size_t DevmodeSize)
struct _DRIVER_INFO_3A * LPDRIVER_INFO_3A
struct _MONITOR_INFO_2W * LPMONITOR_INFO_2W
struct _PORT_INFO_3A * LPPORT_INFO_3A
struct _DRIVER_INFO_2A DRIVER_INFO_2A
struct _JOB_INFO_2A JOB_INFO_2A
struct _FORM_INFO_1A FORM_INFO_1A
struct _BIDI_REQUEST_DATA * PBIDI_REQUEST_DATA
struct _PRINTPROCESSOR_CAPS_1 * PPRINTPROCESSOR_CAPS_1
struct _PROVIDOR_INFO_2A * PPROVIDOR_INFO_2A
struct _DRIVER_INFO_8A * LPDRIVER_INFO_8A
WINBOOL WINAPI EnumJobsW(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs, DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
struct _PORT_INFO_2W PORT_INFO_2W
WINBOOL WINAPI EnumPrintersA(DWORD Flags, LPSTR Name, DWORD Level, LPBYTE pPrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned)
struct _FORM_INFO_1W FORM_INFO_1W
LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd, HANDLE hPrinter, LPSTR pDeviceName, PDEVMODEA pDevModeOutput, PDEVMODEA pDevModeInput)
struct _PRINTER_ENUM_VALUESA PRINTER_ENUM_VALUESA
struct _DOC_INFO_3W * PDOC_INFO_3W
WINBOOL WINAPI IsValidDevmodeA(PDEVMODEA pDevmode, size_t DevmodeSize)
struct _PRINTER_INFO_7W PRINTER_INFO_7W
struct _PRINTER_NOTIFY_OPTIONS * LPPRINTER_NOTIFY_OPTIONS
WINBOOL WINAPI DeletePrinterDriverExA(LPSTR pName, LPSTR pEnvironment, LPSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag)
WINBOOL WINAPI FreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pPrinterNotifyInfo)
DWORD WINAPI EnumPrinterDataA(HANDLE hPrinter, DWORD dwIndex, LPSTR pValueName, DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData, DWORD cbData, LPDWORD pcbData)
struct _DOC_INFO_1A DOC_INFO_1A
struct _PORT_INFO_1W * LPPORT_INFO_1W
WINBOOL WINAPI PrinterProperties(HWND hWnd, HANDLE hPrinter)
WINBOOL WINAPI GetJobA(HANDLE hPrinter, DWORD JobId, DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded)
struct _ADDJOB_INFO_1A ADDJOB_INFO_1A
WINBOOL WINAPI WritePrinter(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf, LPDWORD pcWritten)
WINBOOL WINAPI SetFormA(HANDLE hPrinter, LPSTR pFormName, DWORD Level, LPBYTE pForm)
DWORD WINAPI GetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName, LPCWSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded)
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
_Must_inspect_result_ _In_ ULONG Flags