winspool: [5/6] Implement AddPortA
Detlef Riekenberg
wine.dev at web.de
Mon Nov 27 17:49:54 CST 2006
Changelog:
winspool: Implement AddPortA
--
By by ... Detlef
-------------- next part --------------
>From 1070243f22009092a10d686e4e4b1bfb61a2958b Mon Sep 17 00:00:00 2001
From: Detlef Riekenberg <wine.dev at web.de>
Date: Tue, 28 Nov 2006 00:32:18 +0100
Subject: [PATCH] winspool: Implement AddPortA
---
dlls/winspool.drv/info.c | 24 ++++++++++++++++++++++--
1 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index 8945de1..b1a761c 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -5754,8 +5754,28 @@ BOOL WINAPI AbortPrinter( HANDLE hPrinte
*/
BOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName)
{
- FIXME("(%s, %p, %s), stub!\n",debugstr_a(pName),hWnd,debugstr_a(pMonitorName));
- return FALSE;
+ LPWSTR nameW = NULL;
+ LPWSTR monitorW = NULL;
+ DWORD len;
+ BOOL res;
+
+ TRACE("(%s, %p, %s)\n",debugstr_a(pName), hWnd, debugstr_a(pMonitorName));
+
+ 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);
+ }
+
+ if (pMonitorName) {
+ len = MultiByteToWideChar(CP_ACP, 0, pMonitorName, -1, NULL, 0);
+ monitorW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
+ MultiByteToWideChar(CP_ACP, 0, pMonitorName, -1, monitorW, len);
+ }
+ res = AddPortW(nameW, hWnd, monitorW);
+ HeapFree(GetProcessHeap(), 0, nameW);
+ HeapFree(GetProcessHeap(), 0, monitorW);
+ return res;
}
/******************************************************************************
--
1.4.1
More information about the wine-patches
mailing list