master
  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
 27extern "C" {
 28#endif
 29
 30#if (NTDDI_VERSION >= NTDDI_WINXP)
 31typedef 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;
 38typedef struct _DOCEVENT_CREATEDCPRE {
 39    PWSTR       pszDriver;
 40    PWSTR       pszDevice;
 41    PDEVMODEW   pdm;
 42    WINBOOL     bIC;
 43} DOCEVENT_CREATEDCPRE, *PDCEVENT_CREATEDCPRE;
 44typedef 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
 95int 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
110WINBOOL WINAPI DrvDriverEvent(DWORD, DWORD, LPBYTE, LPARAM);
111WINBOOL WINAPI DrvPrinterEvent(LPWSTR, INT, DWORD, LPARAM);
112
113#ifdef __cplusplus
114} /* extern "C" */
115#endif
116
117#endif /* __WINE_WINDDIUI_H */