
win32_set_service_pause_resume_state 함수는 서비스를 일시 정지 또는 재개하는 함수입니다. 이 함수의 사용법은 다음과 같습니다.
1. 서비스를 일시 정지하기 위해서는, 서비스의 현재 상태가 RUNNING(실행 중)일 때 이 함수를 사용합니다. 함수의 첫 번째 인자로 SERVICE_ACCEPT_PAUSE_CONTINUE(서비스 일시 정지 또는 재개) 플래그를 전달하고, 두 번째 인자로 서비스의 이름을 전달합니다. 예를 들어, 서비스가 현재 RUNNING 상태일 때 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
SC_HANDLE hService = OpenService(
hSCManager, // 서비스 관리자 핸들
"서비스 이름", // 서비스 이름
SERVICE_START | SERVICE_STOP | SERVICE_ACCEPT_PAUSE_CONTINUE // 서비스 제어 플래그
);
if (hService != NULL)
{
if (win32_set_service_pause_resume_state(hService, SERVICE_ACCEPT_PAUSE_CONTINUE, SERVICE_PAUSED) == 0)
{
// 서비스 일시 정지에 성공했습니다.
}
else
{
// 서비스 일시 정지에 실패했습니다.
}
}
2. 서비스를 재개하기 위해서는, 서비스의 현재 상태가 PAUSED(일시 정지)일 때 이 함수를 사용합니다. 함수의 첫 번째 인자로 SERVICE_ACCEPT_PAUSE_CONTINUE(서비스 일시 정지 또는 재개) 플래그를 전달하고, 두 번째 인자로 서비스의 이름을 전달합니다. 예를 들어, 서비스가 현재 PAUSED 상태일 때 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
c
SC_HANDLE hService = OpenService(
hSCManager, // 서비스 관리자 핸들
"서비스 이름", // 서비스 이름
SERVICE_START | SERVICE_STOP | SERVICE_ACCEPT_PAUSE_CONTINUE // 서비스 제어 플래그
);
if (hService != NULL)
{
if (win32_set_service_pause_resume_state(hService, SERVICE_ACCEPT_PAUSE_CONTINUE, SERVICE_RUNNING) == 0)
{
// 서비스 재개를 성공했습니다.
}
else
{
// 서비스 재개를 실패했습니다.
}
}
win32_set_service_pause_resume_state 함수의 반환 값은 성공 시 0을, 실패 시 에러 코드를 반환합니다.
2025-07-02 07:15