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 DWORD WINAPI DrvDeviceCapabilities(HANDLE,PWSTR,WORD,PVOID,PDEVMODE); 113 114 LONG WINAPI DrvDevicePropertySheets(PPROPSHEETUI_INFO,LPARAM); 115 116 typedef struct _DEVICEPROPERTYHEADER { 117 WORD cbSize; 118 WORD Flags; 119 HANDLE hPrinter; 120 LPTSTR pszPrinterName; 121 } DEVICEPROPERTYHEADER, *PDEVICEPROPERTYHEADER; 122 123 #define DPS_NOPERMISSION 0x0001 124 125 LONG WINAPI DrvDocumentPropertySheets(PPROPSHEETUI_INFO,LPARAM); 126 127 typedef struct _DOCUMENTPROPERTYHEADER { 128 WORD cbSize; 129 WORD Reserved; 130 HANDLE hPrinter; 131 LPTSTR pszPrinterName; 132 PDEVMODE pdmIn; 133 PDEVMODE pdmOut; 134 DWORD cbOut; 135 DWORD fMode; 136 } DOCUMENTPROPERTYHEADER, *PDOCUMENTPROPERTYHEADER; 137 138 #define DM_ADVANCED 0x10 139 #define DM_NOPERMISSION 0x20 140 #define DM_USER_DEFAULT 0x40 141 142 typedef struct _DEVQUERYPRINT_INFO { 143 WORD cbSize; 144 WORD Level; 145 HANDLE hPrinter; 146 DEVMODE *pDevMode; 147 LPWSTR pszErrorStr; 148 DWORD cchErrorStr; 149 DWORD cchNeeded; 150 } DEVQUERYPRINT_INFO, *PDEVQUERYPRINT_INFO; 151 152 BOOL WINAPI DevQueryPrintEx(PDEVQUERYPRINT_INFO); 153 154 #ifdef __cplusplus 155 } /* extern "C" */ 156 #endif 157 158 #endif /* __WINE_WINDDIUI_H */ 159