FFL
1.0
Finfly Foundation Library
|
Классы | |
class | ffl::cssc::service |
Базовая служба. Подробнее... | |
class | ffl::cssc::service::context |
Контекст выполнения службы. Подробнее... | |
class | ffl::cssc::service::scm |
Контекст запуска c SCM. Подробнее... | |
class | ffl::cssc::service::console |
Контекст запуска как консольного приложения. Подробнее... | |
Пространства имен | |
namespace | ffl |
Корневое простртанство имен библиотки FFL. | |
Макросы | |
#define | FFL_CSSC_SERVICE(T) |
Объявление службы. |
#define FFL_CSSC_SERVICE | ( | T | ) |
VOID WINAPI service_entry(DWORD _argc, LPSTR* _argv) throw() \ { \ service::main<T, service::scm>(service::WIN32_OWN_PROCESS).run(_argc, (const char**)_argv);\ } \ void console_entry(int _argc, const char** _argv) throw() \ { \ service::main<T, service::console>(service::WIN32_OWN_PROCESS).run(_argc, _argv); \ } \ int main(int _argc, const char** _argv) throw() \ { \ SERVICE_TABLE_ENTRY s[2]; \ s[0].lpServiceName = ""; \ s[0].lpServiceProc = service_entry; \ s[1].lpServiceName = 0; \ s[1].lpServiceProc = 0; \ if(!StartServiceCtrlDispatcher(s)) \ { \ DWORD e = GetLastError(); \ if(e == ERROR_FAILED_SERVICE_CONTROLLER_CONNECT) \ console_entry(_argc, _argv); \ } \ return 0; \ }
Объявление службы.
Создает экземпляр службы T с именем N. Программа может иметь только один экземпляр службы.