次の方法で共有


システム シャットダウンの理由コード

シャットダウン理由コードは、dwReason パラメーターの ExitWindowsEx 関数と InitiateSystemShutdownEx 関数によって使用されます。

最大MAX_NUM_REASONS理由コードがシステムによって処理されます。 MAX_NUM_REASONSは reason.h で定義されています。

主な理由フラグを次に示します。 一般的な問題の種類を示します。

定数/値 説明
SHTDN_REASON_MAJOR_APPLICATION
0x00040000
アプリケーションの問題。
SHTDN_REASON_MAJOR_HARDWARE
0x00010000
ハードウェアの問題。
SHTDN_REASON_MAJOR_LEGACY_API
0x00070000
InitiateSystemShutdownEx の代わりに InitiateSystemShutdown 関数が使用されました。
SHTDN_REASON_MAJOR_OPERATINGSYSTEM
0x00020000
オペレーティング システムの問題。
SHTDN_REASON_MAJOR_OTHER
0x00000000
その他の問題。
SHTDN_REASON_MAJOR_POWER
0x00060000
電源障害。
SHTDN_REASON_MAJOR_SOFTWARE
0x00030000
ソフトウェアの問題。
SHTDN_REASON_MAJOR_SYSTEM
0x00050000
システム障害。

小さな理由フラグを次に示します。 指定された主要な理由フラグを変更します。 任意の主要な理由と組み合わせて任意のマイナーな理由を使用できますが、一部の組み合わせは意味がありません。

定数/値 説明
SHTDN_REASON_MINOR_BLUESCREEN
0x0000000F
ブルー スクリーン クラッシュ イベント。
SHTDN_REASON_MINOR_CORDUNPLUGGED
0x0000000b
アンプラグド。
SHTDN_REASON_MINOR_DISK
0x00000007
[ディスク] を選択する必要があります。
SHTDN_REASON_MINOR_ENVIRONMENT
0x0000000c
環境。
SHTDN_REASON_MINOR_HARDWARE_DRIVER
0x0000000d
ドライバー。
SHTDN_REASON_MINOR_HOTFIX
0x00000011
ホットフィックス。
SHTDN_REASON_MINOR_HOTFIX_UNINSTALL
0x00000017
ホットフィックスアンインストール。
SHTDN_REASON_MINOR_HUNG
0x00000005
応答。
SHTDN_REASON_MINOR_INSTALLATION
0x00000002
インストールします。
SHTDN_REASON_MINOR_MAINTENANCE
0x00000001
メンテナンス。
SHTDN_REASON_MINOR_MMC
0x00000019
MMC の問題。
SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY
0x00000014
ネットワーク接続。
SHTDN_REASON_MINOR_NETWORKCARD
0x00000009
ネットワーク カード。
SHTDN_REASON_MINOR_OTHER
0x00000000
その他の問題。
SHTDN_REASON_MINOR_OTHERDRIVER
0x0000000e
その他のドライバー イベント。
SHTDN_REASON_MINOR_POWER_SUPPLY
0x0000000a
電源。
SHTDN_REASON_MINOR_PROCESSOR
0x00000008
プロセッサ。
SHTDN_REASON_MINOR_RECONFIG
0x00000004
再構成。
SHTDN_REASON_MINOR_SECURITY
0x00000013
セキュリティの問題。
SHTDN_REASON_MINOR_SECURITYFIX
0x00000012
セキュリティパッチ。
SHTDN_REASON_MINOR_SECURITYFIX_UNINSTALL
0x00000018
セキュリティ パッチのアンインストール。
SHTDN_REASON_MINOR_SERVICEPACK
0x00000010
Service Pack。
SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL
0x00000016
Service Pack のアンインストール。
SHTDN_REASON_MINOR_TERMSRV
0x00000020
ターミナル サービス。
SHTDN_REASON_MINOR_UNSTABLE
0x00000006
不安定。
SHTDN_REASON_MINOR_UPGRADE
0x00000003
[アップグレード]:
SHTDN_REASON_MINOR_WMI
0x00000015
WMI の問題。

次の省略可能なフラグは、イベントに関する追加情報を提供します。

定数/値 説明
SHTDN_REASON_FLAG_USER_DEFINED
0x40000000
理由コードはユーザーによって定義されます。 詳細については、「カスタム理由コードの定義」を参照してください。
このフラグが存在しない場合、理由コードはシステムによって定義されます。
SHTDN_REASON_FLAG_PLANNED
0x80000000
シャットダウンが計画されました。 システムによってシステム状態データ (SSD) ファイルが生成されます。 このファイルには、プロセス、スレッド、メモリ使用量、構成などのシステム状態情報が含まれています。
このフラグが存在しない場合、シャットダウンは計画外でした。 通知とレポートのオプションは、一連のポリシーによって制御されます。 たとえば、ログイン後、ポリシーが有効になっている場合、計画外のシャットダウンを報告するダイアログ ボックスが表示されます。 SSD ファイルは、システムで SSD ポリシーが有効になっている場合にのみ作成されます。 管理者は、Windows エラー報告を使用して、SSD データを中央の場所または Microsoft に送信できます。

