diff --git a/graphics/painting.c b/graphics/painting.c
index acac2f4..6992cf7 100644
--- a/graphics/painting.c
+++ b/graphics/painting.c
@@ -1144,30 +1144,3 @@
     return ret;
 }
 
-INT32 WINAPI EndDoc32(HDC32 a)
-{
-FIXME(gdi,"stub\n");
-SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 
-return 0; /* failure*/
-}
-
-INT32       WINAPI StartDoc32A(HDC32 hdc ,const DOCINFO32A* doc)
-{
-FIXME(gdi,"stub\n");
-SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 
-return 0; /* failure*/
-}
-
-INT32       WINAPI StartPage32(HDC32 hdc)
-{
-FIXME(gdi,"stub\n");
-SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 
-return 0; /* failure*/
-}
-
-INT32       WINAPI EndPage32(HDC32 hdc)
-{
-FIXME(gdi,"stub\n");
-SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 
-return 0; /* failure*/
-}
diff --git a/if1632/gdi.spec b/if1632/gdi.spec
index aab000b..bc0b52c 100644
--- a/if1632/gdi.spec
+++ b/if1632/gdi.spec
@@ -260,7 +260,7 @@
 378 pascal16 EndDoc(word) EndDoc16
 379 pascal16 StartPage() stub_GDI_379
 380 pascal16 EndPage() stub_GDI_380
-381 pascal16 SetAbortProc(word segptr) stub_GDI_381
+381 pascal16 SetAbortProc(word segptr) SetAbortProc16
 382 pascal16 AbortDoc() stub_GDI_382
 400 pascal16 FastWindowFrame(word ptr s_word s_word long) FastWindowFrame
 401 stub GDIMOVEBITMAP
diff --git a/include/windows.h b/include/windows.h
index b314b00..35c20a1 100644
--- a/include/windows.h
+++ b/include/windows.h
@@ -9092,6 +9092,9 @@
 LRESULT     WINAPI SendMessageTimeout32W(HWND32,UINT32,WPARAM32,LPARAM,UINT32,
 					 UINT32,LPDWORD);
 #define     SendMessageTimeout WINELIB_NAME_AW(SendMessageTimeout)
+INT16       WINAPI SetAbortProc16(HDC16,SEGPTR);
+INT32       WINAPI SetAbortProc32(HDC32,FARPROC32);
+#define     SetAbortProc WINELIB_NAME(SetAbortProc)
 HWND16      WINAPI SetActiveWindow16(HWND16);
 HWND32      WINAPI SetActiveWindow32(HWND32);
 #define     SetActiveWindow WINELIB_NAME(SetActiveWindow)
diff --git a/misc/printdrv.c b/misc/printdrv.c
index 9da69f1..1af6744 100644
--- a/misc/printdrv.c
+++ b/misc/printdrv.c
@@ -20,6 +20,10 @@
 static char PrinterDriverData[] = "PrinterDriverData";
 static char Printers[]		= "System\\CurrentControlSet\\Control\\Print\\Printers\\";
 
+/******************************************************************
+ *                  StartDoc16  [GDI.377]
+ *
+ */
 INT16 WINAPI StartDoc16( HDC16 hdc, const DOCINFO16 *lpdoc )
 {
   INT16 retVal;
@@ -36,12 +40,66 @@
   return retVal;
 }
 
+/******************************************************************
+ *                  StartDoc32A  [GDI32.347]
+ *
+ */
+INT32 WINAPI StartDoc32A(HDC32 hdc ,const DOCINFO32A* doc)
+{
+  FIXME(gdi,"stub\n");
+  SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 
+  return 0; /* failure*/
+}
+
+/******************************************************************
+ *                  StartPage32  [GDI32.349]
+ *
+ */
+INT32 WINAPI StartPage32(HDC32 hdc)
+{
+  FIXME(gdi,"stub\n");
+  SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 
+  return 0; /* failure*/
+}
+
+/******************************************************************
+ *                  EndPage32  [GDI32.77]
+ *
+ */
+INT32 WINAPI EndPage32(HDC32 hdc)
+{
+  FIXME(gdi,"stub\n");
+  SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 
+  return 0; /* failure*/
+}
+
+/******************************************************************
+ *                  EndDoc16  [GDI.378]
+ *
+ */
 INT16 WINAPI EndDoc16(HDC16 hdc)
 {
   return  Escape16(hdc, ENDDOC, 0, 0, 0);
 }
 
