|
dxd - dynax driver framework 2.7.0d222
cross platform open source driver development framework
|
PortCls adapter driver. More...
#include <dxd_port.h>
Classes | |
| class | client |
| user client: one per control open, mirrors dxd::client More... | |
| class | device |
| per-FDO adapter device: miniport subdevices are created in start() More... | |
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 () |
| virtual | ~adapter ()=default |
Public Attributes | |
| const ::GUID | guid |
| product GUID: device interface and property key | |
| wdm::unicode | icon |
| endpoint icon: the driver binary's own icon resource 1 | |
| const wchar_t * | name |
| subdevice base name | |
| unsigned int | ports = 1 |
| PcAddAdapterDevice MaxObjects: subdevice capacity per device. | |
| os_result | status = not_initialized |
Protected Member Functions | |
| virtual device * | create (::DEVICE_OBJECT *wdm_device, ::DEVICE_OBJECT *wdm_pdo, ::DEVICE_OBJECT *wdm_bus)=0 |
| device factory | |
PortCls adapter driver.
One adapter per driver object, one adapter::device per FDO. Per-device state lives in the PortCls device-extension tail (behind PORT_CLASS_DEVICE_EXTENSION_SIZE). Control opens (empty file name on the device interface) get an adapter::client in FsContext and the device in FsContext2 - KS never sees these file objects, so FsContext2 identifies ours; IRP_MJ_PNP is intercepted for remove-time teardown, everything else stays PortCls' own dispatch.
|
inline |
| wdm_driver | A pointer to a DRIVER_OBJECT structure that represents the driver's WDM driver object. |
| registry | A pointer to an UNICODE_STRING structure that specifies the path to the driver's Parameters key in the registry. |
| name | An internal unique name |
|
virtualdefault |
|
protectedpure virtual |
device factory
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inherited |
| const ::GUID dxd::adapter::guid |
product GUID: device interface and property key
| wdm::unicode dxd::adapter::icon |
endpoint icon: the driver binary's own icon resource 1
| const wchar_t* dxd::adapter::name |
subdevice base name
| unsigned int dxd::adapter::ports = 1 |
PcAddAdapterDevice MaxObjects: subdevice capacity per device.
| os_result dxd::adapter::status = not_initialized |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |