localspl: Add minimal localspl.dll

Detlef Riekenberg wine.dev at web.de
Sun Sep 10 17:28:36 CDT 2006


Changes from dlls/Makefile.in, dlls/.gitignore and
configure are not included

The stub for InitializePrintMonitor is required to
prevent the tests for winspool.drv from crashing 
(we probe this dll, as it is present since w2k) 


Changelog:
- localspl: Add minimal localspl.dll




-- 
 
By by ... Detlef

-------------- next part --------------
Subject: [PATCH] Add minimal localspl.dll

---

 configure.ac                  |    1 +
 dlls/localspl/Makefile.in     |   14 ++++++++
 dlls/localspl/localspl.spec   |   64 +++++++++++++++++++++++++++++++++++++
 dlls/localspl/localspl_main.c |   71 +++++++++++++++++++++++++++++++++++++++++
 4 files changed, 150 insertions(+), 0 deletions(-)
 create mode 100644 dlls/localspl/Makefile.in
 create mode 100644 dlls/localspl/localspl.spec
 create mode 100644 dlls/localspl/localspl_main.c

2b6ef0d04be90897fdc2eb430e2b7b74c8ec819d
diff --git a/configure.ac b/configure.ac
index d3b1182..bee4100 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1577,6 +1577,7 @@ dlls/iphlpapi/tests/Makefile
 dlls/itss/Makefile
 dlls/kernel/Makefile
 dlls/kernel/tests/Makefile
+dlls/localspl/Makefile
 dlls/lz32/Makefile
 dlls/lz32/tests/Makefile
 dlls/mapi32/Makefile
diff --git a/dlls/localspl/Makefile.in b/dlls/localspl/Makefile.in
new file mode 100644
index 0000000..735fd97
--- /dev/null
+++ b/dlls/localspl/Makefile.in
@@ -0,0 +1,14 @@
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = localspl.dll
+IMPORTLIB = liblocalspl.$(IMPLIBEXT)
+IMPORTS   = kernel32
+
+C_SRCS = \
+	localspl_main.c
+
+ at MAKE_DLL_RULES@
+
+### Dependencies:
diff --git a/dlls/localspl/localspl.spec b/dlls/localspl/localspl.spec
new file mode 100644
index 0000000..0bfd2e2
--- /dev/null
+++ b/dlls/localspl/localspl.spec
@@ -0,0 +1,64 @@
+# "Providor is no typo here
+@ stub ClosePrintProcessor
+@ stub ControlPrintProcessor
+@ stub EnumPrintProcessorDatatypesW
+@ stub GetPrintProcessorCapabilities
+@ stdcall InitializePrintMonitor(wstr)
+@ stub InitializePrintProvidor
+@ stub OpenPrintProcessor
+@ stub PrintDocumentOnPrintProcessor
+@ stub PrintProcLogEvent
+@ stub SplAddForm
+@ stub SplAddMonitor
+@ stub SplAddPort
+@ stub SplAddPortEx
+@ stub SplAddPrinter
+@ stub SplAddPrinterDriverEx
+@ stub SplAddPrintProcessor
+@ stub SplBroadcastChange
+@ stub SplClosePrinter
+@ stub SplCloseSpooler
+@ stub SplConfigChange
+@ stub SplCopyFileEvent
+@ stub SplCopyNumberOfFiles
+@ stub SplCreateSpooler
+@ stub SplDeleteForm
+@ stub SplDeleteMonitor
+@ stub SplDeletePort
+@ stub SplDeletePrinter
+@ stub SplDeletePrinterDriverEx
+@ stub SplDeletePrinterKey
+@ stub SplDeletePrintProcessor
+@ stub SplDeleteSpooler
+@ stub SplDriverEvent
+@ stub SplEnumForms
+@ stub SplEnumMonitors
+@ stub SplEnumPorts
+@ stub SplEnumPrinterDataEx
+@ stub SplEnumPrinterKey
+@ stub SplEnumPrinters
+@ stub SplEnumPrintProcessorDatatypes
+@ stub SplEnumPrintProcessors
+@ stub SplGetDriverDir
+@ stub SplGetForm
+@ stub SplGetPrinter
+@ stub SplGetPrinterData
+@ stub SplGetPrinterDataEx
+@ stub SplGetPrinterDriver
+@ stub SplGetPrinterDriverDirectory
+@ stub SplGetPrinterDriverEx
+@ stub SplGetPrinterExtra
+@ stub SplGetPrinterExtraEx
+@ stub SplGetPrintProcessorDirectory
+@ stub SplLoadLibraryTheCopyFileModule
+@ stub SplMonitorIsInstalled
+@ stub SplOpenPrinter
+@ stub SplReenumeratePorts
+@ stub SplResetPrinter
+@ stub SplSetForm
+@ stub SplSetPrinter
+@ stub SplSetPrinterData
+@ stub SplSetPrinterDataEx
+@ stub SplSetPrinterExtra
+@ stub SplSetPrinterExtraEx
+@ stub SplXcvData
diff --git a/dlls/localspl/localspl_main.c b/dlls/localspl/localspl_main.c
new file mode 100644
index 0000000..0bc94f6
--- /dev/null
+++ b/dlls/localspl/localspl_main.c
@@ -0,0 +1,71 @@
+/*
+ * Implementation of the Local Printmonitor
+ *
+ * Copyright 2006 Detlef Riekenberg
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include <stdarg.h>
+
+#define COBJMACROS
+#define NONAMELESSUNION
+
+#include "windef.h"
+#include "winbase.h"
+#include "wingdi.h"
+#include "winuser.h"
+#include "winreg.h"
+#include "winver.h"
+#include "winnls.h"
+
+#include "winspool.h"
+#include "ddk/winsplp.h"
+
+#include "wine/unicode.h"
+#include "wine/debug.h"
+
+
+WINE_DEFAULT_DEBUG_CHANNEL(localspl);
+
+/*****************************************************
+ *      DllMain
+ */
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+{
+    TRACE("(%p, %ld, %p)\n",hinstDLL, fdwReason, lpvReserved);
+
+    switch(fdwReason)
+    {
+        case DLL_WINE_PREATTACH:
+            return FALSE;           /* prefer native version */
+
+        case DLL_PROCESS_ATTACH:
+            DisableThreadLibraryCalls( hinstDLL );
+            break;
+    }
+    return TRUE;
+}
+
+
+/*****************************************************
+ *   InitializePrintMonitor  (LOCALSPL.@)
+ */
+
+LPMONITOREX WINAPI InitializePrintMonitor(LPWSTR regroot)
+{
+    FIXME("(%s) stub\n", debugstr_w(regroot));
+    return NULL;
+}
-- 
1.1.3


More information about the wine-patches mailing list