| Предыдущий | Следующий |
| RPC_NT_NULL_REF_POINTER | RPC_NT_BYTE_COUNT_TOO_SMALL |
RPC_NT_ENUM_VALUE_OUT_OF_RANGE
Значение перечисления RPC выходит за маршализуемый диапазон
RPC_NT_ENUM_VALUE_OUT_OF_RANGE — это сбой проверки на границе маршалинга. Сгенерированные заглушки могут обеспечивать определённое IDL пространство значений до принятия данных как допустимого параметра удалённого вызова.
Это следует исследовать как проблему версии интерфейса или проверки входных данных. Новый клиент может отправлять значение перечисления, неизвестное старому серверу, либо непроверенные внешние данные могут быть скопированы в параметр перечисления IDL.
Что проверить
- Сравните IDL, использованные для сборки клиента и сервера; расхождение перечислений между версиями является частой причиной.
- Записывайте числовое значение до маршалинга, а не только символьное значение в коде приложения.
- Проверьте поведение совместимости при расширении определений перечислений в публичных интерфейсах RPC.
Ссылки
- Открытые спецификации Microsoft: обзор MS-RPCE
- The Open Group: определения протокола DCE 1.1 RPC
- Открытые спецификации Microsoft: значения NTSTATUS
- Microsoft MIDL: ошибки компилятора
Нужно найти другой код? Найти другой код состояния или ошибки.