解説

システムでは、次の組み合わせが認識されます。 この表は、Shutdown イベント トラッカーに表示される文字列を示し、より詳細な説明を提供します。 既定の文字列は "この理由でタイトルが見つかりませんでした" です。

組み合わせ 説明
SHTDN_REASON_MAJOR_APPLICATION |SHTDN_REASON_MINOR_HUNG "アプリケーション: 応答なし" 応答しないアプリケーションをトラブルシューティングするための計画外の再起動またはシャットダウン。
SHTDN_REASON_MAJOR_APPLICATION |SHTDN_REASON_MINOR_INSTALLATION |SHTDN_REASON_FLAG_PLANNED "アプリケーション: インストール (計画済み)" アプリケーションのインストールを実行するための計画的な再起動またはシャットダウン。
SHTDN_REASON_MAJOR_APPLICATION |SHTDN_REASON_MINOR_MAINTENANCE "アプリケーション: メンテナンス (計画外)" アプリケーションにサービスを提供するための計画外の再起動またはシャットダウン。
SHTDN_REASON_MAJOR_APPLICATION |SHTDN_REASON_MINOR_MAINTENANCE |SHTDN_REASON_FLAG_PLANNED "アプリケーション: メンテナンス (計画済み)" アプリケーションで計画メンテナンスを実行するための計画的な再起動またはシャットダウン。
SHTDN_REASON_MAJOR_APPLICATION |SHTDN_REASON_MINOR_UNSTABLE "アプリケーション: 不安定" 不安定なアプリケーションをトラブルシューティングするための計画外の再起動またはシャットダウン。
SHTDN_REASON_MAJOR_HARDWARE |SHTDN_REASON_MINOR_INSTALLATION "ハードウェア: インストール (計画外)" ハードウェアのインストールを開始または完了するための計画外の再起動またはシャットダウン。
SHTDN_REASON_MAJOR_HARDWARE |SHTDN_REASON_MINOR_INSTALLATION |SHTDN_REASON_FLAG_PLANNED "ハードウェア: インストール (計画済み)" ハードウェアのインストールを開始または完了するための計画的な再起動またはシャットダウン。
SHTDN_REASON_MAJOR_HARDWARE |SHTDN_REASON_MINOR_MAINTENANCE "ハードウェア: メンテナンス (計画外)" システム上のサービス ハードウェアに対する計画外の再起動またはシャットダウン。
SHTDN_REASON_MAJOR_HARDWARE |SHTDN_REASON_MINOR_MAINTENANCE |SHTDN_REASON_FLAG_PLANNED "ハードウェア: メンテナンス (計画済み)" システム上のサービス ハードウェアに対する計画的な再起動またはシャットダウン。
SHTDN_REASON_MAJOR_LEGACY_API "レガシ API シャットダウン" このシャットダウンは、レガシの InitiateSystemShutdown 関数によって開始されました。 アプリケーションでは、 InitiateSystemShutdownEx 関数を使用する 必要があります。
SHTDN_REASON_MAJOR_OPERATINGSYSTEM |SHTDN_REASON_MINOR_HOTFIX "オペレーティング システム: ホットフィックス (計画外)" ホットフィックスをインストールするための計画外の再起動またはシャットダウン。
SHTDN_REASON_MAJOR_OPERATINGSYSTEM |SHTDN_REASON_MINOR_HOTFIX |SHTDN_REASON_FLAG_PLANNED "オペレーティング システム: ホットフィックス (計画済み)" ホットフィックスをインストールするための計画的な再起動またはシャットダウン。
SHTDN_REASON_MAJOR_OPERATINGSYSTEM |SHTDN_REASON_MINOR_RECONFIG "オペレーティング システム: 再構成 (計画外)" オペレーティング システムの構成を変更するための計画外の再起動またはシャットダウン。
SHTDN_REASON_MAJOR_OPERATINGSYSTEM |SHTDN_REASON_MINOR_RECONFIG |SHTDN_REASON_FLAG_PLANNED "オペレーティング システム: 再構成 (計画済み)" オペレーティング システムの構成を変更するための計画的な再起動またはシャットダウン。
SHTDN_REASON_MAJOR_OPERATINGSYSTEM |SHTDN_REASON_MINOR_SECURITYFIX "オペレーティング システム: セキュリティ修正プログラム (計画外)" セキュリティ修正プログラムをインストールするための計画外の再起動またはシャットダウン。
SHTDN_REASON_MAJOR_OPERATINGSYSTEM |SHTDN_REASON_MINOR_SECURITYFIX |SHTDN_REASON_FLAG_PLANNED "オペレーティング システム: セキュリティ修正プログラム (計画済み)" セキュリティ修正プログラムをインストールするための計画的な再起動またはシャットダウン。
SHTDN_REASON_MAJOR_OPERATINGSYSTEM |SHTDN_REASON_MINOR_SERVICEPACK |SHTDN_REASON_FLAG_PLANNED "オペレーティング システム: Service Pack (計画済み)" Service Pack をインストールするための計画的な再起動またはシャットダウン。
SHTDN_REASON_MAJOR_OPERATINGSYSTEM |SHTDN_REASON_MINOR_UPGRADE |SHTDN_REASON_FLAG_PLANNED "オペレーティング システム: アップグレード (計画済み)" オペレーティング システム構成をアップグレードするための計画的な再起動またはシャットダウン。
SHTDN_REASON_MAJOR_OTHER |SHTDN_REASON_MINOR_OTHER "その他 (計画外)" 計画外のシャットダウンまたは再起動。
SHTDN_REASON_MAJOR_OTHER |SHTDN_REASON_MINOR_OTHER |SHTDN_REASON_FLAG_PLANNED "その他 (計画済み)" 計画的なシャットダウンまたは再起動。
SHTDN_REASON_MAJOR_OTHER |SHTDN_REASON_MINOR_HUNG "その他の障害: システムが応答しない" システムが応答しなくなりました。
SHTDN_REASON_MAJOR_POWER |SHTDN_REASON_MINOR_CORDUNPLUGGED "電源障害: コードが取り外されました" コンピューターが取り外されました。
SHTDN_REASON_MAJOR_POWER |SHTDN_REASON_MINOR_ENVIRONMENT "電源障害: 環境" 停電が発生しました。
SHTDN_REASON_MAJOR_SYSTEM |SHTDN_REASON_MINOR_BLUESCREEN "システム エラー: 停止エラー" コンピューターにブルー スクリーン クラッシュ イベントが表示されました。
SHTDN_REASON_MAJOR_SYSTEM |SHTDN_REASON_MINOR_NETWORK_CONNECTIVITY "ネットワーク接続の損失 (計画外)" ネットワーク接続の問題により、コンピューターをシャットダウンする必要があります。
SHTDN_REASON_MAJOR_SYSTEM |SHTDN_REASON_MINOR_SECURITY "セキュリティの問題" セキュリティの問題が原因でコンピューターをシャットダウンする必要があります。

 

