SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandler( _In_ LPCTSTR lpServiceName, -----① _In_ LPHANDLER_FUNCTION lpHandlerProc -----② );
함수설명 :
서비스 시작, 종료 재시작 등을 관리하는 콜백을 등록할 때 사용. 성공시 서비스 상태 변수가 넘어온다.
① lpServiceName : 서비스 이름
② lpHandleProc : 서비스 시작, 종료, 재시작 등의 상태가 넘어오는 콜백
콜백 함수 - Handler()
VOID WINAPI Handler( _In_ DWORD fdwControl );
제어 코드 |
의미 |
SERVICE_CONTROL_CONTINUE 0x00000003 |
다시 시작 해야하는 일시 중지된 서비스 |
SERVICE_CONTROL_INTERROGATE 0x00000004 |
서비스 제어 매니저에 그것의 현재 상태 정보를 보고하는 서비스를 통지한다. 핸들러는 NO_ERROR를 반환하며 SCM에서는 현재 서비스 상태를 인식한다. |
SERVICE_CONTROL_NETBINDADD 0x00000007 |
바인딩에 새로운 구성 요소가 있다는 것을 네트워스 서비스에 알린다. 이 서비스는 새로운 구성 요소에 바인딩 해야한다. |
SERVICE_CONTROL_NETBINDDISABLE 0X0000000A |
바인딩중 하나가 비 활성화 된 것을 네트워크 서비스에 알린다. 서비스는 바인딩 정보를 다시 읽고 바인딩을 제거해야한다. |
SERVICE_CONTROL_NETBINDENABLE 0x00000009 |
잘못된 바이딩이 활성화되어있는 네트워크 서비스를 알린다. 서비스는 바인딩 정보를 다시 읽고 새로운 바인딩을 추가 해야 한다. |
SERVICE_CONTROL_NETBINDREMOVE 0x00000008 | 바인딩에 대한 구성 요소가 제거 된 네트워크 서비스를 알린다. 서비스는 바인딩 정보를 다시 읽고 제거 된 구성 요소에서 바인딩을 해제해야 한다. |
SERVICE_CONTROL_PARAMCHANGE 0x00000006 |
서비스의 시작 매개 변수가 변경되었음을 알린다. 서비스는 바뀐 시작 매개 변수를 다시 읽어야 한다. |
SERVICE_CONTROL_PAUSE 0x00000002 |
일시 중지해야하는 서비스를 알린다. |
SERVICE_CONTROL_SHUTDOWN 0x00000005 | 시스템이 정리 작업을 할 수 잇는 서비스 종료를 알린다. |
SERVICE_CONTROL_STOP 0x00000001 | 중지해야 하는 서비스를 알린다. |
'Programming > Windows&C#' 카테고리의 다른 글
[Windows/WinAPI] WindowsAPI / OpenSCManager (0) | 2014.01.19 |
---|---|
[Windows/WinAPI] WindowsAPI / SetServiceStatus (0) | 2014.01.19 |
[Windows/WinAPI] WindowsAPI / StartServiceCtrlDispatcher (0) | 2014.01.19 |
[Windows/WinAPI] WindowsAPI / WritePrivateProfileString (0) | 2014.01.12 |
[Windows/WinAPI] WindowsAPI / GetPrivateProfileString (0) | 2014.01.12 |