Guide on how to interpret error codes in Windows

zebanovich

Thread Starter
Joined
Mar 2, 2019
Messages
1,626
Sooner or later various programs, services, hardware or Windows components may stop working properly and then
you might stumble upon some cryptic error code such as:
Error Code 0xc00dabe0
(Code 28)

Surely the bare number makes no sense and most users will just ignore it, but if you want to fix the problem
this number is the key that will unlock a bunch of useful clues that will help you to start troubleshooting specific problem.

If possible, first step before doing anything else is to determine the source of error!
Determining the source of error means to figure out which program, service, hardware device, or system component is generating the error.

Knowing what's the source of error is important because multiple sources of an error may give you different meaning for the same error,
which means you might end up wasting time troubleshooting something completely unrelated (something that's not an issue at all) 😬

There are many sources of error such as:
  • Error while installing some application
  • Error updating windows
  • Error running DISM command
  • Error activating Windows
  • Error in device manager
  • Error with One Drive application
  • Error with Store apps

And so on, this list can be pretty long one and for now to make this brief we will focus on those sources listed here,
at the end of this guide you will learn how to interpret error codes when the source of error is either:
  • not known
  • not listed here
  • not found online
  • not covered by specific source explained in this guide

Error in device manger
When you open device properties in device manager, under "General" tab you might see error code, for example:
(Code 37)
This is easy because the error description will be likely present in the same dialog, at this point all you need to do
to troubleshoot this issue is to visit following link:
Error codes in Device Manager in Windows (microsoft.com)

On that link you'll find the most basic troubleshooting steps which may help to fix the problem

Error updating windows
There is a list of common update errors with a well known troubleshooting steps here:
Windows Update common errors and mitigation - Windows Deployment | Microsoft Docs

Error activating Windows
There is a list of common activation error with a well known troubleshooting steps here:
Resolve Windows activation error codes | Microsoft Docs

Error with One Drive application
A list of One Drive error codes and troubleshooting steps is here:
What do the OneDrive error codes mean? - Office Support (microsoft.com)

Error with some application
When talking about "program" or "application", here this means a desktop program (not store app or mobile phone app.)

If you have error code that originates from some program then it all depends on whether this program is developed by
Microsoft or 3rd party (for example game studio or independent developer).

For both cases when we say "A program" keep in mind that program consists of multiple let's call it "sub components",
each of these components may generate an error and your job is to determine whether that component is made by Microsoft
or is it made by some 3rd party developer.

It's not hard to determine this as you will see soon...

For programs made by Microsoft one option is to find a list of error codes for specific program on some Microsoft site. (if you can)
The reason why you want to prefer searching for a list is because a list may also include known troubleshooting steps!

For 3rd party programs the same applies but finding a list of error codes depends on whether this error code was generated
by Microsoft component or not.
If not that usually means contacting support site which sells or distributes a program in question.

If you can't find a list it's not the end of a world, more on that in "Other error sources" section below

Error running DISM command
DISM.exe command is often used to fix various issues with Windows.

The error code can be either decimal or hexadecimal, for hexadecimal values you can find a list of known errors on the link below:
ManagedDism/dismapi.h at master · jeffkl/ManagedDism (github.com)

On this site press CTRL + F to open search box in your browser, paste error code into search box and press enter.

For example for DISM error 0xC0040003 you will find following:

//
// MessageId: DISMAPI_E_OPEN_SESSION_HANDLES
//
// MessageText:
//
// A DismShutdown was called while there were open DismSession handles
//
#define DISMAPI_E_OPEN_SESSION_HANDLES 0xC0040003

If your error code is decimal value (for example 2) follow these steps:
1. Right click on Windows button and select "Windows PowerShell"
2. type net helpmsg followed by code and press enter, for example:
Code:
net helpmsg 2
The output in this example is:
The system cannot find the file specified.
This information should be sufficient to continue your efforts, additional resources can be found here:
DISM API Troubleshooting | Microsoft Docs

Error with Store apps
Store apps include those apps installable in Microsoft Store in start menu

Here is a list (incomplete) of common error codes:
Error codes for Store operations - UWP applications | Microsoft Docs

Other error sources
If none of the sections above helped you, here is how to attempt to figure out what the error code means:
Download Microsoft Error Lookup Tool from Official Microsoft Download Center

This is command line program, it has no user interface therefore to use it follow these steps:
1. Create a new folder in your C:\ drive and name it "tools"
2. Move downloaded Err_6.x.x executable file into tools folder
3. Right click on Windows button and select "Windows PowerShell"
4. Type following command into console:
cd C:\tools
5. In this example we want to figure out the meaning of 0x8004deb4 error, to do so type:
.\err* 0xc00dabe0
The result will look like this:
PowerShell:
PS C:\tools> .\err* 0xc00dabe0
# for hex 0xc00dabe0 / decimal -1072845856
  MF_E_NO_CAPTURE_DEVICES_AVAILABLE                              mferror.h
# No capture devices are available.%0
# 1 matches found for "0xc00dabe0"
The output has several useful information fields as follows:
1. Decimal value: (-1072845856)
2. Error constant: (MF_E_NO_CAPTURE_DEVICES_AVAILABLE)
3. Header: (mferror.h)
4. Description: (No capture devices are available)

It says "No capture devices are available"
If you know what's the source of error most likely this message will be meaningful for you.
If you don't know the source of error or if this message means nothing to you then look at header, it says "mferror.h"
MF stands for "Microsoft Foundation" which is (at this moment) latest audio and video component, therefore usually used by media related software.
If you don't know this, using google search engine will help, use following example search string:
mferror.h site:docs.microsoft.com
Depending on how lucky you are, first few search results might shade some light on which component is having issues.
You can also search for error constant, for example:
MF_E_NO_CAPTURE_DEVICES_AVAILABLE site:docs.microsoft.com
Searching for error constant may not tell you which component is having issues, but search results might give some additional information.
You can use this as a starting point to continue your efforts.

In some cases your result might be even more crazy such as this one:
PowerShell:
PS C:\tools> .\err* 0x00000005
# for hex 0x5 / decimal 5
  BTH_ERROR_AUTHENTICATION_FAILURE                               bthdef.h
  INVALID_PROCESS_ATTACH_ATTEMPT                                 bugcodes.h
  CDERR_LOADSTRFAILURE                                           cderr.h
  CR_INVALID_DEVNODE                                             cfgmgr32.h
  DHCP_DROP_UNAUTH                                               dhcpssdk.h
  MD_ERROR_SUB400_INVALID_TRANSLATE                              iiscnfg.h
  MD_ERROR_SUB401_APPLICATION                                    iiscnfg.h
  MD_ERROR_SUB403_SSL128_REQUIRED                                iiscnfg.h
  MD_ERROR_SUB404_URL_SEQUENCE_DENIED                            iiscnfg.h
  MD_ERROR_SUB503_CONNECTION_LIMIT                               iiscnfg.h
  IME_RS_TOOLONG                                                 ime.h
# given string is too long
  RSVP_Err_BAD_STYLE                                             lpmapi.h
# /* Conflicting style        */
  POLICY_ERRV_IDENTITY_CHANGED                                   lpmapi.h
  POLICY_ERRV_SUBNET_DEF_FLOW_COUNT                              lpmapi.h
  MSIDBERROR_UNDERFLOW                                           msiquery.h
# data less than minimum value allowed
  NRC_CMDTMO                                                     nb30.h
# /* command timed out                          */
  NMERR_NO_MORE_FRAMES                                           netmon.h
  SMART_INVALID_DRIVE                                            ntdddisk.h
# Drive number not valid
  DS_NAME_ERROR_DOMAIN_ONLY                                      ntdsapi.h
  ODBC_ERROR_INVALID_REQUEST_TYPE                                odbcinst.h
  OLE_ERROR_STREAM                                               ole.h
# (OLESTREAM) stream error                 */
  MFE_OIF_PRUNED                                                 routprot.h
# no downstream receivers exist on oif
  SCESTATUS_BUFFER_TOO_SMALL                                     scesvc.h
  SE_ERR_ACCESSDENIED                                            shellapi.h
# access denied
  SNMP_ERRORSTATUS_GENERR                                        snmp.h
  SNMP_GENERICTRAP_EGPNEIGHLOSS                                  snmp.h
  WINBIO_FP_TOO_FAST                                             winbio_err.h
# Move your finger more slowly on the fingerprint reader.
  CMC_STATUS_CONFIRM_REQUIRED                                    wincrypt.h
  CMC_FAIL_UNSUPORTED_EXT                                        wincrypt.h
  ERROR_ACCESS_DENIED                                            winerror.h
# Access is denied.
  LDAP_COMPARE_FALSE                                             winldap.h
  SNMP_ERROR_GENERR                                              winsnmp.h
# as an HRESULT: Severity: SUCCESS (0), FACILITY_NONE (0x0), Code 0x5
# for hex 0x5 / decimal 5
  WINBIO_FP_TOO_FAST                                             winbio_err.h
# Move your finger more slowly on the fingerprint reader.
# as an HRESULT: Severity: SUCCESS (0), FACILITY_NULL (0x0), Code 0x5
  ERROR_ACCESS_DENIED                                            winerror.h
# Access is denied.
# 34 matches found for "0x5"
Now we have a ton of possible meanings of error code.

Take a look at decimal value at the top of output, it says "decimal 5"

You have 2 options to narrow down the meaning of decimal value:

Option 1:
1. Right click on Windows button and select "Windows PowerShell"
2. type net helpmsg followed by code and press enter, for example:
Code:
net helpmsg 5
The output in this example is:
PowerShell:
PS C:\tools> net helpmsg 5
Access is denied.
Option 2:
If this doesn't work or if you need additional information visit site below:
System Error Codes - Win32 apps | Microsoft Docs

On that site, scroll down and try to find what's the meaning of decimal value.
You will find out decimal 5 means "Access is denied"

Looking for the meaning of a decimal value might be wrong because we ignored all of the headers in the sample output above,
the whole point is to get user friendly meaning which in this case probably means either lack of Administrator privileges,
lack of special privileges, restrictive file system permission and so on.

If that makes sense to you good, if not next step is to use your intuition and attempt to figure out which component could be the culprit,
each of the headers in our output above represent one possible component.
Search engine, your intuition and existing skills might be your best friend to continue your efforts.

In some cases your result of error lookup tool might look like this:
PowerShell:
PS C:\tools> .\err* 0x8004deb4
# No results found for hex 0x8004deb4 / decimal -2147164492
# NOT FOUND: 0x8004deb4
Obviously it means that this error code is unknown to error lookup tool, therefore maybe this error was not generated by
Microsoft component, but don't hurry with such conclusions, because it may also mean the error is generated by Windows but this tool
doesn't know what it is.

Decimal value is negative "-2147164492" which means a link from previous example is of no use to narrow down the meaning.

To continue try to figure out the source of error and find a list online, to see if this error is related to Microsoft component use following search string:
0x8004deb4 site:microsoft.com
If nothing useful is found and program/component in question is 3rd party program it could be you'll have to contact support for that program or if you
didn't already find a list on Microsoft site or a list on web page for program in question.
For example if program in question is called CCleaner which is hosted on ccleaner.com you can search google for:
0x8004deb4 site:ccleaner.com

Conclusion
This guide will surely help you out fighting error codes, but there is always a chance to stumble upon some unknown error codes.
I'm not aware of any All in One toll but with additional effort possibilities are surely many.
 
Last edited:

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

As Seen On
As Seen On...

Welcome to Tech Support Guy!

Are you looking for the solution to your computer problem? Join our site today to ask your question. This site is completely free -- paid for by advertisers and donations.

If you're not already familiar with forums, watch our Welcome Guide to get started.

Join over 807,865 other people just like you!

Latest posts

Staff online

Top