[PATCH] spoolss: Implement AddPrinterDriverExW
Detlef Riekenberg
wine.dev at web.de
Sat Feb 28 17:23:26 CST 2009
---
dlls/spoolss/router.c | 40 ++++++++++++++++++++++++++++++++++++++++
dlls/spoolss/spoolss.spec | 2 +-
2 files changed, 41 insertions(+), 1 deletions(-)
diff --git a/dlls/spoolss/router.c b/dlls/spoolss/router.c
index 6fc7b59..479d23a 100644
--- a/dlls/spoolss/router.c
+++ b/dlls/spoolss/router.c
@@ -355,6 +355,46 @@ BOOL WINAPI AddMonitorW(LPWSTR pName, DWORD Level, LPBYTE pMonitors)
}
/******************************************************************
+ * AddPrinterDriverExW (spoolss.@)
+ *
+ * Install a Printer Driver with the Option to upgrade / downgrade the Files
+ *
+ * PARAMS
+ * pName [I] Servername or NULL (local Computer)
+ * level [I] Level for the supplied DRIVER_INFO_*W struct
+ * pDriverInfo [I] PTR to DRIVER_INFO_*W struct with the Driver Parameter
+ * dwFileCopyFlags [I] How to Copy / Upgrade / Downgrade the needed Files
+ *
+ * RESULTS
+ * Success: TRUE
+ * Failure: FALSE
+ *
+ */
+BOOL WINAPI AddPrinterDriverExW(LPWSTR pName, DWORD level, LPBYTE pDriverInfo, DWORD dwFileCopyFlags)
+{
+ backend_t * pb;
+ DWORD res = ROUTER_UNKNOWN;
+
+ TRACE("(%s, %d, %p, 0x%x)\n", debugstr_w(pName), level, pDriverInfo, dwFileCopyFlags);
+
+ if (!pDriverInfo) {
+ SetLastError(ERROR_INVALID_PARAMETER);
+ return FALSE;
+ }
+
+ pb = backend_first(pName);
+ if (pb && pb->fpAddPrinterDriverEx)
+ res = pb->fpAddPrinterDriverEx(pName, level, pDriverInfo, dwFileCopyFlags);
+ else
+ {
+ SetLastError(ERROR_PROC_NOT_FOUND);
+ }
+
+ TRACE("got %u with %u\n", res, GetLastError());
+ return (res == ROUTER_SUCCESS);
+}
+
+/******************************************************************
* DeleteMonitorW (spoolss.@)
*
* Delete a specific Printmonitor from a Printing-Environment
diff --git a/dlls/spoolss/spoolss.spec b/dlls/spoolss/spoolss.spec
index ad1ea60..68188ba 100644
--- a/dlls/spoolss/spoolss.spec
+++ b/dlls/spoolss/spoolss.spec
@@ -8,7 +8,7 @@
@ stub AddPrintProcessorW
@ stub AddPrintProvidorW
@ stub AddPrinterConnectionW
-@ stub AddPrinterDriverExW
+@ stdcall AddPrinterDriverExW(wstr long ptr long)
@ stub AddPrinterDriverW
@ stub AddPrinterExW
@ stub AddPrinterW
--
1.5.4.3
--=-dVzYrSNXPuqumV6dJ5QT--
More information about the wine-patches
mailing list