dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
Loading...
Searching...
No Matches
dxd::adapter::device Class Reference

per-FDO adapter device: miniport subdevices are created in start() More...

#include <dxd_port.h>

Inheritance diagram for dxd::adapter::device:
Collaboration diagram for dxd::adapter::device:

Public Member Functions

void conclude () override
 device remove hook, called while the stack below still serves: the last word to the hardware
 device (class adapter &adapter, ::DEVICE_OBJECT *wdm_device, ::DEVICE_OBJECT *wdm_pdo, ::DEVICE_OBJECT *wdm_bus)
os_result ioctl (unsigned int ioctl, const void *in, size_t size_in, void *out, size_t size_out, size_t &size) override
 dx::ioctl::log: the input sets the adapter's log mask, the output reads it back
os_result start (::IResourceList *wdm_reslist)
void unplugged () override
 the control interface goes while the PDO stands: at the surprise removal, else at the remove
 ~device () override

Public Attributes

unsigned int ports {}
 miniport subdevices
os_result status {not_initialized}

Protected Member Functions

virtual client * client_create ()
virtual os_result create_miniport (const wchar_t *, ::IResourceList *, unsigned int)
 miniport factory
virtual os_result launch ()
 device start hook, called before any client can reach the device

Protected Attributes

class adapter & adapter
bool removed {}
 the device vanished: the stack below no longer answers //////////////////////////////////////////////////////////////////////////// user client factory
struct dxd::device:: { ... }  wdm

Friends

class adapter

Detailed Description

per-FDO adapter device: miniport subdevices are created in start()

Constructor & Destructor Documentation

◆ device()

dxd::adapter::device::device ( class 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:

◆ ~device()

dxd::adapter::device::~device ( )
inlineoverridevirtual

Reimplemented from dxd::device.

Member Function Documentation

◆ client_create()

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

◆ conclude()

void dxd::adapter::device::conclude ( )
inlineoverridevirtual

device remove hook, called while the stack below still serves: the last word to the hardware

Reimplemented from dxd::device.

Here is the call graph for this function:

◆ create_miniport()

virtual os_result dxd::adapter::device::create_miniport ( const wchar_t * ,
::IResourceList * ,
unsigned int  )
inlineprotectedvirtual

miniport factory

Here is the caller graph for this function:

◆ ioctl()

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

dx::ioctl::log: the input sets the adapter's log mask, the output reads it back

Reimplemented from dxd::device.

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

◆ launch()

virtual os_result dxd::device::launch ( )
inlineprotectedvirtualinherited

device start hook, called before any client can reach the device

Reimplemented in dxd::usb::device< base_t >.

Here is the caller graph for this function:

◆ start()

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

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

Here is the call graph for this function:

◆ unplugged()

void dxd::adapter::device::unplugged ( )
inlineoverridevirtual

the control interface goes while the PDO stands: at the surprise removal, else at the remove

Reimplemented from dxd::device.

Here is the call graph for this function:

◆ adapter

friend class adapter
friend

Member Data Documentation

◆ adapter

class adapter& dxd::adapter::device::adapter
protected

◆ ports

unsigned int dxd::adapter::device::ports {}

miniport subdevices

◆ removed

bool dxd::device::removed {}
protectedinherited

the device vanished: the stack below no longer answers //////////////////////////////////////////////////////////////////////////// user client factory

◆ status

os_result dxd::device::status {not_initialized}
inherited

◆ wdm

struct { ... } dxd::device::wdm

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.