Что означает код NTSTATUS 0xC0000700 (STATUS_PORT_CLOSED)?

 
Предыдущий Следующий
STATUS_CROSS_PARTITION_VIOLATION STATUS_MESSAGE_LOST

STATUS_PORT_CLOSED

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

STATUS_PORT_CLOSED — локальный коммуникационный порт LPC/ALPC, необходимый текущей операции, уже закрыт.

Порт здесь — объект межпроцессного взаимодействия Windows, а не сетевой TCP/UDP-порт. Его жизненный цикл может завершиться из-за выхода peer-процесса, перезапуска службы, явного disconnect или гонки между teardown и отправкой сообщения.

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

  • Определите, какая сторона закрылась первой и предшествовали ли этому завершение процесса, restart службы или явное отключение.
  • Проверьте, не используется ли устаревший handle от предыдущего поколения соединения после повторного подключения.
  • Разберите судьбу всех запросов, которые оставались в полёте в момент закрытия порта.
  • Если верхнеуровневый протокол допускает reconnect, создайте новое соединение штатным способом; повтор того же native-вызова на закрытом handle не восстанавливает порт.

Отдельно освободите или согласуйте ресурсы, переданные с незавершёнными сообщениями: handles, section views и application buffers могут иметь собственный жизненный цикл.

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


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