| Предыдущий | Следующий |
| CRYPT_E_NO_SIGNER | CRYPT_E_REVOKED |
CRYPT_E_PENDING_CLOSE
Что означает CRYPT_E_PENDING_CLOSE
CRYPT_E_PENDING_CLOSE — HRESULT, относящийся к области CryptoAPI/CNG. Дескриптор криптографического сообщения закрыт, но окончательное освобождение ресурсов ещё ожидает завершения других ссылок или операций.
Для CRYPT_E_PENDING_CLOSE код относится к криптографическим интерфейсам Windows. Применительно к CRYPT_E_PENDING_CLOSE его смысл зависит от поставщика, алгоритма, ключа, сертификата или формата криптографического сообщения.
Практический вывод для CRYPT_E_PENDING_CLOSE: этот HRESULT фиксирует описанное условие, но сам по себе не показывает, какой участник операции первым нарушил контракт. Для CRYPT_E_PENDING_CLOSE найдите первый вызов, вернувший статус, и только после этого меняйте конфигурацию подсистемы CryptoAPI/CNG.
Как читать имя CRYPT_E_PENDING_CLOSE
Имя CRYPT_E_PENDING_CLOSE помогает сузить поиск: PENDING — ожидающее завершения состояние; CLOSE — закрытие. Эти части имени не заменяют документацию API, но позволяют проверить, что журнал и код относятся к одному и тому же условию.
Разбор условия ошибки
Для CRYPT_E_PENDING_CLOSE имя кода указывает на незавершённую или конфликтующую операцию. Применительно к CRYPT_E_PENDING_CLOSE диагностика должна восстановить владельца, время жизни и механизм уведомления о завершении.
- Для CRYPT_E_PENDING_CLOSE найдите активную конкурирующую операцию и дождитесь документированного события завершения вместо бесконечного polling.
- При разборе CRYPT_E_PENDING_CLOSE сопоставьте кодировку DER/PEM/CMS, назначение ключа и ожидаемый формат подписи или идентификатора.
- При разборе CRYPT_E_PENDING_CLOSE проверьте доступ к закрытому ключу под фактической учётной записью процесса и состояние цепочки доверия.
- При разборе CRYPT_E_PENDING_CLOSE запишите точный API-вызов, имя/тип поставщика, алгоритм, флаги и размеры входных и выходных буферов.
- При разборе CRYPT_E_PENDING_CLOSE проверьте происхождение и время жизни дескрипторов ключа, хэша, сертификата или сообщения.
Диагностический минимум
- Для CRYPT_E_PENDING_CLOSE повторите операцию с заведомо исправным тестовым ключом того же типа, чтобы отделить данные от конфигурации поставщика.
- Для CRYPT_E_PENDING_CLOSE сохраните первичный HRESULT/GetLastError до закрытия криптографических объектов и выполнения cleanup.
- Для CRYPT_E_PENDING_CLOSE зафиксируйте сертификат без закрытого ключа, идентификатор контейнера и сведения о поставщике, не записывая секретный материал.
Граница корректного решения
Для CRYPT_E_PENDING_CLOSE исправление CRYPT_E_PENDING_CLOSE подтверждено, когда исходный сценарий завершается ожидаемо, журналы больше не содержат этого статуса, а отдельный отрицательный тест по-прежнему корректно обнаруживает описанное условие.
Ссылки по CRYPT_E_PENDING_CLOSE
Нужно найти другой код? Найти другой код состояния или ошибки.