#include "ace/config-all.h"
#include "ace/ACE.h"
#include "ace/OS_Log_Msg_Attributes.h"
#include "ace/Service_Object.h"
#include "ace/Task.h"
#include "ace/OS_NS_errno.h"
#include "ace/NT_Service.inl"
Include dependency graph for NT_Service.h:
This graph shows which files directly or indirectly include this file:
Classes | |
class | ACE_NT_Service |
Provide the base class which defines the interface for controlling an NT service. More... | |
Defines | |
#define | ACE_NT_SERVICE_START_TIMEOUT 5000 |
#define | ACE_NT_SERVICE_DEFINE(SVCNAME, SVCCLASS, SVCDESC) |
#define | ACE_NT_SERVICE_REFERENCE(SVCNAME) |
#define | ACE_NT_SERVICE_ENTRY(SVCDESC, SVCNAME) { SVCDESC, &ace_nt_svc_main_##SVCNAME } |
#define | ACE_NT_SERVICE_RUN(SVCNAME, SVCINSTANCE, RET) |
|
Value: ACE_NT_Service * _ace_nt_svc_obj_##SVCNAME = 0; \ VOID WINAPI ace_nt_svc_handler_##SVCNAME (DWORD fdwControl) { \ _ace_nt_svc_obj_##SVCNAME->handle_control(fdwControl); \ } \ VOID WINAPI ace_nt_svc_main_##SVCNAME (DWORD dwArgc, \ ACE_TCHAR **lpszArgv) { \ int delete_svc_obj = 0; \ if (_ace_nt_svc_obj_##SVCNAME == 0) { \ ACE_NEW (_ace_nt_svc_obj_##SVCNAME, SVCCLASS); \ if (_ace_nt_svc_obj_##SVCNAME == 0) \ return; \ delete_svc_obj = 1; \ } \ else \ _ace_nt_svc_obj_##SVCNAME->inherit_log_msg_attributes (); \ _ace_nt_svc_obj_##SVCNAME->init(dwArgc, lpszArgv); \ _ace_nt_svc_obj_##SVCNAME->svc_handle( \ ACE_TEXT_RegisterServiceCtrlHandler(SVCDESC, \ &ace_nt_svc_handler_##SVCNAME)); \ _ace_nt_svc_obj_##SVCNAME->open(); \ _ace_nt_svc_obj_##SVCNAME->wait(); \ _ace_nt_svc_obj_##SVCNAME->fini(); \ if (delete_svc_obj) { \ delete _ace_nt_svc_obj_##SVCNAME; \ _ace_nt_svc_obj_##SVCNAME = 0; \ } \ return; \ } |
|
|
|
Value: extern ACE_NT_Service * _ace_nt_svc_obj_##SVCNAME; \ extern VOID WINAPI ace_nt_svc_main_##SVCNAME (DWORD dwArgc, \ ACE_TCHAR **lpszArgv); |
|
Value: ACE_TEXT_SERVICE_TABLE_ENTRY _ace_nt_svc_table[2] = \ { \ ACE_NT_SERVICE_ENTRY(ACE_TEXT (#SVCNAME), SVCNAME), \ { 0, 0 } \ }; \ _ace_nt_svc_obj_##SVCNAME = SVCINSTANCE; \ _ace_nt_svc_obj_##SVCNAME->capture_log_msg_attributes (); \ ACE_OS::last_error (0); \ int RET = ACE_TEXT_StartServiceCtrlDispatcher(_ace_nt_svc_table); |
|
|