-DWORD DrvGetPrinterDataInternal(LPSTR RegStr_Printer, LPBYTE lpPrinterData, int cbData)
+/******************************************************************
+ *                  EndDoc32  [GDI32.76]
+ *
+ */
+INT32 WINAPI EndDoc32(HDC32 hdc)
+{
+  FIXME(gdi,"stub\n");
+  SetLastError(ERROR_CALL_NOT_IMPLEMENTED); 
+  return 0; /* failure*/
+}
+
+/******************************************************************
+ *                  DrvGetPrinterDataInternal
+ *
+ * Helper for DrvGetPrinterData
+ */
+static DWORD DrvGetPrinterDataInternal(LPSTR RegStr_Printer,
+LPBYTE lpPrinterData, int cbData)
 {
     DWORD res = -1;
     HKEY hkey;
@@ -70,7 +128,10 @@
     return res;
 }
 
-
+/******************************************************************
+ *                DrvGetPrinterData     [GDI.282]
+ *
+ */
 DWORD WINAPI DrvGetPrinterData(LPSTR lpPrinter, LPSTR lpProfile,
                                LPDWORD lpType, LPBYTE lpPrinterData,
                                int cbData, LPDWORD lpNeeded)
@@ -159,7 +220,10 @@
 }
 
 
-
+/******************************************************************
+ *                 DrvSetPrinterData     [GDI.281]
+ *
+ */
 DWORD WINAPI DrvSetPrinterData(LPSTR lpPrinter, LPSTR lpProfile,
                                DWORD lpType, LPBYTE lpPrinterData,
                                DWORD dwSize)
@@ -217,6 +281,10 @@
 }
 
 
+/******************************************************************
+ *              DeviceCapabilities32A    [WINSPOOL.151]
+ *
+ */
 INT32 WINAPI DeviceCapabilities32A(LPCSTR printer,LPCSTR target,WORD z,
                                    LPSTR a,LPDEVMODE32A b)
 {
@@ -224,6 +292,11 @@
     return 1;   	
 }
 
+
+/******************************************************************
+ *              DocumentProperties32A   [WINSPOOL.155]
+ *
+ */
 LONG WINAPI DocumentProperties32A(HWND32 hWnd,HANDLE32 hPrinter,
                                 LPSTR pDeviceName, LPDEVMODE32A pDevModeOutput,
                                   LPDEVMODE32A pDevModeInput,DWORD fMode )
@@ -234,6 +307,11 @@
     return 1;
 }
 
+
+/******************************************************************
+ *              OpenPrinter32A        [WINSPOOL.196]
+ *
+ */
 BOOL32 WINAPI OpenPrinter32A(LPSTR lpPrinterName,HANDLE32 *phPrinter,
 			     LPPRINTER_DEFAULTS32A pDefault)
 {
@@ -243,6 +321,10 @@
     return FALSE;
 }
 
+/******************************************************************
+ *              OpenPrinter32W        [WINSPOOL.197]
+ *
+ */
 BOOL32 WINAPI OpenPrinter32W(LPWSTR lpPrinterName,HANDLE32 *phPrinter,
 			     LPPRINTER_DEFAULTS32W pDefault)
 {
@@ -252,6 +334,10 @@
     return FALSE;
 }
 
+/******************************************************************
+ *              EnumPrinters32A        [WINSPOOL.174]
+ *
+ */
 BOOL32  WINAPI EnumPrinters32A(DWORD dwType, LPSTR lpszName,
 			       DWORD dwLevel, LPBYTE lpbPrinters,
 			       DWORD cbBuf, LPDWORD lpdwNeeded,
@@ -262,6 +348,10 @@
     return TRUE;
 }
 
