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