This article was previously published under Q241278
This article has been archived. It is offered "as is" and will no longer be updated.
A Messaging Application Programming Interface (MAPI) or Collaboration Data Objects (CDO) application may return an error of MAPI_E_NOT_ENOUGH_MEMORY (which is defined as E_OUTOFMEMORY = 0x8007000E) when attempting to perform MAPI or CDO operations against a particular message.
The user may see an error message similar to the following:
There is not enough memory available to perform the operation.[Microsoft Exchange Server Information Store - [E_OUTOFMEMORY(8007000E)]]
The Exchange Server information store can return a remote procedure call (RPC) response to the client's RPC request indicating that the buffer size required for the RPC data is greater than the maximum allowable buffer size (32 KB). The client handles this request to set up an "illegal" buffer size as a memory error.
To resolve this problem, obtain the latest service pack for Exchange Server 5.5. For additional information, click the following article number to view the article in theMicrosoft Knowledge Base:
191014 XGEN: How to Obtain the latest Exchange Server 5.5 Service Pack
The following files are available for download from the MicrosoftDownload Center:
For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:
119591 How to Obtain Microsoft Support Files from Online Services
Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.
Microsoft has confirmed that this is a problem in Microsoft Exchange Server version 5.5. This problem was first corrected in Exchange Server 5.5 Service Pack 4.
Under certain boundary conditions, the Exchange Server information store can return an RPC response to the client's RPC request, which informs the client that the buffer the client had originally set up for the request is of insufficient size. The server's RPC response indicates this with the "ropBufferTooSmall" string; it also indicates how large the buffer needs to be. This, in itself, is not a issue for the client, as the client typically sets up an appropriately sized buffer for the response and makes the request again. This typically succeeds.
The issue occurs when the information store fails to properly account for all buffers overhead when it calculates the actual buffer size that is required. Thus, the information store indicates in the response that the buffer required is larger that the maximum RPC buffer size allowed. When this is the case, MAPI or CDO applications can report "insufficient memory" type of errors.