+/******************************************************************
+ *              EnumPrinters32W        [WINSPOOL.175]
+ *
+ */
 BOOL32  WINAPI EnumPrinters32W(DWORD dwType, LPWSTR lpszName,
 			       DWORD dwLevel, LPBYTE lpbPrinters,
 			       DWORD cbBuf, LPDWORD lpdwNeeded,
@@ -272,7 +362,10 @@
     return TRUE;
 }
 
-
+/******************************************************************
+ *              AddMonitor32A        [WINSPOOL.107]
+ *
+ */
 BOOL32 WINAPI AddMonitor32A(LPCSTR pName, DWORD Level, LPBYTE pMonitors)
 {
     FIXME(print, "(%s,%lx,%p):stub!\n", pName, Level, pMonitors);
@@ -280,7 +373,10 @@
     return FALSE;
 }
 
-
+/******************************************************************
+ *              DeletePrinterDriver32A        [WINSPOOL.146]
+ *
+ */
 BOOL32 WINAPI
 DeletePrinterDriver32A (LPSTR pName, LPSTR pEnvironment, LPSTR pDriverName)
 {
@@ -291,6 +387,10 @@
 }
 
 
+/******************************************************************
+ *              DeleteMonitor32A        [WINSPOOL.135]
+ *
+ */
 BOOL32 WINAPI
 DeleteMonitor32A (LPSTR pName, LPSTR pEnvironment, LPSTR pMonitorName)
 {
@@ -301,6 +401,10 @@
 }
 
 
+/******************************************************************
+ *              DeletePort32A        [WINSPOOL.137]
+ *
+ */
 BOOL32 WINAPI
 DeletePort32A (LPSTR pName, HWND32 hWnd, LPSTR pPortName)
 {
diff --git a/misc/spooler.c b/misc/spooler.c
index 0823eb5..c17671b 100644
--- a/misc/spooler.c
+++ b/misc/spooler.c
@@ -18,6 +18,7 @@
 #include "gdi.h"
 #include "options.h"
 #include "windows.h"
+#include "winerror.h"
 #include "xmalloc.h"
 
 /**********************************************************************
@@ -39,20 +40,26 @@
 }
 
 /**********************************************************************
- *           SetAbortProc   (GDI.381)
+ *           SetAbortProc16   (GDI.381)
  *
  */
-INT16 WINAPI SetAbortProc(HDC16 hdc, FARPROC16 abrtprc)
+INT16 WINAPI SetAbortProc16(HDC16 hdc, SEGPTR abrtprc)
 {
-    DC *dc = DC_GetDCPtr( hdc );
-
-    if (dc) {
-	dc->w.lpfnPrint = abrtprc;
-	return 1;
-    }
-    return -1;
+    return Escape16(hdc, SETABORTPROC, 0, abrtprc, (SEGPTR)0);
 } 
 
+/**********************************************************************
+ *           SetAbortProc32   (GDI32.301)
+ *
+ */
+INT32 WINAPI SetAbortProc32(HDC32 hdc, FARPROC32 abrtprc)
+{
+    FIXME(print, "stub\n");
+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+    return SP_ERROR;
+}
+
+
 /****************** misc. printer related functions */
 
 /*
diff --git a/relay32/gdi32.spec b/relay32/gdi32.spec
index 0601335..6a9dc1e 100644
--- a/relay32/gdi32.spec
+++ b/relay32/gdi32.spec
@@ -303,7 +303,7 @@
 298 stub SelectFontLocal
 299 stdcall SelectObject(long long) SelectObject32
 300 stdcall SelectPalette(long long long) SelectPalette32
-301 stub SetAbortProc
+301 stdcall SetAbortProc(long ptr) SetAbortProc32
 302 stdcall SetArcDirection(long long) SetArcDirection32
 303 stdcall SetBitmapBits(long long ptr) SetBitmapBits32
 304 stdcall SetBitmapDimensionEx(long long long ptr) SetBitmapDimensionEx32
