メインコンテンツまでスキップ

エラーコード

Windowsでは、さまざまなエラーコードが定義されています。これらのコードは、アプリケーションやドライバーがエラーを報告するために使用されます。以下に、覚えておくと役立つ一般的なエラーコードの種類とその説明を示します。

エラー検索ツール

エラーコードを検索するツールとして、Microsoft公式のMicrosoft エラー ルックアップ ツールがあります。このツールを使用すると、エラーコードを入力してその一般的な意味や対処方法を確認できます。

コマンドプロンプト
C:\Tools>Err_6.4.5.exe c000021a
# for hex 0xc000021a / decimal -1073741286
STATUS_SYSTEM_PROCESS_TERMINATED ntstatus.h
# {Fatal System Error}
# The %hs system process terminated unexpectedly with a
# status of 0x%08x (0x%08x 0x%08x).
# The system has been shut down.
# as an HRESULT: Severity: FAILURE (1), FACILITY_NULL (0x0), Code 0x21a
# for hex 0x21a / decimal 538
ERROR_ABIOS_ERROR winerror.h
# An error occurred in the ABIOS subsystem.
# 2 matches found for "c000021a"

本記事執筆時点では、/?オプションで確認する限りこのツールは以下のヘッダーファイルに定義されているエラーコードを検索できるようです。

  activprof.h             activscp.h             adoint.h               adserr.h
asferr.h audioclient.h audioenginebaseapo.h bitsmsg.h
bthdef.h bugcodes.h cderr.h cdosyserr.h
cfgmgr32.h cierror.h corerror.h corsym.h
ctffunc.h d3d.h d3d9.h d3d9helper.h
d3dx10.h d3dx10core.h d3dx9.h d3dx9xof.h
daogetrw.h dbdaoerr.h dciddi.h ddeml.h
ddraw.h dhcpssdk.h difxapi.h dinput.h
dinputd.h dlnaerror.h dmerror.h drt.h
dsound.h dxfile.h eaphosterror.h ehstormsg.h
esent.h fherrors.h filterr.h fltdefs.h
hidpi.h iiscnfg.h imapi2error.h imapi2fserror.h
imapierror.h ime.h intshcut.h ipexport.h
iscsierr.h iscsilog.h jscript9diag.h legacyErrorCodes.h
lmerr.h lmerrlog.h lmsvc.h lpmapi.h
lzexpand.h mciavi.h mdmregistration.h mdmsg.h
mediaerr.h mferror.h mmstream.h mobsync.h
mpeg2error.h mprerror.h mq.h mqoai.h
msctf.h msdrmerror.h msime.h msiquery.h
msopc.h mswmdm.h msxml2.h nb30.h
ndattrib.h netcfgx.h netevent.h netmon.h
netsh.h nserror.h ntdddisk.h ntdsapi.h
ntdsbmsg.h ntiologc.h ntstatus.h odbcinst.h
ole.h olectl.h oledberr.h oledlg.h
p2p.h patchapi.h patchwiz.h pbdaerrors.h
pdhmsg.h photoacquire.h portabledevice.h qossp.h
raserror.h rdcentraldb.h reconcil.h routprot.h
rtcerr.h sberrors.h scesvc.h schannel.h
setupapi.h shellapi.h sherrors.h shimgdata.h
shobjidl_core.h slerror.h snmp.h spatialaudioclient.h
spatialaudiometadata.h sperror.h stierr.h synchronizationerrors.h
tapi.h tapi3err.h tcerror.h textserv.h
textstor.h thumbcache.h tpcerror.h txdtc.h
upnp.h upnphost.h urlmon.h usb.h
usp10.h vdserr.h vfw.h vfwmsgs.h
vsserror.h wbemcli.h wcmerrors.h wcntypes.h
wdfstatus.h wdscpmsg.h wdsmcerr.h wdstptmgmtmsg.h
werapi.h wiadef.h winbio_err.h wincrypt.h
windowsplayready.h windowssearcherrors.h winerror.h winfax.h
winhttp.h wininet.h winioctl.h winldap.h
winsnmp.h winsock2.h winspool.h wpc.h
wsbapperror.h wsmerror.h wuerror.h xapo.h
xaudio2.h xmllite.h xpsdigitalsignature.h xpsobjectmodel.h
xpsobjectmodel_1.h
There are currently 25259 return codes registered from 173 sources.

