Что означает код ошибки Windows 1709 (RPC_S_INVALID_TIMEOUT)?

 
Предыдущий Следующий
RPC_S_NO_ENDPOINT_FOUND RPC_S_OBJECT_NOT_FOUND

RPC_S_INVALID_TIMEOUT

description[значение тайм-аута связи RPC находится вне диапазона, принимаемого API тайм-аута привязки.]

Тайм-аут является относительной настройкой RPC, а не длительностью в секундах

RPC_S_INVALID_TIMEOUT может возвращаться при настройке тайм-аута связи RPC, если переданное значение находится вне допустимого диапазона. Для RpcMgmtSetComTimeoutMicrosoft документирует значения от 0 до 10. Эти числа представляют относительные уровни тайм-аута, а не буквальные секунды или миллисекунды.

Это различие важно, когда приложение читает обычный тайм-аут из конфигурации и напрямую передаёт его RPC. Значение вроде 30 может быть разумным количеством секунд для приложения, но недопустимо для этого API.

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

  • Убедитесь, что вызывающая сторона использует константу RPC_C_BINDING_*_TIMEOUT или документированное значение от 0 до 10.
  • Не предполагайте одинаковое поведение значения для всех последовательностей протоколов. Среда RPC может трактовать его как транспортно-зависимую подсказку связи.
  • Отделяйте отмену вызова и прикладные крайние сроки от тайм-аута связи RPC: они решают разные задачи обнаружения сбоя.

До вызова setter запишите последовательность протокола и точное значение тайм-аута. Обычно это сразу выявляет ошибку единиц конфигурации.

Ссылки


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