Dmitry Fleytman
5abd2b78c1
UsbDk: CPreAllocatedDeviceInit: Make minor functions array const
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:12 +03:00
Dmitry Fleytman
871c77ef82
UsbDk: Fix incorrect indentation
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:12 +03:00
Dmitry Fleytman
c6c5c88f20
UsbDk: Encapsulate redirector device into child device
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:12 +03:00
Dmitry Fleytman
0d87c0a69b
UsbDk: RedirectorDevice: Drop OS object accessor
2014-05-11 19:26:12 +03:00
Dmitry Fleytman
c760152fd6
UsbDk: WdfDevice: Add accessors for OS objects
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:12 +03:00
Dmitry Fleytman
2db3b5c961
UsbDk: Additional traces in redirector logic
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:12 +03:00
Dmitry Fleytman
864f65021e
UsbDk: Rename RedirectorPDO -> RedirectorDevice
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:12 +03:00
Dmitry Fleytman
090c69bc73
UsbDk: Move redirector classes to a separate file
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:12 +03:00
Dmitry Fleytman
74c65795e1
UsbDk: Create symlink for redirector PDO
...
This patch creates symlink to allow user mode access to the device.
Symlink name is constant for now, to be changed in future commits.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:12 +03:00
Dmitry Fleytman
82960229b8
UsbDk: Name redirector PDO to allow symlinks
...
Device must have a name to create symlink pointing to it.
Device name is const and temporary, to be changed in future commits.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:12 +03:00
Dmitry Fleytman
d65b779fee
UsbDk: Move device names to a separate file
...
Move name strings definitions into a separate header
file to avoid unnecessary interdependencies while
accessing those strings from driver
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:12 +03:00
Dmitry Fleytman
172269f3b7
UsbDk: IRP_MJ_PNP callbacks for redirector device
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:12 +03:00
Dmitry Fleytman
7f2e713047
UsbDk: Extend redirector device configurations
...
Make redirector device PDO raw
Add preprocessing callback for IRP_MJ_PNP
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:12 +03:00
Dmitry Fleytman
72fc6cc3a2
UsbDk: Preprocess callback registration functions
...
Introduce overloaded functions for different cases of
WDF device preprocess callbacks registration
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
a1fa86148b
UsbDk: Drop unused driver interface GUID
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
4b1bcc5ecc
UsbDk: Add context cleanup for redirector PDOs
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
84a2ef8762
UsbDk: Test control device queue allocation result
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
871bbe335c
UsbDk: Redirector PDO creation and propagation
...
New PDO is created and passed to PnP manager
No code for redirected device yet
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
d9e2433635
UsbDk: Make child PDO reference counting external
...
CUsbDkChildDevice should not reference PDO for caller.
It is up to caller to reference PDO when needed.
This change simplifies CUsbDkChildDevice class and
makes its interface more flexible
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
d0a833584f
UsbDk: Introduce redirector PDO class
...
Minimal implementation - create logic only
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
1dc45a2c3d
UsbDk: Control device: redirection list access API
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
3d58cc6f75
UsbDk: Make CWdfDevice more generic
...
Control-device creation related logic moved
to corresponding class
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
e8d4b3e107
UsbDk: Make CWdfDevice cleanup safe
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
9c6c939a48
UsbDk: Filter: Preserve existing devices on QDR
...
USB devices list must be synchronized with QDR, not recreated.
Will be required by future patches to preserve redirection state
of specific device during QDR processing.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
17a328fb71
UsbDk: USB devices lists synchronization logic
...
This patch introduces logic for synchronization of our USB
devices list with DEVICE_RELATIONS structure received on QDR.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
ed5be722ea
UsbDk: Introduce PDEVICE_RELATIONS wrapper
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
76387cf611
UsbDk: Fail redirection of non-existing devices
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
1e946679ef
UsbDk: Introduce CUsbDkControlDevice::EnumUsbDevicesByID
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
524371a265
UsbDk: Filter device: Rename m_ChildDevices m_ChildrenDevices
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
348713b7c2
UsbDk: Delete CWdmList entries on destruction
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
c1b25f344b
UsbDk: CWdmList: fix entries counting on remove
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
4f8aa22fbd
UsbDk: Make some CUsbDkChildDevice methods const
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
d6162329ed
UsbDk: Make CRegText methods const as needed
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
1cb132b2d6
UsbDk: Make CMemoryBuffer accessors const
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
31ff0f4bb2
UsbDk: Make CObjHolder accessors const
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
2850bedb27
UsbDkHelper: Trivial: improve printout
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
6ce2f2ff8a
UsbDkHelper: Fix devices number on enumeration
...
Devices number returned on enumeration was incorrect
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Pavel Gurvich
2b2953bc2e
UsbDkController: Fix DLL symbols import
...
Calling convention must be CDECL to import symbols properly
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Pavel Gurvich
cc6412fca9
UsbDkHelper: Fix exports
...
Calling convention must be CDECL to export symbols properly
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Pavel Gurvich
f4e565be17
UsbDkHelper: Make UsbDk interface files compilable with gcc
...
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
d0b377d1f7
UsbDk: Trivial: Put FilterDevice traces to proper group
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
0a484ff601
UsbDkController: Commands for start/stop redirection
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
e2275bb0f2
UsbDkHelper: Redirections collection management
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
838d1e3662
UsbDk: Redirections collection management
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
bfa21156bb
UsbDk: Introduce class describing redirection entity
...
CUsbDkRedirection class introduced
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
3d4b8eda14
UsbDkHelper: Isolate common code for some ioctls
...
All IOCTLs that perform operation on USB device
identified by USB_DK_DEVICE_ID are pretty similar,
common code may be isolated.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
c4e8d29e50
UsbDkHelper: make CDriverAccess::ResetDevice return void
...
Return value is not needed, function
throws exception in case of error
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
0f4406c1ed
UsbDk: Make control device use CWdfRequest
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
53250aec67
UsbDk: Introduce WDFREQUEST wrapper
...
class CWdfRequest introduced
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
48670040b3
UsbDk: Introduce (unicode) string classes
...
CStringHolder - for pre-allocated strings
CString - for strings allocated on creation
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00