Что означает код NTSTATUS 0xC01A0024 (STATUS_LOG_CLIENT_ALREADY_REGISTERED)?

 
Предыдущий Следующий
STATUS_LOG_NOT_ENOUGH_CONTAINERS STATUS_LOG_CLIENT_NOT_REGISTERED

STATUS_LOG_CLIENT_ALREADY_REGISTERED

STATUS_LOG_CLIENT_ALREADY_REGISTERED означает, что вызывающая сторона попыталась зарегистрировать управляемого клиента CLFS, который уже известен потоку. Управляемая регистрация является частью модели взаимодействия для обработки заполненного журнала и продвижения хвоста, а не маркером разрешения на отдельную операцию.

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

Что проверить

  • Отслеживайте идентичность клиента, поток, дескриптор регистрации и владельца по всем путям инициализации и восстановления.
  • Делайте регистрацию идемпотентной только тогда, когда компонент может доказать, что существующая регистрация относится к его текущему жизненному циклу.
  • Отменяйте регистрацию через владельца, создавшего управляемого клиента; не удаляйте общую регистрацию лишь потому, что другой компонент обнаружил дубликат.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.