Also, I've implemented and registered my IMessageFilter interface
which is getting calls to HandleInComingCall (which is returning
SERVERCALL_ISHANDLED), but nothing on MessagePending.
The result I'm getting in a locked UI on my client which is making the
calls which I was hoping would remain responsive. Has any one had any
similar experience like this or know what I'm doing wrong?
Thanks in advance,
Duncan
-Duncan
I just had a nice elaborate version of this mail, but my Windows 2000 IE5
Pre-Beta freaking News Client blew on me!!!! Sorry! Here is the short
version:
Replace your version of MessagePendingProc with this one (you may want to
include some filtering, which I did not since I log every message for
research (sounds grand, doesn't it???)) and remove all occurences of NOYIELD
(those were the 16-bit times) in the msgfiltr.c file. That's it. Good luck,
J.
BOOL FAR PASCAL EXPORT MessagePendingProc(MSG FAR *lpMsg)
{
if(!g_bProcessingPleaseWait)
{
// Dispatch all messages (so far, we are only researching!!!)
g_bProcessingPleaseWait = TRUE;
while(PeekMessage(lpMsg, NULL, 0, 0, PM_REMOVE))
{
TranslateMessage (lpMsg);
DispatchMessage(lpMsg);
}
g_bProcessingPleaseWait = FALSE;
return TRUE;
}
P.S.: Don't forget to define the global variable, which is supposed to avoid re-entrance while I dispatch. Seems like IE5 still got some problems with that (:-) ... the application error looked just too darn familiar.
return FALSE; //return PENDING_WAITDEFPROCESS for MessagePending (to OLE Process)
}
Duncan Lees <Duncan@snsys-dot-com> wrote in message news:36c1b3ec...@msnews.microsoft.com...
<snip>
>Replace your version of MessagePendingProc with this one (you may want to
>include some filtering, which I did not since I log every message for
>research (sounds grand, doesn't it???)) and remove all occurences of NOYIELD
>(those were the 16-bit times) in the msgfiltr.c file. That's it. Good luck,
<snip>
Thanks but I'm not really sure how to apply that with my ATL project.
After a bit of searching it seems to relate to the OLE Standard
Utility Library stuff in the SDK. I'm not really sure how that code
works, but it seems to be faking up a v-table which is definately
bigger than the IMessageFilter interface definition I'm using. Is
there an extended interface which I should use instead of the standard
IMessageFilter?
Thanks,
-Duncan