Detlef Riekenberg : winspool: Implement ConfigurePortA.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Nov 9 06:09:18 CST 2006


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

Author: Detlef Riekenberg <wine.dev at web.de>
Date:   Thu Nov  9 00:04:11 2006 +0100

winspool: Implement ConfigurePortA.

---

 dlls/winspool.drv/info.c |   27 +++++++++++++++++++++++++--
 1 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index 47f7b81..8759257 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -5788,8 +5788,31 @@ BOOL WINAPI AddPrinterDriverExA( LPSTR p
  */
 BOOL WINAPI ConfigurePortA(LPSTR pName, HWND hWnd, LPSTR pPortName)
 {
-    FIXME("%s %p %s\n", debugstr_a(pName), hWnd, debugstr_a(pPortName));
-    return FALSE;
+    LPWSTR  nameW = NULL;
+    LPWSTR  portW = NULL;
+    INT     len;
+    DWORD   res;
+
+    TRACE("(%s, %p, %s)\n", debugstr_a(pName), hWnd, debugstr_a(pPortName));
+
+    /* convert servername to unicode */
+    if (pName) {
+        len = MultiByteToWideChar(CP_ACP, 0, pName, -1, NULL, 0);
+        nameW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+        MultiByteToWideChar(CP_ACP, 0, pName, -1, nameW, len);
+    }
+
+    /* convert portname to unicode */
+    if (pPortName) {
+        len = MultiByteToWideChar(CP_ACP, 0, pPortName, -1, NULL, 0);
+        portW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+        MultiByteToWideChar(CP_ACP, 0, pPortName, -1, portW, len);
+    }
+
+    res = ConfigurePortW(nameW, hWnd, portW);
+    HeapFree(GetProcessHeap(), 0, nameW);
+    HeapFree(GetProcessHeap(), 0, portW);
+    return res;
 }
 
 /******************************************************************************




More information about the wine-cvs mailing list