A supposedly “stoppable” service is not stoppable

0

I'm trying to stop the service mshidkmdf, but it won't stop despite the fact it's STOPPABLE. I'm able to stop the driver from device manager (the device stack is \Driver\mshidkmdf and the description is HID-compliant touch screen). When I run sc query mshidkmdf, I get:

SERVICE_NAME: mshidkmdf
        TYPE               : 1  KERNEL_DRIVER
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

which implies that the service is STOPPABLE. But, when I run sc stop mshidkmdf, I get:

[SC] ControlService FAILED 1052: 

The requested control is not valid for this service.

and when I run net stop mshidkmdf, I get:

The requested pause, continue, or stop is not valid for this service.

More help is available by typing NET HELPMSG 2191.

I know the service is running because a) my touch screen is running and b) when I run sc start mshidkmdf, I get:

[SC] StartService FAILED 1056:

An instance of the service is already running.

My goal is to stop the device (my touch screen) that is run by the driver through the command line, but as far as I understand the driver and the service are the same thing.

Brandon

Posted 2019-11-20T17:20:18.160

Reputation: 1

A service and driver are NEVER the same thing. At least to windows. – Señor CMasMas – 2019-11-20T21:32:03.897

Answers

0

This service is for Windows Touch, and Windows indeed refuses to disable it.

You might do better to disable the device itself, as explained in the Microsoft article
Enable and disable your touchscreen in Windows 10.

The procedure is:

  • Run Device Manager
  • Open Human Interface Devices
  • Select the device "HID-compliant touch screen" (there may be more than one)
  • Click Action > Disable device. For enabling, select Enable device.

harrymc

Posted 2019-11-20T17:20:18.160

Reputation: 306 093

Is there a way to disable the device through command line somehow? I was trying to create a batch file to enable and disable the device without having to go to device manager. Perhaps there's a way to access device manager from command line? – Brandon – 2019-11-20T18:55:51.917

You could use devcon for that. See this answer.

– harrymc – 2019-11-20T19:45:43.543

If my answer was helpful, please consider marking it as accepted (tick the V sign). See this page for an explanation of why this is important.

– harrymc – 2019-11-20T19:45:59.737