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
Dmitry Fleytman
597ca45127
UsbDk: Use DeviceAccess classes in UsbDkShouldAttach
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
b02ea0b736
UsbDk: Introduce CDeviceAccess classes
...
Classes for WDF/WDM device object abstraction
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
5227c95c89
UsbDk: Introduce CMemoryBuffer classes
...
Classes for WDF/WDM memory objects abstraction
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
75e439e882
UsbDk: introduce CObjHolder class
...
CObjHolder class is a simplified auto_ptr that we don't
have in Windows kernel
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
07e77c5965
UsbDk: support delete NULL in Allocatable
...
delete NULL is allowed operation in C++ and must be supported
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
9899155555
UsbDk: Minor WdfWorkItem beautification
...
Definition of deleted constructors simplified
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
1457c0f50c
UsbDk: Allocate PDO clones as needed
...
Drop pre-allocation scheme used in POC
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
4030eee097
UsbDk: ClonePdo beautifications
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
1944f7769c
UsbDk: Complete QDR IRP via workitem
...
This change is needed to allocate clone PDOs from completion
routine as allocation requires PASSIVE_LEVEL.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
a49a62b636
UsbDk: introduce WDF workitem class
...
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00