<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>windows::random_access_handle_service</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="windows__random_access_handle.html" title="windows::random_access_handle">
<link rel="next" href="windows__random_access_handle_service/assign.html" title="windows::random_access_handle_service::assign">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="windows__random_access_handle.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__random_access_handle_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_asio.reference.windows__random_access_handle_service"></a><a class="link" href="windows__random_access_handle_service.html" title="windows::random_access_handle_service">windows::random_access_handle_service</a>
</h3></div></div></div>
<p>
        Default service implementation for a random-access handle.
      </p>
<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">random_access_handle_service</span> <span class="special">:</span>
  <span class="keyword">public</span> <span class="identifier">io_service</span><span class="special">::</span><span class="identifier">service</span>
</pre>
<a name="boost_asio.reference.windows__random_access_handle_service.types"></a><h5>
<a name="id1388870"></a>
        <a class="link" href="windows__random_access_handle_service.html#boost_asio.reference.windows__random_access_handle_service.types">Types</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/implementation_type.html" title="windows::random_access_handle_service::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The type of a random-access handle implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/native_type.html" title="windows::random_access_handle_service::native_type"><span class="bold"><strong>native_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The native handle type.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.windows__random_access_handle_service.member_functions"></a><h5>
<a name="id1388990"></a>
        <a class="link" href="windows__random_access_handle_service.html#boost_asio.reference.windows__random_access_handle_service.member_functions">Member
        Functions</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/assign.html" title="windows::random_access_handle_service::assign"><span class="bold"><strong>assign</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Assign an existing native handle to a random-access handle.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/async_read_some_at.html" title="windows::random_access_handle_service::async_read_some_at"><span class="bold"><strong>async_read_some_at</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Start an asynchronous read at the specified offset.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/async_write_some_at.html" title="windows::random_access_handle_service::async_write_some_at"><span class="bold"><strong>async_write_some_at</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Start an asynchronous write at the specified offset.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/cancel.html" title="windows::random_access_handle_service::cancel"><span class="bold"><strong>cancel</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Cancel all asynchronous operations associated with the handle.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/close.html" title="windows::random_access_handle_service::close"><span class="bold"><strong>close</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Close a random-access handle implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/construct.html" title="windows::random_access_handle_service::construct"><span class="bold"><strong>construct</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Construct a new random-access handle implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/destroy.html" title="windows::random_access_handle_service::destroy"><span class="bold"><strong>destroy</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Destroy a random-access handle implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/get_io_service.html" title="windows::random_access_handle_service::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the io_service object that owns the service.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/io_service.html" title="windows::random_access_handle_service::io_service"><span class="bold"><strong>io_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  (Deprecated: use get_io_service().) Get the io_service object that
                  owns the service.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/is_open.html" title="windows::random_access_handle_service::is_open"><span class="bold"><strong>is_open</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Determine whether the handle is open.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/native.html" title="windows::random_access_handle_service::native"><span class="bold"><strong>native</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the native handle implementation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/random_access_handle_service.html" title="windows::random_access_handle_service::random_access_handle_service"><span class="bold"><strong>random_access_handle_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Construct a new random-access handle service for the specified
                  io_service.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/read_some_at.html" title="windows::random_access_handle_service::read_some_at"><span class="bold"><strong>read_some_at</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Read some data from the specified offset.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/shutdown_service.html" title="windows::random_access_handle_service::shutdown_service"><span class="bold"><strong>shutdown_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Destroy all user-defined handler objects owned by the service.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/write_some_at.html" title="windows::random_access_handle_service::write_some_at"><span class="bold"><strong>write_some_at</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Write the given data at the specified offset.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.windows__random_access_handle_service.data_members"></a><h5>
<a name="id1389516"></a>
        <a class="link" href="windows__random_access_handle_service.html#boost_asio.reference.windows__random_access_handle_service.data_members">Data
        Members</a>
      </h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  Name
                </p>
              </th>
<th>
                <p>
                  Description
                </p>
              </th>
</tr></thead>
<tbody><tr>
<td>
                <p>
                  <a class="link" href="windows__random_access_handle_service/id.html" title="windows::random_access_handle_service::id"><span class="bold"><strong>id</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The unique service identifier.
                </p>
              </td>
</tr></tbody>
</table></div>
<a name="boost_asio.reference.windows__random_access_handle_service.requirements"></a><h5>
<a name="id1389605"></a>
        <a class="link" href="windows__random_access_handle_service.html#boost_asio.reference.windows__random_access_handle_service.requirements">Requirements</a>
      </h5>
<p>
        <span class="bold"><strong>Header: </strong></span><code class="literal">boost/asio/windows/random_access_handle_service.hpp</code>
      </p>
<p>
        <span class="bold"><strong>Convenience header: </strong></span><code class="literal">boost/asio.hpp</code>
      </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2003 - 2010 Christopher M. Kohlhoff<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="windows__random_access_handle.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="windows__random_access_handle_service/assign.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
