Identificadores de control de la consola

Cada proceso de consola tiene su propia lista de funciones de controlador de control a las que llama el sistema cuando el proceso recibe una señal CTRL+C, CTRL+INTERRUMPIR o CTRL+CERRAR . Inicialmente, la lista de controladores de control para cada proceso solo contiene una función de controlador predeterminada que llama a la función ExitProcess. Un proceso de consola puede agregar o quitar funciones HandlerRoutine adicionales mediante una llamada a la función SetConsoleCtrlHandler. Esta función no afecta a las listas de identificadores de control de otros procesos. Cuando un proceso de consola recibe alguna de las señales de control, llama a las funciones de controlador empezando por las últimas registradas, hasta que uno de los controladores devuelve TRUE. Si ninguno de los controladores devuelve TRUE, se llama al controlador predeterminado.

El parámetro dwCtrlType de la función identifica la señal de control que se recibió y el valor devuelto indica si se controló la señal.

Se inicia un nuevo subproceso dentro del proceso de cliente de línea de comandos para ejecutar las rutinas del controlador. Puede encontrar más información sobre los valores de tiempo de espera y la acción de este subproceso en la documentación de la función HandlerRoutine.

Para ver un ejemplo de una función de identificador de control, vea Registro de una función de identificador de control.

Tenga en cueta que al llamar a AttachConsole, AllocConsole o FreeConsole, la tabla de identificadores de control en el proceso de cliente se restablecerá a su estado inicial.