| Home | Libraries | People | FAQ | More

### windows::basic_random_access_handle

Provides random-access handle functionality.

    template<
        typename RandomAccessHandleService = random_access_handle_service>
    class basic_random_access_handle :
      public windows::basic_handle< RandomAccessHandleService >

##### Types

Name | Description
--- | ---
implementation_type | The underlying implementation type of I/O object.
lowest_layer_type | A basic_handle is always the lowest layer.
native_type | The native representation of a handle.
service_type | The type of the service that will be used to provide I/O operations.

##### Member Functions

Name | Description
--- | ---
assign | Assign an existing native handle to the handle.
async_read_some_at | Start an asynchronous read at the specified offset.
async_write_some_at | Start an asynchronous write at the specified offset.
basic_random_access_handle | Construct a basic_random_access_handle without opening it. Construct a basic_random_access_handle on an existing native handle.
cancel | Cancel all asynchronous operations associated with the handle.
close | Close the handle.
get_io_service | Get the io_service associated with the object.
io_service | (Deprecated: use get_io_service().) Get the io_service associated with the object.
is_open | Determine whether the handle is open.
lowest_layer | Get a reference to the lowest layer. Get a const reference to the lowest layer.
native | Get the native handle representation.
read_some_at | Read some data from the handle at the specified offset.
write_some_at | Write some data to the handle at the specified offset.

##### Protected Data Members

Name | Description
--- | ---
implementation | The underlying implementation of the I/O object.
service | The service associated with the I/O object.

The `windows::basic_random_access_handle` class template provides asynchronous and blocking random-access handle functionality.

##### Thread Safety

Distinct objects: Safe.

Shared objects: Unsafe.

##### Requirements

Header: `boost/asio/windows/basic_random_access_handle.hpp`

Convenience header: `boost/asio.hpp`