Win32Error
Écrit par Gilles LAURENT   
10-11-2008

Obtenir la chaîne de description associée à un code d'erreur Win32 provenant du système d'exploitation ou d'une source externe

La quasi-totalité des API Win32 retournent une valeur permettant de savoir si le traitement a échoué ou a réussi. Soit le code d'erreur Win32 est directement la valeur de retour de l'API ou alors le code d'erreur Win32 doit être récupéré à l'aide de l'API GetLastError(). Lorsqu'une application détecte une anomalie, par exemple un échec lors de l'écriture d'un fichier, une connexion réseau non disponible, ...), le code d'erreur Win32 est souvent consigné dans le journal des évènements, dans la variable d'environnement %errorlevel% ou alors dans un fichier log spécifique à l'application. Il arrive parfois que la chaîne de description associée au code d'erreur soit également consigné mais ce n'est pas toujours le cas. C'est donc pour cela que j'ai écrit l'outil Win32Error. En effet, celui-ci permet d'obtenir la chaîne de description associée à un code d'erreur Win32. Le code d'erreur peut provenir soit du système d'exploitation ou alors d'une source externe spécifique, par exemple de la librairie Wininet.dll comme illustré dans l'exemple ci-dessous :

Interface

Note: Les codes d'erreur peuvent être entrés au format décimal ou hexadécimal. Dans ce dernier cas, le code devra obligatoirement être préfixé par la séquence des deux caractères 0x

Note: Les codes COM HRESULT (FACILITY_WIN32) sont également supportés par cet outil. Dans l'exemple ci-dessous le code HRESULT -2147024893 (0x80070003) est généré car le lecteur Z: n'existe pas sur la machine locale. La chaîne de description associée sera : Le chemin d'accès spécifié est introuvable.

                                                                                
WSH D:\Test> Set oSh=co("WScript.Shell")                                        
WSH D:\Test> oSh.CurrentDirectory="Z:"                                          
:: An error occured (-2147024893)                                               
:: (null)                                                                       
                                                                               

Historique:
Version 1.0.0.1 - 20081110 - Première Release Publique

Plateformes supportées:
Windows NT4+

Téléchargement:
Guide PDF: -
Archive: Win32Error.zip

Dernière mise à jour : ( 10-11-2008 )