1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #include "StdAfx.h"
- #include "MainProcess.h"
- #include "WindowService.h"
- CMainProcess::CMainProcess(void)
- {
- m_hBackupDatabase = NULL;
- m_hCheckServices = NULL;
- m_hEvent1 = NULL;
- m_hEvent2 = NULL;
- }
- CMainProcess::~CMainProcess(void)
- {
- }
- void CMainProcess::StartWork()
- {
- m_hEvent1 = CreateEvent(NULL, TRUE, FALSE, NULL);
- if ( m_hEvent1 == NULL )
- {
- _tprintf_s(_T("创建事件失败\n"));
- return;
- }
- m_hEvent2 = CreateEvent(NULL, TRUE, FALSE, NULL);
- if ( m_hEvent2 == NULL )
- {
- _tprintf_s(_T("创建事件失败2\n"));
- return;
- }
- m_hCheckServices = CreateThread(NULL, 0, CheckSvcStatusThread, this, 0, NULL);
- if ( m_hCheckServices == NULL)
- {
- SetEvent(m_hEvent1);
- SetEvent(m_hEvent2);
- CloseHandle(m_hEvent1);
- CloseHandle(m_hEvent2);
- m_hEvent1 = NULL;
- m_hEvent2 = NULL;
- _tprintf_s(_T("创建线程失败\n"));
- return;
- }
- m_hBackupDatabase = CreateThread(NULL, 0, BackupDatabaseThread, this, 0, NULL);
- if ( m_hBackupDatabase == NULL )
- {
- SetEvent(m_hEvent1);
- SetEvent(m_hEvent2);
- CloseHandle(m_hEvent1);
- CloseHandle(m_hEvent2);
- m_hEvent1 = NULL;
- m_hEvent2 = NULL;
- WaitForSingleObject(m_hCheckServices,INFINITE);
- if (m_hBackupDatabase)
- CloseHandle(m_hBackupDatabase);
- m_hBackupDatabase = NULL;
- _tprintf_s(_T("创建线程失败2\n"));
- return;
- }
- }
- void CMainProcess::EndofWork()
- {
- }
- DWORD CMainProcess::CheckSvcStatusThread(LPVOID lpVoid)
- {
- CMainProcess *that = (CMainProcess*)lpVoid;
- do
- {
- } while ( WaitForSingleObject(that->m_hEvent1, 200) == WAIT_TIMEOUT );
- return 0;
- }
- DWORD CMainProcess::BackupDatabaseThread(LPVOID lpVoid)
- {
- CMainProcess *that = (CMainProcess*)lpVoid;
- do
- {
- } while ( WaitForSingleObject(that->m_hEvent2, 200) == WAIT_TIMEOUT );
- return 0;
- }
|