また、/outputtoJSオプションを使用すると、JSONファイルとしてエラーコードの情報を出力することができます。JSONファイルは非常にシンプルな構造でしたので、検索できるようにしてWebサイト上で動作するようにしたものをこちらに置いています。(err_6.4.5.exeはローカライズされていないツールなので、上記サイトのJSONには手元でFormatMessage関数を実行した結果もマージしており、厳密には使用している元データは同じではありません。)

Win32 Error Code

名前説明
ERROR_SUCCESS0x00000000成功
ERROR_INVALID_FUNCTION0x00000001無効な関数です。
ERROR_FILE_NOT_FOUND0x00000002指定されたファイルが見つかりません。
ERROR_PATH_NOT_FOUND0x00000003指定されたパスが見つかりません。
ERROR_ACCESS_DENIED0x00000005アクセスが拒否されました。
ERROR_INVALID_HANDLE0x00000006無効なハンドルです。
ERROR_NOT_ENOUGH_MEMORY0x00000008メモリが不足しています。
ERROR_OUTOFMEMORY0x0000000Eメモリ不足です。
ERROR_SHARING_VIOLATION0x00000020共有違反が発生しました。
ERROR_NOT_SUPPORTED0x00000032サポートされていない操作です。
ERROR_INVALID_PARAMETER0x00000057無効なパラメーターです。
ERROR_ALREADY_EXISTS0x000000B7指定されたファイルまたはディレクトリはすでに存在します。

完全な一覧はこちら

HRESULT

名前説明
S_OK0x00000000成功
E_FAIL0x80004005一般的な失敗
E_INVALIDARG0x80070057無効な引数
E_OUTOFMEMORY0x8007000Eメモリ不足
E_NOTIMPL0x80004001実装されていません
E_NOINTERFACE0x80004002インターフェイスがサポートされていません
E_POINTER0x80004003無効なポインター
E_HANDLE0x80070006無効なハンドル
E_ABORT0x80004004操作が中止されました
E_ACCESSDENIED0x80070005アクセスが拒否されました
E_UNEXPECTED0x8000FFFF予期しないエラー
RPC_E_TOO_LATE0x80010119
RPC_E_THREAD_NOT_INIT0x8001010Fスレッドが初期化されていません
RPC_E_SERVERCALL_RETRYLATER0x8001010Aサーバー呼び出しを後で再試行してください
RPC_E_SERVERCALL_REJECTED0x8001010Bサーバー呼び出しが拒否されました

完全な一覧はこちら

NTSTATUS

名前説明
STATUS_SUCCESS0x00000000成功
STATUS_ACCESS_VIOLATION0xC0000005The instruction at 0x%08lx referenced memory at 0x%08lx. The memory could not be %s.
STATUS_ILLIGAL_INSTRUCTION0xC000001D{EXCEPTION} Illegal Instruction An attempt was made to execute an illegal instruction.
STATUS_SHARING_VIOLATION0xC0000043A file cannot be opened because the share access flags are incompatible.
STATUS_STACK_OVERFLOW0xC00000FDA new guard page for the stack cannot be created.
STATUS_HEAP_CORRUPTION0xC0000374A heap has been corrupted.
STATUS_STACK_BUFFER_OVERRUN0xC0000409The system detected an overrun of a stack-based buffer in this application. This overrun could potentially allow a malicious user to gain control of this application.

完全な一覧はこちら

Windows Installer Error Code

完全な一覧はこちら

msiexec.exe Error Code

名前説明
ERROR_SUCCESS0x00000000操作は成功しました。
ERROR_INSTALL_SERVICE_FAILURE1601Windowsインストーラーサービスにアクセスできませんでした。
ERROR_INSTALL_USEREXIT1602ユーザーがインストールを中止しました。
ERROR_INSTALL_ALREADY_RUNNING1618別のインストールがすでに実行中です。
ERROR_SUCCESS_REBOOT_INITIATED1641インストーラーが再起動を開始しました。このメッセージは成功を示します。
ERROR_SUCCESS_REBOOT_REQUIRED3010インストールは成功しましたが、再起動が必要です。

完全な一覧はこちら

Windows Update Error Code

完全な一覧はこちら

WinSock エラーコード

完全な一覧はこちら

参考資料