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

 
Предыдущий Следующий
RPC_S_DO_NOT_DISTURB RPC_S_SYSTEM_HANDLE_TYPE_MISMATCH

RPC_S_SYSTEM_HANDLE_COUNT_EXCEEDED

Вызов превышает транспортный предел системных дескрипторов

RPC_S_SYSTEM_HANDLE_COUNT_EXCEEDED применяется к параметрам MIDL, помеченным system_handle. Эти дескрипторы представляют объекты ядра, например файлы, события, процессы, секции, маркеры или сокеты, и дублируются для локального вызова RPC. Среда выполнения ограничивает число дескрипторов, передаваемых одним запросом.

Подсчитывайте дескрипторы после развёртывания всех массивов и необязательных параметров, а не только аргументы верхнего уровня. Переработайте массовые операции, разбивая дескрипторы на партии, или передавайте устойчивые идентификаторы, которые сервер открывает по явной политике безопасности. Закрытие несвязанных дескрипторов процесса не уменьшает число, закодированное в этом конкретном запросе.

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

  • До вызова заглушки запишите точное число дескрипторов и список их типов.
  • Разделяйте большие массивы на ограниченные партии с ясной семантикой частичных ошибок.
  • Помните, что передача системных дескрипторов разрешена только для вызовов на том же компьютере.

Ссылки


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