I have seen in MSDN while describing windows function they describe about system queue.
I dont know what events will enter into systems queue. when an entry in the system queue is removed(is it after processing).
how is this system queue different from message queue or is it same
System Queue has different meaning to Message Queue.
Here is the explanation from MSDN.
Queues that are generated by Message Queuing are referred to as system queues, internal private queues, and outgoing queues.
System queues include the following types of queues:
Queue journals: Queue journals are queues that contain copies of all messages removed from a queue with target journaling enabled. Computer journals: Computer journals are queues that contain copies of all messages sent from a computer with a request for positive_source journaling. Dead-letter queues: Dead-letter queues contain messages that were sent from a computer with a request for negative source journaling and could not be delivered. Message Queuing provides a transactional dead-letter queue and a nontransactional dead-letter queue. Connector queues: Connector queues are used when sending messages to foreign queues.
The computer journal and the dead-letter queues are listed in MMC snap-ins (or the Control Panel applet) in the System Queues folder.
Applications can read the messages in system queues, but cannot address messages to them.
Thanks for u r post. I learnt a lot because of u r post.
"If you judge people, you have no time to love them."
Since i'm not defining this class inside the Header file i'm not able to access any controls and its values.
Previously i had as like below
//strSocketData is a control variable.
How can i access it in my "ReceiveMessage" method.
UINT RecieveMessage( LPVOID pParam )
//Disclaimer: It's not at all safe to pass around MFC objects. Instead you can pass around HWND's which is safe.
CYourDlg* pYourDlg = reinterpret_cast< CYourDlg* >( pParam );
pYourDlg->strSocketData.SetWindowText( pYourDlg->strResult );
SocketThread = AfxBeginThread(ReceiveMessage,this);
You mentioned that it is not safe is there anyother alternate.
No it's not at all thread safe to pass around MFC objects. Instead pass the HWND of your dialog. Then use SetDlgItemText to set the text for the item.
SetDlgItemText( hDialog, IDD_DIALOGCONTROL_ID, _T( "This is thread safe" ));
Well you cannot retrieve the strResult parameter too. To get around this store the buffer of strResult inside another pointer. Put both the handle to the dialog and the pointer to the buffer inside the struct and then pass this struct object to the thread.