From: Austin English Subject: winspool.drv: add EnumPrinterKeyA/W stubs Message-Id: Date: Mon, 18 Jan 2016 17:10:45 -0600 This fixed https://bugs.winehq.org/show_bug.cgi?id=39818 Before the patch, the application exits silently. With these stubs in place, the application starts and displays its GUI. -- -Austin From 3a1df9ff65e941ab229d5e9f2f0d57e950de9132 Mon Sep 17 00:00:00 2001 From: Austin English Date: Mon, 18 Jan 2016 16:49:34 -0600 Subject: [PATCH] winspool.drv: add EnumPrinterKeyA/W stubs Signed-off-by: Austin English --- dlls/winspool.drv/info.c | 20 ++++++++++++++++++++ dlls/winspool.drv/winspool.drv.spec | 2 ++ include/winspool.h | 5 +++++ 3 files changed, 27 insertions(+) diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c index 04def86..06fa2a2 100644 --- a/dlls/winspool.drv/info.c +++ b/dlls/winspool.drv/info.c @@ -7527,6 +7527,26 @@ DWORD WINAPI EnumPrinterDataW( HANDLE hPrinter, DWORD dwIndex, LPWSTR pValueName } /***************************************************************************** + * EnumPrinterKeyA [WINSPOOL.@] + * + */ +DWORD WINAPI EnumPrinterKeyA(HANDLE printer, const CHAR *key, CHAR *subkey, DWORD size, DWORD *ret) +{ + FIXME("%p %s %s %x %p\n", printer, debugstr_a(key), debugstr_a(subkey), size, ret); + return ERROR_CALL_NOT_IMPLEMENTED; +} + +/***************************************************************************** + * EnumPrinterKeyW [WINSPOOL.@] + * + */ +DWORD WINAPI EnumPrinterKeyW(HANDLE printer, const WCHAR *key, WCHAR *subkey, DWORD size, DWORD *ret) +{ + FIXME("%p %s %s %x %p\n", printer, debugstr_w(key), debugstr_w(subkey), size, ret); + return ERROR_CALL_NOT_IMPLEMENTED; +} + +/***************************************************************************** * EnumPrintProcessorDatatypesA [WINSPOOL.@] * */ diff --git a/dlls/winspool.drv/winspool.drv.spec b/dlls/winspool.drv/winspool.drv.spec index b0d30b8..2f8b995 100644 --- a/dlls/winspool.drv/winspool.drv.spec +++ b/dlls/winspool.drv/winspool.drv.spec @@ -124,6 +124,8 @@ @ stdcall EnumPrinterDriversW(wstr wstr long ptr long ptr ptr) @ stdcall EnumPrintersA(long ptr long ptr long ptr ptr) @ stdcall EnumPrintersW(long ptr long ptr long ptr ptr) +@ stdcall EnumPrinterKeyA(long str str long ptr) +@ stdcall EnumPrinterKeyW(long wstr wstr long ptr) @ stdcall ExtDeviceMode(long long ptr str str ptr str long) @ stdcall FindClosePrinterChangeNotification(long) @ stdcall FindFirstPrinterChangeNotification(long long long ptr) diff --git a/include/winspool.h b/include/winspool.h index 42097fb..9078e04 100644 --- a/include/winspool.h +++ b/include/winspool.h @@ -1789,6 +1789,11 @@ BOOL WINAPI DeletePrintProvidorW(LPWSTR pName, LPWSTR pEnvironment, LPWSTR pPrintProvidorName); #define DeletePrintProvidor WINELIB_NAME_AW(DeletePrintProvidor) + +DWORD WINAPI EnumPrinterKeyW(HANDLE printer, const WCHAR *key, WCHAR *subkey, DWORD size, DWORD *ret); +DWORD WINAPI EnumPrinterKeyW(HANDLE printer, const WCHAR *key, WCHAR *subkey, DWORD size, DWORD *ret); +#define EnumPrinterKey WINELIB_NAME_AW(EnumPrinterKey) + DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName, LPBYTE pEnumValues, DWORD cbEnumValues, LPDWORD pcbEnumValues, LPDWORD pnEnumValues); -- 2.7.0.rc3