reactos/win32ss/printing/providers
Colin Finck 54a9cc5964 [0.4.7][PRINTING] Squashed 2 commits to fix regression CORE-14072
Symptom CORE-14072: '1C: Enterprise 8.2 Educational Edititon can't launch anymore due to "not enough memory" error'

It regressed by SVN r74513 == git 5b6e082869
Actually the most important part of this fix are just the changes in win32ss/printing/base/winspool/printers.c func GetPrinterW()
But I felt more safe when porting back the whole 2 fix-commits including the tests:
---------------------------

[PRINTING] Fix GetPrinterW, add tests for it and GetDefaultPrinterA/W, and add a proper stub for GetPrinterDriverDirectoryA.

* Pass the correct handle to _RpcGetPrinter in GetPrinterW.
* Pass an empty string instead of a NULL pointer as wszComputerName to the GetPrinterLevel* functions, because this variable is later used as source for StringCbCopyExW.
* Don't check for GetLastError() == ERROR_SUCCESS in tests. Windows apparently only sets the last error in case of failure.
  The Printing code should probably be changed similarly in a future commit.

Should fix CORE-14072

fix picked from commit 0.4.8-dev-314-g
3a69fd4e96
----------------------------
[WINSPOOL] Convert the returned Unicode string back to ANSI in GetDefaultPrinterA.

Thanks to Mark for the hint in CORE-14072!

fix picked from commit 0.4.8-dev-300-g
45b9b5c1ef
2020-11-12 01:47:59 +01:00
..
inetpp
localspl [0.4.7][PRINTING] Squashed 2 commits to fix regression CORE-14072 2020-11-12 01:47:59 +01:00
win32spl
CMakeLists.txt