Registering a dll file to start the HID Input Device service

Hello

I'd like to register the dll hidserv.dll located in my System32. However, when entering the command "regsvr32 hidserv.dll" I have an error message stating that: "hidserv.dll was loaded but the DllRegisterServer entry point was not found. This file can not be saved. "

How do I then save it, knowing that I have checked this file isn't a corrupted one ?

I need to register this dll in order to start the "HID Input Device" that stubbornly refuses to start despite a verification of its integrity in the register.

The system event viewer specifies that:

"HID Input Service service terminated with the error:
Error 126: The specified module could not be found. "

I already tried to extract hidserv.dll, mouclass.sys & mouhid.sys from the sp2 and even from the sp3 to put them in the C:\Windows\System32 directory, but I had no change.

The files I have up in my SYSTEM32 have the following version:
hidserv.dll: 5.1.2600.5512
mouclass.sys: 5.1.2600.5512
mouhid.sys: 5.1.2600.0

but the service still does not start even after reboot. The error 126 persists. Would there be other files to extract / expand?

I checked the integrity of all concerned keys in the registry (eg, having the key "ServiceDll" whose value is "%systemroot%\System32\hidserv.dll" in the parameters of ControlSets of the HIDserv service), but nothing more.

I give you an export of the current CS:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HidServ]
"DependOnService"=hex(7):52,00,70,00,63,00,53,00,73,00,00,00,00,00
"Description"="Permet l'accès entrant générique aux périphériques d'interface utilisateur, qui activent et maintiennent l'utilisation des boutons actifs prédéfinis sur le clavier, les contrôles à distance, et d'autres périphériques multimédia. Si ce service est arrêté, les boutons actifs contrôlés par ce service ne fonctionneront pas. Si ce service est désactivé, tout service en dépendant explicitement ne démarrera pas."
"DisplayName"="HID Input Service"
"ErrorControl"=dword:00000001
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
  74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\
  00,76,00,63,00,68,00,6f,00,73,00,74,00,2e,00,65,00,78,00,65,00,20,00,2d,00,\
  6b,00,20,00,6e,00,65,00,74,00,73,00,76,00,63,00,73,00,00,00
"ObjectName"="LocalSystem"
"Start"=dword:00000002
"Type"=dword:00000020

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HidServ\Parameters]
"ServiceDll"=hex(2):20,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,\
  00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,\
  5c,00,68,00,69,00,64,00,73,00,65,00,72,00,76,00,2e,00,64,00,6c,00,6c,00,00,\
  00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HidServ\Enum]
"0"="Root\\LEGACY_HIDSERV\\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001


By analyzing more deeply the event viewer log, I could pinpoint the date on which occurred the first concern. The problem is dated from the 18/08/2010 at 11:59:17 (it sticks with the finding of the first concern of losing control of my volume control buttons on my keyboard Logitech G110 elsewhere). I do not remember having made a particular change at that date on my system, except perhaps a Windows update automatically.
I could not try a system restore, knowing that the oldest RP that I have is dated to 20/08, so downstream of the original problem.

I've run a System File Checker sfc /scannow with my installation cd Windows XP Pro SP3 (current version of my system). I had already realized it from an installation cd Windows XP Pro SP2, but better twice than once. I also realized a CheckDisk, but these two operations have not changed the problem.

You will find at the following address export my event log on the system.

I've completed all the tasks (startup, replacing dll, check register, SFC, ...) while logged on sessions "standard user", "administrator" and even as "SYSTEM" (NT Authority) but in none of these configurations it was possible for me to start this service. If I come to you, is precisely to avoid going through a repair using the cd that would made me lose a lot of time. I do not usually make use of support services, in general the case has already been processed and the response or similar cases are on the web. But now I feel like in front of a technical impasse. I appeal to your specific skills to do the necessary to the proper restart of the service without using a remedy that would end up with a reinstallation over the system.

It you want to check up my configuration, you can find it there.
If you need more information, do not hesitate to contact me. I will answer them with pleasure.

Pending follow-up, thanks a lot. Cordially.

 

Arnaud TIERANT.

Answer
Answer

First, the hidserv.dll is not a DLL that can be registered.  You can try all day long but it will not register because it is not on the list of DLLs that will or need to be registered.  There is a list, and that ain't on it.  (good thought though).

Your problem is in the registry with the HidServ Parameters, ServiceDLL section.

You have a leading space in the ServiceDLL key.  In regedit, it should look like this:

%SystemRoot%\System32\hidserv.dll

Yours probably looks like this in regedit:

 %SystemRoot%\System32\hidserv.dll

See the leading space?  I don't know how it got like that (perhaps something that was installed for these humans), but I know that if I put a space in front of mine and restart my system, the HID service will not start and give me a 126 error like you describe.  There is no clue about the problem in the Event Log.

With the leading space, the specified module really cannot be found because the path (with the leading space) does not exist.

Your registry export reveals this problem.

Yours looks like this:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HidServ\Parameters]
"ServiceDll"=hex(2):20,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,\
  00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,\
  5c,00,68,00,69,00,64,00,73,00,65,00,72,00,76,00,2e,00,64,00,6c,00,6c,00,00,\
  00

It should look like this:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HidServ\Parameters]
"ServiceDll"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,\
  00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,\
  5c,00,68,00,69,00,64,00,73,00,65,00,72,00,76,00,2e,00,64,00,6c,00,6c,00,00,\
  00

In yours, you can see stuff I bolded in the front of the string:  20,00...  In hex, that is a space and a null (the null is okay).  You need to use regedit to get rid of that leading space (the hex 20) and be sure that in the Parameters section, the first character of the ServiceDLL value is the % sign (which is a hex 25).

To be sure, you can just edit the string, delete all that is in there and retype the value so it looks like this with no leading/trailing spaces:

%SystemRoot%\System32\hidserv.dll

The HID Service will not start if you just make the changes and try to start the service.  After you make your changes, you will have to reboot, then you can check it, then start the HID service.


Don't guess what the problem might be - figure it out and fix it. I need YOUR votes and points for helpful replies and Propose as Answers. I am saving up for a pony!

 

Was this reply helpful?

Sorry this didn't help.

Great! Thanks for your feedback.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this reply?

Thanks for your feedback.

 
 

Question Info


Last updated June 13, 2019 Views 5,694 Applies to: