|
#include <stdlib.h> #include <stdio.h>
#include <cics_eci.h>
ECI_PARMS EciParms; char Server[]="SWITCH"; char UserID[]=""; char PassWd[]="";
void EciSync(char *msgbuf,int msglen);
int main(void) { char Name[256]="Hello From Client"; EciSync(Name,strlen(Name)); return 0; }
void EciSync(char *msgbuf,int msglen) { short Rc; char CommArea[256];
memset(CommArea,0x00,sizeof(CommArea)); memset(&EciParms,0x00,sizeof(EciParms)); EciParms.eci_version=ECI_VERSION_MAX; EciParms.eci_call_type=ECI_SYNC; memcpy(&EciParms.eci_system_name, Server, strlen(Server)); memcpy(&EciParms.eci_userid, UserID, strlen(UserID)); memcpy(&EciParms.eci_program_name,"SWACBS",6); memcpy(&EciParms.eci_password,PassWd,strlen(PassWd));
EciParms.eci_commarea = msgbuf; EciParms.eci_commarea_length = msglen; EciParms.eci_extend_mode = ECI_NO_EXTEND; EciParms.eci_luw_token=ECI_LUW_NEW; EciParms.eci_timeout=0; Rc=CICS_ExternalCall(&EciParms); if ( Rc==ECI_NO_ERROR ) { printf("CommArea Returned:%s",msgbuf); } else printf("CICS_ExternalCall Error ![%d]\n",Rc); }
执行程序后,总是出现CICS_ExternalCall Error ![-1] 请问,为什么,看错误代码是ECI_ERR_INVALID_DATA_LENGTH,不应该的啊
|