InitiateSystemShutdownExA 함수(winreg.h)
지정된 컴퓨터의 종료 및 선택적 다시 시작을 시작하고 필요에 따라 종료 이유를 기록합니다.
통사론
BOOL InitiateSystemShutdownExA(
[in, optional] LPSTR lpMachineName,
[in, optional] LPSTR lpMessage,
[in] DWORD dwTimeout,
[in] BOOL bForceAppsClosed,
[in] BOOL bRebootAfterShutdown,
[in] DWORD dwReason
);
매개 변수
[in, optional] lpMachineName
종료할 컴퓨터의 네트워크 이름입니다.
[in, optional] lpMessage
종료 대화 상자에 표시할 메시지입니다. 이 매개 변수는 메시지가 필요하지 않은 경우 NULL
Windows Server 2003 및 Windows XP: 이 문자열은 이벤트 로그 항목에도 주석으로 저장됩니다.
[in] dwTimeout
종료 대화 상자가 표시되어야 하는 시간(초)입니다. 이 대화 상자가 표시되는 동안 AbortSystemShutdown 함수로 종료를 중지할 수 있습니다.
dwTimeout 0이 아니면 InitiateSystemShutdownEx 지정된 컴퓨터에 대화 상자가 표시됩니다. 대화 상자에 함수를 호출한 사용자의 이름이 표시되고, lpMessage 매개 변수로 지정된 메시지가 표시되고, 로그오프하라는 메시지가 표시됩니다. 대화 상자가 만들어지면 경고음이 울리고 시스템의 다른 창 위에 남아 있습니다. 대화 상자를 이동할 수 있지만 닫을 수는 없습니다. 타이머는 종료하기 전에 남은 시간을 카운트다운합니다.
windows Server 2003 및 Windows XP SP1을 : 제한 시간 값은 MAX_SHUTDOWN_TIMEOUT 초로 제한됩니다.
windows Server 2003 및 Windows XP SP1을 : 종료할 컴퓨터가 터미널 서비스 서버인 경우 시스템은 모든 로컬 및 원격 사용자에게 종료가 시작되었음을 경고하는 대화 상자를 표시합니다. 대화 상자에는 종료를 요청한 사람, 표시 메시지(lpMessage참조), 서버가 종료될 때까지의 시간 등이 포함됩니다.
[in] bForceAppsClosed
이 매개 변수가 TRUE
[in] bRebootAfterShutdown
이 매개 변수가 TRUE
[in] dwReason
종료를 시작하는 이유입니다. 이 매개 변수는
이 매개 변수가 0이면 기본값은 "이러한 이유로 타이틀을 찾을 수 없음"으로 기록되는 정의되지 않은 종료입니다. 기본적으로 계획되지 않은 종료이기도 합니다. 시스템 구성 방법에 따라 계획되지 않은 종료는 시스템 상태 정보를 포함하는 파일 생성을 트리거하여 종료를 지연할 수 있습니다. 따라서 이 매개 변수에는 0을 사용하지 마세요.
Windows XP: 시스템 상태 정보는 계획되지 않은 시스템 종료 중에 저장되지 않습니다. 앞의 텍스트는 적용되지 않습니다.
반환 값
함수가 성공하면 반환 값은 0이 아닌 값입니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError호출합니다.
발언
로컬 컴퓨터를 종료하려면 호출 스레드에 SE_SHUTDOWN_NAME 권한이 있어야 합니다. 원격 컴퓨터를 종료하려면 호출 스레드에 원격 컴퓨터에 대한 SE_REMOTE_SHUTDOWN_NAME 권한이 있어야 합니다. 기본적으로 사용자는 로그온한 컴퓨터에서 SE_SHUTDOWN_NAME 권한을 사용하도록 설정할 수 있으며 관리자는 원격 컴퓨터에서 SE_REMOTE_SHUTDOWN_NAME 권한을 사용하도록 설정할 수 있습니다. 자세한 내용은 특수 권한
오류의 일반적인 원인으로는 잘못되었거나 액세스할 수 없는 컴퓨터 이름 또는 권한 부족 등이 있습니다. 지정한 컴퓨터에서 종료가 이미 진행 중인 경우 오류 ERROR_SHUTDOWN_IN_PROGRESS 반환됩니다. 빠른 사용자 전환을 사용하지만 로그온한 사용자가 없는 경우 오류 ERROR_NOT_READY 반환될 수 있습니다.
0이 아닌 반환 값이 로그오프가 성공했거나 성공한 것은 아닙니다. 종료는 비동기 프로세스이며 API 호출이 반환된 지 오래 지났거나 전혀 발생하지 않을 수 있습니다. 시간 제한 값이 0이더라도 애플리케이션, 서비스 또는 시스템에서 종료를 계속 중단할 수 있습니다. 0이 아닌 반환 값은 권한 및 매개 변수의 유효성 검사가 성공했으며 시스템이 종료 요청을 수락했음을 나타냅니다.
이 함수가 호출되면 호출자는 저장되지 않은 변경 내용이 있는 애플리케이션을 강제로 닫아야 하는지 여부를 지정해야 합니다. 호출자가 이러한 애플리케이션을 강제로 닫지 않도록 선택하고 저장되지 않은 변경 내용이 있는 애플리케이션이 콘솔 세션에서 실행 중인 경우 콘솔 세션에 로그인한 사용자가 종료를 중단하거나, 변경 내용을 저장하거나, 애플리케이션을 닫거나, 애플리케이션을 강제로 닫을 때까지 종료가 계속 진행됩니다. 이 기간 동안 콘솔 사용자를 제외하고 종료가 중단되지 않을 수 있으며 다른 종료가 시작되지 않을 수 있습니다.
이 함수를
메모
winreg.h 헤더는 UNICODE 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 InitiateSystemShutdownEx를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | winreg.h(Windows.h 포함) |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |
참고 항목
AbortSystemShutdown