- Update ReactOS-amd64.rbuild
[reactos.git] / include / psdk / winddiui.h
1 /*
2 * Header for the Device Driver Interface - User Interface library
3 *
4 * Copyright 2007 Marcel Partap
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21 #ifndef __WINE_WINDDIUI_H
22 #define __WINE_WINDDIUI_H
23
24 #include <compstui.h>
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29
30 #if (NTDDI_VERSION >= NTDDI_WINXP)
31 typedef struct _DOCEVENT_FILTER {
32 UINT cbSize;
33 UINT cElementsAllocated;
34 UINT cElementsNeeded;
35 UINT cElementsReturned;
36 DWORD aDocEventCall[ANYSIZE_ARRAY];
37 } DOCEVENT_FILTER, *PDOCEVENT_FILTER;
38 typedef struct _DOCEVENT_CREATEDCPRE {
39 PWSTR pszDriver;
40 PWSTR pszDevice;
41 PDEVMODEW pdm;
42 BOOL bIC;
43 } DOCEVENT_CREATEDCPRE, *PDCEVENT_CREATEDCPRE;
44 typedef struct _DOCEVENT_ESCAPE {
45 int iEscape;
46 int cjInput;
47 PVOID pvInData;
48 } DOCEVENT_ESCAPE, *PDOCEVENT_ESCAPE;
49 #endif
50 #define DOCUMENTEVENT_FIRST 1
51 #define DOCUMENTEVENT_CREATEDCPRE 1
52 #define DOCUMENTEVENT_CREATEDCPOST 2
53 #define DOCUMENTEVENT_RESETDCPRE 3
54 #define DOCUMENTEVENT_RESETDCPOST 4
55 #define DOCUMENTEVENT_STARTDOC 5
56 #define DOCUMENTEVENT_STARTDOCPRE 5
57 #define DOCUMENTEVENT_STARTPAGE 6
58 #define DOCUMENTEVENT_ENDPAGE 7
59 #define DOCUMENTEVENT_ENDDOC 8
60 #define DOCUMENTEVENT_ENDDOCPRE 8
61 #define DOCUMENTEVENT_ABORTDOC 9
62 #define DOCUMENTEVENT_DELETEDC 10
63 #define DOCUMENTEVENT_ESCAPE 11
64 #define DOCUMENTEVENT_ENDDOCPOST 12
65 #define DOCUMENTEVENT_STARTDOCPOST 13
66 #if (NTDDI_VERSION >= NTDDI_VISTA)
67 #define DOCUMENTEVENT_QUERYFILTER 14
68 #define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPRE 1
69 #define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPRE 2
70 #define DOCUMENTEVENT_XPS_ADDFIXEDPAGEEPRE 3
71 #define DOCUMENTEVENT_XPS_ADDFIXEDPAGEPOST 4
72 #define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPOST 5
73 #define DOCUMENTEVENT_XPS_CANCELJOB 6
74 #define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPRINTTICKETPRE 7
75 #define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPRINTTICKETPRE 8
76 #define DOCUMENTEVENT_XPS_ADDFIXEDPAGEPRINTTICKETPRE 9
77 #define DOCUMENTEVENT_XPS_ADDFIXEDPAGEPRINTTICKETPOST 10
78 #define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPRINTTICKETPOST 11
79 #define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPRINTTICKETPOST 12
80 #define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPOST 13
81 #define DOCUMENTEVENT_LAST 15
82 #elif (NTDDI_VERSION >= NTDDI_WINXP)
83 #define DOCUMENTEVENT_QUERYFILTER 14
84 #define DOCUMENTEVENT_LAST 15
85 #else
86 #define DOCUMENTEVENT_LAST 14
87 #endif
88 #define DOCUMENTEVENT_SPOOLED 0x10000
89 #define DOCUMENTEVENT_SUCCESS 1
90 #define DOCUMENTEVENT_UNSUPPORTED 0
91 #define DOCUMENTEVENT_FAILURE -1
92 #define DOCUMENTEVENT_EVENT(iX) (LOWORD(iX))
93 #define DOCUMENTEVENT_FLAGS(iX) (HIWORD(iX))
94
95 int WINAPI DrvDocumentEvent(HANDLE,HDC,int,ULONG,PVOID,ULONG,PVOID);
96
97 #define DRIVER_EVENT_INITIALIZE 1
98 #define DRIVER_EVENT_DELETE 2
99
100 #define PRINTER_EVENT_ADD_CONNECTION 1
101 #define PRINTER_EVENT_DELETE_CONNECTION 2
102 #define PRINTER_EVENT_INITIALIZE 3
103 #define PRINTER_EVENT_DELETE 4
104 #define PRINTER_EVENT_CACHE_REFRESH 5
105 #define PRINTER_EVENT_CACHE_DELETE 6
106 #define PRINTER_EVENT_ATTRIBUTES_CHANGED 7
107
108 #define PRINTER_EVENT_FLAG_NO_UI 1
109
110 BOOL WINAPI DrvDriverEvent(DWORD, DWORD, LPBYTE, LPARAM);
111 BOOL WINAPI DrvPrinterEvent(LPWSTR, INT, DWORD, LPARAM);
112
113 #ifdef __cplusplus
114 } /* extern "C" */
115 #endif
116
117 #endif /* __WINE_WINDDIUI_H */