Compartir a través de


Función GenerateConsoleCtrlEvent

Envía una señal especificada a un grupo de procesos de consola que comparte la consola asociada al proceso de llamada.

Sintaxis

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

Parámetros

dwCtrlEvent [in]
Tipo de señal que se va a generar. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
CTRL_C_EVENT 0 Genera una señal CTRL+C. Esta señal no se puede limitar a un grupo de procesos específico. Si dwProcessGroupId es distinto de cero, esta función tendrá éxito, pero los procesos dentro del grupo de procesos especificado no recibirán la señal CTRL+C.
CTRL_BREAK_EVENT 1 Genera una señal CTRL+INTERRUMPIR.

dwProcessGroupId [in]
Identificador del grupo de procesos para recibir la señal. Se crea un grupo de procesos cuando se especifica la marca CREATE_NEW_PROCESS_GROUP en una llamada a la función CreateProcess. El identificador del nuevo proceso también es el identificador de grupo de procesos de un nuevo grupo de procesos. El grupo de procesos incluye todos los procesos descendientes del proceso raíz. Solo los procesos del grupo que comparten la misma consola que el proceso de llamada reciben la señal. Es decir, si un proceso del grupo crea una nueva consola, ese proceso no recibe la señal; tampoco sus descendientes.

Si este parámetro es cero, la señal se genera en todos los procesos que comparten la consola del proceso de llamada.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

GenerateConsoleCtrlEvent hace que se llame a las funciones del identificador de control de los procesos del grupo de destino. Todos los procesos de la consola tienen una función de controlador predeterminada que llama a la función ExitProcess. Un proceso de consola puede usar la función SetConsoleCtrlHandler para instalar o quitar otras funciones de controlador.

SetConsoleCtrlHandler también puede habilitar un atributo heredable que hace que el proceso de llamada ignore las señales CTRL+C. Si GenerateConsoleCtrlEvent envía una señal CTRL+C a un proceso para el que esté habilitado este atributo, no se llama a las funciones de controlador para ese proceso. Las señales CTRL+BREAK siempre hacen que se llame a las funciones del controlador.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado ConsoleApi2.h (a través de WinCon.h, incluido Windows.h)
Biblioteca Kernel32.lib
Archivo DLL Kernel32.dll

Consulte también

Identificadores de control de la consola

Funciones de la consola

CreateProcess

ExitProcess

SetConsoleCtrlHandler