Reactos
at listview 158 lines 5.3 kB view raw
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 BOOL 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 110BOOL WINAPI DrvDriverEvent(DWORD, DWORD, LPBYTE, LPARAM); 111BOOL WINAPI DrvPrinterEvent(LPWSTR, INT, DWORD, LPARAM); 112DWORD WINAPI DrvDeviceCapabilities(HANDLE,PWSTR,WORD,PVOID,PDEVMODE); 113 114LONG WINAPI DrvDevicePropertySheets(PPROPSHEETUI_INFO,LPARAM); 115 116typedef struct _DEVICEPROPERTYHEADER { 117 WORD cbSize; 118 WORD Flags; 119 HANDLE hPrinter; 120 LPTSTR pszPrinterName; 121} DEVICEPROPERTYHEADER, *PDEVICEPROPERTYHEADER; 122 123#define DPS_NOPERMISSION 0x0001 124 125LONG WINAPI DrvDocumentPropertySheets(PPROPSHEETUI_INFO,LPARAM); 126 127typedef 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 142typedef 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 152BOOL WINAPI DevQueryPrintEx(PDEVQUERYPRINT_INFO); 153 154#ifdef __cplusplus 155} /* extern "C" */ 156#endif 157 158#endif /* __WINE_WINDDIUI_H */