| Предыдущий | Следующий |
| 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 запишите последовательность протокола и точное значение тайм-аута. Обычно это сразу выявляет ошибку единиц конфигурации.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
