Write_Com_Port.hEvent
Read_Com_Port.hEvent
1、
invoke CreateFile,CTXT("\\.\COM1"),GENERIC_READ or GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,NULL
.if (eax == INVALID_HANDLE_VALUE)
invoke GetLastError
.if (eax == ERROR_ACCESS_DENIED)
movzx eax,ComportNumber
invoke wsprintf,addr szString_buffer,CTXT("Com%d is already in use !"),eax
invoke MessageBox,0,addr szString_buffer,CTXT("eRROR:.."),MB_ICONINFORMATION
.endif
jmp ComPortError
.endif
mov hComPort,eax
2、
invoke ReadFile,hComPort,addr Buffer_RX,countInQue,addr countInQue,addr Read_Com_Port
.if (!eax)
invoke GetLastError
.if (eax == ERROR_IO_PENDING)
invoke GetOverlappedResult,hComPort,addr Read_Com_Port,addr countInQue,TRUE
;////////////////////////////////////////////////////////////////////////////////////////
invoke WriteFile,hComPort,lpString,dwStringLength,addr dwSend,addr Write_Com_Port
.if (!eax)
invoke GetLastError
.if (eax == ERROR_IO_PENDING)
invoke GetOverlappedResult,hComPort,addr Write_Com_Port,addr dwSend,TRUE