GenerateConsoleCtrlEvent 함수

호출 프로세스와 연결된 콘솔을 공유하는 콘솔 프로세스 그룹에 지정된 신호를 보냅니다.

구문

BOOL WINAPI GenerateConsoleCtrlEvent(
  _In_ DWORD dwCtrlEvent,
  _In_ DWORD dwProcessGroupId
);

매개 변수

dwCtrlEvent [in]
생성할 신호의 유형입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
CTRL_C_EVENT 0 Ctrl+C 신호를 생성합니다. 이 신호는 특정 프로세스 그룹으로 제한할 수 없습니다. dwProcessGroupId가 0이 아닌 경우 이 함수는 성공하지만 Ctrl+C 신호는 지정된 프로세스 그룹 내의 프로세스에서 수신되지 않습니다.
CTRL_BREAK_EVENT 1 Ctrl+BREAK 신호를 생성합니다.

dwProcessGroupId [in]
신호를 받을 프로세스 그룹의 식별자입니다. 프로세스 그룹은 CreateProcess 함수에 대한 호출에서 CREATE_NEW_PROCESS_GROUP 플래그를 지정할 때 만들어집니다. 새 프로세스의 프로세스 식별자는 새 프로세스 그룹의 프로세스 그룹 식별자이기도 합니다. 프로세스 그룹에는 루트 프로세스의 하위 항목인 모든 프로세스가 포함됩니다. 호출 프로세스와 동일한 콘솔을 공유하는 그룹의 프로세스만 신호를 받습니다. 즉, 그룹의 프로세스가 새 콘솔을 만드는 경우 해당 프로세스는 신호를 받지 않으며 해당 하위 항목도 수신하지 않습니다.

이 매개 변수가 0이면 호출 프로세스의 콘솔을 공유하는 모든 프로세스에서 신호가 생성됩니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

GenerateConsoleCtrlEvent 는 대상 그룹에 있는 프로세스의 제어 처리기 함수를 호출합니다. 모든 콘솔 프로세스에는 ExitProcess 함수를 호출하는 기본 처리기 함수가 있습니다. 콘솔 프로세스는 SetConsoleCtrlHandler 함수를 사용하여 다른 처리기 함수를 설치하거나 제거할 수 있습니다.

SetConsoleCtrlHandler 는 호출 프로세스가 Ctrl+C 신호를 무시하도록 하는 상속 가능한 특성을 사용하도록 설정할 수도 있습니다. GenerateConsoleCtrlEvent가 이 특성을 사용하는 프로세스에 Ctrl+C 신호를 보내면 해당 프로세스에 대한 처리기 함수가 호출되지 않습니다. Ctrl+BREAK 신호는 항상 처리기 함수를 호출합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
헤더 ConsoleApi2.h(WinCon.h를 통해 Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

콘솔 컨트롤 처리기

콘솔 함수

Createprocess

ExitProcess

SetConsoleCtrlHandler