Commit graph

48 commits

Author SHA1 Message Date
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
Dmitry Fleytman
88fffa2179 UsbDk: introduce allocator class
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
85fbc004c3 wpp: all KdPrints converted to WPP traces
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
6840a56678 Introduce simple script for WPP tracing
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
ca1f881e15 Very basic proof of concept
Functionality:
  1. Attach to USB hub as an upper filter
  2. Hide original device from PnP manager
  3. Create our own device show to PnP manager as USBHUB child

Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
a15a22fbfc Default comments dropped, file headers added
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
8921c2b225 VS-generated ReadMe.txt removed
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
bec0334dde USB KMDF driver project created by VS 2013
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
52948ac08d Description added to readme
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-11 19:26:09 +03:00
Dmitry Fleytman
070c07f92f Adding empty README as first commit
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
2014-05-05 14:13:49 +03:00