Jeremy White : winspool: Add a test to show size required for EnumPrinterDriversA is the same as W.
Alexandre Julliard
julliard at winehq.org
Tue Dec 1 09:19:42 CST 2009
Module: wine
Branch: master
Commit: c445761b56467ffb3d7a36a212f9fa817d8aca0e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c445761b56467ffb3d7a36a212f9fa817d8aca0e
Author: Jeremy White <jwhite at winehq.org>
Date: Mon Nov 30 17:05:01 2009 -0600
winspool: Add a test to show size required for EnumPrinterDriversA is the same as W.
---
dlls/winspool.drv/tests/info.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/dlls/winspool.drv/tests/info.c b/dlls/winspool.drv/tests/info.c
index a39e935..1e9f567 100644
--- a/dlls/winspool.drv/tests/info.c
+++ b/dlls/winspool.drv/tests/info.c
@@ -72,6 +72,7 @@ static DWORD (WINAPI * pXcvDataW)(HANDLE, LPCWSTR, PBYTE, DWORD, PBYTE, DWORD, P
static BOOL (WINAPI * pAddPortExA)(LPSTR, DWORD, LPBYTE, LPSTR);
static BOOL (WINAPI * pGetPrinterDriverW)(HANDLE, LPWSTR, DWORD, LPBYTE, DWORD, LPDWORD);
static BOOL (WINAPI * pGetPrinterW)(HANDLE, DWORD, LPBYTE, DWORD, LPDWORD);
+static BOOL (WINAPI * pEnumPrinterDriversW)(LPWSTR, LPWSTR, DWORD, LPBYTE, DWORD, LPDWORD, LPDWORD);
/* ################################ */
@@ -1154,6 +1155,16 @@ static void test_EnumPrinterDrivers(void)
continue;
}
+ /* EnumPrinterDriversA returns the same number of bytes as EnumPrinterDriversW */
+ if (pEnumPrinterDriversW)
+ {
+ DWORD double_needed;
+ DWORD double_returned;
+ pEnumPrinterDriversW(NULL, NULL, level, NULL, 0, &double_needed, &double_returned);
+ todo_wine
+ ok(double_needed == cbBuf, "level %d: EnumPrinterDriversA returned different size %d than EnumPrinterDriversW (%d)\n", level, cbBuf, double_needed);
+ }
+
buffer = HeapAlloc(GetProcessHeap(), 0, cbBuf + 4);
if (buffer == NULL) continue;
@@ -2618,6 +2629,7 @@ START_TEST(info)
pGetDefaultPrinterA = (void *) GetProcAddress(hwinspool, "GetDefaultPrinterA");
pSetDefaultPrinterA = (void *) GetProcAddress(hwinspool, "SetDefaultPrinterA");
pGetPrinterDriverW = (void *) GetProcAddress(hwinspool, "GetPrinterDriverW");
+ pEnumPrinterDriversW = (void *) GetProcAddress(hwinspool, "EnumPrinterDriversW");
pGetPrinterW = (void *) GetProcAddress(hwinspool, "GetPrinterW");
pXcvDataW = (void *) GetProcAddress(hwinspool, "XcvDataW");
pAddPortExA = (void *) GetProcAddress(hwinspool, "AddPortExA");
More information about the wine-cvs
mailing list