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.



Reply via email to