| Предыдущий | Следующий |
| RPC_S_OBJECT_NOT_FOUND | RPC_S_TYPE_ALREADY_REGISTERED |
RPC_S_ALREADY_REGISTERED
Дубликатом является регистрация объекта, а не конфликт конечной точки
RPC_S_ALREADY_REGISTERED возвращается, когда UUID объекта уже зарегистрирован в сопоставлении объект/тип среды выполнения RPC. В стандартной объектной модели ненулевой UUID объекта может быть связан с UUID типа, чтобы входящие вызовы направлялись реализации диспетчера, зарегистрированной для этого типа.
Это отличается от RPC_S_DUPLICATE_ENDPOINT. Карта конечных точек отвечает за достижимость интерфейса и сетевого адреса, а регистрация объекта — за выбор реализации для UUID объекта.
Типичные причины
- Код инициализации выполняется дважды и снова вызывает
RpcObjectSetTypeдля того же объекта. - Два модуля считают себя владельцами одного UUID объекта, но назначают разные UUID типа.
- Логика перезагрузки или переключения после отказа заново создаёт регистрацию объекта, не сбросив прежнюю связь.
Составьте перечень UUID объекта, запрошенного UUID типа и модуля, выполняющего регистрацию. Если существующее сопоставление намеренно, считайте вторую регистрацию ошибкой инициализации. Для удаления связи используйте документированное поведение сброса, а не регистрацию конкурирующего типа.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.