aboutsummaryrefslogtreecommitdiff
path: root/x86_64-w64-mingw32/include/winddiui.h
blob: f2bb74a2bd074282877403d0e6511c809378eca4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/*
 *  Header for the Device Driver Interface - User Interface library
 *
 *  Copyright 2007 Marcel Partap
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#ifndef __WINE_WINDDIUI_H
#define __WINE_WINDDIUI_H

#include <compstui.h>

#ifdef __cplusplus
extern "C" {
#endif

#if (NTDDI_VERSION >= NTDDI_WINXP)
typedef struct _DOCEVENT_FILTER {
    UINT    cbSize;
    UINT    cElementsAllocated;
    UINT    cElementsNeeded;
    UINT    cElementsReturned;
    DWORD   aDocEventCall[ANYSIZE_ARRAY];
} DOCEVENT_FILTER, *PDOCEVENT_FILTER;
typedef struct _DOCEVENT_CREATEDCPRE {
    PWSTR       pszDriver;
    PWSTR       pszDevice;
    PDEVMODEW   pdm;
    WINBOOL     bIC;
} DOCEVENT_CREATEDCPRE, *PDCEVENT_CREATEDCPRE;
typedef struct _DOCEVENT_ESCAPE {
    int    iEscape;
    int    cjInput;
    PVOID  pvInData;
} DOCEVENT_ESCAPE, *PDOCEVENT_ESCAPE;
#endif
#define DOCUMENTEVENT_FIRST         1
#define DOCUMENTEVENT_CREATEDCPRE   1
#define DOCUMENTEVENT_CREATEDCPOST  2
#define DOCUMENTEVENT_RESETDCPRE    3
#define DOCUMENTEVENT_RESETDCPOST   4
#define DOCUMENTEVENT_STARTDOC      5
#define DOCUMENTEVENT_STARTDOCPRE   5
#define DOCUMENTEVENT_STARTPAGE     6
#define DOCUMENTEVENT_ENDPAGE       7
#define DOCUMENTEVENT_ENDDOC        8
#define DOCUMENTEVENT_ENDDOCPRE     8
#define DOCUMENTEVENT_ABORTDOC      9
#define DOCUMENTEVENT_DELETEDC     10
#define DOCUMENTEVENT_ESCAPE       11
#define DOCUMENTEVENT_ENDDOCPOST   12
#define DOCUMENTEVENT_STARTDOCPOST 13
#if (NTDDI_VERSION >= NTDDI_VISTA)
#define DOCUMENTEVENT_QUERYFILTER 14
#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPRE              1
#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPRE                      2
#define DOCUMENTEVENT_XPS_ADDFIXEDPAGEEPRE                         3
#define DOCUMENTEVENT_XPS_ADDFIXEDPAGEPOST                         4
#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPOST                     5
#define DOCUMENTEVENT_XPS_CANCELJOB                                6
#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPRINTTICKETPRE   7
#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPRINTTICKETPRE           8
#define DOCUMENTEVENT_XPS_ADDFIXEDPAGEPRINTTICKETPRE               9
#define DOCUMENTEVENT_XPS_ADDFIXEDPAGEPRINTTICKETPOST             10
#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPRINTTICKETPOST         11
#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPRINTTICKETPOST 12
#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPOST            13
#define DOCUMENTEVENT_LAST 15
#elif (NTDDI_VERSION >= NTDDI_WINXP)
#define DOCUMENTEVENT_QUERYFILTER  14
#define DOCUMENTEVENT_LAST         15
#else
#define DOCUMENTEVENT_LAST 14
#endif
#define DOCUMENTEVENT_SPOOLED 0x10000
#define DOCUMENTEVENT_SUCCESS     1
#define DOCUMENTEVENT_UNSUPPORTED 0
#define DOCUMENTEVENT_FAILURE    -1
#define DOCUMENTEVENT_EVENT(iX) (LOWORD(iX))
#define DOCUMENTEVENT_FLAGS(iX) (HIWORD(iX))

int WINAPI DrvDocumentEvent(HANDLE,HDC,int,ULONG,PVOID,ULONG,PVOID);

#define DRIVER_EVENT_INITIALIZE 1
#define DRIVER_EVENT_DELETE 2

#define PRINTER_EVENT_ADD_CONNECTION 1
#define PRINTER_EVENT_DELETE_CONNECTION 2
#define PRINTER_EVENT_INITIALIZE 3
#define PRINTER_EVENT_DELETE 4
#define PRINTER_EVENT_CACHE_REFRESH 5
#define PRINTER_EVENT_CACHE_DELETE 6
#define PRINTER_EVENT_ATTRIBUTES_CHANGED 7

#define PRINTER_EVENT_FLAG_NO_UI 1

WINBOOL WINAPI DrvDriverEvent(DWORD, DWORD, LPBYTE, LPARAM);
WINBOOL WINAPI DrvPrinterEvent(LPWSTR, INT, DWORD, LPARAM);

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif /* __WINE_WINDDIUI_H */