
Win32_create_service 함수를 사용하여 Windows 서비스를 생성할 때, 필요한 정보를 다음과 같이 가져와야 합니다.
- 서비스 이름: 서비스의 이름을 지정하는 데 사용됩니다. 예를 들어, "MyService"와 같은 이름을 사용할 수 있습니다.
- 디스플레이 이름: 서비스의 디스플레이 이름을 지정하는 데 사용됩니다. 예를 들어, "My Service"와 같은 이름을 사용할 수 있습니다.
- DESCRIPTION: 서비스의 설명을 지정하는 데 사용됩니다. 예를 들어, "이 서비스는 시스템을 관리하는 데 사용됩니다."와 같은 설명을 사용할 수 있습니다.
- START_TYPE: 서비스가 시작되는 방법을 지정하는 데 사용됩니다. 예를 들어, SERVICE_AUTO_START(자동 시작) 또는 SERVICE_DEMAND_START(수동 시작)과 같은 값을 사용할 수 있습니다.
- ERROR_CONTROL: 서비스가 오류를 처리하는 방법을 지정하는 데 사용됩니다. 예를 들어, SERVICE_ERROR_NORMAL(일반 오류) 또는 SERVICE_ERROR_SEVERE(중요 오류)과 같은 값을 사용할 수 있습니다.
- TYPE: 서비스의 유형을 지정하는 데 사용됩니다. 예를 들어, SERVICE_WIN32_OWN_PROCESS(독립 프로세스) 또는 SERVICE_WIN32_SHARE_PROCESS(공유 프로세스)과 같은 값을 사용할 수 있습니다.
예를 들어, 다음 코드는 Win32_create_service 함수를 사용하여 서비스를 생성하는 방법을 보여줍니다.
#hostingforum.kr
c
#include
int main() {
SC_HANDLE hSCManager;
SC_HANDLE hService;
// 서비스 관리자 핸들을 가져옵니다.
hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_CREATE_SERVICE);
// 서비스 핸들을 가져옵니다.
hService = CreateService(hSCManager,
"MyService", // 서비스 이름
"My Service", // 디스플레이 이름
SERVICE_ALL_ACCESS, // 서비스 권한
SERVICE_WIN32_OWN_PROCESS, // 서비스 유형
SERVICE_AUTO_START, // 시작 유형
SERVICE_ERROR_NORMAL, // 오류 처리 유형
NULL, // 서비스 실행 파일
NULL, // 서비스 시작 매개변수
NULL, // 서비스 종료 매개변수
NULL, // 서비스 제어 매개변수
NULL, // 서비스 제어 매개변수
NULL); // 서비스 제어 매개변수
// 서비스 핸들을 닫습니다.
CloseServiceHandle(hService);
CloseServiceHandle(hSCManager);
return 0;
}
이 코드는 서비스를 생성하는 데 필요한 정보를 다음과 같이 지정합니다.
- 서비스 이름: "MyService"
- 디스플레이 이름: "My Service"
- DESCRIPTION: 없음
- START_TYPE: SERVICE_AUTO_START(자동 시작)
- ERROR_CONTROL: SERVICE_ERROR_NORMAL(일반 오류)
- TYPE: SERVICE_WIN32_OWN_PROCESS(독립 프로세스)
이 코드는 서비스를 생성하는 데 필요한 정보를 지정하고, 서비스 핸들을 닫는 방법을 보여줍니다.
2025-08-12 05:57