| Предыдущий | Следующий |
| RPC_E_INVALID_DATA | RPC_E_CANTCALLOUT_AGAIN |
RPC_E_INVALID_PARAMETER
Что означает RPC_E_INVALID_PARAMETER
RPC_E_INVALID_PARAMETER означает, что один из аргументов на границе COM/RPC нельзя принять по контракту marshaling. Это детерминированная ошибка параметра или несовместимых proxy/stub, а не повод повторять тот же вызов без изменения данных.
Что проверить
- Сверьте IDL signature клиента и сервера, включая nullable pointers, array counts/bounds и direction attributes.
- Для структур проверьте размер, version field и discriminant; старый клиент не должен передавать layout новой версии как будто он совместим.
- Если интерфейс содержит несколько сложных аргументов, временно упрощайте их по одному, чтобы найти первый параметр, нарушающий wire contract.
- Проверьте, что type library/proxy/stub принадлежат одной версии интерфейса и не загружены из разных установок продукта.
Как подтвердить исправление
Исправление подтверждается успешным marshaling тех же бизнес-данных после выравнивания IDL/layout без серверного обхода проверки.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.
