This class is only available in the RT environment. It has been derived from CIThread to ease the creation of a thread that waits for incoming messages at a low level mailbox. It must be used to derive an application specific low level mailbox thread class, or it can be used directly to control a thread object.
Constructor
Destructor
Create
DoForever
ExitInstance
OnReceive
The following member variable is only available to the members of the class and its derived classes:
CILLMbx * m_pMbx;
See CIThread::Constructor.
See CIThread::Destructor.
If the object is already attached, it is first detached. Then this call creates a new active RT thread object and attaches it to the object.
DWORD CILLMbxThread::Create( char * pszName, CILLMbx * pMbx, DWORD dwMsgSize, BYTE byPrio, DWORD dwStack, BOOLEAN bGo );
pszName
pMbx
dwMsgSize
byPrio
dwStack
bGo
The result is a status indicating success or failure:
E_OK
E_MEM
E_LIMIT
byPrio
contains a bad value, or the object directory is full.
E_SLOT
E_PARAM
dwStack
contains a value of less than 2048, or the name is too long or is improperly formatted.
E_CONTEXT
For details on the code executed by the new thread, See CIThreadCreate.
See CIThread::DoForever. CILLMbxThread::DoForever is called by the framework and should never be called explicitly. CILLMbxThread::DoForever waits for a message at the low level mailbox (no timeout), calls the OnReceive member (only after successful receive) and returns a boolean status (TRUE for success, FALSE for failure). When overruling this call, do not include a call to the default call.
See CIThread::ExitInstance. CILLMbxThread::ExitInstance is called by the framework before terminating the thread; it should never be called explicitly. CILLMbxThread::ExitInstance frees the message buffer and then returns 0.
CILLMbxThread::OnReceive is called by the framework when a message has been received sucessfully; it should never be called explicitly. CILLMbxThread::OnReceive just returns TRUE. When overruling this call, there is no need to call the default call.
BOOLEAN CILLMbxThread::OnReceive( BYTE * pBuffer, DWORD dwLen );
pBuffer
dwLen