Что означает код NTSTATUS 0xC000071A (STATUS_PORT_ALREADY_HAS_COMPLETION_LIST)?

 
Предыдущий Следующий
STATUS_CONTEXT_MISMATCH STATUS_CALLBACK_RETURNED_THREAD_PRIORITY

STATUS_PORT_ALREADY_HAS_COMPLETION_LIST

Что означает STATUS_PORT_ALREADY_HAS_COMPLETION_LIST

STATUS_PORT_ALREADY_HAS_COMPLETION_LIST — с данным портом ALPC уже связан список завершений.

Completion list в ALPC относится к самому порту и его механизму доставки, а не к отдельному сообщению. Повторная регистрация обычно означает двойную инициализацию, гонку двух владельцев или попытку перенастроить уже работающий порт без корректного teardown.

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

  • Найдите первую успешную операцию привязки completion list и компонент, который владеет его памятью.
  • Проверьте, не выполняют ли два потока схему «проверить состояние → зарегистрировать» без атомарной одноразовой инициализации.
  • Перед освобождением памяти списка остановите producer-ы и дождитесь, пока consumer-ы обработают опубликованные записи.
  • Если требуется другая конфигурация, создавайте её только по правилам жизненного цикла порта; не заменяйте указатель на список, пока старый ещё используется.

Этот статус не относится к TCP/UDP-портам, DNS или межсетевому экрану: слово port здесь означает объект локального IPC ALPC.

Технические ссылки


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