Hoe kan ik foutcodes van Windows opzoeken en vertalen naar iets begrijpbaars? Je ziet ze wel eens voorbij komen, een foutcode in Windows zoals 0x80041161, 0xc1420127 of 0xc190010b. Maar wat betekent dat nou eigenlijk? Of belangrijker, hoe kun je erachter komen? In dit artikel leg ik het uit!

Windows foutcodes opzoeken met Err.exe

Err.exe is een klein programmaatje, ontwikkelt door Microsoft, waarmee je deze Windows foutcodes kunt opzoeken. Microsoft MSDN geeft aan dat het voor Exchange foutcodes is, maar het werkt ook voor Win32-foutcodes. Erg makkelijk, maar enige ervaring met de opdrachtprompt is gewenst!

Je kunt de Err.exe tool hier downloaden: Microsoft Exchange Server Error Code Look-up.

Nadat je Err.EXE hebt gedownload en je voert deze uit (dubbel klikken in Windows Verkenner) wordt je gevraagd waar je de content uitgepakt wilt hebben. Bijvoorbeeld c:\bin, om het kort en eenvoudig te houden.

Voer je het zonder parameters uit dan krijg je de informatie te zien:

C:\bin>err.exe
USAGE: err {value} [value] [value] ...
where <value> must be of one of the following forms:
1. decorated hex (0x54f)
2. implicit hex (54f)
3. ambiguous (1359)
4. exact string (=ERROR_INTERNAL_ERROR)
5. substring (:INTERNAL_ERROR)
All values on the command line will be looked up in our internal
tables and presented to you. If available, informational data
associated with the value(s) will also be shown (see below).
All tables are searched by default, but you can restrict the
output to those tables you deem appropriate by adding
"/<tablename>" to the beginning of the commandline.
Example:
> err /winerror.h /ntstatus.h 0
# winerror.h selected.
# ntstatus.h selected.
# for hex 0x0 / decimal 0 :
STATUS_WAIT_0 ntstatu
ERROR_SUCCESS winerro
# The operation completed successfully.
NO_ERROR winerro
SEC_E_OK winerro
S_OK winerro
# 5 matches found for "0"
Last compiled on Mar 31 2003 14:39:19.
This app has support derived from the following headers and private
adeevent.mc adoint.h adserr.h alert.h
allerror.h appevt.mc appman.h arapio.h
asferr.h asn1err.h asyncpub.h bitsmsg.h
blberr.h bthdef.h bugcodes.h capicom.h
cderr.h cdosyserr.h ceplog.mc certlog.mc
certmsg.mc cfgmgr32.h cierror.h clusvmsg.h
cmdmsg.h corerror.h crypt32msg.mc cryptmsg.mc
d3d.h d3drm.h d3dx8mesh.h d3dxerr.h
dciddi.h ddeml.h ddraw.h ddrawex.h
dhcpssdk.h dinput.h dinputd.h dlcapi.h
dmerror.h docobj.h dplay.h dplay8.h
dsexcept.h dsound.h dvoice.h dxfile.h
dxterror.h ec.h ese.h exitlog.mc
fdevents.mc filterr.h fltdefs.h ftsiface.h
gpmc_msgs.mc gpmgmtevents.mc hidpddi.h hidpi.h
iaapi.h iiscnfg.h imapierror.h ime.h
imnact.h imnxport.h inetmsg.h intshcut.h
ipexport.h irtranp.h esent98.h kerberr.h
lmerr.h lmerrlog.h lmsvc.h lpmapi.h
lsapmsgs.mc lzexpand.h macfile.h mapicode.h
mapidefs.h mciavi.h mdmsg.h mediaerr.h
mimeole.h mmsystem.h mobsyncp.h mprerror.h
mq.h mqoai.h msaudite.h msctf.h
msiquery.h msoeapi.h msxml2.h nb30.h
nddeapi.h netcfgx.h netevent.h netmon.h
netsh.h nserror.h ntddchgr.h ntdddisk.h
ntdsapi.h ntdsbmsg.h ntiologc.h ntsam.h
ntstatus.h odbcinst.h ole.h olectl.h
oledberr.h oledlg.h patchapi.h pdhmsg.h
penwin.h pollog.mc pstore.h qedit.h
qossp.h raserror.h reconcil.h rnderr.h
routprot.h rtcerr.h scarderr.h scesvc.h
schannel.h sdperr.h setupapi.h shellapi.h
snmp.h sperror.h sql_err ssc.h
stierr.h tapi.h tapi3err.h tcerror.h
textstor.h tlsdef.h trk.h twain.h
uevents.mc upnp.h upnphost.h urlmki.h
urlmon.h usb.h vfw.h vfwmsgs.h
vss.h vswriter.h w32timemsg.mc wbemcli.h
wiadef.h wincrypt.h winerror.h winfax.h
winhttp.h wininet.h winioctl.h winldap.h
winsnmp.h winsock2.h winspool.h wlevents.mc
wlevents2.mc wpaevent.mc wpscoserr.mc wsiperr.h
There are currently 19871 return codes registered from 172 sources.
C:\bin>

