SERVICE_CONTROL_SHUTDOWN
シャットダウン処理の中でサービスへ届く制御コード SERVICE_CONTROL_SHUTDOWN。dwControlsAccepted に SERVICE_ACCEPT_SHUTDOWN を立てたサービスにだけ届く。猶予は既定で約20秒、上限はWaitToKillServiceTimeout。これより先に届く SERVICE_CONTROL_PRESHUTDOWN は別の受け入れ宣言(SERVICE_ACCEPT_PRESHUTDOWN)で、猶予も別に構成する。
- 概念URI
https://comcomponent.com/knowledge/service-shutdown-notification/
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- SERVICE_CONTROL_SHUTDOWNはハイブリッドシャットダウン(高速スタートアップ)と両立しません。ハイブリッドシャットダウンではサービスは停止して起動し直されるのではなく休止して復元され、サービスから見れば高速スタートアップは休止と同様である。停止通知(SERVICE_CONTROL_SHUTDOWN。先に届く SERVICE_CONTROL_PRESHUTDOWN も同様)の処理は再起動と完全シャットダウンのために残す必要があるが、停止通知だけに後始末を寄せた設計は、ユーザーが「シャットダウン」を選んだ経路では後始末が行われないまま休止・復元される。 / 確度: 条件付きの関係 / 確認日: 2026-09-04 出典 出典
- SERVICE_CONTROL_SHUTDOWNはSCM(サービス制御マネージャー)を前提とします。サービスはサインアウトの影響を受けないが、シャットダウン・再起動ではSCMから制御コードとして通知が届く。受け取るには受け入れフラグの宣言が必要で、SHUTDOWNの猶予は既定で約20秒、上限はWaitToKillServiceTimeoutである。この上限をサービス側で書き換えて延ばすことは明確に非推奨で、むしろUPS駆動中のマシンが電池切れ前にシャットダウンを完了できるよう可能な限り速く後始末を終えるべきとされている。制御ハンドラーは30秒以内に返し、時間のかかる停止処理は別スレッドへ任せてSERVICE_STOP_PENDINGを報告する。 / 確度: 確立した関係 / 確認日: 2026-08-21 出典
- SERVICE_ACCEPT_PRESHUTDOWNはSERVICE_CONTROL_SHUTDOWNより先に行うべきです。SERVICE_ACCEPT_PRESHUTDOWNを宣言したサービスは先にSERVICE_CONTROL_PRESHUTDOWNを受け取り、SCMは停止かタイムアウトまで待つ。ただし既定タイムアウトはWindows 10 Creators Update以降10秒で、それ以前の3分から短縮されている。その間システム全体のシャットダウンを待たせるため、特別な状況でのみ使うべきとされている。 / 確度: 確立した関係 / 確認日: 2026-08-21 出典 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。