答案:public override long Position { get { return 0; } set { } }
public void SetTimeouts(int ReadIntervalTimeout, int ReadTotalTimeoutMultiplier, int ReadTotalTimeoutConstant,
int WriteTotalTimeoutMultiplier, int WriteTotalTimeoutConstant) {
SerialTimeouts Timeouts = new SerialTimeouts(ReadIntervalTimeout, ReadTotalTimeoutMultiplier, ReadTotalTimeoutConstant,
WriteTotalTimeoutMultiplier, WriteTotalTimeoutConstant);
unsafe { SetCommTimeouts(m_hFile, &Timeouts); }
}
public enum Parity {None, Odd, Even, Mark, Space};
public enum StopBits {One, OneAndHalf, Two};
public enum FlowControl {None, XOnXOff, Hardware};
[StructLayout(LayoutKind.Sequential)]
public struct DCB {
public int DCBlength;
public uint BaudRate;
public uint Flags;
public uint fBinary { get { return Flags&0x0001; }
set { Flags = Flags & ~1U | value; } }
public uint fParity { get { return (Flags>>1)&1; }
set { Flags = Flags & ~(1U << 1) | (value << 1); } }
public uint fOutxCtsFlow { get { return (Flags>>2)&1; }
set { Flags = Flags & ~(1U << 2) | (value << 2); } }
public uint fOutxDsrFlow { get { return (Flags>>3)&1; }
set { Flags = Flags & ~(1U << 3) | (value << 3); } }
public uint fDtrControl { get { return (Flags>>4)&3; }
set { Flags = Flags & ~(3U << 4) | (value << 4); } }
public uint fDsrSensitivity { get { return (Flags>>6)&1; }
set { Flags = Flags & ~(1U << 6) | (value << 6); } }
public uint fTXContinueOnXoff { get { return (Flags>>7)&1; }
set { Flags = Flags & ~(1U << 7) | (value << 7); } }
public uint fOutX { get { return (Flags>>8)&1; }
set { Flags = Flags & ~(1U << 8) | (value << 8); } }
public uint fInX { get { return (Flags>>9)&1; }
set { Flags = Flags & ~(1U << 9) | (value << 9); } }
public uint fErrorChar { get { return (Flags>>10)&1; }
set { Flags = Flags & ~(1U << 10) | (value << 10); } }
public uint fNull { get { return (Flags>>11)&1; }
set { Flags = Flags & ~(1U << 11) | (value << 11); } }
public uint fRtsControl { get { return (Flags>>12)&3; }
set { Flags = Flags & ~(3U << 12) | (value << 12); } }
public uint fAbortOnError { get { return (Flags>>13)&1; }
set { Flags = Flags & ~(1U << 13) | (value << 13); } }
public ushort wReserved;
public ushort XonLim;
public ushort XoffLim;
public byte ByteSize;
public byte Parity;
public byte StopBits;
public sbyte XonChar;
public sbyte XoffChar;
&
上一个:用 C# 编写一个停放在任务栏上的图标程序
下一个:Visual C#如何使用Active X组件