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
Dmitry Fleytman
e04a6cad4c
UsbDk: Add Get() method to CRefCountingHolder
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
6d9e89e8fc
UsbDk: Introduce classes for WDM locks and lists
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
48802f27a9
UsbDk: Driver copy/delete function names clarification
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
800676db2b
UsbDkHandler: Exception handling beautification
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
32154c09ef
UsbDkControl: Introduce ping CLI
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
244ade2a35
UsbDkHelper: Introduce UsbDkDriverAccess class and PING IOCTL
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
9184644c56
UsbDk: Error messages beautification
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
ca9c54c2a8
UsbDkHelper: Introduce macro for TCHAR buffer size
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
0bda06c37b
UsbDk: Control device lifecycle management implemented
...
Create control device on first filter attachment
Destroy control device when all filters detached
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
7ef0b11c79
UsbDk: Fix control device default queue creation
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
4847928216
UsbDk: CDeviceInit/CWdfQueue: fix error tracing
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
bb3e2724f9
UsbDk: CWdfDevice class: delete device on destruction
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
12cc9e4985
UsbDk: Introduce share pointer class
...
Class CRefCountingHolder implements reference counting logic
for object given by pointer
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Dmitry Fleytman
4a41a01289
UsbDkHelper: Query UpperFilters value size before read
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:10 +03:00
Pavel Gurvich
998fd9a996
UsbDkHelper: Introduce DeviceMgr class with reset logic
...
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
7fa28c0312
UsbDkHelper: Verify UpperFilters zero termination
...
Bug: Assertion on install/uninstall when UpperFilter
value is not zero-terminated properly.
Fixed by checking size of registry data.
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Pavel Gurvich
c9d093ab2d
UsbDkHelper: Fix unhandled exception in case of error
...
Type of exception should comply to throw type.
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
6c578fdc31
UsbDk: Create control device on load
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
1ec2fc3e40
UsbDk: Introduce control device class
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
3eca24570d
UsbDk: Introduce generic WDF device wrappers
...
Classes for WDFDEVICE, WDFQUEUE, WDFDEVICEINIT introduced
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
d811f996f7
UsbDk: Introduce pointer assignment for CObjHolder
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
b36f2a0ac6
UsbDkHelper: Move names definitions to Public.h
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
11503c1ca8
UsbDkController/UsbDkHelper: additional include dirs
...
.dll/.exe projects include files of each other,
VS projects configured as needed.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Pavel Gurvich
003cf4b864
UsbDk: fix architecture file
...
Change file names and add to solution file
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Pavel Gurvich
7abe649fbf
UsbDk: Add .dll and .exe with installer logic
...
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Pavel Gurvich
6873b3d3b2
UsbDk: Fix compilation error on Win32
...
Replace SIZE_T by size_t
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dmitry@daynix.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
9b030b8d4e
UsbDk: Introduce Design and architecture document
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
4513640e1d
UsbDk: Introduce redirected device IDs dumps
...
This code contains printouts only.
Will probably be removed at some stage.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
46a78dc96b
UsbDk: Use CDeviceAccess logic for USB hub identification
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
bad42d21cd
UsbDk: CDeviceAccess coding style fixes
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
c07eb5c45a
RHUsd: Introduce functions for BUS IDs queries
...
CDeviceAccess classes extended with new functionality
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
b293755823
UsbDk: Introduce CRegText classes
...
Classes for handling REG_SZ/REG_MULTI_SZ data buffers
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
6749f9e714
UsbDk: Introduce CIrp class
...
CIrp is a wrapper for WDM IRP data structure
and related logic
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00