1 /* 2 * PROJECT: ReactOS Spooler Router 3 * LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+) 4 * PURPOSE: Precompiled Header for all source files 5 * COPYRIGHT: Copyright 2015 Colin Finck (colin@reactos.org) 6 */ 7 8 #ifndef _PRECOMP_H 9 #define _PRECOMP_H 10 11 #define WIN32_NO_STATUS 12 #include <windef.h> 13 #include <winbase.h> 14 #include <wingdi.h> 15 #include <winreg.h> 16 #include <winspool.h> 17 #include <winsplp.h> 18 #include <ndk/rtlfuncs.h> 19 20 #include <spoolss.h> 21 #include <marshalling/marshalling.h> 22 23 #include <wine/debug.h> 24 WINE_DEFAULT_DEBUG_CHANNEL(spoolss); 25 26 // Function pointers 27 typedef BOOL (WINAPI *PInitializePrintProvidor)(LPPRINTPROVIDOR, DWORD, LPWSTR); 28 29 // Structures 30 /** 31 * Describes a Print Provider. 32 */ 33 typedef struct _SPOOLSS_PRINT_PROVIDER 34 { 35 LIST_ENTRY Entry; 36 PRINTPROVIDOR PrintProvider; 37 } 38 SPOOLSS_PRINT_PROVIDER, *PSPOOLSS_PRINT_PROVIDER; 39 40 /* 41 * Describes a handle returned by OpenPrinterW. 42 * We can't just pass the handle returned by the Print Provider, because spoolss has to remember which Print Provider opened this handle. 43 */ 44 typedef struct _SPOOLSS_PRINTER_HANDLE 45 { 46 PSPOOLSS_PRINT_PROVIDER pPrintProvider; /** Pointer to the Print Provider that opened this printer. */ 47 HANDLE hPrinter; /** The handle returned by fpOpenPrinter of the Print Provider and passed to subsequent Print Provider functions. */ 48 } 49 SPOOLSS_PRINTER_HANDLE, *PSPOOLSS_PRINTER_HANDLE; 50 51 // main.c 52 extern HANDLE hProcessHeap; 53 extern LIST_ENTRY PrintProviderList; 54 55 #endif 56