How to get a processId from a service handle?


What I am trying to do is take a service that I have a handle too and find out how much memory the service process is currently using.

So I have been able to get lots of info about a service from QueryServiceConfig2 but its not quite enough. From the binary path I could search all services but if the service binary is shared like svchost than I cannot tell which one is the exact process im looking for.

I would think you can get the processId from a serive handle but I havent been able to find any info on that.

Anyone know the solution?
LVL 2
joele23Asked:
Who is Participating?
 
mahesh1402Connect With a Mentor Commented:
You can get a service process handle by calling EnumServicesStatusEx().  That will return a SERVICES_STATUS_PROCESS structure that will give you the PID.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/enumservicesstatusex.asp

-MAHESH
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.