Función GetLastError (errhandlingapi.h)
Recupera el valor del último código de error del subproceso de llamada. El último código de error se mantiene por subproceso. Varios subprocesos no sobrescriben el código de último error del otro.
Visual Basic: Las aplicaciones deben llamar a err. LastDllError en lugar de GetLastError.
Sintaxis
_Post_equals_last_error_ DWORD GetLastError();
Valor devuelto
El valor devuelto es el código de último error del subproceso que realiza la llamada.
La sección Valor devuelto de la documentación de cada función que establece el código de último error señala las condiciones en las que la función establece el código de último error. La mayoría de las funciones que establecen el código de último error del subproceso lo establecen cuando fallan. Sin embargo, algunas funciones también establecen el último código de error cuando se realizan correctamente. Si la función no está documentada para establecer el último código de error, el valor devuelto por esta función es simplemente el código de último error más reciente que se ha establecido; algunas funciones establecen el último código de error en 0 si se ha realizado correctamente y otras no.
Comentarios
Las funciones ejecutadas por el subproceso que realiza la llamada establecen este valor mediante una llamada a la función SetLastError . Debe llamar a la función GetLastError inmediatamente cuando el valor devuelto de una función indica que dicha llamada devolverá datos útiles. Esto se debe a que algunas funciones llaman a SetLastError con un cero cuando se realizan correctamente, eliminando el código de error establecido por la función con errores más reciente.
Para obtener una cadena de error para los códigos de error del sistema, use la función FormatMessage . Para obtener una lista completa de los códigos de error proporcionados por el sistema operativo, consulte Códigos de error del sistema.
Los códigos de error devueltos por una función no forman parte de la especificación de la API de Windows y pueden variar según el sistema operativo o el controlador de dispositivo. Por este motivo, no se puede proporcionar la lista completa de códigos de error que cada función puede devolver. También hay muchas funciones cuya documentación no incluye incluso una lista parcial de códigos de error que se pueden devolver.
Los códigos de error son valores de 32 bits (el bit 31 es el más significativo). El bit 29 está reservado para códigos de error definidos por la aplicación; ningún código de error del sistema tiene este bit establecido. Si va a definir un código de error para la aplicación, establezca este bit en uno. Esto indica que una aplicación ha definido el código de error y garantiza que el código de error no entre en conflicto con los códigos de error definidos por el sistema.
Para convertir un error del sistema en un valor HRESULT , use la macro HRESULT_FROM_WIN32 .
Ejemplos
Para obtener un ejemplo, consulte Recuperación del código de Last-Error.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | errhandlingapi.h (incluya Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |