[PRINTING]
[reactos.git] / reactos / win32ss / printing / base / spoolss / precomp.h
1 /*
2 * PROJECT: ReactOS Spooler Router
3 * LICENSE: GNU LGPL v2.1 or any later version as published by the Free Software Foundation
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
22 #include <wine/debug.h>
23 WINE_DEFAULT_DEBUG_CHANNEL(spoolss);
24
25 // Function pointers
26 typedef BOOL (WINAPI *PInitializePrintProvidor)(LPPRINTPROVIDOR, DWORD, LPWSTR);
27
28 // Structures
29 /**
30 * Describes a Print Provider.
31 */
32 typedef struct _SPOOLSS_PRINT_PROVIDER
33 {
34 LIST_ENTRY Entry;
35 PRINTPROVIDOR PrintProvider;
36 }
37 SPOOLSS_PRINT_PROVIDER, *PSPOOLSS_PRINT_PROVIDER;
38
39 /*
40 * Describes a handle returned by OpenPrinterW.
41 * We can't just pass the handle returned by the Print Provider, because spoolss has to remember which Print Provider opened this handle.
42 */
43 typedef struct _SPOOLSS_PRINTER_HANDLE
44 {
45 PSPOOLSS_PRINT_PROVIDER pPrintProvider; /** Pointer to the Print Provider that opened this printer. */
46 HANDLE hPrinter; /** The handle returned by fpOpenPrinter of the Print Provider and passed to subsequent Print Provider functions. */
47 }
48 SPOOLSS_PRINTER_HANDLE, *PSPOOLSS_PRINTER_HANDLE;
49
50 // main.c
51 extern HANDLE hProcessHeap;
52 extern LIST_ENTRY PrintProviderList;
53
54 #endif