diff --git a/UsbDkHelper/Installer.h b/UsbDkHelper/Installer.h index 6d64fa5..9f90709 100644 --- a/UsbDkHelper/Installer.h +++ b/UsbDkHelper/Installer.h @@ -25,7 +25,6 @@ #include "Exception.h" #include "WdfCoinstaller.h" -#include "ServiceManager.h" #include "UsbDkHelper.h" #include "RegAccess.h" diff --git a/UsbDkHelper/ServiceManager.cpp b/UsbDkHelper/ServiceManager.cpp index 6f39335..7b2e865 100644 --- a/UsbDkHelper/ServiceManager.cpp +++ b/UsbDkHelper/ServiceManager.cpp @@ -22,7 +22,6 @@ **********************************************************************/ #include "stdafx.h" -#include "ServiceManager.h" //-------------------------------------------------------------------------------- diff --git a/UsbDkHelper/ServiceManager.h b/UsbDkHelper/ServiceManager.h index 6a8d454..4766ea5 100644 --- a/UsbDkHelper/ServiceManager.h +++ b/UsbDkHelper/ServiceManager.h @@ -23,7 +23,6 @@ #pragma once - //----------------------------------------------------------------------------------- #define SERVICE_MANAGER_EXCEPTION_STRING TEXT("ServiceManager throw the exception. ") @@ -38,27 +37,6 @@ public: }; //----------------------------------------------------------------------------------- -class SCMHandleHolder -{ -public: - SCMHandleHolder(SC_HANDLE Handle) - : m_Handle(Handle) - {} - - ~SCMHandleHolder() - { - if (m_Handle != nullptr) - { - CloseServiceHandle(m_Handle); - } - } - - operator bool() const { return m_Handle != nullptr; } - operator SC_HANDLE() const { return m_Handle; } -private: - SC_HANDLE m_Handle; -}; - class ServiceManager { public: @@ -68,6 +46,8 @@ public: void DeleteServiceObject(const tstring &ServiceName); private: + typedef UsbDkHandleHolder SCMHandleHolder; + static void WaitForServiceStop(const SCMHandleHolder &schService); SCMHandleHolder m_schSCManager; diff --git a/UsbDkHelper/stdafx.h b/UsbDkHelper/stdafx.h index 72c7ce1..6f21e13 100644 --- a/UsbDkHelper/stdafx.h +++ b/UsbDkHelper/stdafx.h @@ -43,5 +43,7 @@ #include "tstrings.h" #include "Exception.h" +#include "Utils.h" +#include "ServiceManager.h" using namespace std;