Download demo executable - 12 Kb
Download source files - 3 Kb
The 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);
}