private void BeginAsyncRead()
{
byte[] arrInputReport = new byte[m_nInputReportLength];
// put the buff we used to receive the stuff as the async state then we can get at it when the read completes
m_oFile.BeginRead(arrInputReport, 0, m_nInputReportLength, new AsyncCallback(ReadCompleted), arrInputReport);
}