Home | History | Annotate | Download | only in include
      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     WINBOOL     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 WINBOOL WINAPI DrvDriverEvent(DWORD, DWORD, LPBYTE, LPARAM);
    111 WINBOOL WINAPI DrvPrinterEvent(LPWSTR, INT, DWORD, LPARAM);
    112 
    113 #ifdef __cplusplus
    114 } /* extern "C" */
    115 #endif
    116 
    117 #endif /* __WINE_WINDDIUI_H */
    118