 
Sample code from my test program showing break out of status message.
  
W 
 /* 
  
#include "..\..\Include\Utils.h"
#include "..\..\Remote6046\6046RemoteClient.h"
#include "..\..\Components\NetUtils\7kCommand.h"
#include "..\..\Components\NetUtils\7kStatus.h"
  

#ifdef _DEBUG
#pragma comment( lib, "..\\..\\Components\\NetUtils\\Debug\\NetUtils.lib " )
#pragma comment( lib, "..\\..\\Remote6046\\Debug\\Remote6046.lib" )
#else
#pragma comment( lib, "..\\..\\Components\\NetUtils\\Release\\NetUtils.lib" )
#pragma comment( lib, "..\\..\\Remote6046\\Release\\Remote6046.lib" )
#endif
  
void StatusCallback     (   void *pvParam, BYTE *pbyData,   unsigned long   ulBytes );
void DataCallback       (   void *pvParam, BYTE *pbyData,   unsigned long   ulBytes );
  
  
  
void StatusCallback( void *pvParam, BYTE *pbyData, unsigned long ulBytes )
{
    UNREFERENCED_PARAMETER( pvParam );
  
    ASSERT( ulBytes >  0UL  );
    ASSERT( pbyData != NULL );
  
    if ( ( ulBytes > 0UL ) && ( pbyData != NULL ) )
    {
        printf( "StatusCallback(), Bytes: %lu, ", ulBytes );
  
        C7kStatus::EMESSAGETYPE e7kStatusType;
        C7kStatus::EMODE        e7kStatusMode;
        int                     iMessageId;
  
        C7kStatus               StatusOrAlarm;
  
        StatusOrAlarm.Decode( pbyData, ulBytes, false, e7kStatusType, e7kStatusMode, iMessageId );
  
        switch ( e7kStatusType )
        {
            case C7kStatus::messageTypeStatus:
  
                printf( "Status, Mode: %d, Id: %d, \"%s\"\n", e7kStatusMode, iMessageId, StatusOrAlarm.Message() );
                break;
  
            case C7kStatus::messageTypeAlarm:
  
                printf( "Alarm,  Mode: %d, Id: %d, \"%s\"\n", e7kStatusMode, iMessageId, StatusOrAlarm.Message() );
                break;
  
            default:
                break;
        }
    }
} 
*/