dxd - dynax driver framework 2.7.0d222
cross platform open source driver development framework
Loading...
Searching...
No Matches
dxd::portcls::device< audio_stream_t, midi_stream_t, desc_t > Class Template Reference

adapter device streaming a lower device stack More...

#include <dxd_portcls_audio.h>

Inheritance diagram for dxd::portcls::device< audio_stream_t, midi_stream_t, desc_t >:
Collaboration diagram for dxd::portcls::device< audio_stream_t, midi_stream_t, desc_t >:

Public Member Functions

 device (const dxd::adapter &adapter, ::DEVICE_OBJECT *wdm_device, ::DEVICE_OBJECT *wdm_pdo, ::DEVICE_OBJECT *wdm_bus)
virtual os_result ioctl (unsigned int ioctl, const void *, size_t size_in, void *out, size_t size_out, size_t &size)
 control I/O handler, reached through client::ioctl()
os_result start (::IResourceList *wdm_reslist)

Public Attributes

unsigned int ports = 0
 miniport subdevices
os_result status = not_initialized

Static Public Attributes

static constexpr unsigned int capacity = sizeof(desc_t::stream)/ sizeof(desc_t::stream[0])* sizeof(struct desc_t::stream::pin)/ sizeof(desc_t::stream::pin::desc)
 subdevice capacity of desc_t: PcAddAdapterDevice MaxObjects

Protected Member Functions

virtual clientclient_create ()
 user client factory

Protected Attributes

const class adapter & adapter
::DEVICE_OBJECT * wdm_bus
::DEVICE_OBJECT * wdm_device
::DEVICE_OBJECT * wdm_pdo

Detailed Description

template<typename audio_stream_t, typename midi_stream_t, typename desc_t>
class dxd::portcls::device< audio_stream_t, midi_stream_t, desc_t >

adapter device streaming a lower device stack

Obtains the pin descriptions from the lower device (wdm_bus) and generates the miniports with appropriate cable, endpoint and queue size.

Constructor & Destructor Documentation

◆ device()

template<typename audio_stream_t, typename midi_stream_t, typename desc_t>
dxd::portcls::device< audio_stream_t, midi_stream_t, desc_t >::device ( const dxd::adapter & adapter,
::DEVICE_OBJECT * wdm_device,
::DEVICE_OBJECT * wdm_pdo,
::DEVICE_OBJECT * wdm_bus )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ client_create()

virtual client * dxd::adapter::device::client_create ( )
inlineprotectedvirtualinherited

user client factory

◆ ioctl()

virtual os_result dxd::adapter::device::ioctl ( unsigned int ioctl,
const void * ,
size_t size_in,
void * out,
size_t size_out,
size_t & size )
inlinevirtualinherited

control I/O handler, reached through client::ioctl()

Here is the call graph for this function:
Here is the caller graph for this function:

◆ start()

os_result dxd::adapter::device::start ( ::IResourceList * wdm_reslist)
inlineinherited

endpoint icon: PKEY_DeviceClass_IconPath in the subdevice's KSCATEGORY_AUDIO interface key

Here is the call graph for this function:

Member Data Documentation

◆ adapter

const class adapter& dxd::adapter::device::adapter
protectedinherited

◆ capacity

template<typename audio_stream_t, typename midi_stream_t, typename desc_t>
unsigned int dxd::portcls::device< audio_stream_t, midi_stream_t, desc_t >::capacity = sizeof(desc_t::stream)/ sizeof(desc_t::stream[0])* sizeof(struct desc_t::stream::pin)/ sizeof(desc_t::stream::pin::desc)
staticconstexpr

subdevice capacity of desc_t: PcAddAdapterDevice MaxObjects

◆ ports

unsigned int dxd::adapter::device::ports = 0
inherited

miniport subdevices

◆ status

os_result dxd::adapter::device::status = not_initialized
inherited

◆ wdm_bus

::DEVICE_OBJECT* dxd::adapter::device::wdm_bus
protectedinherited

◆ wdm_device

::DEVICE_OBJECT* dxd::adapter::device::wdm_device
protectedinherited

◆ wdm_pdo

::DEVICE_OBJECT* dxd::adapter::device::wdm_pdo
protectedinherited

The documentation for this class was generated from the following file:

(c) copyright 2009 dynamic acoustics e.U. generated on

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.