| 485 |
#endif /* NO_INET6 */ |
#endif /* NO_INET6 */ |
| 486 |
|
|
| 487 |
case IdSerial: |
case IdSerial: |
| 488 |
InitFileIO(); /* TTPLUG */ |
InitFileIO(IdSerial); /* TTPLUG */ |
| 489 |
TTXOpenFile(); /* TTPLUG */ |
TTXOpenFile(); /* TTPLUG */ |
| 490 |
_snprintf_s(P, sizeof(P), _TRUNCATE, "COM%d", ts->ComPort); |
_snprintf_s(P, sizeof(P), _TRUNCATE, "COM%d", ts->ComPort); |
| 491 |
strncpy_s(ErrMsg, sizeof(ErrMsg),P, _TRUNCATE); |
strncpy_s(ErrMsg, sizeof(ErrMsg),P, _TRUNCATE); |
| 524 |
break; /* end of "case IdSerial:" */ |
break; /* end of "case IdSerial:" */ |
| 525 |
|
|
| 526 |
case IdFile: |
case IdFile: |
| 527 |
InitFileIO(); /* TTPLUG */ |
InitFileIO(IdFile); /* TTPLUG */ |
| 528 |
TTXOpenFile(); /* TTPLUG */ |
TTXOpenFile(); /* TTPLUG */ |
| 529 |
cv->ComID = PCreateFile(ts->HostName,GENERIC_READ,0,NULL, |
cv->ComID = PCreateFile(ts->HostName,GENERIC_READ,0,NULL, |
| 530 |
OPEN_EXISTING,0,NULL); |
OPEN_EXISTING,0,NULL); |
| 683 |
MessageBox(cv->HWin,ts->UIMsg,uimsg,MB_TASKMODAL | MB_ICONEXCLAMATION); |
MessageBox(cv->HWin,ts->UIMsg,uimsg,MB_TASKMODAL | MB_ICONEXCLAMATION); |
| 684 |
} |
} |
| 685 |
break; |
break; |
| 686 |
case IdFile: cv->RRQ = TRUE; break; |
|
| 687 |
|
case IdFile: |
| 688 |
|
cv->RRQ = TRUE; |
| 689 |
|
break; |
| 690 |
} |
} |
| 691 |
cv->Ready = TRUE; |
cv->Ready = TRUE; |
| 692 |
} |
} |
| 823 |
ClearCommError(cv->ComID,&DErr,NULL); |
ClearCommError(cv->ComID,&DErr,NULL); |
| 824 |
break; |
break; |
| 825 |
case IdFile: |
case IdFile: |
| 826 |
PReadFile(cv->ComID,&(cv->InBuff[cv->InBuffCount]), |
if (PReadFile(cv->ComID,&(cv->InBuff[cv->InBuffCount]), |
| 827 |
InBuffSize-cv->InBuffCount,&C,NULL); |
InBuffSize-cv->InBuffCount,&C,NULL)) |
| 828 |
cv->InBuffCount = cv->InBuffCount + C; |
{ |
| 829 |
|
if (C == 0) { |
| 830 |
|
DErr = ERROR_HANDLE_EOF; |
| 831 |
|
} |
| 832 |
|
else { |
| 833 |
|
cv->InBuffCount = cv->InBuffCount + C; |
| 834 |
|
} |
| 835 |
|
} |
| 836 |
|
else { |
| 837 |
|
DErr = GetLastError(); |
| 838 |
|
} |
| 839 |
break; |
break; |
| 840 |
} |
} |
| 841 |
} |
} |
| 842 |
|
|
| 843 |
if (cv->InBuffCount==0) |
if (cv->InBuffCount==0) { |
|
{ |
|
| 844 |
switch (cv->PortType) { |
switch (cv->PortType) { |
| 845 |
case IdTCPIP: |
case IdTCPIP: |
| 846 |
if (! TCPIPClosed) |
if (! TCPIPClosed) |
| 852 |
SetEvent(ReadEnd); |
SetEvent(ReadEnd); |
| 853 |
return; |
return; |
| 854 |
case IdFile: |
case IdFile: |
| 855 |
PostMessage(cv->HWin, WM_USER_COMMNOTIFY, 0, FD_CLOSE); |
if (DErr != ERROR_IO_PENDING) { |
| 856 |
break; |
PostMessage(cv->HWin, WM_USER_COMMNOTIFY, 0, FD_CLOSE); |
| 857 |
|
cv->RRQ = FALSE; |
| 858 |
|
} |
| 859 |
|
else { |
| 860 |
|
cv->RRQ = TRUE; |
| 861 |
|
} |
| 862 |
|
return; |
| 863 |
} |
} |
| 864 |
cv->RRQ = FALSE; |
cv->RRQ = FALSE; |
|
|
|
| 865 |
} |
} |
| 866 |
} |
} |
| 867 |
|
|
| 891 |
ClearCommError(cv->ComID,&DErr,&Stat); |
ClearCommError(cv->ComID,&DErr,&Stat); |
| 892 |
Max = OutBuffSize - Stat.cbOutQue; |
Max = OutBuffSize - Stat.cbOutQue; |
| 893 |
break; |
break; |
| 894 |
case IdFile: Max = cv->OutBuffCount; |
case IdFile: |
| 895 |
|
Max = cv->OutBuffCount; |
| 896 |
break; |
break; |
| 897 |
} |
} |
| 898 |
|
|
| 954 |
} |
} |
| 955 |
ClearCommError(cv->ComID,&DErr,&Stat); |
ClearCommError(cv->ComID,&DErr,&Stat); |
| 956 |
break; |
break; |
| 957 |
case IdFile: D = C; break; |
|
| 958 |
|
case IdFile: |
| 959 |
|
if (! PWriteFile(cv->ComID, &(cv->OutBuff[cv->OutPtr]), C, (LPDWORD)&D, NULL)) { |
| 960 |
|
if (! GetLastError() == ERROR_IO_PENDING) { |
| 961 |
|
D = C; /* ignore data */ |
| 962 |
|
} |
| 963 |
|
} |
| 964 |
|
break; |
| 965 |
} |
} |
| 966 |
|
|
| 967 |
cv->OutBuffCount = cv->OutBuffCount - D; |
cv->OutBuffCount = cv->OutBuffCount - D; |