| Home | Libraries | People | FAQ | More

### windows::basic_object_handle

Provides object-oriented handle functionality.

    template<
        typename ObjectHandleService = object_handle_service>
    class basic_object_handle :
      public windows::basic_handle< ObjectHandleService >

##### 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_handle_type | The native representation of a handle.
native_type | (Deprecated: Use native_handle_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_wait | Start an asynchronous wait on the object handle.
basic_object_handle | Construct a basic_object_handle without opening it. Construct a basic_object_handle on an existing native handle. Move-construct a basic_object_handle from another.
cancel | Cancel all asynchronous operations associated with the handle.
close | Close the handle.
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 | (Deprecated: Use native_handle().) Get the native handle representation.
native_handle | Get the native handle representation.
operator= | Move-assign a basic_object_handle from another.
wait | Perform a blocking wait on the object handle.

##### Protected Member Functions

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

##### Protected Data Members

Name | Description
--- | ---
implementation | (Deprecated: Use get_implementation().) The underlying implementation of the I/O object.
service | (Deprecated: Use get_service().) The service associated with the I/O object.

The `windows::basic_object_handle` class template provides asynchronous and blocking object-oriented handle functionality.

##### Thread Safety

Distinct objects: Safe.

Shared objects: Unsafe.

##### Requirements

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

Convenience header: `boost/asio.hpp`