public ReadStatus ReadFile(byte[] inputBuffer)
{
if (safeReadHandle == null)
{
safeReadHandle = OpenHandle(_devicePath, true);
}
try
{
uint bytesRead;
lock (this)
{
idleTicks = 0;
}
if (NativeMethods.ReadFile(safeReadHandle.DangerousGetHandle(), inputBuffer, (uint)inputBuffer.Length, out bytesRead, IntPtr.Zero))
{
return(ReadStatus.Success);
}
else
{
return(ReadStatus.NoDataRead);
}
}
catch (Exception)
{
return(ReadStatus.ReadError);
}
}