"E_OUTOFMEMORY" Error Message When Structured Storage Files Are Marshaled Between Processes

ID: Q241518


The information in this article applies to:
  • Microsoft Windows NT Server versions 4.0, 4.0 SP4, 4.0 SP5


SYMPTOMS

A process may run out of memory after opening and closing approximately 486 structured storage files. When the process runs out of heap space, error code 0x80070008 is generated.


CAUSE

The marshalling process does not use standard marshaling because it is closing the root storage after each marshal, and so behaves as if it has only one root storage (and hence one shared heap) open at a time. Meanwhile, the unmarshaling process keeps creating a new shared heap for each unmarshal until it runs out of address space.


RESOLUTION

A supported fix that corrects this problem is now available from Microsoft, but it has not been fully regression tested and should be applied only to systems experiencing this specific problem.

To resolve this problem, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information on support costs, please go to the following address on the World Wide Web:

http://www.microsoft.com/support/supportnet/overview/overview.asp
The English-language version of this fix should have the following file attributes or later:

   Date      Time                 Size    File name     Platform
   -------------------------------------------------------------
   9/10/99   7:45pm              700,688  Ole32.dll     Intel
   9/10/99   7:43pm            1,239,312  Ole32.dll     Alpha 


STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article.

Additional query words:

Keywords : kbbug4.00 kbfix4.00
Version : winnt:4.0,4.0 SP4,4.0 SP5
Platform : winnt
Issue type : kbbug


Last Reviewed: January 21, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.