即是说,传送数据时,连接断开了,而这时管道内还有数据,重连后,cmd还会继续发送管道内的数据,所以想在发送失败时清空管道,而知接退出cmd进程仍存在,请问有那个函数可以清空管道的

         while (1) 

WaitForSingleObject(g_hEvent,INFINITE);
WideCharToMultiByte(m,WC_COMPOSITECHECK,buff,-1,cmidbuff,200,NULL,NULL);
strcat(cmidbuff,("\r\n"));
len=strlen(cmidbuff);
ret=WriteFile(hWritePipe2,cmidbuff,len,&lBytesRead,0); 
if (!ret)
{
break;
}
Sleep(2000);
                  DWORD dwRead;
while(1)
{
memset(buf,0,300);
memset(bufff,0,sizeof(bufff));
ret=PeekNamedPipe(hReadPipe1,buf,300,&lBytesRead,0,0);
if (lBytesRead) 

ret=ReadFile(hReadPipe1,buf,lBytesRead,&dwRead,0); 
if (!ret)
{
break;

memset((char *)&cmdsend4,0,sizeof(COMMAND));
((DWORD *)cmdsend4.cmdshell)[0]=1;
       MultiByteToWideChar(CP_ACP,0,buf,-1,bufff,dwRead);
memcpy(cmdsend4.cmdshell+4,bufff,sizeof(bufff));
cmdsend4.num=NUM;
cmdsend4.order=CMDPIPE;
memset(objname4,0,LENGTH);
memset(threadrecvbuf,0,REVLEN);
base64Encode((char *)&cmdsend4,objname4,sizeof(COMMAND));
rett=SendCgiRequest(objname4,threadrecvbuf);
if (rett!=3)
{
rett=SendCgiRequest(objname4,threadrecvbuf);
if (rett!=3)
{
break;//发送失败,想请空管道内的数据,该怎么办
}
}
Sleep(200);
}
else
{
memset((char *)&cmdsend4,0,sizeof(COMMAND));
((DWORD *)cmdsend4.cmdshell)[0]=0;
cmdsend4.num=NUM;
cmdsend4.order=CMDPIPE;
memset(objname4,0,LENGTH);
memset(threadrecvbuf,0,REVLEN);
base64Encode((char *)&cmdsend4,objname4,sizeof(COMMAND));
rett=SendCgiRequest(objname4,threadrecvbuf);
if (rett!=3)
{
rett=SendCgiRequest(objname4,threadrecvbuf);
if (rett!=3)
{
break;
}
}
break;
}
}
}