
win32_set_service_status 함수는 서비스 상태를 변경하는 데 사용되며, 서비스 상태에 따라 다른 인자를 사용해야 합니다.
서비스 상태는 다음과 같이 나누어집니다.
- SERVICE_START_PENDING : 서비스가 시작 중인 상태입니다. 이 상태에서는 서비스 상태를 SERVICE_RUNNING으로 전환할 수 있습니다.
- SERVICE_STOP_PENDING : 서비스가 중지 중인 상태입니다. 이 상태에서는 서비스 상태를 SERVICE_STOPPED로 전환할 수 있습니다.
- SERVICE_RUNNING : 서비스가 실행 중인 상태입니다.
- SERVICE_STOPPED : 서비스가 중지된 상태입니다.
서비스 상태를 변경할 때는 다음과 같은 인자를 사용합니다.
- dwCurrentState : 현재 서비스 상태를 나타내는 32비트 정수입니다.
- dwWin32ExitCode : 서비스가 종료한 경우의 32비트 정수입니다.
- dwServiceSpecificExitCode : 서비스에 대한 특수한 종료 코드를 나타내는 32비트 정수입니다.
- dwCheckPoint : 서비스가 시작 중인 경우에 사용하는 32비트 정수입니다.
- dwWaitHint : 서비스가 시작 중인 경우에 사용하는 32비트 정수입니다.
예를 들어, 서비스가 시작되면 다음과 같이 서비스 상태를 변경할 수 있습니다.
#hostingforum.kr
c
SERVICE_STATUS status;
status.dwCurrentState = SERVICE_START_PENDING;
status.dwWin32ExitCode = 0;
status.dwServiceSpecificExitCode = 0;
status.dwCheckPoint = 0;
status.dwWaitHint = 0;
win32_set_service_status(hServiceStatus, &status);
서비스가 시작되면 다음과 같이 서비스 상태를 변경할 수 있습니다.
#hostingforum.kr
c
SERVICE_STATUS status;
status.dwCurrentState = SERVICE_RUNNING;
status.dwWin32ExitCode = 0;
status.dwServiceSpecificExitCode = 0;
status.dwCheckPoint = 0;
status.dwWaitHint = 0;
win32_set_service_status(hServiceStatus, &status);
이러한 예제를 참고하여 서비스 상태를 변경할 때 필요한 인자를 지정할 수 있습니다.
2025-03-19 00:29