Article ID: 198996 - View products that this article applies to.
This article was previously published under Q198996
When an application tries to call a Component Object Model (COM) method while the user has displayed the system menu from the application's taskbar button, the COM call fails with RPC_E_CANTCALLOUT_ININPUTSYNCCALL.
The following list outlines in detail what occurs:
COM does not allow normal outgoing COM method calls from a thread that is currently servicing a SendMessage request. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
131056When the system menu is displayed in the taskbar, the thread that owns the window is servicing a SendNotifyMessage request. On Windows 95, Windows 98, and Windows NT 4.0, COM does not distinguish between SendMessage and SendNotifyMessage.
(http://support.microsoft.com/kb/131056/EN-US/ )PRB: Synch OLE Call Fails in Inter-Process/Thread SendMessage
This bug was corrected in Microsoft Windows 2000. In Windows 2000, COM uses the InSendMessageEx function to detect a true SendMessage request.
To work around this problem if the application is running Windows 95, Windows 98, or Windows NT 4.0, use one of the following methods:
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.
This bug was corrected in Windows 2000.
Contact us for more help
Connect with Answer Desk for expert help.