Funzione GetLastError (errhandlingapi.h)

Recupera il valore dell'ultimo codice di errore del thread chiamante. L'ultimo codice di errore viene mantenuto per ogni thread. Più thread non sovrascrivono il codice di ultimo errore dell'altro.

Visual Basic: Le applicazioni devono chiamare err. LastDllError anziché GetLastError.

Sintassi

_Post_equals_last_error_ DWORD GetLastError();

Valore restituito

Il valore restituito è il codice di ultimo errore del thread chiamante.

La sezione Valore restituito della documentazione per ogni funzione che imposta il codice di ultimo errore annota le condizioni in cui la funzione imposta l'ultimo codice di errore. La maggior parte delle funzioni che impostano il codice di ultimo errore del thread la imposta quando hanno esito negativo. Tuttavia, alcune funzioni impostano anche il codice di ultimo errore al termine dell'operazione. Se la funzione non è documentata per impostare l'ultimo codice di errore, il valore restituito da questa funzione è semplicemente il codice di ultimo errore più recente da impostare; alcune funzioni impostano il codice di ultimo errore su 0 in caso di esito positivo e altri no.

Commenti

Le funzioni eseguite dal thread chiamante impostano questo valore chiamando la funzione SetLastError . È consigliabile chiamare immediatamente la funzione GetLastError quando il valore restituito di una funzione indica che tale chiamata restituirà dati utili. Ciò è dovuto al fatto che alcune funzioni chiamano SetLastError con zero quando hanno esito positivo, eliminando il codice di errore impostato dalla funzione non riuscita più di recente.

Per ottenere una stringa di errore per i codici di errore di sistema, usare la funzione FormatMessage . Per un elenco completo dei codici di errore forniti dal sistema operativo, vedere Codici di errore del sistema.

I codici di errore restituiti da una funzione non fanno parte della specifica dell'API Windows e possono variare in base al sistema operativo o al driver di dispositivo. Per questo motivo, non è possibile fornire l'elenco completo dei codici di errore che possono essere restituiti da ogni funzione. Esistono anche molte funzioni la cui documentazione non include nemmeno un elenco parziale di codici di errore che possono essere restituiti.

I codici di errore sono valori a 32 bit (bit 31 è il bit più significativo). Bit 29 è riservato ai codici di errore definiti dall'applicazione; nessun codice di errore di sistema ha questo bit impostato. Se si definisce un codice di errore per l'applicazione, impostare questo bit su uno. Ciò indica che il codice di errore è stato definito da un'applicazione e garantisce che il codice di errore non sia in conflitto con i codici di errore definiti dal sistema.

Per convertire un errore di sistema in un valore HRESULT , utilizzare la macro HRESULT_FROM_WIN32 .

Esempio

Per un esempio, vedere Recupero del codice Last-Error.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [app desktop | App UWP]
Server minimo supportato Windows Server 2003 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione errhandlingapi.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Funzioni di gestione degli errori

FormatMessage

HRESULT_FROM_WIN32

Codice ultimo errore

SetLastError

SetLastErrorEx

API Vertdll disponibili nelle enclave VBS