このページの本文へ

Windows Info 第84回

Windowsで表示されるエラーコードの見方

2017年02月12日 10時00分更新

文● 塩田紳二 編集● ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 Windowsでエラーがあるたびに表示される「エラーコード」。コードを調べると原因がわかるとされているが、インターネットでキーワード検索をしてみたところで、まともな答えが得られないことのほうが多い。よくてエラーコードの意味を理解しないで、単に対策だけが記載されている程度だ。

 そこで、今回はこのエラーコードを解説することにしよう。とりあえず、マイクロソフトが出している正式なドキュメントは以下にある。

[MS-ERREF]: Windows Error Codes
 https://msdn.microsoft.com/en-us/library/cc231196.aspx

 基本的には、これを読めばいいわけなのだが、量も結構あって、しかも英語である。そこで、今回は、よく見かけるエラーコードなどを例に、ごく大まかに解説することにする。

 Windowsのエラーコードは、32bit値で、通常は16進数で表現されている。大きく「HRESULT」「Win32エラーコード」「NTSTATUS」の3つがある。よく見かける0x8007xxxxというのがWin32エラーコード、0xCxxxxxxxというがNTSTATUSである。

 また、場合によっては、システムがこれらのエラーコードに「拡張コード」を付けて詳細情報を付加する場合もある。たとえば、Windows Updateによるアップグレードなどは、エラーの発生タイミングを通知する拡張コードをつける場合がある。

 まずは、エラーコードの構造から見ていこう。エラーコードは、32bitで表現される整数値を16進数で表現したものだ。エラーコードの先頭にある「0x」は以下が16進数であることを示すために使われる記法の1つだ。コンピュータ言語などで数値を表現する場合に使われる。

 エラーコードは常に16進数とするというルールがあれば、先頭に0xをつける必要はなさそうだが、実際には、コンピュータ内部には16進数も2進数も10進数もなく、みな同じ32bitのデータでしかない。人間に見えるように数値を画面などに表示する際に、どのように表示するのかを決めているだけだ。しかし、単に数字だけを表示すると10進数解釈してしまうかもしれない。16進数でも、A~Fが一回も使われない数字というのもあるわけで、見た目に紛らわしい。このため、エラーコードは16進数で表現するために必ず先頭に0xをつけているようだ。

 このエラーコードのうち、まずは、0xの次の文字が8なのかCなのかで解釈の方法が変わってくる。まずは、先頭が8のWin32エラーコードからみていくことにする。

Win32エラーコード

 Win32エラーコードは、本来はHRESULTと呼ばれるAPI呼び出しなどの処理の結果状態(成功したのかエラーなのか)を表現するデータの一種だ。そのデータ構造は下の図のようになっている。

Win32エラーの場合には、エラーコードは0x8007というパターンから始まる

 HRESULTは、32bitデータの下位5ビットでエラーの種類を表している。ただし、5ビット目(bit4。Xビット)は使われておらず0に固定である。最下位にあるSビットはエラーなのか、そうでないのかを表していて、エラーの場合ここが1になる。残りはゼロになるため、エラーコードの先頭は、必ず8、つまり0x8xxxxxxx」(xは任意の16進数)というパターンになる。

 HRESULTでは、bit5(6ビット目)からbit15は、ファシリティ(Facility)と呼ばれるフィールドで、エラーの分類(発生位置)を示す。ここが0x007の場合は、Win32エラーだ。なお、ファシリティのリストは前述の文書にある。

●HRESULT
 https://msdn.microsoft.com/en-us/library/cc231198.aspx

 つまり、エラーコードの上位4桁が「0x8007」になっているのはWin32エラーとなる。エラーコードの下位4桁は、ファシリティごとに意味が違っていて、Win32用のリストは、同様に以下のページにある

●Win32 Error Codes
 https://msdn.microsoft.com/en-us/library/cc231199.aspx

 簡単にいえば、表示されたエラーコードの先頭が0x8007だった場合には、前記のページにあるリストから下位4桁の数字を探せばいいことになる。

NTSTATUS

 エラーコードの最初の桁が「C」だった場合、パターンはまた変わってくる。

エラーコードがNTSTATUS形式の場合、0xCから始まるエラーコードとなる

 Win32と似ているが、ちょっと違う。NTSTATUSの場合、ファシリティはbit4(5ビット目)からbit15(16ビット目)までとなる。コードの部分は、Win32と同じく16ビットになっている。ただし、NTSTATUSの場合、ファシリティとエラーコードを一緒にしたリストになっているので、以下のページから、エラーコードそのものを探す。

●NTSTATUS Values
 https://msdn.microsoft.com/en-us/library/cc704588.aspx

 なお、ファシリティ部分がどのような意味を持つのかは、以下のページに記述がある。

●Appendix A: Product Behaviorの<4>以下  https://msdn.microsoft.com/en-us/library/cc231214.aspx#Appendix_A_4

 これで、とりあえず、エラーコードを「エラーメッセージ」に変換することが可能になる。では、次回はもうすこし具体的にエラーコードについて見ていくことにしよう。

カテゴリートップへ

この連載の記事

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,390
2
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥660
3
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
¥1,780
4
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥5,280
5
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,590
6
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
7
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
8
Amazon Kindle - 目に優しい、かさばらない、大きな画面で読みやすい、6週間持続バッテリー、6インチディスプレイ電子書籍リーダー、ブラック、16GB、広告なし
Amazon Kindle - 目に優しい、かさばらない、大きな画面で読みやすい、6週間持続バッテリー、6インチディスプレイ電子書籍リーダー、ブラック、16GB、広告なし
¥13,980
9
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
UGREEN USB Type Cケーブル PD対応 100W/5A 超急速充電 USB C ナイロン編み 断線防止 iphone17/16/15シリーズ/iPad/MacBook Pro/Galaxy S24/Matebook/iPad/Xperia等USB-C各種対応(1m, ブラック)
¥743
10
Verbatim バーベイタム 1回録画用 ブルーレイディスク BD-R 25GB 50枚+3枚増量パック インクジェットプリンタ対応 ホワイト 片面1層 1-6倍速
Verbatim バーベイタム 1回録画用 ブルーレイディスク BD-R 25GB 50枚+3枚増量パック インクジェットプリンタ対応 ホワイト 片面1層 1-6倍速
¥2,099

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン