[HEADERS]
[reactos.git] / reactos / include / ddk / winddiui.h
index 7c6e775..8105285 100644 (file)
 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;
+    BOOL        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