Download demo executable - 12 KbDownload source files - 3 KbThe purpose of this class is to enumerate NT services on a local machine.
You can specify the following criteria for service enumeration:
- Do you want to enumerate NT services or NT drivers.
- Do you want to enumerate active or inactive services and or drivers.
Since the criteria is a bit OR combination, you can specify none, one of
criterias or all of them. In any case, you will receive a list of NT services
that fullfil the specified criteria.
The class is designed to work with STL classes. In fact, there are 2
EnumServices functions. One that returns a pointer to a list of objects
(in this case caller is responsible to delete this pointer using delete
[]) and another that returns an STL list containing service objects.
Sample using STL list
TNtServiceInfoList srvList;
TNtServiceInfo::EnumServices(SERVICE_WIN32, SERVICE_ACTIVE, &srvList);
TNtServiceInfoList::iterator it;
for (it = srvList.begin(); it != srvList.end(); it ++)
{
TNtServiceInfo *pInfo = &(*it);
}
I am a cofounder of SCA Software, company that specializes in software for process control, visualization and communication. Programming for the last 10 years in C++, Delphi. Visual C++ for the last 6 years. Degree in Electronics Engineering and Telecommunications.