Dmitry Fleytman
8dab75aecb
UsbDkController: Beautifications
...
1. Debug output removed
2. Better device enumeration format
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
653ce6b4ad
UsbDk: Drop ping IOCTL and children dump logic
...
Debugging code removed.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Pavel Gurvich
2bdf99483e
UsbDkController: Add ResetDevice functionality to Controller
...
Add ResetDevice functionality to Controller
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
9352d2887c
UsbDkHelper: Add ResetDevice functionality to Helper
...
Add ResetDevice functionality to Helper
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
75dfc650a5
UsbDk: Implement ResedDevice IOCTL functionality in kernel
...
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
488ceb3b29
UsbDk: Comment out PDO cloning logic
...
Cloning code to be refactored and moved to corresponding classes
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Pavel Gurvich
33bdbde394
UsbDk: Extend CUsbDkChildDevice with PDO and Match()
...
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
37c665c52b
UsbDk: ControlDevice: Make all USB devices enumeration code generic
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
68baf5b6c8
UsbDk: Add conditional USB devices enumeration into filter device class
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
408b46fd15
UsbDk: Add constant predicates
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
bc3fe48519
UsbDk: Make lists return indication of whether iteration was stopped
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
03f1e8d59b
UsbDk: Add ForEachIf method into list class
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:11 +03:00
Dmitry Fleytman
8ad530b07d
UsbDk: Fix USB devices enumeration
...
USB devices enumeration logic placed device information
into output buffer improperly
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
2f421af937
UsbDk: Introduce USB WDM device access class with reset logic
...
class CWdmUsbDeviceAccess introduced
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
395491d18d
UsbDk: Introduce class for DeviceIoControl IRPs
...
class CIoControlIrp added
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
d2dc75c14b
UsbDk: Fix CIrp cleanup
...
Do not hold target device reference in case IRP allocation failure
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
dd4cfefbe9
UsbDk: CIrp beautifications
...
NULL --> nullptr
VOID --> void
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
a60dffc87a
UsbDk: Make CIrp use CWdmEvent
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
462c365327
UsbDk: CDeviceAccess class factory dropped
...
Doesn't bring any added value, just makes code more complex
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
1061862779
UsbDk: Introduce WDM event class
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
5fc743fc07
Global: Adding .gitignore to repository
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
dc831178e5
UsbDk: Couple of build warnings fixed
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Pavel Gurvich
9069176985
UsbDkController: add device enumeration to test application
...
Add device enumeration to UsbDkController
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Pavel Gurvich
c0bf20d715
UsbDkHelper: add EnumerateDevice functionality to UsbDkHelper
...
Add flow of device enumeration to DriverAccess
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Pavel Gurvich
139457073b
UsbDk: add enumeration of USB devices to ControlDevice
...
Add functionality to ControlDevice that allows counting and enumerating USB devices
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Pavel Gurvich
771555ed40
UsbDk: prepare FilterDevice for device enumeration
...
FilterDevice: fix functions of CUsbDkChildDevice;
add GetChildrenCount() to CUsbDkFilterDevice;
Make m_ChildDevices counting list
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Pavel Gurvich
ce2c4e5ea7
UsbDk: Make list enumeration interruptible
...
Functor may return false to stop enumeration
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Pavel Gurvich
8539bed118
UsbDkHelper: Improve exception messages
...
Add newline after exception message.
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Pavel Gurvich
cd3c207b03
UsbDkHelper: Do not fail DeleteServiceObject when service does not exist
...
Return when OpenService fails because service does
not exist
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Pavel Gurvich
ef0c3d33b9
UsbDkHelper: Add time flow to architecture doc
...
Add time flow of Time flow after reset USB Host Controller (or reboot of machine),
Time flow of configuration UsbDk driver,
Time flow of enumeration after reset specific device
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Pavel Gurvich
440221e5b4
UsbDkHelper: Restrict install/uninstall under WoW64
...
Add check that user is not trying to install 32 bit package on 64 bit system
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Pavel Gurvich
0f9d483c6f
UsbDkHelper: Do full roll-back on install failure.
...
Run uninstall process if installation failed.
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Pavel Gurvich
81180a2a83
UsbDkHelper: Print both error message and error number.
...
Print both error message and error number returned from GetLastError() on exception.
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Pavel Gurvich
3137e01236
UsbDkHelper: Print exception text to all sources
...
Print exception text to both OutputDebugString and console
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Pavel Gurvich
8f545c05e8
UsbDkHelper: Do not fail uninstall due to non-existing items to be deleted
...
Do not fail uninstall if driver file does not exist in windows/system32
Also do not fail uninstall in other cases when something does not exist - i.e. service, UpperFilters entry etc.
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Pavel Gurvich
4041e40878
UsbDkHelper: Beautify exception syntax.
...
Insert general string to constructor. Add Constructor with error code.
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
1a1edc7f5a
UsbDk: CUsbDkControl: Dump all children devices on PING
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
c06e5461f3
UsbDk: CUsbDkFilterDevice: introduce children list
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
7ae3eaf31b
UsbDk: Usual deleted contructors for filter device class
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
d4887eba35
UsbDk: Introduce class for child USB device information
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
f2f2541104
UsbDk: Introduce funtion to query USB device serial number
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
53c79ec79e
UsbDk/Helper: Introduce data structure for device enumeration
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
de546ef4ff
UsbDk: CWdmList::ForEach() fix recursive lock acquisition
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
12ef2e4ec9
UsbDk: Make CRegText instances non-paged
...
This is needed for access with spinlocks
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
c518508b31
UsbDk: Register filter devices in control device
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
9c36561fcd
UsbDk: CUsbDkControlDevice: Add interface for filters registration
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
afeef67e62
UsbDk: Make CUsbDkFilterDevice objects suitable for CWdmList
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
a9ca161690
UsbDk: Introduce entry removal function for CWdmList
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
6ee40a363b
UsbDk: Introduce UsbDkFilterDevice class
...
- Introduce filtering logic class
- Make control device creation logic object oriented
- Integrate control device creation with filter devices creation
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
ac848be907
UsbDk: Introduce CPreAllocatedDeviceInit class
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00