あるプロセスから別のプロセスに COM + を使って複数のオブジェクトを呼び出すと、"この操作を完了するのに十分な記憶域がありません" というエラーメッセージが表示される


現象


Microsoft COM + を使用して、あるプロセスから別のプロセスに多くのオブジェクトを呼び出すと、次のエラーメッセージが表示されることがあります。
この操作を完了するのに十分な記憶域がありません (0x8007000e)
クライアントプロセスにデバッガーをアタッチした場合、8007000E の初回例外がデバッガーによって報告されることがあります。

原因


この問題は、256固有のインターフェイスのみを別のプロセスから呼び出すことができる、リモートプロシージャコール (RPC) レイヤーの制限が原因で発生します。 通常、この問題は、プログラムまたはパッケージ内の多くのオブジェクトで COM + または Microsoft Transaction Server を使用している場合に発生します。

解決方法


この問題を解決するには、次のいずれかの方法を使用します。
  • 複数のプロセス間でオブジェクトを分割します。
  • 1つのプロセスと別のプロセスの間で呼び出されるインターフェイスの数を減らします。

状態


マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。