|
dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
|
an open handle to a device interface - what every ioctl of a proxy device goes through More...
#include <dx_proxy.h>
Public Member Functions | |
| void | ctl (unsigned int ioctl) const |
| file (const char *name, ::DWORD access=GENERIC_READ|GENERIC_WRITE, ::DWORD share=FILE_SHARE_READ|FILE_SHARE_WRITE) | |
| the device class constructor | |
| virtual void | free () noexcept |
| template<typename rx_t> | |
| rx_t | ictl (unsigned int ioctl) const |
| Windows: member ioctl. | |
| template<typename rx_t> | |
| size_t | ictl (unsigned int ioctl, rx_t &rx) const |
| void | initialize (const char *name, ::DWORD access=GENERIC_READ|GENERIC_WRITE, ::DWORD share=FILE_SHARE_READ|FILE_SHARE_WRITE) |
| (re-)initialization the underlaying windows API is CreateFile(). for detailed information see http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx | |
| template<typename rx_t, typename tx_t> | |
| rx_t | ioctl (unsigned int ioctl, const tx_t &tx) const |
| template<typename tx_t, typename rx_t> | |
| size_t | ioctl (unsigned int ioctl, const tx_t &tx, rx_t &rx) const |
| template<typename tx_t> | |
| void | octl (unsigned int ioctl, const tx_t &tx) const |
| operator const os_event () const noexcept | |
| operator os_event () noexcept | |
| operator::HANDLE () const noexcept | |
Protected Attributes | |
| ::HANDLE | handle {invalid_t} |
| ::HANDLE | process {::GetCurrentProcess()} |
an open handle to a device interface - what every ioctl of a proxy device goes through
|
inline |
the device class constructor
|
inline |
|
inlinevirtualnoexceptinherited |
Reimplemented in dx::coreaudio::pod::stream< device_t, circular_t >, dx::pipe< rcv_t >, dx::pipe< dx::service::request< service::stream::data< desc > > >, dx::pipe< dx::service::request< service::stream::data< desc_t > > >, dx::pipe< dx::service::request< service::stream::data< typename device_t::desc_t > > >, dx::pipe< request >, dx::pipe< request_t >, dx::service::manager::promoted, dx::shared::memory< buffer_t >, dx::shared::memory< buffer_t >, dx::shared::memory< circular_t >, dx::shared::memory< circular_t >, dx::shared::memory< dx::circular >, dx::shared::memory< dx::stream::clock::monitor >, dx::shared::memory< dx::stream::clock::monitor >, dx::stream::shared::stream< device_t, circular_t, super_stream_t, event_t >, dx::stream::shared::stream< device_t, circular_t >, dx::stream::shared::stream< device_t, circular_t, super_stream_t, event_t >, dx::stream::shared::stream< device_t, dx::circular >, dx::stream::stream< device_t, dx::circular, usb::pipe< device_t > >, dx::template server< request >, dx::template server< user_client, std::weak_ptr< device > >, and dx::usb::stream::pipe< device_t, circular_t, stream_t >.
|
inline |
Windows: member ioctl.
this member retreives data from the device by providing an IOCTL code. the template argument defines the type of data to be retreived. this member is intended as a convinient way to retreive only small amounts of data since there is an intermediate stack copy involved in returning the data.
the underlaying windows API is DeviceIoControl(). for detailed information see http://msdn.microsoft.com/en-us/library/aa363216(VS.85).aspx
| n/a | microsoft does not give information about what possible errors values are provided by its OS other than |
| ERROR_INSUFFICIENT_BUFFER | if the output buffer is too small to receive any data |
| rx_t | type of rx_t needs to be explicitly specified as it can't be deduced |
|
inline |
|
inline |
(re-)initialization the underlaying windows API is CreateFile(). for detailed information see http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx
| n/a | microsoft does not give information about what possible errors values are provided by its OS |
|
inline |
|
inline |
|
inline |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
protectedinherited |
|
protectedinherited |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |