1) я взял пример службы из статьи "Пишем сервис. Что может быть проще!"Алексей Ширшов, запускаю ее , она проработает несколько секунд и вылетает...
может я как-то не так запускаю?
2) как можно передать переменную(массив) в работающий сервис, из какого-нибудь работающего драйвера...?
10.03.06 18:39: Перенесено модератором из 'C/C++' — Odi$$ey
"sergei132" <51516@users.rsdn.ru> сообщил/сообщила в новостях следующее:
news:1774712@news.rsdn.ru...
> 1) я взял пример службы из статьи "Пишем сервис. Что может быть проще!"Алексей Ширшов, запускаю ее , она проработает несколько секунд и вылетает...
> может я как-то не так запускаю?
> 2) как можно передать переменную(массив) в работающий сервис, из какого-нибудь работающего драйвера...?
Извините, что не в тему.
А где таких ламеров готовят
Posted via RSDN NNTP Server 2.0
Здравствуйте, sergei132, Вы писали:
S>1) я взял пример службы из статьи "Пишем сервис. Что может быть проще!"Алексей Ширшов, запускаю ее , она проработает несколько секунд и вылетает...
S>может я как-то не так запускаю?
ну, штатные ясновидящие сейчас все в отпусках. что происходит-то?
S>2) как можно передать переменную(массив) в работающий сервис, из какого-нибудь работающего драйвера...?
можно все. главное понять -- как =)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, TSS, Вы писали:
TSS>ну, штатные ясновидящие сейчас все в отпусках. что происходит-то?
ну вот например, как это понять?
по идее он ничего не делает, но через несколько секунд вылетает... почему он просто в памяти не сидит?
// SimpleService.cpp : Implementation of WinMain
#include "stdafx.h"
#include "resource.h"
#include "SimpleService.h"
class CSimpleServiceModule : public CAtlServiceModuleT< CSimpleServiceModule, IDS_SERVICENAME >
{
public :
DECLARE_REGISTRY_APPID_RESOURCEID(IDR_SIMPLESERVICE, "{01D73C58-D8F4-4A85-B27D-424443739977}")
HRESULT InitializeSecurity() throw()
{
return S_OK;
}
HRESULT PreMessageLoop (int nShowCmd);
void RunMessageLoop (void) throw();
void OnContinue (void) throw();
void OnPause (void) throw();
void OnShutdown (void) throw();
void OnStop (void) throw();
};
HRESULT CSimpleServiceModule::PreMessageLoop (int nShowCmd) throw()
{
return CAtlServiceModuleT< CSimpleServiceModule, IDS_SERVICENAME >::PreMessageLoop (nShowCmd);
}
void CSimpleServiceModule::RunMessageLoop () throw()
{
CAtlServiceModuleT< CSimpleServiceModule, IDS_SERVICENAME >::RunMessageLoop ();
}
void CSimpleServiceModule::OnContinue () throw()
{
CAtlServiceModuleT< CSimpleServiceModule, IDS_SERVICENAME >::OnContinue ();
}
void CSimpleServiceModule::OnPause () throw()
{
CAtlServiceModuleT< CSimpleServiceModule, IDS_SERVICENAME >::OnPause ();
}
void CSimpleServiceModule::OnShutdown () throw()
{
OnStop ();
}
void CSimpleServiceModule::OnStop () throw()
{
CAtlServiceModuleT< CSimpleServiceModule, IDS_SERVICENAME >::OnStop ();
}
CSimpleServiceModule _AtlModule;
//
extern "C" int WINAPI _tWinMain(HINSTANCE /*hInstance*/, HINSTANCE /*hPrevInstance*/,
LPTSTR /*lpCmdLine*/, int nShowCmd)
{
return _AtlModule.WinMain(nShowCmd);
}
Добавлено форматирование кода — Кодт
Здравствуйте, sergei132, Вы писали:
Вырезан оверквотинг — Кодт
Может я чего-то непонимаю но невижу у тебя в коде поточной функции твоей службы.