Refined error handling
This commit is contained in:
@@ -70,8 +70,12 @@ public partial class SerialPort : IDisposable
|
||||
}
|
||||
|
||||
_hPort = PInvoke.CreateFile(PortName,
|
||||
(uint)(FILE_ACCESS_RIGHTS.FILE_GENERIC_READ | FILE_ACCESS_RIGHTS.FILE_GENERIC_WRITE), 0,
|
||||
null, FILE_CREATION_DISPOSITION.OPEN_EXISTING, FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_OVERLAPPED, null);
|
||||
(uint)(FILE_ACCESS_RIGHTS.FILE_GENERIC_READ | FILE_ACCESS_RIGHTS.FILE_GENERIC_WRITE),
|
||||
0,
|
||||
null,
|
||||
FILE_CREATION_DISPOSITION.OPEN_EXISTING, FILE_FLAGS_AND_ATTRIBUTES.FILE_FLAG_OVERLAPPED,
|
||||
null
|
||||
);
|
||||
|
||||
if (_hPort.IsInvalid)
|
||||
{
|
||||
@@ -80,7 +84,7 @@ public partial class SerialPort : IDisposable
|
||||
return false;
|
||||
}
|
||||
|
||||
throw new CommPortException("Port Open Failure");
|
||||
throw new CommPortException("Port Open Failure", Marshal.GetLastWin32Error());
|
||||
}
|
||||
|
||||
_online = true;
|
||||
|
||||
Reference in New Issue
Block a user