我不确定所有版本的Windows是否有通用默认大小,但我的研究确定您可以调用GetCommProperties()来查找传输和接收缓冲区的当前大小。我自己还没有尝试过,但我打算在目前编写的Windows版本上使用它来查找默认大小。
SetupComm()
来指定自定义缓冲区大小,但驱动程序不一定会遵守它们:“设备驱动程序接收推荐的缓冲区大小,但可以自由使用任何输入和输出(I/O)缓冲方案,只要它提供合理的性能并且数据不会因溢出而丢失(除非在极端情况下)。例如,即使驱动程序没有分配缓冲区,该函数也可以成功,只要系统的其他部分提供等效功能即可。” - Remy Lebeau