独自のシャットダウン理由を定義し、レジストリに追加することもできます。 各理由コードは、レジストリ値として次のキーに格納する必要があります:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability\UserDefined\<default_system_language_ID>

このキーには、 xxxxx という形式の値名が含まれています。nnn;nnnnn。 セミコロンは、値名のコンポーネントを区切ります。

Xxxxx

次の制御フラグのうち 1 ~ 5 個 (他の文字は使用できません)。

フラグ 説明
P 計画的なシャットダウン。それ以外の場合は、計画外のシャットダウン。
C コメントが必要です。 このフラグは、S と共に使用する必要があります。
B ID が必要です。 このフラグは D と共に使用する必要があります。
S 予期されるシャットダウン ダイアログ ボックスを表示します。 S、D、または S と D の両方を使用する必要があります。
D 予期しないシャットダウン ダイアログ ボックスを表示します。 S、D、または S と D の両方を使用する必要があります。

 

フラグが使用される順序は重要ではありません。 たとえば、CSP は、予期されるシャットダウン ダイアログ ボックスが表示される計画的なシャットダウンを示し、コメントが必要です。

Nnn

主な理由。 このコンポーネントは、64 から 255 の範囲の数値である必要があります。 0 から 63 の範囲は、システムで使用するために予約されています。

nnnnn

軽微な理由。 このコンポーネントは、0 から 65535 の範囲である必要があります。

カスタム理由は、ユーザー インターフェイスでメジャー理由番号、マイナー理由番号順に並べ替えられます。 1 つが計画されていて、もう一方が計画外である場合を除き、2 つのカスタム理由で同じメジャーとマイナーの理由を使用することはできません。 それ以外の場合、システムは最初のインスタンスを使用し、他のインスタンスは無視します。

各レジストリ値のデータは、\n\r で区切られた 2 つの文字列です。 最初の文字列は、シャットダウン ダイアログ ボックスに表示され、イベント ログに書き込まれるタイトル文字列です。 最大サイズは 64 文字です。 タイトル文字列は一意である必要があります。 カスタム タイトルは、システムまたは別のカスタム タイトルで定義されている標準タイトルと一致できません。 2 番目の文字列は、シャットダウン ダイアログ ボックスに表示される説明文字列です。これは省略可能です。 最大サイズは 256 文字です。

必要条件

要件
サポートされている最小のクライアント
Windows XP [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリ |UWP アプリ]
Header
Reason.h