Коды причин завершения работы системы

Коды причин завершения работы используются функциями ExitWindowsEx и InitiateSystemShutdownEx в параметре dwReason .

Система обрабатывает не более MAX_NUM_REASONS кодов причин. MAX_NUM_REASONS определяется в файле reason.h.

Ниже приведены основные флаги причин. Они указывают на общий тип проблемы.

Констант/значение Описание
SHTDN_REASON_MAJOR_APPLICATION
0x00040000
Проблема с приложением.
SHTDN_REASON_MAJOR_HARDWARE
0x00010000
Проблема с оборудованием.
SHTDN_REASON_MAJOR_LEGACY_API
0x00070000
Функция InitiateSystemShutdown была использована вместо InitiateSystemShutdownEx.
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
Пакет обновления.
SHTDN_REASON_MINOR_SERVICEPACK_UNINSTALL
0x00000016
Удаление пакета обновления.
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 в центральное расположение или в корпорацию Майкрософт.

Комментарии

Система распознает следующие сочетания. В таблице указывается строка, отображаемая в отслеживании событий завершения работы, и предоставляется более подробное описание. По умолчанию используется строка "Не удалось найти название по этой причине".

Сочетание Описание
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" Это завершение работы было инициировано устаревшей функцией InitiatSystemShutdown . Приложения должны использовать функцию 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 "Операционная система: пакет обновления (запланированный)" Запланированная перезагрузка или завершение работы для установки пакета обновления.
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 "Сбой системы: stop error" (Сбой системы: stop error) — на компьютере отображается событие сбоя синего экрана.
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

От одного до пяти следующих флагов элемента управления (другие символы не могут использоваться).

Flag Описание
P Плановое завершение работы; в противном случае — незапланированное завершение работы.
C Требуется комментарий. Этот флаг должен использоваться с S.
B Необходимо указать идентификатор. Этот флаг необходимо использовать с D.
S Отображение ожидаемого диалогового окна завершения работы. Необходимо использовать S, D или оба S и D.
D Отображение непредвиденного диалогового окна завершения работы. Необходимо использовать S, D или оба S и D.

 

Порядок использования флагов не имеет значения. Например, поставщик служб конфигурации указывает на плановое завершение работы, где отображается ожидаемое диалоговое окно завершения работы, и требуется комментарий.

Nnn

Основная причина. Этот компонент должен быть числом в диапазоне от 64 до 255. Диапазон от 0 до 63 зарезервирован для использования системой.

nnnnn

Незначительные причины. Этот компонент должен находиться в диапазоне от 0 до 65535.

Пользовательские причины сортируются в пользовательском интерфейсе по основному номеру причины, а затем по незначительному номеру причины. Ни одна из двух пользовательских причин не может использовать одни и те же основные и незначительные причины, если только одна из них не запланирована, а другая не является незапланированной. В противном случае система будет использовать первый экземпляр и игнорировать остальные.

Данные для каждого значения реестра — это две строки, разделенные \n\r. Первая строка — это строка заголовка, которая отображается в диалоговом окне завершения работы и записывается в журнал событий. Максимальный размер — 64 символа. Строки заголовка должны быть уникальными. Пользовательские заголовки не могут соответствовать стандартным названиям, определенным в системе, или другим пользовательским заголовкам. Вторая строка — это строка описания, отображаемая в диалоговом окне завершения работы; он является необязательным. Максимальный размер — 256 символов.

Требования

Требование Значение
Минимальная версия клиента
Windows XP [классические приложения | Приложения UWP]
Минимальная версия сервера
Windows Server 2003 [классические приложения | Приложения UWP]
Заголовок
Reason.h