Microsoft.WindowsAzure.Commands.Tools.Vhd.Model.Persistence.VhdDataReader.EndReadInt16 C# (CSharp) Method

EndReadInt16() public method

public EndReadInt16 ( IAsyncResult result ) : short
result IAsyncResult
return short
        public short EndReadInt16(IAsyncResult result)
        {
            AsyncMachine.EndAsyncMachine(result);
            short value = (short)(m_buffer[0] | m_buffer[1] << 8);
            return IPAddress.NetworkToHostOrder(value);
        }

Usage Example

Ejemplo n.º 1
0
        private IEnumerable <CompletionPort> ReadDiskGeometryAsync(AsyncMachine <DiskGeometry> machine, VhdPropertyAttribute attribute)
        {
            long offset = GetFooterOffset() + attribute.Offset;

            var attributeHelper = new AttributeHelper <DiskGeometry>();
            var diskGeometry    = new DiskGeometry();

            dataReader.BeginReadInt16(offset + attributeHelper.GetAttribute(() => diskGeometry.Cylinder).Offset, machine.CompletionCallback, null);
            yield return(CompletionPort.SingleOperation);

            diskGeometry.Cylinder = dataReader.EndReadInt16(machine.CompletionResult);

            dataReader.BeginReadByte(offset + attributeHelper.GetAttribute(() => diskGeometry.Heads).Offset, machine.CompletionCallback, null);
            yield return(CompletionPort.SingleOperation);

            diskGeometry.Heads = dataReader.EndReadByte(machine.CompletionResult);

            dataReader.BeginReadByte(offset + attributeHelper.GetAttribute(() => diskGeometry.Sectors).Offset, machine.CompletionCallback, null);
            yield return(CompletionPort.SingleOperation);

            diskGeometry.Sectors = dataReader.EndReadByte(machine.CompletionResult);

            machine.ParameterValue = diskGeometry;
        }