[PATCH 4/7] winspool.drv: Add performance counters service stubs.

Huw Davies huw at codeweavers.com
Thu Jul 12 02:39:17 CDT 2018


On Wed, Jul 11, 2018 at 12:16:11PM +0800, Dmitry Timoshkov wrote:
> Signed-off-by: Dmitry Timoshkov <dmitry at 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
> 
> 
> 



More information about the wine-devel mailing list