Article ID: 278046
Article Last Modified on 2/21/2007
APPLIES TO
- Microsoft Windows 2000 Server
- Microsoft Windows 2000 Advanced Server
- Microsoft Windows 2000 Professional Edition
This article was previously published under Q278046
SYMPTOMS
A program that registers a callback method to a DCOM object may not register a callback method after a restart. The failure response that is returned to the program is E_OUTOFMEMORY.
CAUSE
The remote server saves information about the client when the client initially registers its callback method. On restarting the client, the server can incorrectly attempt to contact the client by using old context information. Typically, if the client is restarted while network connectivity exists with the RPC server, the server becomes aware of this situation and discards the client context. If, however, the client restart occurs when network connectivity is not established (for example, when a RAS client is dropped or the client is physically powered off), the RPC server does not become aware that the client has terminated, which can lead to this problem.
RESOLUTION
To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
260910 How to Obtain the Latest Windows 2000 Service Pack
The English version of this fix should have the following file attributes or later:
Date Time Version Size File name ------------------------------------------------------ 4/30/2001 08:02p 5.0.2195.3556 427,280 Rpcrt4.dll
WORKAROUND
The RPC program can retry the method that returned the E_OUTOFMEMORY response. This will eventually force the RPC server to discard the improper client context information. It may be necessary to retry the method as many as 40 times.
STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows 2000 Service Pack 3.
MORE INFORMATION
For additional information about how to obtain a hotfix for Windows 2000 Datacenter Server, click the article number below to view the article in the Microsoft Knowledge Base:
265173 The Datacenter Program and Windows 2000 Datacenter Server Product
For additional information about how to install multiple hotfixes with only one reboot, click the article number below to view the article in the Microsoft Knowledge Base:
296861 Use QChain.exe to Install Multiple Hotfixes with One Reboot
Examination of the RPC packets reveals that the server attempts to issue an RPC Bind to the client, which is met with an RPC Bind NAK by the client. This in turn causes the original RPC request to the server to be returned as an RPC fault with a status of 0x8007000E.
The packets look similar to:
Client -> Server : MSRPC: c/o RPC Request: call 0x5 opnum 0x6 context 0x1 hint 0x1BE Server -> Client : MSRPC: c/o RPC Bind: UUID 12341234-1234-1234-1234-123412341234 call 0x5 assoc grp 0xA731 xmit 0x16D0 recv 0x16D0 Client -> Server : MSRPC: c/o RPC Bind Nak: call 0x5 reject reason (Reason not specified) Server -> Client : MSRPC: c/o RPC Fault: call 0x5 context 0x1 status 0x8007000E cancels 0x0
For additional information about how to install Windows 2000 and Windows 2000 hotfixes at the same time, click the article number below to view the article in the Microsoft Knowledge Base:
249149 Installing Microsoft Windows 2000 and Windows 2000 Hotfixes
Additional query words: kbNetworking
Keywords: kbhotfixserver kbqfe kbbug kbfix kbnetwork kbwin2000presp3fix kbwin2000sp3fix KB278046