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.
Andrey Turkin wrote:
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.
That would be a bug. Thanks for catching it.