private IEnumerable <CompletionPort> CreateAsync(AsyncMachine <BlockAllocationTable> machine) { dataReader.SetPosition(header.TableOffset); var bat = new uint[header.MaxTableEntries]; for (int block = 0; block < header.MaxTableEntries; block++) { dataReader.BeginReadUInt32(machine.CompletionCallback, null); yield return(CompletionPort.SingleOperation); bat[block] = dataReader.EndReadUInt32(machine.CompletionResult); } machine.ParameterValue = new BlockAllocationTable(header.MaxTableEntries, header.BlockSize, bat); }
private uint EndReadCheckSum(IAsyncResult result) { var value = dataReader.EndReadUInt32(result); return((uint)value); }
private PlatformCode EndReadPlatformCode(IAsyncResult result) { var value = dataReader.EndReadUInt32(result); return((PlatformCode)value); }