Función GetLastError (errhandlingapi.h)

Recupera el valor del código de último error del subproceso que llama. El último código de error se mantiene por subproceso. Varios subprocesos no sobrescriben el último código de 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 toma nota de las condiciones en las que la función establece el último código de error. La mayoría de las funciones que establecen el código de último error del subproceso lo establecen cuando se produce un error. 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 ejecuta correctamente y otras no.

Comentarios

Las funciones ejecutadas por el subproceso que realiza la llamada establecen este valor llamando 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 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 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, vea Recuperación del código de Last-Error.

Requisitos

   
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 (incluir 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