#include "ace/pre.h"
#include "ace/config-all.h"
#include "ace/Service_Object.h"
#include "ace/Synch.h"
#include "ace/Task.h"
#include "ace/post.h"
Include dependency graph for NT_Service.h:
This graph shows which files directly or indirectly include this file:
Compounds | |
class | ACE_NT_Service |
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) |
#define | ACE_NT_SERVICE_RUN(SVCNAME, SVCINSTANCE, RET) |
NT_Service.h,v 4.19 2001/07/10 17:17:13 schmidt Exp
|
Initializer: \ 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; \ } \ _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; \ } |
|
Initializer: \ { SVCDESC, &ace_nt_svc_main_##SVCNAME } |
|
Initializer: \ extern ACE_NT_Service * _ace_nt_svc_obj_##SVCNAME; \ extern VOID WINAPI ace_nt_svc_main_##SVCNAME (DWORD dwArgc, \ ACE_TCHAR **lpszArgv); |
|
Initializer: \ 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_OS::last_error (0); \ int RET = ACE_TEXT_StartServiceCtrlDispatcher(_ace_nt_svc_table); |
|
|