Detlef Riekenberg : spoolss: Implement AddMonitorW.

Alexandre Julliard julliard at winehq.org
Mon Mar 2 09:01:57 CST 2009


Module: wine
Branch: master
Commit: f45cb5ce7fe9345fd045e6dc68d8e09ca4b7ef62
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f45cb5ce7fe9345fd045e6dc68d8e09ca4b7ef62

Author: Detlef Riekenberg <wine.dev at web.de>
Date:   Sat Feb 28 23:56:06 2009 +0100

spoolss: Implement AddMonitorW.

---

 dlls/spoolss/router.c     |   42 ++++++++++++++++++++++++++++++++++++++++++
 dlls/spoolss/spoolss.spec |    2 +-
 2 files changed, 43 insertions(+), 1 deletions(-)

diff --git a/dlls/spoolss/router.c b/dlls/spoolss/router.c
index 28871b1..d5c4be3 100644
--- a/dlls/spoolss/router.c
+++ b/dlls/spoolss/router.c
@@ -313,6 +313,48 @@ static backend_t * backend_first(LPWSTR name)
 }
 
 /******************************************************************
+ * AddMonitorW (spoolss.@)
+ *
+ * Install a Printmonitor
+ *
+ * PARAMS
+ *  pName       [I] Servername or NULL (local Computer)
+ *  Level       [I] Structure-Level (Must be 2)
+ *  pMonitors   [I] PTR to MONITOR_INFO_2
+ *
+ * RETURNS
+ *  Success: TRUE
+ *  Failure: FALSE
+ *
+ * NOTES
+ *  All Files for the Monitor must already be copied to %winsysdir% ("%SystemRoot%\system32")
+ *
+ */
+BOOL WINAPI AddMonitorW(LPWSTR pName, DWORD Level, LPBYTE pMonitors)
+{
+    backend_t * pb;
+    DWORD res = ROUTER_UNKNOWN;
+
+    TRACE("(%s, %d, %p)\n", debugstr_w(pName), Level, pMonitors);
+
+    if (Level != 2) {
+        SetLastError(ERROR_INVALID_LEVEL);
+        return FALSE;
+    }
+
+    pb = backend_first(pName);
+    if (pb && pb->fpAddMonitor)
+        res = pb->fpAddMonitor(pName, Level, pMonitors);
+    else
+    {
+        SetLastError(ERROR_PROC_NOT_FOUND);
+    }
+
+    TRACE("got %u with %u\n", res, GetLastError());
+    return (res == ROUTER_SUCCESS);
+}
+
+/******************************************************************
  * EnumMonitorsW (spoolss.@)
  *
  * Enumerate available Port-Monitors
diff --git a/dlls/spoolss/spoolss.spec b/dlls/spoolss/spoolss.spec
index 010b490..8d9fae3 100644
--- a/dlls/spoolss/spoolss.spec
+++ b/dlls/spoolss/spoolss.spec
@@ -1,7 +1,7 @@
 @ stub AbortPrinter
 @ stub AddFormW
 @ stub AddJobW
-@ stub AddMonitorW
+@ stdcall AddMonitorW(wstr long ptr)
 @ stub AddPerMachineConnectionW
 @ stub AddPortExW
 @ stub AddPortW




More information about the wine-cvs mailing list