advapi32: Implement RegisterServiceCtrlHandleExW.

Andrey Turkin pancha at mail.nnov.ru
Fri Jun 30 06:05:07 CDT 2006


Robert Shearman wrote:
> ---
...
> @@ -603,10 +608,18 @@ static BOOL service_handle_control(HANDL
>  
>      TRACE("received control %ld\n", dwControl);
>      
> -    if (service_accepts_control(service, dwControl) && service->handler)
> +    if (service_accepts_control(service, dwControl))
>      {
> -        service->handler(dwControl);
> -        ret = ERROR_SUCCESS;
> +        if (service->extended && service->handler.handler)
> +        {
> +            service->handler.handler(dwControl);
> +            ret = ERROR_SUCCESS;
> +        }
> +        else if (service->handler.handler_ex)
> +        {
> +            service->handler.handler_ex(dwControl, 0, NULL, service->context);
> +            ret = ERROR_SUCCESS;
> +        }
>      }
Just wondering why you use Ex handler when service->extended==FALSE and
vice versa.




More information about the wine-devel mailing list