The CAMMsgEvent class is a wrapper for event objects that do message processing. This class adds one method to the CAMEvent object to enable sent messages to be processed while waiting.
Member Functions
WaitMsg Enables sent messages to be processed while waiting for an event to be signaled or for the indicated time-out to occur.
Enables sent messages to be processed while waiting for an event to be signaled or for the indicated time-out to occur.
Syntax
BOOL WaitMsg( DWORD dwTimeOut = INFINITE );
Parameters
- dwTimeOut
- Optional time-out value, represented in milliseconds.
Return Value
Returns TRUE if the event is signaled, or FALSE if the time-out occurred.
Remarks
Call CAMMsgEvent::WaitMsg rather than CAMEvent::Wait if you want to block on a time-out or a signaled event and continue to process sent messages. If you do not process messages and another thread sends you a message, deadlock could occur. For example, if you create a thread by way of the Win32 CreateThread function and then block until the thread can initialize, deadlock will occur if the thread sends a message to your window using the Win32 SendMessage function. This is because SendMessage does not return until the message has been processed. CAMMsgEvent::WaitMsg allows SendMessage to return to the caller by using a Win32 PeekMessage loop to do message processing.
Top of Page
© 2000 Microsoft and/or its suppliers. All rights reserved. Terms of Use.