// add end
// ----------------------------------------------------------------------------------------------------
void	DispEventInfo ( Acs_Evt_t *pAcsEvt )
{
	char	TmpStr[256];
	char	TmpS[128];
	Acs_Dev_List_Head_t * pAcsDevList = NULL;
	Acs_UniFailure_Data * pAcsUniFailure = NULL;

	sprintf ( TmpStr, "EVT(%4d) : ", pAcsEvt->m_s32EvtSize );
	strcat ( TmpStr, GetString_EventType ( pAcsEvt->m_s32EventType ) );

	switch ( pAcsEvt->m_s32EventType )
	{
	case XMS_EVT_OPEN_STREAM:
		break;

	case XMS_EVT_QUERY_DEVICE:
		pAcsDevList = (Acs_Dev_List_Head_t *) FetchEventData(pAcsEvt);
		sprintf ( TmpS, " (%s,%2d,%3d)", 
			GetString_DeviceMain(pAcsDevList->m_s32DeviceMain),
			pAcsDevList->m_s32ModuleID,
			pAcsDevList->m_s32DeviceNum );
		strcat ( TmpStr, TmpS );

		break;

	case XMS_EVT_OPEN_DEVICE:
		break;

	case XMS_EVT_UNIFAILURE:
		pAcsUniFailure = (Acs_UniFailure_Data *) FetchEventData(pAcsEvt);

		sprintf ( TmpS, ": %s(0x%X) dev=(%s, %d, %d),  %d ?=? %d+%d", 
			GetString_ErrorCode(pAcsUniFailure->m_s32AcsEvtErrCode), pAcsUniFailure->m_s32AcsEvtErrCode,
			GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain),  pAcsEvt->m_DeviceID.m_s8ModuleID, pAcsEvt->m_DeviceID.m_s16ChannelID,
			pAcsEvt->m_s32EvtSize, sizeof(Acs_Evt_t), sizeof(Acs_UniFailure_Data) 
			);
		strcat ( TmpStr, TmpS );
		AddMsg ( TmpStr );
//		WriteMsgLog(TmpStr);
		break;

	default:
		break;

	}
}
// -------------------------------------------------------
void	DispEventInfo ( Acs_Evt_t *pAcsEvt )
{
	char	TmpStr[512] = {0};
	char	TmpS[256] = {0};

	char		  SendTiffFileName[ACS_MAX_FILE_NAME_LEN];
	char		  RecvTiffFileName[ACS_MAX_FILE_NAME_LEN];
	
	char dtmf='?';

	Acs_Dev_List_Head_t * pAcsDevList = NULL;
	Acs_UniFailure_Data * pAcsUniFailure = NULL;
	Acs_GeneralProc_Data *pGeneralData = NULL;
	Acs_CallControl_Data *pCallControl = NULL;
	Acs_IO_Data			 *pIOData = NULL;
	Acs_CAS_ExtraInfo_t  *pCAS_ExtraInfo = NULL;
	Acs_AnalogInterface_Data* pAnalogInterface=NULL;
	Acs_CSPDataReq_Data* pCspReqData=NULL;
	Acs_ParamProc_Data*  pSetParam=NULL;
	Acs_ParamProc_Data*  pGetParam=NULL;
	Acs_MediaProc_Data* pMedia=NULL;
	Acs_ParamData_UserReadXmsBoardInfo* pBoardInfor=NULL;

	sprintf ( TmpStr, "" );
	strcat ( TmpStr, GetString_EventType ( pAcsEvt->m_s32EventType ) );

	Acs_MediaProc_Data * pMediaData = (Acs_MediaProc_Data *)FetchEventData(pAcsEvt);

	switch ( pAcsEvt->m_s32EventType )
	{
	case XMS_EVT_GETPARAM:
		{
			pGetParam = (Acs_ParamProc_Data*)FetchEventData(pAcsEvt);
			pBoardInfor = (Acs_ParamData_UserReadXmsBoardInfo*)((char*)pGetParam+sizeof(Acs_ParamProc_Data));
		}
		break;
	case XMS_EVT_DEV_TIMER:
		{

			char ioFskBuf[512];
			int iFskLen;
			char MsgStr[512];

			memset(ioFskBuf,0,sizeof(ioFskBuf));
			pdlg->GetDlgItemText(IDC_EDIT_CALLINGNUM,MsgStr,sizeof(MsgStr));
			EncodeFskCaller(MsgStr,ioFskBuf,&iFskLen);

		    int r = XMS_ctsSendIOData ( g_acsHandle, &pAcsEvt->m_DeviceID, 
			XMS_IO_TYPE_FSK, (DJ_U16)iFskLen, (DJ_Void *) ioFskBuf );
			if ( r < 0 )
			{
				sprintf ( MsgStr, "X(%d) XMS_ctsSendIOData( %s, %d, [%s] ) FAIL! (%s)", 
					r, "GTG ", g_iLen, TmpStr, 
					GetString_DeviceAll (&pAcsEvt->m_DeviceID)  );
				AddMsg ( MSG_TYPE_FUNCTION, MsgStr );
			}
			else
			{
				sprintf ( MsgStr, "XMS_ctsSendIOData( %s, %d, [%s] ) OK! (%s)", 
					"GTG ", g_iLen, TmpStr,  
					GetString_DeviceAll (&pAcsEvt->m_DeviceID)  );
				AddMsg ( MSG_TYPE_FUNCTION, MsgStr );
			}
		}
		break;
	case XMS_EVT_BUILDINDEX:
		pMedia=(Acs_MediaProc_Data*)FetchEventData(pAcsEvt);
		sprintf(TmpS," EvtState=%d taskID=%d fileIndex=%u,%x",pMedia->m_s32AcsEvtState,pMedia->m_u8TaskID,pMedia->m_u32CurFileIndex,pMedia->m_u32CurFileIndex);
		strcat(TmpStr,TmpS);
		break;
	case XMS_EVT_PLAY:
		pMedia=(Acs_MediaProc_Data*)FetchEventData(pAcsEvt);
		sprintf(TmpS," EvtState=%d Errcode=%d taskID=%d fileIndex=%d",pMedia->m_s32AcsEvtState,pMedia->m_s32AcsEvtErrCode,pMedia->m_u8TaskID,pMedia->m_u32CurFileIndex);
		strcat(TmpStr,TmpS);
		break;
	case XMS_EVT_SETPARAM:
		pSetParam = (Acs_ParamProc_Data*)FetchEventData(pAcsEvt);
		sprintf(TmpS," CmdType=[%d]",pSetParam->m_u16ParamCmdType);
		strcat(TmpStr,TmpS);
		break;
	case XMS_EVT_UNLINKDEVICE:
		pGeneralData = (Acs_GeneralProc_Data*) FetchEventData(pAcsEvt);
		break;
	case XMS_EVT_PLAYCSPREQ:
		//
		pCspReqData = (Acs_CSPDataReq_Data*)FetchEventData(pAcsEvt);
		sprintf(TmpS,"CSPPLAYREQ datalen =%d",pCspReqData->m_u16ReqCspDataLen);
		strcat(TmpStr,TmpS);
		break;

	case XMS_EVT_ANALOG_INTERFACE:
		pAnalogInterface = (Acs_AnalogInterface_Data*)FetchEventData(pAcsEvt);
		sprintf(TmpS,"(%d,%s)",pAnalogInterface->m_u8AnalogInterfaceState,GetString_AnalogInterfaceState(pAcsEvt->m_DeviceID.m_s16DeviceSub,pAnalogInterface->m_u8AnalogInterfaceState));
		strcat(TmpStr,TmpS);
		break;
	case XMS_EVT_SENDIODATA:
		sprintf ( TmpS, " (%s,%s,MachineID:%2d,ModuleID:%3d,Ch:%d)", 
			GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain),
			GetString_DeviceSub(pAcsEvt->m_DeviceID.m_s16DeviceMain,pAcsEvt->m_DeviceID.m_s16DeviceSub),
			pAcsEvt->m_DeviceID.m_s8MachineID,
			pAcsEvt->m_DeviceID.m_s8ModuleID,
			pAcsEvt->m_DeviceID.m_s16ChannelID );
		/*strcat ( TmpStr, TmpS );
		{
			CmdParamData_AnalogTrunk_t cmdAnalogTrunk;
			void*p =(void*)&cmdAnalogTrunk; ;
			XMS_ctsSetParam(g_acsHandle,&pAcsEvt->m_DeviceID,ANALOGTRUNK_PARAM_UNBINDVOC,sizeof(CmdParamData_AnalogTrunk_t),p);
			////
		}*/
		strcat(TmpStr,TmpS);
		break;
	case XMS_EVT_LINKDEVICE:
	case XMS_EVT_CLEARCALL:
		sprintf ( TmpS, " (%s,%s,MachineID:%2d,ModuleID:%3d,Ch:%d)", 
			GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain),
			GetString_DeviceSub(pAcsEvt->m_DeviceID.m_s16DeviceMain,pAcsEvt->m_DeviceID.m_s16DeviceSub),
			pAcsEvt->m_DeviceID.m_s8MachineID,
			pAcsEvt->m_DeviceID.m_s8ModuleID,
			pAcsEvt->m_DeviceID.m_s16ChannelID );
		strcat ( TmpStr, TmpS );
		break;
	case XMS_EVT_OPEN_STREAM:
		break;

	case XMS_EVT_QUERY_DEVICE:
		pAcsDevList = (Acs_Dev_List_Head_t *)FetchEventData(pAcsEvt);
		sprintf ( TmpS, " (%s,%2d,%3d)", 
			GetString_DeviceMain(pAcsDevList->m_s32DeviceMain),
			pAcsDevList->m_s32ModuleID,
			pAcsDevList->m_s32DeviceNum );
		strcat ( TmpStr, TmpS );
		break;

	case XMS_EVT_QUERY_ONE_DSP_START:
	case XMS_EVT_QUERY_ONE_DSP_END:
		sprintf ( TmpS, " (%d)", pAcsEvt->m_DeviceID.m_s8ModuleID );
		strcat ( TmpStr, TmpS );
		break;

	case XMS_EVT_OPEN_DEVICE:
		{
			pGeneralData = (Acs_GeneralProc_Data*)FetchEventData(pAcsEvt);
			int isize = sizeof(Acs_GeneralProc_Evt);
			 isize = sizeof(Acs_GeneralProc_Data);
			
			sprintf ( TmpS, "(%s) CallID(%d,%d)",  GetString_DeviceAll(&pAcsEvt->m_DeviceID), 
				pAcsEvt->m_DeviceID.m_CallID.m_s32FlowType, pAcsEvt->m_DeviceID.m_CallID.m_s32FlowChannel );
			strcat ( TmpStr, TmpS );
		}
		break;

	case XMS_EVT_DEVICESTATE:
		pGeneralData = (Acs_GeneralProc_Data *)FetchEventData(pAcsEvt);

		sprintf ( TmpS, "(%s) S=0x%X(%s)", GetString_DeviceAll(&pAcsEvt->m_DeviceID), 
			pGeneralData->m_s32DeviceState, GetString_DeviceState(pGeneralData->m_s32DeviceState) );
		strcat ( TmpStr, TmpS );
		break;

	case XMS_EVT_CALLIN:
		pCallControl = (Acs_CallControl_Data *)FetchEventData(pAcsEvt);

		sprintf ( TmpS, "(%s) (%s,%s)", GetString_DeviceAll(&pAcsEvt->m_DeviceID), 
			 pCallControl->m_s8CallingNum, pCallControl->m_s8CalledNum); 
		strcat ( TmpStr, TmpS );
		break;

	case XMS_EVT_CALLOUT:
		pCallControl = (Acs_CallControl_Data *)FetchEventData(pAcsEvt);

		sprintf ( TmpS, "(%s) EvtState=%d, ErrCode=%d,ClearCause=%d) calling=%s called=%s", GetString_DeviceAll(&pAcsEvt->m_DeviceID), 
			pCallControl->m_s32AcsEvtState, pCallControl->m_s32AcsEvtErrCode, pCallControl->m_s32CallClearCause,pCallControl->m_s8CallingNum,pCallControl->m_s8CalledNum );  
		strcat ( TmpStr, TmpS );
		break;

	case XMS_EVT_RECVIODATA:
		{
		pIOData = (Acs_IO_Data *)FetchEventData(pAcsEvt);


		//strcat ( TmpStr, TmpS );
		//AddMsg ( MSG_TYPE_EVENT, TmpStr );
		

		pdlg->GetDlgItem ( IDC_EDIT_SENDFAX )->GetWindowText ( SendTiffFileName, ACS_MAX_FILE_NAME_LEN-1 );
		pdlg->GetDlgItem ( IDC_EDIT_RECEIVEFAX )->GetWindowText ( RecvTiffFileName, ACS_MAX_FILE_NAME_LEN-1 );
		//sprintf ( s8LocalID, "DJ:83636988" );

		if( pAcsEvt->m_DeviceID.m_s16DeviceMain == XMS_DEVMAIN_VOIP)
		{
			//Fax Process....begin
			switch (pIOData->m_u16IoType)
			{
				case XMS_IO_TYPE_VOIP_H245UII:
					if (pIOData->m_u16IoDataLen == sizeof(Acs_VoIP_H245UII))
					{
						Acs_VoIP_H245UII *h245Uii = (Acs_VoIP_H245UII *)FetchIOData(pAcsEvt);
						dtmf = h245Uii->m_s8Signal;
					}
					sprintf ( TmpS, "(%s) (%s,%d) [%c]", GetString_DeviceAll(&pAcsEvt->m_DeviceID), 
					GetString_IOType(pIOData->m_u16IoType),  pIOData->m_u16IoDataLen, dtmf ); 
					break;
				case XMS_IO_TYPE_VOIP_SIPINFO:
					if (pIOData->m_u16IoDataLen == sizeof(Acs_VoIP_SIPINFO))
					{
						Acs_VoIP_SIPINFO *sipInfo = (Acs_VoIP_SIPINFO *)FetchIOData(pAcsEvt);
						if (strcmp(sipInfo->m_s8ContentType, "application/dtmf") == 0)
							sscanf(sipInfo->m_s8Body, "dtmf=%c", &dtmf);
					}
					sprintf ( TmpS, "(%s) (%s,%d) [%c]", GetString_DeviceAll(&pAcsEvt->m_DeviceID), 
					GetString_IOType(pIOData->m_u16IoType),  pIOData->m_u16IoDataLen, dtmf ); 
					break;
				case XMS_IO_TYPE_VOIP_RTPDTMF:
					if (pIOData->m_u16IoDataLen == sizeof(Acs_VoIP_RTPDTMF))
					{
						Acs_VoIP_RTPDTMF *rtpDtmf = (Acs_VoIP_RTPDTMF *)FetchIOData(pAcsEvt);
						dtmf = rtpDtmf->m_s8EventChar;
					}
					sprintf ( TmpS, "(%s) (%s,%d) [%c]", GetString_DeviceAll(&pAcsEvt->m_DeviceID), 
					GetString_IOType(pIOData->m_u16IoType),  pIOData->m_u16IoDataLen, dtmf ); 
					break;
				case XMS_IO_TYPE_VOIP_T38START:
					if (pIOData->m_u16IoDataLen == sizeof(DJ_S32))
					{
						DJ_S32 *ret = (DJ_S32 *)FetchIOData(pAcsEvt);
						if (*ret == 0)
						{
							

							pdlg->UpdateData();

							if (g_iSendRecv == 0)//SendFax
							{
								//pdlg->m_lstIP.SetItemText(iDevice, 3, _T("Send Fax"));

								XMS_ctsSendFax(g_acsHandle,
									&DevOpened[iOpenedIndex1].DevID,
									&DevOpened[iOpenedIndex2].DevID,
									//&g_deviceVoIP[iDevice].device,
									(DJ_S8 *)(LPCTSTR)SendTiffFileName, "1234", NULL);

								sprintf ( TmpS, "(%s) (%s,%d) T38START SENDFAX", GetString_DeviceAll(&pAcsEvt->m_DeviceID), 
								GetString_IOType(pIOData->m_u16IoType),  pIOData->m_u16IoDataLen  ); 
							}
							else
							{
								//pdlg->m_lstIP.SetItemText(iDevice, 3, _T("Recv Fax"));
								XMS_ctsReceiveFax(g_acsHandle,
									&DevOpened[iOpenedIndex1].DevID,
									&DevOpened[iOpenedIndex2].DevID,
									//&g_deviceVoIP[iDevice].device,
									(DJ_S8 *)(LPCTSTR)RecvTiffFileName, "1234", NULL);

								sprintf ( TmpS, "(%s) (%s,%d) T38START RECVFAX", GetString_DeviceAll(&pAcsEvt->m_DeviceID), 
								GetString_IOType(pIOData->m_u16IoType),  pIOData->m_u16IoDataLen  ); 
							}
						}
					}
			
					
					break;
				//default:
				//	sprintf ( TmpS, "(%s) (%s,%d) INVALID IOTYPE FOR VOIP", GetString_DeviceAll(&pAcsEvt->m_DeviceID), 
				//				GetString_IOType(pIOData->m_u16IoType),  pIOData->m_u16IoDataLen  ); 
				//	break;

				
			}
		//Fax Process....end

		}
		else //NO IP Device
		{
			char *p;
			p = (char *)(pIOData) + sizeof(Acs_IO_Data);
			switch( pIOData->m_u16IoType)
			{
			case XMS_IO_TYPE_DTMF:
				sprintf ( TmpS, "(%s) (%s,%d) [%s]", 
				GetString_DeviceAll(&pAcsEvt->m_DeviceID), 
				GetString_IOType(pIOData->m_u16IoType),  
				pIOData->m_u16IoDataLen, 
				p ); 
				break;
			case XMS_IO_TYPE_GTG:
				sprintf ( TmpS, "(%s) (%s,%d) [%c]", 
				GetString_DeviceAll(&pAcsEvt->m_DeviceID), 
				GetString_IOType(pIOData->m_u16IoType),  
				pIOData->m_u16IoDataLen, 
				*p ); 
				break;
			case XMS_IO_TYPE_FSK:
				sprintf ( TmpS, "(%s) (%s,Len:%d) [%d][%d][%d][%s]", 
				GetString_DeviceAll(&pAcsEvt->m_DeviceID), 
				GetString_IOType(pIOData->m_u16IoType),  
				pIOData->m_u16IoDataLen, 
				p[0],p[1],p[2],p ); 
				break;
			
			case XMS_IO_TYPE_PVD:
				sprintf ( TmpS, "(%s) (%s,%d) [%c]", 
				GetString_DeviceAll(&pAcsEvt->m_DeviceID), 
				GetString_IOType(pIOData->m_u16IoType),  
				pIOData->m_u16IoDataLen, 
				*p ); 
				break;
			default:
				break;
			}
			
		}

		}
		strcat ( TmpStr, TmpS );
		//AddMsg ( MSG_TYPE_EVENT, TmpStr );
		break;

	case XMS_EVT_CAS_MFC_START:
	case XMS_EVT_CAS_MFC_END:
		pCAS_ExtraInfo = (Acs_CAS_ExtraInfo_t *)FetchEventData(pAcsEvt);

		sprintf ( TmpS, "(%s) KA=%d, KD=%d)", GetString_DeviceAll(&pAcsEvt->m_DeviceID), 
			pCAS_ExtraInfo->m_u8KA, pCAS_ExtraInfo->m_u8KD );
		strcat ( TmpStr, TmpS );
		break;


	case XMS_EVT_UNIFAILURE:
		pAcsUniFailure = (Acs_UniFailure_Data *)FetchEventData(pAcsEvt);

		sprintf ( TmpS, ": %s(0x%X)", GetString_ErrorCode(pAcsUniFailure->m_s32AcsEvtErrCode), pAcsUniFailure->m_s32AcsEvtErrCode );
		strcat ( TmpStr, TmpS );

		if ( pAcsEvt->m_DeviceID.m_s16DeviceMain != 0 )
		{
			//Unifailure event that some device link each other
			sprintf ( TmpS, " (%s)", GetString_DeviceAll(&pAcsEvt->m_DeviceID) );
			strcat ( TmpStr, TmpS );
		}
		break;
	default:
		break;

	}

	AddMsg ( MSG_TYPE_EVENT, TmpStr );
}
Beispiel #3
0
void	DispEventInfo ( Acs_Evt_t *pAcsEvt )
{
	char	TmpStr[256]={0};
	char	TmpS[256]={0};
	DeviceID_t	*pLinkTrkDevID;
	Acs_Dev_List_Head_t * pAcsDevList = NULL;
	Acs_UniFailure_Data * pAcsUniFailure = NULL;
	Acs_GeneralProc_Data * pAcsProcData=NULL;

	sprintf ( TmpStr, "EVT(%4d) : ", pAcsEvt->m_s32EvtSize );
	strcat ( TmpStr, GetString_EventType ( pAcsEvt->m_s32EventType ) );

	switch ( pAcsEvt->m_s32EventType )
	{
	case XMS_EVT_OPEN_STREAM:
		break;
	case XMS_EVT_CALLOUT:
	case XMS_EVT_CALLIN:
	case XMS_EVT_ANALOG_INTERFACE:
	case XMS_EVT_LINKDEVICE:
	case XMS_EVT_UNLINKDEVICE:
	case XMS_EVT_SETPARAM:
	case XMS_EVT_PLAY:
	case XMS_EVT_RECORD:		
	case XMS_EVT_OPEN_DEVICE:
	case XMS_EVT_CONTROLPLAY:
	case XMS_EVT_CONTROLRECORD:
	case XMS_EVT_CLEARCALL:
	case XMS_EVT_ANSWERCALL:
	case XMS_EVT_CAS_MFC_START:
	case XMS_EVT_CAS_MFC_END:
	case XMS_EVT_SENDIODATA:
	case XMS_EVT_DEV_TIMER:
		sprintf ( TmpS, "(%s, %s, %d, %d)", 
			GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain),
			GetString_DeviceSub(pAcsEvt->m_DeviceID.m_s16DeviceSub),
			pAcsEvt->m_DeviceID.m_s8ModuleID,
			pAcsEvt->m_DeviceID.m_s16ChannelID);
		strcat ( TmpStr, TmpS );
		break;
	case XMS_EVT_DEVICESTATE:
		{	
			char StateStr[100]={0};
			pAcsProcData = (Acs_GeneralProc_Data *)FetchEventData(pAcsEvt);
			GetString_LineState ( StateStr, pAcsProcData->m_s32DeviceState );
			sprintf ( TmpS, "(%s, %s, %d, %d), %s", 
				GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain),
				GetString_DeviceSub(pAcsEvt->m_DeviceID.m_s16DeviceSub),
				pAcsEvt->m_DeviceID.m_s8ModuleID,
				pAcsEvt->m_DeviceID.m_s16ChannelID,
				StateStr);
			strcat ( TmpStr, TmpS );
		}

		break;
	case XMS_EVT_RECVIODATA:
		{
			char		*p;
			Acs_IO_Data				*pIOData = NULL;
			pIOData = (Acs_IO_Data *)FetchEventData(pAcsEvt);	
			pLinkTrkDevID = &M_OneVoice(pAcsEvt->m_DeviceID).UsedDevID;

			if ( ( pIOData->m_u16IoType == XMS_IO_TYPE_DTMF ) && ( pIOData->m_u16IoDataLen > 0 ) )
			{
				p = (char *)FetchIOData(pAcsEvt);
				sprintf(TmpS,"[%c], (%s, %s, %d, %d), LinkTrk(%s, %s, %d, %d)",*p, 
					GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain),
					GetString_DeviceSub(pAcsEvt->m_DeviceID.m_s16DeviceSub),
					pAcsEvt->m_DeviceID.m_s8ModuleID,
					pAcsEvt->m_DeviceID.m_s16ChannelID,
					GetString_DeviceMain(pLinkTrkDevID->m_s16DeviceMain),
					GetString_DeviceSub(pLinkTrkDevID->m_s16DeviceSub),
					pLinkTrkDevID->m_s8ModuleID,
					pLinkTrkDevID->m_s16ChannelID);				
				strcat ( TmpStr, TmpS );
			}else if ( (pIOData->m_u16IoType == XMS_IO_TYPE_FSK) && (pIOData->m_u16IoDataLen > 0 ))
			{
				p = (char *)FetchIOData(pAcsEvt);
				sprintf(TmpS,"[%s], (%s, %s, %d, %d), LinkTrk(%s, %s, %d, %d)",p, 
					GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain),
					GetString_DeviceSub(pAcsEvt->m_DeviceID.m_s16DeviceSub),
					pAcsEvt->m_DeviceID.m_s8ModuleID,
					pAcsEvt->m_DeviceID.m_s16ChannelID,
					GetString_DeviceMain(pLinkTrkDevID->m_s16DeviceMain),
					GetString_DeviceSub(pLinkTrkDevID->m_s16DeviceSub),
					pLinkTrkDevID->m_s8ModuleID,
					pLinkTrkDevID->m_s16ChannelID);				
				strcat ( TmpStr, TmpS );
				
			}else
			{
				sprintf(TmpS,", m_u16IoType:%d, (%s, %s, %d, %d)",
					pIOData->m_u16IoType,
					GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain),
					GetString_DeviceSub(pAcsEvt->m_DeviceID.m_s16DeviceSub),
					pAcsEvt->m_DeviceID.m_s8ModuleID,
					pAcsEvt->m_DeviceID.m_s16ChannelID);				
				strcat ( TmpStr, TmpS );
			}
		}
		break;

	case XMS_EVT_QUERY_DEVICE:
		pAcsDevList = (Acs_Dev_List_Head_t *) FetchEventData(pAcsEvt);
		sprintf ( TmpS, " (%s,%2d,%3d)", GetString_DeviceMain(pAcsDevList->m_s32DeviceMain),
			pAcsDevList->m_s32ModuleID,	pAcsDevList->m_s32DeviceNum );
		strcat ( TmpStr, TmpS );
		break;

	case XMS_EVT_UNIFAILURE:
		pAcsUniFailure = (Acs_UniFailure_Data *) FetchEventData(pAcsEvt);
		sprintf ( TmpS, ": %s(0x%X) dev=(%s, %d, %d),  %d ?=? %d+%d", 
			GetString_ErrorCode(pAcsUniFailure->m_s32AcsEvtErrCode), pAcsUniFailure->m_s32AcsEvtErrCode,
			GetString_DeviceMain(pAcsEvt->m_DeviceID.m_s16DeviceMain),  pAcsEvt->m_DeviceID.m_s8ModuleID, pAcsEvt->m_DeviceID.m_s16ChannelID,
			pAcsEvt->m_s32EvtSize, sizeof(Acs_Evt_t), sizeof(Acs_UniFailure_Data) );
		strcat ( TmpStr, TmpS );
		break;

	default:
		break;

	}
	WriteLog(LEVEL_DEBUG, TmpStr);
}