[PRINTING] Implement the undocumented MarshallDownStructure, MarshallDownStructuresArray, MarshallUpStructure, and MarshallUpStructuresArray to the extent I need and could find out through black-box testing.

PDBs reveal that these functions are also used in winspool.drv, but not imported from spoolss.dll to retain the client/server architecture.
As winspool.drv highly benefits from the MarshallUp* functions, I put them in a source file shared between spoolss.dll and winspool.drv.

The added API Tests cover my testing and all implemented features.
One more item done from https://reactos.org/wiki/Printing !
This commit is contained in:
Colin Finck 2018-01-17 10:13:25 +01:00
parent 2ae756a4e5
commit f3ea8225cb
15 changed files with 445 additions and 55 deletions

View file

@ -4,6 +4,7 @@ add_rpc_files(client ${REACTOS_SOURCE_DIR}/sdk/include/reactos/idl/winspool.idl)
spec2def(winspool.drv winspool.spec ADD_IMPORTLIB)
list(APPEND SOURCE
../marshalling.c
devmode.c
forms.c
jobs.c

View file

@ -15,8 +15,10 @@
#include <winreg.h>
#include <winspool.h>
#include <winspool_c.h>
#include <ndk/rtlfuncs.h>
#include <spoolss.h>
#include <marshalling/marshalling.h>
#include <wine/debug.h>
WINE_DEFAULT_DEBUG_CHANNEL(winspool);