В следующем примере, программа конфигурации службы использует функцию OpenService, чтобы получить дескриптор с доступом к установленному объекту службы DELETE. Затем программа использует дескриптор объекта службы в функции DeleteService, чтобы удалить службу из базы данных Диспетчера управления службами (SCM).
BOOL DeleteSampleService()
{
schService = OpenService(
schSCManager, // база данных SCManager
TEXT("Sample_Srv"), // имя службы
DELETE); // однако требует доступа DELETE
if (schService == NULL)
{
printf("OpenService failed (%d)\n", GetLastError());
return FALSE;
}
if (!DeleteService(schService) )
{
printf("DeleteService failed (%d)\n", GetLastError());
return FALSE;
}
else
printf("DeleteService succeeded\n");
CloseServiceHandle(schService);
return TRUE;
} |