1. Wait for reset and redirector creation completion on IOCTL handler
2. Return RedirectorID from driver to user mode caller
3. Open corresponding redirector device using RedirectorID returned
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
This patch make redirectors notify control device
on creation and destruction. These notifications
are needed to make Add/Remove redirection operations
synchronous from user mode client's point of view.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
Just a helper function that fills USB_DK_DEVICE_ID structure
havind DeviceID and InstanceID strings provided.
Available for both user mode and kernel mode.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
This patch makes device enumeration API return array of
device info structures instead of array of device IDs.
This change is needed to return per-device information
in addition to device ID.
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
Reset should be part of start/stop redirection. No separate API needed
Signed-off-by: Pavel Gurvich <pavel@daynix.com>
Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
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>
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>
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>
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>
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>