草庐IT

lpNumberOfBytesTransfered

全部标签

windows - GetLastError返回ERROR_OPERATION_ABORTED时,GetOverlappedResult的lpNumberOfBytesTransfered参数是否有效?

在我的项目中,我需要读取和写入串行端口(RS232)。我正在使用重叠IO并使用两个单独的线程进行读取和写入。当我发出一个没有立即完成的写操作时,我开始等待(WaitForMultipleObjects)两个事件;分配给重叠结构的hEvent成员的事件,以及一个停止事件。当我想停止线程时,我通过调用SetEvent()发出停止事件信号。这会导致等待函数返回。因为写入操作仍处于挂起状态,所以我通过调用CancelIO()取消了该操作。然后,我再次等待操作完成,现在使用GetOverlappedResult()并将bWait参数设置为True。当操作完成时,GetOverlappedResu