| Предыдущий | Следующий |
| SEC_E_SMARTCARD_LOGON_REQUIRED | SEC_E_KDC_INVALID_REQUEST |
SEC_E_SHUTDOWN_IN_PROGRESS
Как диагностировать SEC_E_SHUTDOWN_IN_PROGRESS
SEC_E_SHUTDOWN_IN_PROGRESS — HRESULT, относящийся к области SSPI/Schannel. Запрос к пакету безопасности поступил во время завершения работы или перезагрузки Windows и был прерван системой.
Применительно к SEC_E_SHUTDOWN_IN_PROGRESS код относится к Security Support Provider Interface или Schannel и описывает состояние пакета безопасности, credential handle, контекста либо защищённого сообщения.
Практический вывод для SEC_E_SHUTDOWN_IN_PROGRESS: этот HRESULT фиксирует описанное условие, но сам по себе не показывает, какой участник операции первым нарушил контракт. Для SEC_E_SHUTDOWN_IN_PROGRESS найдите первый вызов, вернувший статус, и только после этого меняйте конфигурацию подсистемы SSPI/Schannel.
Как читать имя SEC_E_SHUTDOWN_IN_PROGRESS
Имя SEC_E_SHUTDOWN_IN_PROGRESS помогает сузить поиск: SHUTDOWN — остановка; IN — технический маркер «in»; PROGRESS — выполняющаяся операция. Эти части имени не заменяют документацию API, но позволяют проверить, что журнал и код относятся к одному и тому же условию.
Что проверить в первую очередь
Применительно к SEC_E_SHUTDOWN_IN_PROGRESS имя кода указывает на незавершённую или конфликтующую операцию. Для SEC_E_SHUTDOWN_IN_PROGRESS диагностика должна восстановить владельца, время жизни и механизм уведомления о завершении.
- Для SEC_E_SHUTDOWN_IN_PROGRESS найдите активную конкурирующую операцию и дождитесь документированного события завершения вместо бесконечного polling.
- Для SEC_E_SHUTDOWN_IN_PROGRESS найдите момент закрытия/удаления объекта и исключите использование устаревшей ссылки после этого события.
- При разборе SEC_E_SHUTDOWN_IN_PROGRESS проверьте владельца и время жизни CredHandle/CtxtHandle, а также границы impersonation и потока.
- При разборе SEC_E_SHUTDOWN_IN_PROGRESS для Schannel сохраните TLS-версию, cipher suite, сертификаты сторон и факт получения close_notify.
- При разборе SEC_E_SHUTDOWN_IN_PROGRESS не переиспользуйте истёкший или завершённый контекст; создайте новый handshake.
Как локализовать источник
- Для SEC_E_SHUTDOWN_IN_PROGRESS включите журнал Schannel на время воспроизведения и сопоставьте события с сетевой трассировкой.
- Для SEC_E_SHUTDOWN_IN_PROGRESS проверяйте пакет безопасности отдельно на минимальном клиенте с теми же параметрами.
- Для SEC_E_SHUTDOWN_IN_PROGRESS сохраните первый SECURITY_STATUS и результат последующего CompleteAuthToken/EncryptMessage/DecryptMessage.
Проверка после изменения
Применительно к SEC_E_SHUTDOWN_IN_PROGRESS для SEC_E_SHUTDOWN_IN_PROGRESS недостаточно скрыть ошибку повтором. Для SEC_E_SHUTDOWN_IN_PROGRESS после изменения воспроизведите исходную операцию, проверьте конечное состояние объекта и убедитесь, что ресурсы освобождаются без потери первичного HRESULT.
Ссылки по SEC_E_SHUTDOWN_IN_PROGRESS
Нужно найти другой код? Найти другой код состояния или ошибки.
