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

Vea también

Funciones de control de errores

FormatMessage

HRESULT_FROM_WIN32

Último código de error

SetLastError

SetLastErrorEx

API de Vertdll disponibles en enclaves de VBS