Пишем простейщий сервис. Помогите.
От: Аноним  
Дата: 31.03.05 07:01
Оценка:
Создаем проект ATL (7.0), тип — Service.
Код:

// BPSystemInfo.cpp : Implementation of WinMain

#include "stdafx.h"
#include "resource.h"

// The module attribute causes WinMain to be automatically implemented for you
[ module(SERVICE, uuid = "{D1FD36AA-1799-4F51-B1AD-1312B0540206}", 
         name = "BPSystemInfo", 
         helpstring = "BPSystemInfo 1.0 Type Library", 
         resource_name="IDS_SERVICENAME") ]
class CBPSystemInfoModule
{
public:
    
    HRESULT InitializeSecurity() throw()
    {
        // TODO : Call CoInitializeSecurity and provide the appropriate security settings for 
        // your service
        // Suggested - PKT Level Authentication, 
        // Impersonation Level of RPC_C_IMP_LEVEL_IDENTIFY 
        // and an appropiate Non NULL Security Descriptor.

        return S_OK;
    }
    /**
        Главная функция сервиса. При выходе из нее сервис завершает свою работу.
    */

    HRESULT Run( int nShowCmd = SW_HIDE ) throw( );

    /**
        Функция обратного вызова. Вызывается системой, если необходимо остановить сервис.
    */

    void OnStop() throw();

    /**
        Функция обратного вызова. Вызывается системой при выключении компьютера.
    */

    void OnShutdown() throw()
    {
        OnStop();
    }
    
};

void CBPSystemInfoModule::OnStop() throw()
{
    SetServiceStatus(SERVICE_STOP_PENDING);
}
HRESULT CBPSystemInfoModule::Run( int nShowCmd  ) throw( )
{
    
    return CAtlServiceModuleT<CBPSystemInfoModule,IDS_SERVICENAME>::Run(nShowCmd);
}

Все главные функции на месте, компилируется все нормально, устанавливается в систему без проблем с помощью CreateService. НО! При попытке запуска службы — "Служба не ответила на запрос своевременно". Что не хватает в данном каркасе? Мне бы хотелось получить службу, которая работала бы, но ничего не имела бы внутрях.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.