Partager via


GetLastError, fonction (errhandlingapi.h)

Récupère la valeur du code de dernière erreur du thread appelant. Le code de la dernière erreur est conservé par thread. Plusieurs threads ne remplacent pas le code de la dernière erreur de l’autre.

Visual Basic : Les applications doivent appeler err. LastDllError au lieu de GetLastError.

Syntaxe

_Post_equals_last_error_ DWORD GetLastError();

Valeur de retour

La valeur de retour est le code de dernière erreur du thread appelant.

La section Valeur de retour de la documentation pour chaque fonction qui définit le code de la dernière erreur note les conditions dans lesquelles la fonction définit le code de dernière erreur. La plupart des fonctions qui définissent le code de dernière erreur du thread le définissent en cas d’échec. Toutefois, certaines fonctions définissent également le code de la dernière erreur lorsqu’elles réussissent. Si la fonction n’est pas documentée pour définir le code de dernière erreur, la valeur retournée par cette fonction est simplement le code de dernière erreur le plus récent à avoir été défini ; certaines fonctions définissent le code de la dernière erreur sur 0 en cas de réussite, tandis que d’autres ne le font pas.

Remarques

Les fonctions exécutées par le thread appelant définissent cette valeur en appelant la fonction SetLastError . Vous devez appeler la fonction GetLastError immédiatement lorsque la valeur de retour d’une fonction indique qu’un tel appel retourne des données utiles. En effet, certaines fonctions appellent SetLastError avec un zéro lorsqu’elles réussissent, effaçant le code d’erreur défini par la dernière fonction ayant échoué.

Pour obtenir une chaîne d’erreur pour les codes d’erreur système, utilisez la fonction FormatMessage . Pour obtenir la liste complète des codes d’erreur fournis par le système d’exploitation, consultez Codes d’erreur système.

Les codes d’erreur retournés par une fonction ne font pas partie de la spécification de l’API Windows et peuvent varier selon le système d’exploitation ou le pilote de périphérique. Pour cette raison, nous ne pouvons pas fournir la liste complète des codes d’erreur qui peuvent être retournés par chaque fonction. Il existe également de nombreuses fonctions dont la documentation n’inclut même pas une liste partielle de codes d’erreur pouvant être retournés.

Les codes d’erreur sont des valeurs 32 bits (le bit 31 est le bit le plus significatif). Le bit 29 est réservé aux codes d’erreur définis par l’application ; ce bit n’est défini pour aucun code d’erreur. Si vous définissez un code d’erreur pour votre application, définissez ce bit sur un. Cela indique que le code d’erreur a été défini par une application et garantit que votre code d’erreur n’entre pas en conflit avec les codes d’erreur définis par le système.

Pour convertir une erreur système en valeur HRESULT , utilisez la macro HRESULT_FROM_WIN32 .

Exemples

Pour obtenir un exemple, consultez Récupération du code Last-Error.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête errhandlingapi.h (inclure Windows.h)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

Fonctions de gestion des erreurs

FormatMessage

HRESULT_FROM_WIN32

Dernier code d’erreur

SetLastError

SetLastErrorEx

API Vertdll disponibles dans les enclaves VBS