public void EndReadRangeRequest(IAsyncResult result, out byte[] trendbuffer, out uint ItemCount, out Exception ex)
{
BacnetAsyncResult res = (BacnetAsyncResult)result;
ItemCount = 0;
trendbuffer = null;
ex = res.Error;
if (ex == null && !res.WaitForDone(40*1000))
ex = new Exception("Wait Timeout");
if (ex == null)
{
ItemCount = Services.DecodeReadRangeAcknowledge(res.Result, 0, res.Result.Length, out trendbuffer);
if (ItemCount == 0)
ex = new Exception("Decode");
}
res.Dispose();
}