PIPE_INSTRUCT PipeInst;
bool m_bPipeError = false;
UINT PipeServerThread(LPVOID lpParameter)
{
DWORD nReadByte, nWriteByte, dwByte;
PIPE_REQ_CMD struTmpREQ;
PIPE_RES_CMD struTmpRES;
PIPE_INSTRUCT CurPipeInst;
OVERLAPPED OverLapStruct ;
CurPipeInst = *(PIPE_INSTRUCT*)lpParameter ;
nReadByte = nWriteByte = dwByte = 0 ;
OverLapStruct.hEvent = CurPipeInst.hEvent;
OverLapStruct.Internal = 0;
OverLapStruct.InternalHigh = 0;
OverLapStruct.Offset = 0;
OverLapStruct.OffsetHigh = 0;
OverLapStruct.Pointer = NULL;
char strTmp[256] = {0};
while(TRUE)
{
memset(&struTmpREQ, 0, sizeof(PIPE_REQ_CMD)) ;
memset(&struTmpRES, 0, sizeof(PIPE_RES_CMD)) ;
ConnectNamedPipe( CurPipeInst.hPipe, &OverLapStruct ) ;
printf("wait for pipe!\n");
_snprintf(strTmp,255,"wait for pipe!\r\n");
fwrite(strTmp,1,strlen(strTmp),g_fLogWrite);
fflush(g_fLogWrite);
WaitForSingleObject ( CurPipeInst.hEvent, INFINITE ) ;