using System.Threading;
using System.ComponentModel;
-#if NET_2_0
-
namespace System.IO.Ports
{
class WinSerialStream : Stream, ISerialStream, IDisposable
bool dtr_enable, bool rts_enable, Handshake hs, int read_timeout, int write_timeout,
int read_buffer_size, int write_buffer_size)
{
- handle = CreateFile (port_name, GenericRead | GenericWrite, 0, 0, OpenExisting,
+ handle = CreateFile (port_name != null && !port_name.StartsWith(@"\\.\")
+ ? @"\\.\" + port_name : port_name,
+ GenericRead | GenericWrite, 0, 0, OpenExisting,
FileFlagOverlapped, 0);
if (handle == -1)
// Init overlapped structures
NativeOverlapped wo = new NativeOverlapped ();
write_event = new ManualResetEvent (false);
-#if NET_2_0
wo.EventHandle = write_event.Handle;
-#else
- wo.EventHandle = (int) write_event.Handle;
-#endif
write_overlapped = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (NativeOverlapped)));
Marshal.StructureToPtr (wo, write_overlapped, true);
NativeOverlapped ro = new NativeOverlapped ();
read_event = new ManualResetEvent (false);
-#if NET_2_0
ro.EventHandle = read_event.Handle;
-#else
- ro.EventHandle = (int) read_event.Handle;
-#endif
read_overlapped = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (NativeOverlapped)));
Marshal.StructureToPtr (ro, read_overlapped, true);
}
}
[StructLayout (LayoutKind.Sequential)]
- class CommStat
+ struct CommStat
{
public uint flags;
public uint BytesIn;
}
}
-#endif