dxd - dynax driver framework 2.6.0d204
cross platform open source driver development framework
Loading...
Searching...
No Matches
dxd::adapter< miniport_t > Class Template Reference

adapter driver skeleton More...

#include <dxd_port.h>

Inheritance diagram for dxd::adapter< miniport_t >:
Collaboration diagram for dxd::adapter< miniport_t >:

Public Member Functions

 adapter (::DRIVER_OBJECT *wdm_driver, ::UNICODE_STRING *registry, const wchar_t *name, const dxd::guid &guid=0)
 operator const ::HANDLE () const
template<typename type_t>
os_result query (const ::UNICODE_STRING &key, type_t &value)
template<typename key_t, typename type_t>
os_result query (key_t *key, type_t &value)
os_result remove ()
os_result set (const ::UNICODE_STRING &key, const ::GUID &value)
os_result set (const ::UNICODE_STRING &key, const ::UNICODE_STRING &value)
os_result set (const ::UNICODE_STRING &key, const char *value)
os_result set (const ::UNICODE_STRING &key, const wchar_t *value)
os_result set (const ::UNICODE_STRING &key, unsigned int value)
template<typename key_t, typename type_t>
os_result set (key_t *key, const type_t &value)
template<typename type_t>
unsigned long type ()

Public Attributes

unsigned int ports = 1
 miniport subdevices
os_result status = not_initialized

Protected Member Functions

os_result create_miniport (const wchar_t *,::IResourceList *, unsigned int)
 abstract IMiniport factory
virtual os_result create_miniport (const wchar_t *name, ::IResourceList *wdm_reslist, unsigned int port)
 miniport factory
virtual os_result launch ()
 miniport factory

Protected Attributes

::GUID guid
const wchar_t * name = nullptr
::DEVICE_OBJECT * wdm_bus = nullptr
::DEVICE_OBJECT * wdm_device = nullptr
::DEVICE_OBJECT * wdm_pdo = nullptr

Detailed Description

template<class miniport_t = ::IMiniport>
class dxd::adapter< miniport_t >

adapter driver skeleton

Constructor & Destructor Documentation

◆ adapter()

template<class miniport_t = ::IMiniport>
dxd::adapter< miniport_t >::adapter ( ::DRIVER_OBJECT * wdm_driver,
::UNICODE_STRING * registry,
const wchar_t * name,
const dxd::guid & guid = 0 )
inline

< GUID identifying the type of port < interface that is being requested and can be one of the following: CLSID_PortDMus, CLSID_PortMidi, CLSID_PortTopology, CLSID_PortWaveCyclic, CLSID_PortWavePci

Parameters
wdm_driverA pointer to a DRIVER_OBJECT structure that represents the driver's WDM driver object.
registryA pointer to an UNICODE_STRING structure that specifies the path to the driver's Parameters key in the registry.
nameAn internal unique name
Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ create_miniport() [1/2]

os_result dxd::adapter<::IMiniport >::create_miniport ( const wchar_t * ,
::IResourceList * ,
unsigned int  )
protected

abstract IMiniport factory

Here is the call graph for this function:

◆ create_miniport() [2/2]

template<class miniport_t>
os_result dxd::adapter< miniport_t >::create_miniport ( const wchar_t * name,
::IResourceList * wdm_reslist,
unsigned int port )
protectedvirtual

miniport factory

Ignores by default subdevice index parameters and creates the miniport with outer unknown zero for compatibilty with Microsofts IMiniport interfaces.

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

◆ launch()

template<class miniport_t = ::IMiniport>
virtual os_result dxd::adapter< miniport_t >::launch ( )
inlineprotectedvirtual

miniport factory

◆ operator const ::HANDLE()

dxd::wdm::registry::operator const ::HANDLE ( ) const
inlineinherited
Here is the caller graph for this function:

◆ query() [1/2]

template<typename type_t>
os_result dxd::wdm::registry::query ( const ::UNICODE_STRING & key,
type_t & value )
inlineinherited

◆ query() [2/2]

template<typename key_t, typename type_t>
os_result dxd::wdm::registry::query ( key_t * key,
type_t & value )
inlineinherited
Here is the call graph for this function:
Here is the caller graph for this function:

◆ remove()

os_result dxd::wdm::registry::remove ( )
inlineinherited

◆ set() [1/6]

os_result dxd::wdm::registry::set ( const ::UNICODE_STRING & key,
const ::GUID & value )
inlineinherited
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set() [2/6]

os_result dxd::wdm::registry::set ( const ::UNICODE_STRING & key,
const ::UNICODE_STRING & value )
inlineinherited

◆ set() [3/6]

os_result dxd::wdm::registry::set ( const ::UNICODE_STRING & key,
const char * value )
inlineinherited
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set() [4/6]

os_result dxd::wdm::registry::set ( const ::UNICODE_STRING & key,
const wchar_t * value )
inlineinherited
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set() [5/6]

os_result dxd::wdm::registry::set ( const ::UNICODE_STRING & key,
unsigned int value )
inlineinherited

◆ set() [6/6]

template<typename key_t, typename type_t>
os_result dxd::wdm::registry::set ( key_t * key,
const type_t & value )
inlineinherited
Here is the call graph for this function:
Here is the caller graph for this function:

◆ type()

template<typename type_t>
unsigned long dxd::wdm::registry::type ( )
inherited
Here is the caller graph for this function:

Member Data Documentation

◆ guid

template<class miniport_t = ::IMiniport>
::GUID dxd::adapter< miniport_t >::guid
protected

◆ name

template<class miniport_t = ::IMiniport>
const wchar_t* dxd::adapter< miniport_t >::name = nullptr
protected

◆ ports

template<class miniport_t = ::IMiniport>
unsigned int dxd::adapter< miniport_t >::ports = 1

miniport subdevices

◆ status

template<class miniport_t = ::IMiniport>
os_result dxd::adapter< miniport_t >::status = not_initialized

◆ wdm_bus

template<class miniport_t = ::IMiniport>
::DEVICE_OBJECT* dxd::adapter< miniport_t >::wdm_bus = nullptr
protected

◆ wdm_device

template<class miniport_t = ::IMiniport>
::DEVICE_OBJECT* dxd::adapter< miniport_t >::wdm_device = nullptr
protected

◆ wdm_pdo

template<class miniport_t = ::IMiniport>
::DEVICE_OBJECT* dxd::adapter< miniport_t >::wdm_pdo = nullptr
protected

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.