Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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+BREAK o CTRL+CLOSE . Inicialmente, la lista de controladores de control para cada proceso contiene solo una función de controlador predeterminada que llama a la función ExitProcess . Un proceso de consola puede agregar o quitar funciones de HandlerRoutine adicionales mediante una llamada a la función SetConsoleCtrlHandler . Esta función no afecta a las listas de controladores de control para otros procesos. Cuando un proceso de consola recibe cualquiera de las señales de control, llama a las funciones del controlador por última vez registradas, primero llamadas 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 obtener un ejemplo de una función de controlador de control, vea Registro de una función de controlador de control.
Tenga en cuenta que llamar a AttachConsole, AllocConsole o FreeConsole restablecerá la tabla de controladores de control en el proceso de cliente a su estado inicial.