David Hedberg : winspool.drv: Add stubs for IsValidDevmodeW and IsValidDevmodeA.
Alexandre Julliard
julliard at winehq.org
Mon May 9 13:34:45 CDT 2011
Module: wine
Branch: master
Commit: a82f7cf44650ccaac0e90cc442c818c26d20ddd1
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a82f7cf44650ccaac0e90cc442c818c26d20ddd1
Author: David Hedberg <dhedberg at codeweavers.com>
Date: Mon May 9 08:27:09 2011 +0200
winspool.drv: Add stubs for IsValidDevmodeW and IsValidDevmodeA.
---
dlls/winspool.drv/info.c | 32 ++++++++++++++++++++++++++++++++
dlls/winspool.drv/tests/info.c | 23 +++++++++++++++++++++++
dlls/winspool.drv/winspool.drv.spec | 2 ++
3 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index 6d81f52..5201e30 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -1775,6 +1775,38 @@ LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter,
return ret;
}
+/*****************************************************************************
+ * IsValidDevmodeA [WINSPOOL.@]
+ *
+ * Validate a DEVMODE structure and fix errors if possible.
+ *
+ */
+BOOL WINAPI IsValidDevmodeA(PDEVMODEA *pDevMode, SIZE_T size)
+{
+ FIXME("(%p,%ld): stub\n", pDevMode, size);
+
+ if(!pDevMode)
+ return FALSE;
+
+ return TRUE;
+}
+
+/*****************************************************************************
+ * IsValidDevmodeW [WINSPOOL.@]
+ *
+ * Validate a DEVMODE structure and fix errors if possible.
+ *
+ */
+BOOL WINAPI IsValidDevmodeW(PDEVMODEW *pDevMode, SIZE_T size)
+{
+ FIXME("(%p,%ld): stub\n", pDevMode, size);
+
+ if(!pDevMode)
+ return FALSE;
+
+ return TRUE;
+}
+
/******************************************************************
* OpenPrinterA [WINSPOOL.@]
*
diff --git a/dlls/winspool.drv/tests/info.c b/dlls/winspool.drv/tests/info.c
index da4fc38..2ef049f 100644
--- a/dlls/winspool.drv/tests/info.c
+++ b/dlls/winspool.drv/tests/info.c
@@ -75,6 +75,7 @@ static BOOL (WINAPI * pGetPrinterDriverW)(HANDLE, LPWSTR, DWORD, LPBYTE, DWORD,
static BOOL (WINAPI * pGetPrinterW)(HANDLE, DWORD, LPBYTE, DWORD, LPDWORD);
static BOOL (WINAPI * pSetDefaultPrinterA)(LPCSTR);
static DWORD (WINAPI * pXcvDataW)(HANDLE, LPCWSTR, PBYTE, DWORD, PBYTE, DWORD, PDWORD, PDWORD);
+static BOOL (WINAPI * pIsValidDevmodeW)(PDEVMODEW, SIZE_T);
/* ################################ */
@@ -2852,6 +2853,26 @@ static void test_DeviceCapabilities(void)
GlobalFree(prn_dlg.hDevNames);
}
+static void test_IsValidDevmodeW(void)
+{
+ BOOL br;
+
+ if (!pIsValidDevmodeW)
+ {
+ win_skip("IsValidDevmodeW not implemented.\n");
+ return;
+ }
+
+ br = pIsValidDevmodeW(NULL, 0);
+ ok(br == FALSE, "Got %d\n", br);
+
+ br = pIsValidDevmodeW(NULL, 1);
+ ok(br == FALSE, "Got %d\n", br);
+
+ br = pIsValidDevmodeW(NULL, sizeof(DEVMODEW));
+ ok(br == FALSE, "Got %d\n", br);
+}
+
START_TEST(info)
{
hwinspool = GetModuleHandleA("winspool.drv");
@@ -2863,6 +2884,7 @@ START_TEST(info)
pGetPrinterW = (void *) GetProcAddress(hwinspool, "GetPrinterW");
pSetDefaultPrinterA = (void *) GetProcAddress(hwinspool, "SetDefaultPrinterA");
pXcvDataW = (void *) GetProcAddress(hwinspool, "XcvDataW");
+ pIsValidDevmodeW = (void *) GetProcAddress(hwinspool, "IsValidDevmodeW");
on_win9x = check_win9x();
if (on_win9x)
@@ -2898,6 +2920,7 @@ START_TEST(info)
test_SetDefaultPrinter();
test_XcvDataW_MonitorUI();
test_XcvDataW_PortIsValid();
+ test_IsValidDevmodeW();
/* Cleanup our temporary file */
DeleteFileA(tempfileA);
diff --git a/dlls/winspool.drv/winspool.drv.spec b/dlls/winspool.drv/winspool.drv.spec
index 9151b11..bdf346c 100644
--- a/dlls/winspool.drv/winspool.drv.spec
+++ b/dlls/winspool.drv/winspool.drv.spec
@@ -145,6 +145,8 @@
@ stdcall GetPrinterDriverDirectoryW(wstr wstr long ptr long ptr)
@ stdcall GetPrinterDriverW(long wstr long ptr long ptr)
@ stdcall GetPrinterW(long long ptr long ptr)
+@ stdcall IsValidDevmodeA(ptr long)
+@ stdcall IsValidDevmodeW(ptr long)
@ stdcall OpenPrinterA(str ptr ptr)
@ stdcall OpenPrinterW(wstr ptr ptr)
@ stub PlayGdiScriptOnPrinterIC
More information about the wine-cvs
mailing list