20 #define SERVICE_NAME _T("EaseFilter Service") 28 #define registerKey "********************************" 32 OutputDebugString(_T(
"EaseFilter Service: Main: Entry"));
34 SERVICE_TABLE_ENTRY ServiceTable[] =
40 if (StartServiceCtrlDispatcher (ServiceTable) == FALSE)
42 OutputDebugString(_T(
"EaseFilter Service: Main: StartServiceCtrlDispatcher returned error"));
43 return GetLastError ();
46 OutputDebugString(_T(
"EaseFilter Service: Main: Exit"));
53 DWORD Status = E_FAIL;
55 OutputDebugString(_T(
"EaseFilter Service: ServiceMain: Entry"));
61 OutputDebugString(_T(
"EaseFilter Service: ServiceMain: RegisterServiceCtrlHandler returned error"));
76 OutputDebugString(_T(
"EaseFilter Service: ServiceMain: SetServiceStatus returned error"));
82 OutputDebugString(_T(
"EaseFilter Service: ServiceMain: Performing Service Start Operations"));
88 OutputDebugString(_T(
"EaseFilter Service: ServiceMain: CreateEvent(g_ServiceStopEvent) returned error"));
97 OutputDebugString(_T(
"EaseFilter Service: ServiceMain: SetServiceStatus returned error"));
110 OutputDebugString(_T(
"EaseFilter Service: ServiceMain: SetServiceStatus returned error"));
116 OutputDebugString(_T(
"EaseFilter Service: ServiceMain: Waiting for Worker Thread to complete"));
119 WaitForSingleObject (hThread, INFINITE);
121 OutputDebugString(_T(
"EaseFilter Service: ServiceMain: Worker Thread Stop Event signaled"));
127 OutputDebugString(_T(
"EaseFilter Service: ServiceMain: Performing Cleanup Operations"));
138 OutputDebugString(_T(
"EaseFilter Service: ServiceMain: SetServiceStatus returned error"));
142 OutputDebugString(_T(
"EaseFilter Service: ServiceMain: Exit"));
150 OutputDebugString(_T(
"EaseFilter Service: ServiceCtrlHandler: Entry"));
154 case SERVICE_CONTROL_STOP :
156 OutputDebugString(_T(
"EaseFilter Service: ServiceCtrlHandler: SERVICE_CONTROL_STOP Request"));
172 OutputDebugString(_T(
"EaseFilter Service: ServiceCtrlHandler: SetServiceStatus returned error"));
184 OutputDebugString(_T(
"EaseFilter Service: ServiceCtrlHandler: Exit"));
190 OutputDebugString(_T(
"EaseFilter Service: ServiceWorkerThread: Entry"));
197 ULONG ioRegistration = 0;
199 DWORD threadCount = 5;
206 if( (
double)i/2 != i/2 )
208 ioRegistration |= 1<<i;
233 OutputDebugString(_T(
"EaseFilter Service: ServiceWorkerThread: Exit"));
235 return ERROR_SUCCESS;
VOID WINAPI ServiceMain(DWORD argc, LPTSTR *argv)
HANDLE g_ServiceStopEvent
int StartWindowsService()
VOID WINAPI ServiceCtrlHandler(DWORD CtrlCode)
SERVICE_STATUS g_ServiceStatus
DWORD WINAPI ServiceWorkerThread(LPVOID lpParam)
Proto_Message_Callback Proto_Disconnect_Callback DisconnectCallback
Proto_Message_Callback MessageCallback
void SendConfigInfoToFilter(ULONG FilterType, WCHAR *FilterFolder, ULONG IoRegistration, ULONG AccessFlag, UCHAR *encryptionKey, ULONG keyLength)
SERVICE_STATUS_HANDLE g_StatusHandle