Share via


código de Last-Error

Cuando se produce un error, la mayoría de las funciones del sistema devuelven un código de error, normalmente 0, NULL o –1. Muchas funciones del sistema también establecen un código de error adicional denominado último código de error. Este código de error se mantiene por separado para cada subproceso en ejecución; Un error en un subproceso no sobrescribe el último código de error en otro subproceso. Cualquier función puede llamar a la función SetLastError o SetLastErrorEx para establecer el código de último error para el subproceso actual. Estas funciones están pensadas principalmente para bibliotecas de vínculos dinámicos (DLL), por lo que pueden proporcionar información a la aplicación que realiza la llamada. Tenga en cuenta que algunas funciones llaman a SetLastError o SetLastErrorEx con 0 cuando se realizan correctamente, eliminando el código de error establecido por la función con errores más reciente, mientras que otros no.

Una aplicación puede recuperar el último código de error mediante la función GetLastError ; El código de error puede indicar más sobre lo que realmente se ha producido para que se produzca un error en la función. La documentación de las funciones del sistema indicará las condiciones en las que la función establece el código de último error.

El sistema define un conjunto de códigos de error que se pueden establecer como códigos de último error o que estas funciones pueden devolver. Los códigos de error son valores de 32 bits (el bit 31 es el bit más significativo). El bit 29 está reservado para los códigos de error definidos por la aplicación; ningún código de error del sistema tiene este bit establecido. Si define códigos de error para la aplicación, establezca este bit para indicar que una aplicación ha definido el código de error y para asegurarse de que los códigos de error no entren en conflicto con los códigos de error definidos por el sistema. Para obtener más información, vea WinError.h y Códigos de error del sistema.