Nu kun je eenvoudig een Windows foutcode opzoeken:

C:\bin>err.exe 80004005
# for hex 0x80004005 / decimal -2147467259 :
DDERR_GENERIC ddraw.h
DIERR_GENERIC dinput.h
DPERR_GENERIC dplay.h
DPNERR_GENERIC dplay8.h
DSERR_GENERIC dsound.h
DVERR_GENERIC dvoice.h
ecError ec.h
MAPI_E_CALL_FAILED mapicode.h
STIERR_GENERIC stierr.h
E_FAIL winerror.h
# Unspecified error
# 10 matches found for "80004005"
C:\bin>err 80041161
# as an HRESULT: Severity: SUCCESS (0), Facility: 0x4c5, Code 0x54c9
# for decimal 21705 / hex 0x54c9 :
SQL_21705_severity_16 sql_err
# Microsoft SQL Server Download Only Conflict Resolver
# as an HRESULT: Severity: FAILURE (1), Facility: 0x4, Code 0x1161
# for hex 0x1161 / decimal 4449 :
SQL_4449_severity_16 sql_err
# Using defaults is not allowed in views that contain a set
# operator.
# 2 matches found for "80041161"
C:\bin>err c190010b
# as an HRESULT: Severity: FAILURE (1), Facility: 0x190, Code 0x10b
# for hex 0x10b / decimal 267 :
MMIOERR_PATHNOTFOUND mmsystem.h
MCIERR_MISSING_COMMAND_STRING mmsystem.h
STATUS_NOTIFY_CLEANUP ntstatus.h
# This indicates that a notify change request has been
# completed due to closing the handle which made the notify
# change request.
SQL_267_severity_16 sql_err
# Object '%.*ls' cannot be found.
ERROR_DIRECTORY winerror.h
# The directory name is invalid.
# 5 matches found for "c190010b"

True, het kost je dan nog wat googelen om tot de exacte fout en oorzaakt te komen, maar je weet met The directory name is invalid. al meer dan met enkel 0xc190010b.

Hier lees je de 0x80041161 oplossing voor in dit geval Windows Live Mail!

Online foutcodes opzoeken

Je kunt deze Windows foutcodes ook online opzoeken. De lijst system error codes is doorklikbaar en zo vind je op System Error Codes (0-499) de code 267 (0x10B) weer terug: ERROR_DIRECTORY.

Windows netwerk foutmeldingen weergeven met NET HLPMSG

Netwerkgerelateerde foutmeldingen in Windows kun je eenvoudig weergeven met het NET HELPMSG commando in een cmd.exe-venster.

NET HELPMSG displays information about Windows network messages (such as error, warning, and alert messages). When you type NET HELPMSG and the numerical error (for example, “net helpmsg 2182”), Windows tells you about the message and suggests actions you can take to solve the problem.

Zo geeft het voorbeeld dat de betreffende service al gestart is:

C:\Users\janreilink>net helpmsg 2182

The requested service has already been started.

Conclusie

Windows Error codes kunnen een handig hulpmiddel bij foutmeldingen zijn. Helaas zijn het er duizenden, en kunnen op vele honderden locaties in het systeem voorkomen. Hierdoor is de beschrijving vaak niet heel specifiek.

Door goed te analyseren en onderzoeken kun je deze foutcodes gebruiken voor het oplossen van systeemproblemen. Zo kun je bijvoorbeeld bepalen of, en zo ja welk, Windows onderhoud je moet uitvoeren. Je moet wel de programmatische en de run-time context waarin deze fouten optreden opmerken.

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *