SERVICE_FAILURE_ACTIONSW 구조체(winsvc.h)
서비스 컨트롤러가 서비스의 각 실패에 대해 수행해야 하는 작업을 나타냅니다. 서비스는 서비스 컨트롤러에 SERVICE_STOPPED 상태 보고하지 않고 종료될 때 실패한 것으로 간주됩니다.
실패 작업을 실행할 추가 상황을 구성하려면 SERVICE_FAILURE_ACTIONS_FLAG 참조하세요.
구문
typedef struct _SERVICE_FAILURE_ACTIONSW {
DWORD dwResetPeriod;
LPWSTR lpRebootMsg;
LPWSTR lpCommand;
DWORD cActions;
SC_ACTION *lpsaActions;
} SERVICE_FAILURE_ACTIONSW, *LPSERVICE_FAILURE_ACTIONSW;
멤버
dwResetPeriod
오류가 없는 경우 실패 횟수를 0으로 다시 설정하는 시간(초)입니다. INFINITE를 지정하여 이 값을 다시 설정해서는 안 함을 나타냅니다.
lpRebootMsg
SC_ACTION_REBOOT 서비스 컨트롤러 작업에 대한 응답으로 다시 부팅하기 전에 서버 사용자에게 브로드캐스트할 메시지입니다.
이 값이 NULL이면 다시 부팅 메시지가 변경되지 않습니다. 값이 빈 문자열("")인 경우 다시 부팅 메시지가 삭제되고 메시지가 브로드캐스트되지 않습니다.
이 멤버는 다음 형식을 사용하여 지역화된 문자열을 지정할 수 있습니다.
@[path]dllname,-strID
식별자 strID 가 있는 문자열은 dllname에서 로드됩니다. 경로 는 선택 사항입니다. 자세한 내용은 RegLoadMUIString을 참조하세요.
Windows Server 2003 및 Windows XP: 지역화된 문자열은 Windows Vista까지 지원되지 않습니다.
lpCommand
SC_ACTION_RUN_COMMAND 서비스 컨트롤러 작업에 대한 응답으로 CreateProcess 함수를 실행할 프로세스의 명령줄입니다. 이 프로세스는 서비스와 동일한 계정으로 실행됩니다.
이 값이 NULL이면 명령이 변경되지 않습니다. 값이 빈 문자열("")이면 명령이 삭제되고 서비스가 실패할 때 프로그램이 실행되지 않습니다.
cActions
lpsaActions 배열의 요소 수입니다.
이 값이 0이지만 lpsaActions 가 NULL이 아니면 다시 설정 기간 및 오류 작업의 배열이 삭제됩니다.
lpsaActions
SC_ACTION 구조체의 배열에 대한 포인터입니다.
이 값이 NULL이면 cActions 및 dwResetPeriod 멤버가 무시됩니다.
설명
서비스 제어 관리자는 시스템이 부팅된 후 각 서비스가 실패한 횟수를 계산합니다. 서비스가 dwResetPeriod 초 동안 실패하지 않은 경우 개수가 0으로 다시 설정됩니다. 서비스가 N번째 시간 동안 실패하면 서비스 컨트롤러는 lpsaActions 배열의 요소 [N-1]에 지정된 작업을 수행합니다. N이 cActions보다 큰 경우 서비스 컨트롤러는 배열의 마지막 작업을 반복합니다.
참고
winsvc.h 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 SERVICE_FAILURE_ACTIONS 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
머리글 | winsvc.h(Windows.h 포함) |