<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>windows::stream_handle</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_service/write_some_at.html" title="windows::random_access_handle_service::write_some_at">
<link rel="next" href="windows__stream_handle_service.html" title="windows::stream_handle_service">
</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_service/write_some_at.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__stream_handle_service.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__stream_handle"></a><a class="link" href="windows__stream_handle.html" title="windows::stream_handle">windows::stream_handle</a>
</h3></div></div></div>
<p>
        <a class="indexterm" name="id1391878"></a> 
Typedef for the typical usage of a stream-oriented
        handle.
      </p>
<pre class="programlisting"><span class="keyword">typedef</span> <span class="identifier">basic_stream_handle</span> <span class="identifier">stream_handle</span><span class="special">;</span>
</pre>
<a name="boost_asio.reference.windows__stream_handle.types"></a><h5>
<a name="id1391921"></a>
        <a class="link" href="windows__stream_handle.html#boost_asio.reference.windows__stream_handle.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__basic_stream_handle/implementation_type.html" title="windows::basic_stream_handle::implementation_type"><span class="bold"><strong>implementation_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The underlying implementation type of I/O object.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__basic_stream_handle/lowest_layer_type.html" title="windows::basic_stream_handle::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  A basic_handle is always the lowest layer.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__basic_stream_handle/native_type.html" title="windows::basic_stream_handle::native_type"><span class="bold"><strong>native_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The native representation of a handle.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__basic_stream_handle/service_type.html" title="windows::basic_stream_handle::service_type"><span class="bold"><strong>service_type</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The type of the service that will be used to provide I/O operations.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.windows__stream_handle.member_functions"></a><h5>
<a name="id1392095"></a>
        <a class="link" href="windows__stream_handle.html#boost_asio.reference.windows__stream_handle.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__basic_stream_handle/assign.html" title="windows::basic_stream_handle::assign"><span class="bold"><strong>assign</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Assign an existing native handle to the handle.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__basic_stream_handle/async_read_some.html" title="windows::basic_stream_handle::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Start an asynchronous read.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__basic_stream_handle/async_write_some.html" title="windows::basic_stream_handle::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Start an asynchronous write.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__basic_stream_handle/basic_stream_handle.html" title="windows::basic_stream_handle::basic_stream_handle"><span class="bold"><strong>basic_stream_handle</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Construct a basic_stream_handle without opening it.
                </p>
                <p>
                  Construct a basic_stream_handle on an existing native handle.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__basic_stream_handle/cancel.html" title="windows::basic_stream_handle::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__basic_stream_handle/close.html" title="windows::basic_stream_handle::close"><span class="bold"><strong>close</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Close the handle.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__basic_stream_handle/get_io_service.html" title="windows::basic_stream_handle::get_io_service"><span class="bold"><strong>get_io_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the io_service associated with the object.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__basic_stream_handle/io_service.html" title="windows::basic_stream_handle::io_service"><span class="bold"><strong>io_service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  (Deprecated: use get_io_service().) Get the io_service associated
                  with the object.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__basic_stream_handle/is_open.html" title="windows::basic_stream_handle::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__basic_stream_handle/lowest_layer.html" title="windows::basic_stream_handle::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get a reference to the lowest layer.
                </p>
                <p>
                  Get a const reference to the lowest layer.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__basic_stream_handle/native.html" title="windows::basic_stream_handle::native"><span class="bold"><strong>native</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Get the native handle representation.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__basic_stream_handle/read_some.html" title="windows::basic_stream_handle::read_some"><span class="bold"><strong>read_some</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Read some data from the handle.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__basic_stream_handle/write_some.html" title="windows::basic_stream_handle::write_some"><span class="bold"><strong>write_some</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  Write some data to the handle.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<a name="boost_asio.reference.windows__stream_handle.protected_data_members"></a><h5>
<a name="id1392542"></a>
        <a class="link" href="windows__stream_handle.html#boost_asio.reference.windows__stream_handle.protected_data_members">Protected
        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__basic_stream_handle/implementation.html" title="windows::basic_stream_handle::implementation"><span class="bold"><strong>implementation</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The underlying implementation of the I/O object.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  <a class="link" href="windows__basic_stream_handle/service.html" title="windows::basic_stream_handle::service"><span class="bold"><strong>service</strong></span></a>
                </p>
              </td>
<td>
                <p>
                  The service associated with the I/O object.
                </p>
              </td>
</tr>
</tbody>
</table></div>
<p>
        The <a class="link" href="windows__basic_stream_handle.html" title="windows::basic_stream_handle"><code class="computeroutput"><span class="identifier">windows</span><span class="special">::</span><span class="identifier">basic_stream_handle</span></code></a> class template
        provides asynchronous and blocking stream-oriented handle functionality.
      </p>
<a name="boost_asio.reference.windows__stream_handle.thread_safety"></a><h5>
<a name="id1392687"></a>
        <a class="link" href="windows__stream_handle.html#boost_asio.reference.windows__stream_handle.thread_safety">Thread
        Safety</a>
      </h5>
<p>
        <span class="bold"><strong>Distinct</strong></span> <span class="bold"><strong>objects:</strong></span>
        Safe.
      </p>
<p>
        <span class="bold"><strong>Shared</strong></span> <span class="bold"><strong>objects:</strong></span>
        Unsafe.
      </p>
<a name="boost_asio.reference.windows__stream_handle.requirements"></a><h5>
<a name="id1392739"></a>
        <a class="link" href="windows__stream_handle.html#boost_asio.reference.windows__stream_handle.requirements">Requirements</a>
      </h5>
<p>
        <span class="bold"><strong>Header: </strong></span><code class="literal">boost/asio/windows/stream_handle.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_service/write_some_at.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__stream_handle_service.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
