GetLastError |
kernel32.dll | Demande la dernière erreur |
---|---|---|
Windows 9X, NT 3.1+, 2000, XP, 2003 |
Syntaxe
DWORD GetLastError(VOID); |
Retour
Valeur | Constante | Description |
---|---|---|
0 | NO_ERROR | Cette valeur permet d'indiquer qu'il n'y a pas d'erreur. |
1 | ERROR_INVALID_FUNCTION | Cette valeur permet d'indiquer qu'une erreur de fonction invalide s'est produite. |
2 | ERROR_FILE_NOT_FOUND | Cette valeur permet d'indiquer que le fichier est introuvable |
3 | ERROR_PATH_NOT_FOUND | Cette valeur permet d'indiquer que le chemin est introuvable |
4 | ERROR_TOO_MANY_OPEN_FILES | Cette valeur permet d'indiquer qu'il y a trop de fichiers ouverts simultanément |
5 | ERROR_ACCESS_DENIED | Cette valeur permet d'indiquer que l'accès est refusé |
6 | ERROR_INVALID_HANDLE | Cette valeur permet d'indiquer que le Handle est inconnu |
7 | ERROR_ARENA_TRASHED | Cette valeur permet d'indiquer que le bloc de contrôle de la mémoire détruit |
8 | ERROR_NOT_ENOUGH_MEMORY | Cette valeur permet d'indiquer que la mémoire disponible est insuffisante |
9 | ERROR_INVALID_BLOCK | Cette valeur permet d'indiquer que l'adresse de mémoire est incorrecte |
10 | ERROR_BAD_ENVIRONMENT | Cette valeur permet d'indiquer que l'environnement est incorrecte |
11 | ERROR_BAD_FORMAT | Cette valeur permet d'indiquer le format est invalide |
12 | ERROR_INVALID_ACCESS | Cette valeur permet d'indiquer que le code d'accès est incorrecte |
13 | ERROR_INVALID_DATA | Cette valeur permet d'indiquer que les données sont incorrectes |
14 | ERROR_OUTOFMEMORY | Cette valeur permet d'indiquer qu'il manque de mémoire |
15 | ERROR_INVALID_DRIVE | Cette valeur permet d'indiquer que le lecteur (unité) est inconnu |
16 | ERROR_CURRENT_DIRECTORY | Cette valeur permet d'indiquer qu'une tentative de destruction du répertoire courant a tenté d'être effectué |
17 | ERROR_NOT_SAME_DEVICE | Cette valeur permet d'indiquer que les périphériques sont différentes |
18 | ERROR_NO_MORE_FILES | Cette valeur permet d'indiquer qu'il n'y a plus d'autres fichiers dans la liste |
19 | ERROR_WRITE_PROTECT | Cette valeur permet d'indiquer que le support est protégé contre l'écriture |
20 | ERROR_BAD_UNIT | Cette valeur permet d'indiquer que le périphérique est inconnu |
21 | ERROR_NOT_READY | Cette valeur permet d'indiquer que le périphérique n'est pas prêt |
22 | ERROR_BAD_COMMAND | Cette valeur permet d'indiquer que l'instruction est inconnue |
23 | ERROR_CRC | Cette valeur permet d'indiquer qu'une erreur au niveau du CRC a été détecté |
24 | ERROR_BAD_LENGTH | Cette valeur permet d'indiquer que la largeur de données sont incorrecte |
25 | ERROR_SEEK | Cette valeur permet d'indiquer que la recherche est infructueuse |
26 | ERROR_NOT_DOS_DISK | Cette valeur permet d'indiquer que le type de périphérique est inconnu |
27 | ERROR_SECTOR_NOT_FOUND | Cette valeur permet d'indiquer que le secteur est introuvable |
28 | ERROR_OUT_OF_PAPER | Cette valeur permet d'indiquer que l'imprimante n'a plus de papier |
29 | ERROR_WRITE_FAULT | Cette valeur permet d'indiquer qu'une erreur a eu lieu au niveau de l'écriture |
30 | ERROR_READ_FAULT | Cette valeur permet d'indiquer qu'une erreur a eu lieu au niveau de la lecture |
31 | ERROR_GEN_FAILURE | Cette valeur permet d'indiquer qu'il s'agit d'une erreur de classe générale |
32 | ERROR_SHARING_VIOLATION | Cette valeur permet d'indiquer qu'il problème a eu lieu au niveau du partage de ressource |
33 | ERROR_LOCK_VIOLATION | Cette valeur permet d'indiquer qu'une violation du verrouillage a eu lieu |
34 | ERROR_WRONG_DISK | Cette valeur permet d'indiquer qu'un changement de disque invalide a été effectué |
36 | ERROR_SHARING_BUFFER_EXCEEDED | Cette valeur permet d'indiquer que le dépassement du tampon des ressources s'est produit |
38 | ERROR_HANDLE_EOF | Cette valeur permet d'indiquer qu'il est impossible de compléter l'opération de fichier (manque d'entrée) |
39 | ERROR_HANDLE_DISK_FULL | Cette valeur permet d'indiquer que l'espace disque est insuffisant |
50 | ERROR_NOT_SUPPORTED | Cette valeur permet d'indiquer que l'appel réseau n'est pas supporté |
51 | ERROR_REM_NOT_LIST | Cette valeur permet d'indiquer que l'ordinateur distant ne répondant pas |
52 | ERROR_DUP_NAME | Cette valeur permet d'indiquer qu'il y a une duplication du nom dans le réseau |
52 | ERROR_BAD_NETPATH | Cette valeur permet d'indiquer que le nom du réseau est introuvable |
54 | ERROR_NETWORK_BUSY | Cette valeur permet d'indiquer le réseau est occupé |
55 | ERROR_DEV_NOT_EXIST | Cette valeur permet d'indiquer que le périphérique réseau inexistante |
56 | ERROR_TOO_MANY_CMDS | Cette valeur permet d'indiquer que la commande BIOS réseau est trop grande |
57 | ERROR_ADAP_HDW_ERR | Cette valeur permet d'indiquer que le matérielle de l'adapteur réseau cause des problèmes |
58 | ERROR_BAD_NET_RESP | Cette valeur permet d'indiquer que la réponse du réseau n'est pas valide |
59 | ERROR_UNEXP_NET_ERR | Cette valeur permet d'indiquer des problèmes inattendue de la part du réseau |
60 | ERROR_BAD_REM_ADAP | Cette valeur permet d'indiquer que l'adapteur est incompatible |
61 | ERROR_PRINTQ_FULL | Cette valeur permet d'indiquer que la file d'attente d'impression est pleine |
62 | ERROR_NO_SPOOL_SPACE | Cette valeur permet d'indiquer que la queue d'impression est encore pleine |
63 | ERROR_PRINT_CANCELLED | Cette valeur permet d'indiquer que le fichier d'impression est effacé |
64 | ERROR_NETNAME_DELETED | Cette valeur permet d'indiquer que le nom de réseau est effacé |
65 | ERROR_NETWORK_ACCESS_DENIED | Cette valeur permet d'indiquer un accès refusé |
66 | ERROR_BAD_DEV_TYPE | Cette valeur permet d'indiquer que le type de périphérique réseau est incorrecte |
67 | ERROR_BAD_NET_NAME | Cette valeur permet d'indiquer le nom de réseau est introuvable |
68 | ERROR_TOO_MANY_NAMES | Cette valeur permet d'indiquer que le nom de réseau est trop grand |
69 | ERROR_TOO_MANY_SESS | Cette valeur permet d'indiquer que la session de BIOS réseau est trop grand |
70 | ERROR_SHARING_PAUSED | Cette valeur permet d'indiquer qu'il ne s'agit que d'un arrêt temporaire |
71 | ERROR_REQ_NOT_ACCEP | Cette valeur permet d'indiquer qu'un appel réseau est introuvable |
72 | ERROR_REDIR_PAUSED | Cette valeur permet d'indiquer que l'arrêt a été provoquer au niveau de l'impression ou de la redirection |
80 | ERROR_FILE_EXISTS | Cette valeur permet de signaler que le fichier est déjà existant |
82 | ERROR_CANNOT_MAKE | Cette valeur permet d'indiquer qu'il est impossible de créer un répertoire |
83 | ERROR_FAIL_I24 | Cette valeur permet d'indiquer qu'un problème à provoquer un Interruption 24h (Erreur critique) |
84 | ERROR_OUT_OF_STRUCTURES | Cette valeur permet d'indiquer que problème d'en dehors de la structure (trop de redirections) est rencontré |
85 | ERROR_ALREADY_ASSIGNED | Cette valeur permet d'indiquer une redirection dupliquée |
86 | ERROR_INVALID_PASSWORD | Cette valeur permet d'indiquer qu'un mot de passe n'est pas valide |
87 | ERROR_INVALID_PARAMETER | Cette valeur permet d'indiquer que le paramètre n'est pas valide |
88 | ERROR_NET_WRITE_FAULT | Cette valeur permet d'indiquer qu'une erreur d'écriture sur un périphérique réseau a eu lieu |
89 | ERROR_NO_PROC_SLOTS | Cette valeur permet d'indiquer que la fonction n'est pas supporté par le réseau |
100 | ERROR_TOO_MANY_SEMAPHORES | Cette valeur permet d'indiquer qu'il y a trop de sémaphore |
101 | ERROR_EXCL_SEM_ALREADY_OWNED | Cette valeur permet d'indiquer qu'il y a déjà une exclusion du propriétaure de la sémaphore. |
103 | ERROR_TOO_MANY_SEM_REQUESTS | Cette valeur permet d'indiquer qu'il y a trop de requête de sémaphore. |
104 | ERROR_INVALID_AT_INTERRUPT_TIME | Cette valeur permet d'indiquer que l'interruption de temps est invalide. |
105 | ERROR_SEM_OWNER_DIED | Cette valeur permet d'indiquer que le propriétaire ne réagit plus. |
106 | ERROR_SEM_USER_LIMIT | Cette valeur permet d'indiquer le temps limite est excédé. |
107 | ERROR_DISK_CHANGE | Cette valeur permet d'indiquer qu'un changement dans l'unité B est requis. |
108 | ERROR_DRIVE_LOCKED | Cette valeur permet que l'unité est verrouillé par un autre processus. |
109 | ERROR_BROKEN_PIPE | Cette valeur permet d'indiquer l'arrêter du canal. |
110 | ERROR_OPEN_FAILED | Cette valeur permet d'indiquer que la création ou l'ouvrir du canal a échoué. |
111 | ERROR_BUFFER_OVERFLOW | Cette valeur permet d'indiquer un débordement du tampon du canal. |
112 | ERROR_DISK_FULL | Cette valeur permet d'indiquer que le disque est plein. |
113 | ERROR_NO_MORE_SEARCH_HANDLES | Cette valeur permet d'indiquer qu'il n'y a plus de Handle disponible. |
114 | ERROR_INVALID_TARGET_HANDLE | Cette valeur permet d'indiquer que la destination du Handle est invalide. |
117 | ERROR_INVALID_CATEGORY | Cette valeur permet d'indiquer que la catégorie est invalide. |
118 | ERROR_INVALID_VERIFY_SWITCH | Cette valeur permet d'indiquer que l'échange de vérification est invalide. |
119 | ERROR_BAD_DRIVER_LEVEL | Cette valeur permet d'indiquer que le niveau du pilote n'est pas supporté. |
120 | ERROR_CALL_NOT_IMPLEMENTED | Cette valeur permet d'indiquer que l'appel à la fonction n'est pas intégré. |
121 | ERROR_SEM_TIMEOUT | Cette valeur permet d'indiquer un dépassement de délai de la sémaphore. |
122 | ERROR_INSUFFICIENT_BUFFER | Cette valeur permet d'indiquer une insuffisance de tampon. |
123 | ERROR_INVALID_NAME | Cette valeur permet d'indiquer un nom invalide. |
124 | ERROR_INVALID_LEVEL | Cette valeur permet d'indiquer que le niveau est invalide. |
125 | ERROR_NO_VOLUME_LABEL | Cette valeur permet d'indiquer qu'il n'y a pas de nom de volume. |
126 | ERROR_MOD_NOT_FOUND | Cette valeur permet d'indiquer qu'il n'y a aucun module de trouvé. |
127 | ERROR_PROC_NOT_FOUND | Cette valeur permet d'indiquer qu'il n'y a aucune procédutre de trouvé. |
128 | ERROR_WAIT_NO_CHILDREN | Cette valeur permet d'indiquer qu'il n'y a pas de processus enfant en attente. |
129 | ERROR_CHILD_NOT_COMPLETE | Cette valeur permet d'indiquer que l'application ne peut pas être exécuté dans mode Win32. |
... | ... | ... |
0x80070002 | ERROR_FILE_NOT_FOUND | Cette valeur permet d'indiquer que le fichier est introuvable. |
0x8007000D | ERROR_INVALID_DATA | Cette valeur permet d'indiquer que les données sont invalides. |
0x80070057 | ERROR_INVALID_PARAMETER | Cette valeur permet d'indiquer que le paramètre n'est pas valide. |
0x80070246 | ERROR_ILLEGAL_CHARACTER | Cette valeur permet d'indiquer qu'un caractère non autorisé a été rencontré. |
0x80070490 | ERROR_NOT_FOUND | Cette valeur permet d'indiquer que le système d'exploitation Windows ne réussit pas à trouver les nouvelles mises-à-jour. |
0x800705B9 | ERROR_XML_PARSE_ERROR | Cette valeur permet d'indiquer qu'il n'est pas possible d'effectuer une analyses des données de format XML. |
0x800736CC | ERROR_SXS_FILE_HASH_MISMATCH | Cette valeur permet d'indiquer que le fichier de composante ne contient pas des informations correspondant aux données de vérification du manifeste de composante. |
0x8007370A | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE | Cette valeur permet d'indiquer que la valeur de l'attribut de l'identité n'est pas inclus dans la plage normal. |
0x8007370B | ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME | Cette valeur permet d'indiquer que le nom d'attribut renfermant l'identité n'est pas inclus dans la plage normal. |
0x8007370D | ERROR_SXS_IDENTITY_PARSE_ERROR | Cette valeur permet d'indiquer que la chaîne de caractères renfermant l'identité est corrompu et dans un format invalide. |
0x80073712 | ERROR_SXS_COMPONENT_STORE_CORRUPT | Cette valeur permet d'indiquer que le magasin de composantes est corrompu par des données incorrecte ou incohérente. |
0x8007371B | ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE | Cette valeur permet d'indiquer qu'un ou des membres demandés pour la transaction ne sont pas trouvés. |
0x80092003 | CRYPT_E_FILE_ERROR | Cette valeur permet d'indiquer qu'une erreur s'est produite pendant l'opération de lecture ou d'écriture d'un fichier dans un contexte de mise-à-jour de Windows. |
0x800B0100 | TRUST_E_NOSIGNATURE | Cette valeur permet d'indiquer qu'aucune signature de confiance sur le sujet n'a été trouvé. |
0x800F081F | CBS_E_SOURCE_MISSING | Cette valeur permet d'indiquer que la source du paquet ou de ses fichiers sont introuvables dans un contexte d'installation ou de mise-à-jour. |
... | ... | ... |
Description
Cette fonction permet de demander la dernière erreur s'étant produite dans une API. La documentation de Microsoft appel les codes d'erreurs retournés par cette fonction «System Error Codes».
Remarques
- Vous devez appeler la fonction GetLastError immédiatement lorsque la valeur de retour d'une fonction indique qu'un tel appel retournera des données est utiles. En effet, certaines fonctions appellent SetLastError(0) lorsqu'elles réussissent, en effaçant le code d'erreur défini par la dernière fonction ayant échoué.
- La plupart des fonctions de l'API Win32 définissant la dernière valeur de code d'erreur du processus léger le définissent en cas d'échec; quelques fonctions le définissent quand elles réussissent. Une défaillance de fonction est généralement indiquée par un code d'erreur de valeur de retour tel que FALSE, NULL, 0xFFFFFFFF. Certaines fonctions appellent SetLastError dans des conditions de réussite; ces cas sont notés dans la page de référence de chaque fonction.
- Les codes d'erreur sont des valeurs de 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; aucun code d'erreur système n'a ce bit activé. Si vous définissez un code d'erreur pour votre application, définissez ce bit sur un. Cette situation 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 d'exploitation.
- Pour obtenir une chaîne de caractères d'erreur pour les codes d'erreur du système d'exploitation, utilisez la fonction FormatMessageA.
Voir également
Langage de programmation - C pour Windows - API de Windows - FormatMessageA
Langage de programmation - C pour Windows - API de Windows - SetLastError
Langage de programmation - C pour Windows - API de Windows - SetLastErrorEx
Système d'exploitation - Windows - Référence des codes d'erreurs
Langage de programmation - Assembleur 80x86 - Interruption 21h, Fonction 59h : Erreur DOS étendue
Dernière mise à jour : Mercredi, le 6 août 2014