| Home | Libraries | People | FAQ | More

##### windows::basic_random_access_handle::read_some_at (1 of 2 overloads)

Read some data from the handle at the specified offset.

    template<
        typename MutableBufferSequence>
    std::size_t read_some_at(
        boost::uint64_t offset,
        const MutableBufferSequence & buffers);

This function is used to read data from the random-access handle. The function call will block until one or more bytes of data has been read successfully, or until an error occurs.

###### Parameters

offset

  The offset at which the data will be read.

buffers

  One or more buffers into which the data will be read.

###### Return Value

The number of bytes read.

###### Exceptions

boost::system::system_error

  Thrown on failure. An error code of `boost::asio::error::eof` indicates that the connection was closed by the peer.

###### Remarks

The read_some operation may not read all of the requested number of bytes. Consider using the `read_at` function if you need to ensure that the requested amount of data is read before the blocking operation completes.

###### Example

To read into a single data buffer use the `buffer` function as follows:

    handle.read_some_at(42, boost::asio::buffer(data, size));

See the `buffer` documentation for information on reading into multiple buffers in one go, and how to use it with arrays, boost::array or std::vector.