mirror of
https://github.com/reactos/reactos.git
synced 2024-11-20 14:30:57 +00:00
f3ea8225cb
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 !
55 lines
1.5 KiB
C
55 lines
1.5 KiB
C
/*
|
|
* PROJECT: ReactOS Spooler Router
|
|
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
|
* PURPOSE: Precompiled Header for all source files
|
|
* COPYRIGHT: Copyright 2015 Colin Finck (colin@reactos.org)
|
|
*/
|
|
|
|
#ifndef _PRECOMP_H
|
|
#define _PRECOMP_H
|
|
|
|
#define WIN32_NO_STATUS
|
|
#include <windef.h>
|
|
#include <winbase.h>
|
|
#include <wingdi.h>
|
|
#include <winreg.h>
|
|
#include <winspool.h>
|
|
#include <winsplp.h>
|
|
#include <ndk/rtlfuncs.h>
|
|
|
|
#include <spoolss.h>
|
|
#include <marshalling/marshalling.h>
|
|
|
|
#include <wine/debug.h>
|
|
WINE_DEFAULT_DEBUG_CHANNEL(spoolss);
|
|
|
|
// Function pointers
|
|
typedef BOOL (WINAPI *PInitializePrintProvidor)(LPPRINTPROVIDOR, DWORD, LPWSTR);
|
|
|
|
// Structures
|
|
/**
|
|
* Describes a Print Provider.
|
|
*/
|
|
typedef struct _SPOOLSS_PRINT_PROVIDER
|
|
{
|
|
LIST_ENTRY Entry;
|
|
PRINTPROVIDOR PrintProvider;
|
|
}
|
|
SPOOLSS_PRINT_PROVIDER, *PSPOOLSS_PRINT_PROVIDER;
|
|
|
|
/*
|
|
* Describes a handle returned by OpenPrinterW.
|
|
* We can't just pass the handle returned by the Print Provider, because spoolss has to remember which Print Provider opened this handle.
|
|
*/
|
|
typedef struct _SPOOLSS_PRINTER_HANDLE
|
|
{
|
|
PSPOOLSS_PRINT_PROVIDER pPrintProvider; /** Pointer to the Print Provider that opened this printer. */
|
|
HANDLE hPrinter; /** The handle returned by fpOpenPrinter of the Print Provider and passed to subsequent Print Provider functions. */
|
|
}
|
|
SPOOLSS_PRINTER_HANDLE, *PSPOOLSS_PRINTER_HANDLE;
|
|
|
|
// main.c
|
|
extern HANDLE hProcessHeap;
|
|
extern LIST_ENTRY PrintProviderList;
|
|
|
|
#endif
|