Click here to Skip to main content
15,888,069 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: Accessing a Variable Pin
Niklas L27-Sep-10 23:34
Niklas L27-Sep-10 23:34 
GeneralRe: Accessing a Variable Pin
T.RATHA KRISHNAN27-Sep-10 23:50
T.RATHA KRISHNAN27-Sep-10 23:50 
GeneralRe: Accessing a Variable Pin
bleedingfingers28-Sep-10 0:04
bleedingfingers28-Sep-10 0:04 
AnswerRe: Accessing a Variable Pin
bleedingfingers27-Sep-10 23:42
bleedingfingers27-Sep-10 23:42 
GeneralRe: Accessing a Variable Pin
Moak27-Sep-10 23:49
Moak27-Sep-10 23:49 
JokeRe: Accessing a Variable Pin
bleedingfingers28-Sep-10 0:03
bleedingfingers28-Sep-10 0:03 
GeneralRe: Accessing a Variable Pin
T.RATHA KRISHNAN28-Sep-10 0:38
T.RATHA KRISHNAN28-Sep-10 0:38 
QuestionWM_COPYDATA fails with error RPC_E_CANTCALLOUT_ININPUTSYNCCALL [modified] Pin
sashoalm27-Sep-10 21:15
sashoalm27-Sep-10 21:15 
I'm using dsoframer in my app, does this interfere with WM_COPYDATA? The error text is:
"An outgoing call cannot be made since the application is dispatching an input-synchronous call."

[Edit]
I found a kb article[^] that seems to explain why this occurs:

------------------------------------------------------
See the beginning of chapter 13 in the OLE 2 Programmer's Reference Volume 1 for the categories of OLE calls. An understanding of these categories is required for this article.

The majority of OLE calls are synchronous calls. A synchronous call to a different process yields to that process and waits for a reply from that process. In addition, OLE has input-synchronized calls that relate to the inplace-activation interfaces. Input-synchronized calls are implemented using an inter-process/inter-thread SendMessage.

16-bit Windows doesn't allow a task to yield while in an inter- process/inter-thread SendMessage because a system deadlock could occur. The deadlock occurs because a message for the sender could be present at the top of the shared system queue, and this prevents other tasks, including the recipient of the SendMessage, from retrieving their messages from the system queue until the sender does. The sender cannot retrieve its message because it is waiting for the inter-process/inter-thread SendMessage to return.

In 32-bit Windows, each process has its own system queue and this architecture normally prevents deadlock problem from occurring. However, when one process is inplace active in another process's window, the system queues of the two processes are synchronized as in 16-bit windows, so the deadlock could occur. To prevent this, OLE stops synchronous OLE calls from being made while the caller is the recipient of an input-synchronized call.

OLE determines if the caller of the synchronous call is a recipient of an input-synchronized call by using the InSendMessage() API. This broad check prevents a synchronous call from being made if the caller is currently a recipient of any inter-process/inter-thread SendMessage.
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
modified on Tuesday, September 28, 2010 3:47 AM

QuestionMutex blocks CreateFileMapping Pin
Maxwell Chen27-Sep-10 20:52
Maxwell Chen27-Sep-10 20:52 
AnswerRe: Mutex blocks CreateFileMapping Pin
Code-o-mat27-Sep-10 22:46
Code-o-mat27-Sep-10 22:46 
GeneralRe: Mutex blocks CreateFileMapping Pin
Maxwell Chen27-Sep-10 22:54
Maxwell Chen27-Sep-10 22:54 
GeneralRe: Mutex blocks CreateFileMapping Pin
Code-o-mat27-Sep-10 23:04
Code-o-mat27-Sep-10 23:04 
GeneralRe: Mutex blocks CreateFileMapping Pin
Maxwell Chen27-Sep-10 23:05
Maxwell Chen27-Sep-10 23:05 
GeneralRe: Mutex blocks CreateFileMapping Pin
Code-o-mat27-Sep-10 23:17
Code-o-mat27-Sep-10 23:17 
GeneralRe: Mutex blocks CreateFileMapping Pin
Maxwell Chen27-Sep-10 23:32
Maxwell Chen27-Sep-10 23:32 
GeneralRe: Mutex blocks CreateFileMapping Pin
Code-o-mat27-Sep-10 23:57
Code-o-mat27-Sep-10 23:57 
GeneralRe: Mutex blocks CreateFileMapping Pin
Maxwell Chen28-Sep-10 0:04
Maxwell Chen28-Sep-10 0:04 
GeneralRe: Mutex blocks CreateFileMapping Pin
Code-o-mat28-Sep-10 0:04
Code-o-mat28-Sep-10 0:04 
GeneralRe: Mutex blocks CreateFileMapping Pin
Aescleal28-Sep-10 1:03
Aescleal28-Sep-10 1:03 
GeneralRe: Mutex blocks CreateFileMapping Pin
Code-o-mat28-Sep-10 1:11
Code-o-mat28-Sep-10 1:11 
AnswerRe: Mutex blocks CreateFileMapping PinPopular
«_Superman_»28-Sep-10 0:05
professional«_Superman_»28-Sep-10 0:05 
AnswerRe: Mutex blocks CreateFileMapping Pin
Luc Pattyn28-Sep-10 3:37
sitebuilderLuc Pattyn28-Sep-10 3:37 
GeneralRe: Mutex blocks CreateFileMapping Pin
Maxwell Chen28-Sep-10 4:31
Maxwell Chen28-Sep-10 4:31 
GeneralRe: Mutex blocks CreateFileMapping Pin
Luc Pattyn28-Sep-10 4:41
sitebuilderLuc Pattyn28-Sep-10 4:41 
GeneralRe: Mutex blocks CreateFileMapping Pin
Maxwell Chen28-Sep-10 4:44
Maxwell Chen28-Sep-10 4:44 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.