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.