2015-05-06 12:47:20 +00:00
|
|
|
|
2015-05-13 07:03:05 +00:00
|
|
|
spec2def(spoolss.dll spoolss.spec ADD_IMPORTLIB)
|
2015-05-06 12:47:20 +00:00
|
|
|
|
|
|
|
list(APPEND SOURCE
|
2015-05-12 14:43:25 +00:00
|
|
|
context.c
|
2015-06-22 14:31:47 +00:00
|
|
|
jobs.c
|
2015-05-06 12:47:20 +00:00
|
|
|
main.c
|
2015-06-09 13:22:25 +00:00
|
|
|
memory.c
|
2015-07-07 17:06:48 +00:00
|
|
|
monitors.c
|
2015-07-06 12:41:06 +00:00
|
|
|
ports.c
|
2015-06-05 15:52:39 +00:00
|
|
|
precomp.h
|
[PRINTING]
- Implement GetPrinterDataA, GetPrinterDataExA, GetPrinterDataExW, GetPrinterDataW, SetPrinterDataA, SetPrinterDataExA, SetPrinterDataExW, SetPrinterDataW.
They support all features for Print Server and Printer Handles (minus security checks!)
I've also added tests for them.
- Store Printer data in SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers instead of SYSTEM\CurrentControlSet\Control\Print\Printers and create a registry symlink from the former path to the new one just like Windows does.
According to https://social.technet.microsoft.com/Forums/windowsserver/en-US/a683ab54-c43c-4ebe-af8f-1f7a65af2a51, this is needed when having >900 printers to work around a size limit of the SYSTEM registry hive. And if Windows has both locations, we need both for compatibility anyway.
- Add several settings which are queried by the new Printer Data APIs when working with Print Server Handles.
- Store the job directory in the Windows-compatible "DefaultSpoolDirectory" setting and make use of it.
- Revert the ASSERTs in LocalEnumPrinters again to let us verify the NULL pointer exceptions in localspl_apitest (thanks Serge! CORE-13433)
- Translate ERROR_INVALID_NAME to ERROR_INVALID_PRINTER_NAME in all cases in OpenPrinterW (thanks Victor! CORE-13412)
- Make EnumMonitorsW and EnumPortsW in spoolss more robust against failing Print Monitors.
- Remove the wrong !phPrinter check in OpenPrinterW to make Print Server Handles work for real.
- Fix error handling when memory allocation fails: HeapAlloc doesn't set last error, so it's just wrong to query or return it.
One more item done from https://reactos.org/wiki/Printing !
This is all still a big Work-in-Progress, with many subtle bugs deep down in ReactOS, for which I need to open additional tickets. But I didn't want to make this commit even bigger..
svn path=/trunk/; revision=75125
2017-06-19 14:18:19 +00:00
|
|
|
printerdata.c
|
2015-06-22 14:31:47 +00:00
|
|
|
printers.c
|
|
|
|
printprocessors.c
|
2015-06-05 15:52:39 +00:00
|
|
|
tools.c)
|
2015-05-06 12:47:20 +00:00
|
|
|
|
|
|
|
add_library(spoolss SHARED
|
|
|
|
${SOURCE}
|
|
|
|
spoolss.rc
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/spoolss_stubs.c
|
|
|
|
${CMAKE_CURRENT_BINARY_DIR}/spoolss.def)
|
|
|
|
|
|
|
|
set_module_type(spoolss win32dll UNICODE)
|
|
|
|
target_link_libraries(spoolss wine)
|
2015-05-12 14:56:54 +00:00
|
|
|
add_importlibs(spoolss advapi32 msvcrt kernel32 ntdll)
|
2015-05-06 12:47:20 +00:00
|
|
|
add_pch(spoolss precomp.h SOURCE)
|
|
|
|
add_cd_file(TARGET spoolss DESTINATION reactos/system32 FOR all)
|