'------- Déclaration relative a l'interpretation des codes de retour ---------------
Private Declare Function RtlNtStatusToDosError Lib "NTDLL.DLL" (ByVal hError As Long) As Long
Private Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" (ByVal dwFlags As Long, lpSource As Any, ByVal dwMessageId As Long, ByVal dwLanguageId As Long, ByVal lpBuffer As String, ByVal nSize As Long, Arguments As Long) As Long
Private Const FORMAT_MESSAGE_FROM_SYSTEM As Long = &H1000
Private Const LANG_NEUTRAL As Long = &H0
Private Const SUBLANG_DEFAULT As Long = &H1
Public Function GetError(ByVal hError As Long) As String
Dim Buffer As String
Buffer = Space$(1024)
FormatMessage FORMAT_MESSAGE_FROM_SYSTEM, ByVal 0&, hError, LANG_NEUTRAL, Buffer, Len(Buffer), ByVal 0&
GetError = Trim$(Buffer)
End Function
Public Function GetNtError(ByVal hError As Long) As String
GetNtError = GetError(RtlNtStatusToDosError(hError))
End Function
Seul les admins et l'auteur du code lui même peuvent modifier ce code.