Ошибка при вызове нескольких объектов из одного процесса в другой с помощью COM+: недостаточно хранилища для выполнения этой операции (0x8007000e)
В этой статье описывается решение проблемы, из-за которой вызов множества объектов из одного процесса в другой с помощью Microsoft COM+ завершается ошибкой.
Область применения: Windows 10 — все выпуски
Исходный номер базы знаний: 890425
Симптомы
При вызове нескольких объектов из одного процесса в другой с помощью Microsoft COM+ может появиться следующее сообщение об ошибке:
Недостаточно хранилища для выполнения этой операции (0x8007000e)
При подключении отладчика к клиентскому процессу отладчик может увидеть исключения 8007000E, сообщаемые отладчиком.
Причина
Эта проблема вызвана ограничением на уровне удаленного вызова процедур (RPC), когда из одного процесса в другой можно вызывать только 256 уникальных интерфейсов. Эта проблема обычно возникает при использовании COM+ или Microsoft Transaction Server с большим количеством объектов в программе или пакете.
Разрешение
Для решения этой проблемы воспользуйтесь одним из описанных ниже способов.
- Разделение объектов между несколькими процессами.
- Уменьшите количество интерфейсов, вызываемых между одним процессом и другим.
Состояние
Корпорация Майкрософт подтвердила, что это проблема в продуктах Майкрософт, перечисленных в начале этой статьи.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделе:Отправить и просмотреть отзыв по