このページの本文へ

Windows Info 第85回

Windowsの具体的なエラーコードからその意味を探る

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

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

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

 今回は、前回紹介したマイクロソフトのエラーコードに関する文書(ERREFと呼ばれる)を使って、具体的にエラーコードからその意味を調べていくことにしよう。

 とはいえ、エラーを簡単に起こすことはできないし、エラーが起きたとしても必ずしもエラーコードを得られるとは限らない。そこで、マイクロソフトのナレッジベース文書のうち、エラーコードが記載されているものを使って、そのエラーコードが意味するものを調べてみることにする。

 サンプルに使ったのは、以下のURLにあるKB文書だ(https://support.microsoft.com/ja-jp/help/10164/fix-windows-update-errors)。

 これは、Windows Updateのエラーに関する文書。その冒頭には、Windows Updateで発生しうるエラーとして、以下の表にあるようなものが挙げられている。これらは、最上位桁が0x8なので、HRESULTまたはWin32エラー(上位4桁が0x8007の場合)だ。まずは、前回解説した方法で、エラーの分類を示す「Facility」を調べてみる。

 このFacilityが0x007の場合、つまりエラーコードの上位4桁が0x8007の場合には「Win32エラーコード」であり、そうでない場合には「HRESULTのエラーコード」となる。それぞれでテーブルを見ればエラーメッセージに翻訳できるはずだ。

 というのが前回まで解説した部分だ。まずは、マイクロソフトが公開しているエラーコードに関する文書に記載されている情報を元にエラーコードの意味を探してみた。

 Win32エラーの場合とFACILITY_NULLの場合には、ERREFの範囲で解決ができる。しかし、Facilityが「FACILITY_WINDOWSUPDATE」(0x024)の場合のコードがほとんど記載されておらず、エラーの内容を知ることができなかった。 ERREFは、昨年改訂された文書なのでそれほど古いものではなく、Windows Updateも当然範疇に含まれるはずだが、実際に表を調べて見ると、ほとんど記載がなかった。

 そこで、マイクロソフトのサイトを捜したところ以下のURLにWindows Updateのエラーコードがあることがわかった。

●Windows Update error code list
 https://support.microsoft.com/ja-jp/help/938205/windows-update-error-code-list

 しかし、これは2011年のもので、その後の更新もなく、それほど新しいものではない。ここには複数のリストがあるが、明確にエラーコードになっているのは3つ目のリスト以降のものだ。

 最初のものは、Component Based Servicing (CBS) interface methodsが戻すエラーコードだというが、下位20bit分(16進5桁)しか表記されてない。おそらく、FACILITY_SETUPAPI(0x800F)に対応するものだと思われる。つまり、ここにある「0xF0xxxx」は、エラーコードとして表示される場合(HRESULTとして受け渡される場合)には、0x800F0xxxというエラーになるはずだ。

 ちなみにCBSは、Vista、Windows Server 2008世代で導入された技術で、Winods UpdateやWindows Installerで内部的に使われている。このCBSを利用するAPI自体は公開されていない。すでに解説ページなどはMSDN上にはないが、以下の記述がTechNetに残っている(https://technet.microsoft.com/ja-jp/library/cc756291%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396)。

 おそらく、内部的に使われているCBS関連APIからのエラーコードがそのままWindows Updateのエラー値として使われることがあるということなのだと思われる。なので、エラーコードそのものではなく、エラーコードと共に提示される拡張コードとして示される可能性もある。

 2つめのリストは、エラーが起こっていない場合のHRESULT値であり、「成功コード」(Success code)と呼ばれるもの。メッセージを見るとERRORという文字もある。たとえば、すでに適用したアップデートをもう一度適用しようとした場合、当然そのことが報告される。このときの値が「WU_S_ALREADY_INSTALLED」だ。適用しようとしたアップデートが適用できなかったというエラーではあるが、アップデートが失敗したわけではない(すでに成功終了している)、という意味でエラーを表すビットが1になっていない。つまりエラーコードとしては0x8から始まらない。ただし、構造的には、HRESULT形式に準拠している。

 3つめ以降のリストが、エラー時に表示される「エラーコード」である。とりあえず、ここにあるコードで、サンプルとして取り上げたナレッジベース文書に記載されているFACILITY_WINDOWSUPDATEのエラー内容は確定できる。

 ただ、エラーコードが示しているエラーの中には、あまり役に立たないように見えるものもある。たとえば、0x80004005は「Unspecified error」(特定できないエラー)となっていて、何が原因で何が起こったのかさえわからない。

 こうなる原因はさまざまだが、利用しているソフトウェアモジュールがエラーコードを正しく戻さない場合などが考えられる。たとえば、エラーにより、ソフトウェアがクラッシュしてしまい、何も情報が戻らなかった場合などだ。このような場合には、ログファイルなど、エラーコード以外の情報から原因を特定するしかない。

 逆に「0x80073712」は「ERROR_SXS_COMPONENT_STORE_CORRUPT」で、説明が「The component store has been corrupted」となっていて、Windows コンポーネントストアがおかしな状態になっていることを示す。「SxS」(Side by Sideを意味する)や「Componet Store」といったキーワードからいろいろと調べることができる。

 コンポーネントストアは、アプリケーションから共有できる機能をまとめたコンポーネントの複数バージョン(アプリケーションによって対応できるコンポーネントのバージョンが異なる場合がある)を保持するためのWindowsの仕組みだ。かつては、アプリケーションと特定バージョンのコンポーネントの関係を無視して、コンポーネントを自由に更新させたため、「DLL地獄」という問題を引き起こしていた。コンポーネントストアには、多くのコンポーネントがインストールされるため構造が複雑で、不完全な操作により、構造的な矛盾が生じてしまうことがある。なお、このエラーを解決するにはDISMコマンドが利用できる。

 一般に、エラーコードを定義して複数のソフトウェアで使う場合、同じコードに複数の意味を持たせることは不可能になる。というのは、一回、ユーザーの手に渡ったプログラムは、いつまで使われるかが不明であるため、同一のコードの意味を変えてしまうと、エラーコードの報告を受けてサポートを行う場合に、間違ったエラーとして認識される可能性があるからだ。

 このことには良い面と悪い面がある。良い面とは、エラーコードの意味が変わらないため、エラーコードやエラーメッセージでの検索は有効だということとであり、悪い面は、過去のバージョンのソフトウェアでも同じエラーコードが使われているため、検索すると古いプラットフォームの情報も見つかってしまうことだ。この問題があるため、エラーコードやエラーメッセージを使った検索では、対象となるプラットフォーム名(Windows 10など)を検索キーワードに含めようにする。

 とりあえず、エラーコードを、エラーメッセージに直すところまではなんとかこぎ着けたが、数値の並びを見るに、まだ公開されていないエラー情報のリストがあると思われる。とりあえず、数字の羅列というところからは脱したという感じでしかないが、次回はエラーメッセージなどを手がかりにもう少しエラーについて見ていくことにしよう。

カテゴリートップへ

この連載の記事
1
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥39,800
2
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
【整備済み品】中古 ノートパソコン NEC VersaPro VKT16/15.6型・第8世代Core i5-8250U(最大動作3.4GHz)/快適メモリ8GB/ 高速SSD 256GB/Win11 Pro/MS Office 2019付属/テンキー付, Webカメラ, USB3.0, HDMI, VGA, 有線LAN, WIFI内蔵, Bluetooth/ACアダプター付属/180日間保証
¥26,880
3
【整備済み品】富士 通 2in1ノートパソコン V727【本体のみ】/第7世代Core M3/12.3型タッチパネル1920×1080/メモリ 8GB/SSD 128GB/Win 11/MS Office 2019/USB 3.1/Type-C/無線WIFI/オーディオ内蔵/WEBカメラ/初期設定済
【整備済み品】富士 通 2in1ノートパソコン V727【本体のみ】/第7世代Core M3/12.3型タッチパネル1920×1080/メモリ 8GB/SSD 128GB/Win 11/MS Office 2019/USB 3.1/Type-C/無線WIFI/オーディオ内蔵/WEBカメラ/初期設定済
¥9,600
4
Lenovo Chromebook クロームブック IdeaPad Flex 3i Gen8 12.2インチ インテル® プロセッサー N100搭載 メモリ4GB eMMC 64GB バッテリー駆動12.0時間 重量1.25kg アビスブルー 82XH001KJP
Lenovo Chromebook クロームブック IdeaPad Flex 3i Gen8 12.2インチ インテル® プロセッサー N100搭載 メモリ4GB eMMC 64GB バッテリー駆動12.0時間 重量1.25kg アビスブルー 82XH001KJP
¥29,800
5
【Amazon.co.jp限定】 ASUS ノートパソコン Vivobook 15 X1502VA 15.6インチ インテル Core i7 13620H メモリ16GB SSD 1TB Windows 11 バッテリー駆動 8.9時間 重量1.7kg PC Game Pass 3ヶ月利用権付き クワイエットブルー X1502VA-I7H161W
【Amazon.co.jp限定】 ASUS ノートパソコン Vivobook 15 X1502VA 15.6インチ インテル Core i7 13620H メモリ16GB SSD 1TB Windows 11 バッテリー駆動 8.9時間 重量1.7kg PC Game Pass 3ヶ月利用権付き クワイエットブルー X1502VA-I7H161W
¥104,800

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

ASCII倶楽部

注目ニュース

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

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥1,880
2
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
3
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
¥1,880
4
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
5
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
6
【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
7
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
¥18,980
8
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
バッファロー SDカード 128GB 100MB/s UHS-1 スピードクラス1 VideoSpeedClass10 IPX7 Full HD データ復旧サービス対応 RSDC-128U11HA/N
¥2,000
9
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥5,545
10
エルパ(ELPA) 扉付タップラン 電源タップ 延長コード 125V 3m 3個口 ホワイト WBT-N3030B(W)
エルパ(ELPA) 扉付タップラン 電源タップ 延長コード 125V 3m 3個口 ホワイト WBT-N3030B(W)
¥652

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

デジタル用語辞典

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