[PATCH] winspool: Add support for level 1 printer info to GetPrinter.

Dmitry Timoshkov dmitry at baikal.ru
Fri Sep 27 00:22:18 CDT 2019


Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
 dlls/winspool.drv/info.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index d7e2211102..1ab5e43aef 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -4435,6 +4435,24 @@ BOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter,
     }
 
     switch(Level) {
+    case 1:
+      {
+        PRINTER_INFO_1W *pi1 = (PRINTER_INFO_1W *)pPrinter;
+
+        size = sizeof(PRINTER_INFO_1W);
+        if (size <= cbBuf) {
+            ptr = pPrinter + size;
+            cbBuf -= size;
+            memset(pPrinter, 0, size);
+        } else {
+            pi1 = NULL;
+            cbBuf = 0;
+        }
+        ret = WINSPOOL_GetPrinter_1(hkeyPrinter, pi1, ptr, cbBuf, &needed);
+        needed += size;
+        break;
+      }
+
     case 2:
       {
         PRINTER_INFO_2W *pi2 = (PRINTER_INFO_2W *)pPrinter;
-- 
2.20.1




More information about the wine-devel mailing list