PCM - Starting MSR service failed with error 3

PCM - Starting MSR service failed with error 3


I have a problem trying to use the msr.sys driver. It seems to be throwing an error 3 when starting the driver. I compiled pcm.exe with Visual Studio 2010. This is the ouput:

Starting MSR service failed with error 3 - It is thrown at  Drive.start();  call 

After that it tries to load winring0.dll but it also fails.

I have compiled the msr.sys with WDK 7600 on a Windows7 and an Intel i7-3770K. I used the Windows7 "x64 Free Build Environment" for building and it finished without errors. I also managed to certificate/signing that msr.sys file without errors. I am running on test mode and the msr.sys file has been copied to the working directory and also to c:/windows/system32.

But after that I receive error 3, what am I missing? Can anybody help me?

6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Build and run it on 32-bit Windows.I am not sure if this error is returned by the Service Manager and it looks like "Path_Not_Found error.Probably during the registration of your driver path to msr.sys was somehow corrupted .Try to use regmon when Mar.sys is started and look for any failure related to driver loading or service starting.

Thanks for your response.

After a while of debugging I have noticed that the one returning error 3 was StartService(hService, 0, NULL) in Driver.start() method of file windriver.h. I agree that the problem was related to not being able to find the msr.sys file but after several futile attempts to fix it by copying a backup copy of msr.sys and even generating a new version, I have decided to move backwards to a safe restore-point of windows. 

Thank you,


You are welcome Ruben.

Btw did you try to run msr.sys on 32-bit Windows?


I didn't try it on Windows 32-bit in this machine, some time ago I did some experiments for a 32-bit Windows machine but it is no longer available.

Anyway, after restoring the previous windows safe-point the corruption that was meshing up everything disappeared. Just exactly the same version of the code works fine after the restoration. According to the error (error 3, file path not found) it was throwing to me, I think that something went wrong in my file system after that restoration point.


Probably you got your registry settings messed up and registered path to msr.sys was not found because of this.

Leave a Comment

Please sign in to add a comment. Not a member? Join today