Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru --- dlls/winspool.drv/info.c | 29 +++++++++++++++++++++++++++++ dlls/winspool.drv/winspool.drv.spec | 6 +++--- loader/wine.inf.in | 7 +++++++ 3 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c index 9c24256b51..4d8134b314 100644 --- a/dlls/winspool.drv/info.c +++ b/dlls/winspool.drv/info.c @@ -8681,3 +8681,32 @@ HRESULT WINAPI UploadPrinterDriverPackageW( LPCWSTR server, LPCWSTR path, LPCWST flags, hwnd, dst, dstlen); return E_NOTIMPL; } + +/***************************************************************************** + * PerfOpen [WINSPOOL.@] + */ +DWORD WINAPI PerfOpen(LPWSTR context) +{ + FIXME("%s: stub\n", debugstr_w(context)); + return ERROR_SUCCESS; +} + +/***************************************************************************** + * PerfClose [WINSPOOL.@] + */ +DWORD WINAPI PerfClose(void) +{ + FIXME("stub\n"); + return ERROR_SUCCESS; +} + +/***************************************************************************** + * PerfCollect [WINSPOOL.@] + */ +DWORD WINAPI PerfCollect(LPWSTR query, LPVOID *data, LPDWORD size, LPDWORD obj_count) +{ + FIXME("%s,%p,%p,%p: stub\n", debugstr_w(query), data, size, obj_count); + *size = 0; + *obj_count = 0; + return ERROR_SUCCESS; +} diff --git a/dlls/winspool.drv/winspool.drv.spec b/dlls/winspool.drv/winspool.drv.spec index 58dc60bcc9..a23ea2ced9 100644 --- a/dlls/winspool.drv/winspool.drv.spec +++ b/dlls/winspool.drv/winspool.drv.spec @@ -2,9 +2,9 @@ 101 stub -noname ClusterSplOpen 102 stub -noname ClusterSplClose 103 stub -noname ClusterSplIsAlive -104 stub PerfClose -105 stub PerfCollect -106 stub PerfOpen +104 stdcall PerfClose() +105 stdcall PerfCollect(wstr ptr ptr ptr) +106 stdcall PerfOpen(wstr) 201 stdcall GetDefaultPrinterA(ptr ptr) 202 stdcall SetDefaultPrinterA(str) 203 stdcall GetDefaultPrinterW(ptr ptr) diff --git a/loader/wine.inf.in b/loader/wine.inf.in index 735d965366..9a76509983 100644 --- a/loader/wine.inf.in +++ b/loader/wine.inf.in @@ -3309,6 +3309,7 @@ StartType=3 ErrorControl=1
[SpoolerService] +AddReg=SpoolerServiceKeys Description="Loads files to memory for later printing" DisplayName="Print Spooler" ServiceBinary="%11%\spoolsv.exe" @@ -3317,6 +3318,12 @@ StartType=3 ErrorControl=1 LoadOrderGroup="SpoolerGroup"
+[SpoolerServiceKeys] +HKLM,"System\CurrentControlSet\Services\Spooler\Performance","Library",,"winspool.drv" +HKLM,"System\CurrentControlSet\Services\Spooler\Performance","Open",,"PerfOpen" +HKLM,"System\CurrentControlSet\Services\Spooler\Performance","Close",,"PerfClose" +HKLM,"System\CurrentControlSet\Services\Spooler\Performance","Collect",,"PerfCollect" + [TerminalServices] Description="Remote desktop access" DisplayName="Terminal Services"
On Wed, Jul 11, 2018 at 12:16:11PM +0800, Dmitry Timoshkov wrote:
Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru
dlls/winspool.drv/info.c | 29 +++++++++++++++++++++++++++++ dlls/winspool.drv/winspool.drv.spec | 6 +++--- loader/wine.inf.in | 7 +++++++ 3 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c index 9c24256b51..4d8134b314 100644 --- a/dlls/winspool.drv/info.c +++ b/dlls/winspool.drv/info.c @@ -8681,3 +8681,32 @@ HRESULT WINAPI UploadPrinterDriverPackageW( LPCWSTR server, LPCWSTR path, LPCWST flags, hwnd, dst, dstlen); return E_NOTIMPL; }
+/*****************************************************************************
PerfOpen [WINSPOOL.@]
- */
+DWORD WINAPI PerfOpen(LPWSTR context) +{
- FIXME("%s: stub\n", debugstr_w(context));
- return ERROR_SUCCESS;
+}
+/*****************************************************************************
PerfClose [WINSPOOL.@]
- */
+DWORD WINAPI PerfClose(void) +{
- FIXME("stub\n");
- return ERROR_SUCCESS;
+}
+/*****************************************************************************
PerfCollect [WINSPOOL.@]
- */
+DWORD WINAPI PerfCollect(LPWSTR query, LPVOID *data, LPDWORD size, LPDWORD obj_count) +{
- FIXME("%s,%p,%p,%p: stub\n", debugstr_w(query), data, size, obj_count);
A minor thing, but as I'm commenting already: could you add spaces after the commas in the format string?
- *size = 0;
- *obj_count = 0;
- return ERROR_SUCCESS;
+} diff --git a/dlls/winspool.drv/winspool.drv.spec b/dlls/winspool.drv/winspool.drv.spec index 58dc60bcc9..a23ea2ced9 100644 --- a/dlls/winspool.drv/winspool.drv.spec +++ b/dlls/winspool.drv/winspool.drv.spec @@ -2,9 +2,9 @@ 101 stub -noname ClusterSplOpen 102 stub -noname ClusterSplClose 103 stub -noname ClusterSplIsAlive -104 stub PerfClose -105 stub PerfCollect -106 stub PerfOpen +104 stdcall PerfClose() +105 stdcall PerfCollect(wstr ptr ptr ptr) +106 stdcall PerfOpen(wstr)
On my Windows 7 box these are 111-3, so I suspect we can drop the explicit ordinals here.
201 stdcall GetDefaultPrinterA(ptr ptr) 202 stdcall SetDefaultPrinterA(str) 203 stdcall GetDefaultPrinterW(ptr ptr) diff --git a/loader/wine.inf.in b/loader/wine.inf.in index 735d965366..9a76509983 100644 --- a/loader/wine.inf.in +++ b/loader/wine.inf.in @@ -3309,6 +3309,7 @@ StartType=3 ErrorControl=1
[SpoolerService] +AddReg=SpoolerServiceKeys Description="Loads files to memory for later printing" DisplayName="Print Spooler" ServiceBinary="%11%\spoolsv.exe" @@ -3317,6 +3318,12 @@ StartType=3 ErrorControl=1 LoadOrderGroup="SpoolerGroup"
+[SpoolerServiceKeys] +HKLM,"System\CurrentControlSet\Services\Spooler\Performance","Library",,"winspool.drv" +HKLM,"System\CurrentControlSet\Services\Spooler\Performance","Open",,"PerfOpen" +HKLM,"System\CurrentControlSet\Services\Spooler\Performance","Close",,"PerfClose" +HKLM,"System\CurrentControlSet\Services\Spooler\Performance","Collect",,"PerfCollect"
[TerminalServices] Description="Remote desktop access" DisplayName="Terminal Services" -- 2.17.1
Huw Davies huw@codeweavers.com wrote:
+DWORD WINAPI PerfCollect(LPWSTR query, LPVOID *data, LPDWORD size, LPDWORD obj_count) +{
- FIXME("%s,%p,%p,%p: stub\n", debugstr_w(query), data, size, obj_count);
A minor thing, but as I'm commenting already: could you add spaces after the commas in the format string?
Personally I don't like the spaces beween args in the relay logs because they make the log noticibly larger in size. But since this looks like a common thing in this particular file I'll change this part.
-104 stub PerfClose -105 stub PerfCollect -106 stub PerfOpen +104 stdcall PerfClose() +105 stdcall PerfCollect(wstr ptr ptr ptr) +106 stdcall PerfOpen(wstr)
On my Windows 7 box these are 111-3, so I suspect we can drop the explicit ordinals here.
I'd prefer that change go in a separate patch to avoid any potential regressions that may cause.
On Thu, Jul 12, 2018 at 03:52:59PM +0800, Dmitry Timoshkov wrote:
Huw Davies huw@codeweavers.com wrote:
+DWORD WINAPI PerfCollect(LPWSTR query, LPVOID *data, LPDWORD size, LPDWORD obj_count) +{
- FIXME("%s,%p,%p,%p: stub\n", debugstr_w(query), data, size, obj_count);
A minor thing, but as I'm commenting already: could you add spaces after the commas in the format string?
Personally I don't like the spaces beween args in the relay logs because they make the log noticibly larger in size. But since this looks like a common thing in this particular file I'll change this part.
Thanks. I find it much easier to read and, hey, disk space is cheap these days ;-)
-104 stub PerfClose -105 stub PerfCollect -106 stub PerfOpen +104 stdcall PerfClose() +105 stdcall PerfCollect(wstr ptr ptr ptr) +106 stdcall PerfOpen(wstr)
On my Windows 7 box these are 111-3, so I suspect we can drop the explicit ordinals here.
I'd prefer that change go in a separate patch to avoid any potential regressions that may cause.
Difficult to see how it could cause a regression since they're currently stubs, but ok, I'll send a patch to do that.
Huw.