The correct field order should be like this:
type _COMMTIMEOUTS struct {
ReadIntervalTimeout uint32
ReadTotalTimeoutConstant uint32
ReadTotalTimeoutMultiplier uint32
WriteTotalTimeoutConstant uint32
WriteTotalTimeoutMultiplier uint32
}
See comments there: http://msdn.microsoft.com/en-us/library/windows/desktop/aa363190%28v=vs.85%29.aspx