Windows foutcodes opzoeken

Reading Time: 10 Minutes

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 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

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 foutcode opzoeken:

C:\bin>err 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 in in dit geval Windows Live Mail!

Interessant voor jou:  Hoe kan ik mijn moederbord type & model achterhalen in Windows?

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.

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.

Hoi! Praat mee en laat een reactie achter!