From 653ce6b4ad72b8645c22e5eea5a2fcf617ba1bc0 Mon Sep 17 00:00:00 2001 From: Dmitry Fleytman Date: Thu, 6 Mar 2014 14:38:38 +0200 Subject: [PATCH] UsbDk: Drop ping IOCTL and children dump logic Debugging code removed. Signed-off-by: Dmitry Fleytman --- UsbDk/ControlDevice.cpp | 29 ----------------------------- UsbDk/ControlDevice.h | 2 -- UsbDk/Public.h | 2 -- UsbDkController/UsbDkController.cpp | 16 ---------------- UsbDkHelper/DriverAccess.cpp | 21 --------------------- UsbDkHelper/DriverAccess.h | 1 - UsbDkHelper/UsbDkHelper.cpp | 20 -------------------- UsbDkHelper/UsbDkHelper.h | 1 - 8 files changed, 92 deletions(-) diff --git a/UsbDk/ControlDevice.cpp b/UsbDk/ControlDevice.cpp index b36c0ef..4bf79a9 100644 --- a/UsbDk/ControlDevice.cpp +++ b/UsbDk/ControlDevice.cpp @@ -53,28 +53,6 @@ void CUsbDkControlDeviceQueue::DeviceControl(WDFQUEUE Queue, switch (IoControlCode) { - case IOCTL_USBDK_PING: - { - TraceEvents(TRACE_LEVEL_INFORMATION, TRACE_CONTROLDEVICE, "Called IOCTL_USBDK_PING\n"); - - //TEMP: Dump children devices - { - auto devExt = UsbDkControlGetContext(WdfIoQueueGetDevice(Queue)); - devExt->UsbDkControl->DumpAllChildren(); - } - - LPTSTR outBuff; - size_t outBuffLen; - status = WdfRequestRetrieveOutputBuffer(Request, 0, (PVOID *)&outBuff, &outBuffLen); - if (!NT_SUCCESS(status)) { - break; - } - - wcsncpy(outBuff, TEXT("Pong!"), outBuffLen/sizeof(TCHAR)); - WdfRequestSetInformation(Request, outBuffLen); - status = STATUS_SUCCESS; - break; - } case IOCTL_USBDK_COUNT_DEVICES: { TraceEvents(TRACE_LEVEL_INFORMATION, TRACE_CONTROLDEVICE, "Called IOCTL_USBDK_COUNT_DEVICES\n"); @@ -187,13 +165,6 @@ NTSTATUS CUsbDkControlDeviceQueue::ResetDevice(WDFREQUEST Request, WDFQUEUE Queu } //------------------------------------------------------------------------------------------------------------ -void CUsbDkControlDevice::DumpAllChildren() -{ - UsbDevicesForEachIf(ConstTrue, - [](CUsbDkChildDevice *Child) -> bool { Child->Dump(); return true; }); -} -//------------------------------------------------------------------------------------------------------------ - ULONG CUsbDkControlDevice::CountDevices() { ULONG numberDevices = 0; diff --git a/UsbDk/ControlDevice.h b/UsbDk/ControlDevice.h index 40934e3..6d109ec 100644 --- a/UsbDk/ControlDevice.h +++ b/UsbDk/ControlDevice.h @@ -44,8 +44,6 @@ public: void UnregisterFilter(CUsbDkFilterDevice &FilterDevice) { m_FilterDevices.Remove(&FilterDevice); } - //TODO: Temporary, until enumeration implementation - void DumpAllChildren(); ULONG CountDevices(); bool EnumerateDevices(USB_DK_DEVICE_ID *outBuff, size_t numberAllocatedDevices, size_t &numberExistingDevices); NTSTATUS ResetUsbDevice(const USB_DK_DEVICE_ID &DeviceId); diff --git a/UsbDk/Public.h b/UsbDk/Public.h index 789fe86..c7ea796 100644 --- a/UsbDk/Public.h +++ b/UsbDk/Public.h @@ -30,8 +30,6 @@ DEFINE_GUID (GUID_DEVINTERFACE_UsbDk, #define USBDK_DEVICE_TYPE 50000 // UsbDk Control Device IOCTLs -#define IOCTL_USBDK_PING \ - ULONG(CTL_CODE( USBDK_DEVICE_TYPE, 0x850, METHOD_BUFFERED, FILE_READ_ACCESS )) #define IOCTL_USBDK_COUNT_DEVICES \ ULONG(CTL_CODE( USBDK_DEVICE_TYPE, 0x851, METHOD_BUFFERED, FILE_READ_ACCESS )) #define IOCTL_USBDK_ENUM_DEVICES \ diff --git a/UsbDkController/UsbDkController.cpp b/UsbDkController/UsbDkController.cpp index 052b495..e53fa84 100644 --- a/UsbDkController/UsbDkController.cpp +++ b/UsbDkController/UsbDkController.cpp @@ -15,7 +15,6 @@ void ShowUsage() tcout << endl; tcout << TEXT("UsbDkController -i - install UsbDk driver") << endl; tcout << TEXT("UsbDkController -u - uninstall UsbDk driver") << endl; - tcout << TEXT("UsbDkController -p - TEMP: ping driver (verify control device is functional)") << endl; tcout << TEXT("UsbDkController -n - enumerate USB devices") << endl; tcout << TEXT("UsbDkController -r ID SN - Reset USB device by ID and serial number") << endl; tcout << endl; @@ -58,21 +57,6 @@ int __cdecl _tmain(int argc, _TCHAR* argv[]) tcout << TEXT("UsbDk driver uninstall failed") << endl; } } - else if (_tcsicmp(L"-p", argv[1]) == 0) - { - //TODO: Ping logic is temporary, to be removed after enumeration - //logic implemented - TCHAR Reply[10]; - tcout << TEXT("Pinging UsbDk driver") << endl; - if (PingDriver(Reply, TBUF_SIZEOF(Reply))) - { - tcout << TEXT("UsbDk driver replied \"") << Reply << TEXT("\"") << endl; - } - else - { - tcout << TEXT("UsbDk ping failed") << endl; - } - } else if (_tcsicmp(L"-n", argv[1]) == 0) { PUSB_DK_DEVICE_ID devicesArray; diff --git a/UsbDkHelper/DriverAccess.cpp b/UsbDkHelper/DriverAccess.cpp index 6bf9982..8917709 100644 --- a/UsbDkHelper/DriverAccess.cpp +++ b/UsbDkHelper/DriverAccess.cpp @@ -27,27 +27,6 @@ UsbDkDriverAccess::~UsbDkDriverAccess() } //------------------------------------------------------------------------------------------------ -tstring UsbDkDriverAccess::Ping() -{ - std::vector reply(10); - DWORD replySize; - - if(!DeviceIoControl(m_hDriver, - IOCTL_USBDK_PING, - nullptr, - 0, - &reply[0], - reply.size() * sizeof(TCHAR), - &replySize, - NULL)) - { - throw UsbDkDriverAccessException(TEXT("Ping failed")); - } - - return tstring(reply.begin(), reply.end()); -} -//------------------------------------------------------------------------------------------------ - void UsbDkDriverAccess::GetDevicesList(PUSB_DK_DEVICE_ID &DevicesArray, ULONG &NumberDevice) { DevicesArray = nullptr; diff --git a/UsbDkHelper/DriverAccess.h b/UsbDkHelper/DriverAccess.h index e80bbec..c8d515b 100644 --- a/UsbDkHelper/DriverAccess.h +++ b/UsbDkHelper/DriverAccess.h @@ -21,7 +21,6 @@ public: UsbDkDriverAccess(); virtual ~UsbDkDriverAccess(); - tstring Ping(); void GetDevicesList(PUSB_DK_DEVICE_ID &DevicesArray, ULONG &NumberDevice); static void ReleaseDeviceList(PUSB_DK_DEVICE_ID DevicesArray); bool ResetDevice(USB_DK_DEVICE_ID &DeviceID); diff --git a/UsbDkHelper/UsbDkHelper.cpp b/UsbDkHelper/UsbDkHelper.cpp index 2f4f8c0..30424bf 100644 --- a/UsbDkHelper/UsbDkHelper.cpp +++ b/UsbDkHelper/UsbDkHelper.cpp @@ -47,26 +47,6 @@ BOOL UninstallDriver() } //------------------------------------------------------------------------------------------- -BOOL PingDriver(LPTSTR ReplyBuffer, size_t ReplyBufferLen) -{ - try - { - UsbDkDriverAccess driver; - auto reply = driver.Ping(); - - wcsncpy_s(ReplyBuffer, ReplyBufferLen, reply.c_str(), ReplyBufferLen); - ReplyBuffer[ReplyBufferLen - 1] = TEXT('\0'); - - return TRUE; - } - catch (const exception &e) - { - printExceptionString(e.what()); - return FALSE; - } -} -//------------------------------------------------------------------------------------------- - BOOL GetDevicesList(PUSB_DK_DEVICE_ID *DevicesArray, ULONG *NumberDevices) { try diff --git a/UsbDkHelper/UsbDkHelper.h b/UsbDkHelper/UsbDkHelper.h index b066af6..2c60eee 100644 --- a/UsbDkHelper/UsbDkHelper.h +++ b/UsbDkHelper/UsbDkHelper.h @@ -21,7 +21,6 @@ extern "C" { DLL InstallResult InstallDriver(); DLL BOOL UninstallDriver(); - DLL BOOL PingDriver(LPTSTR ReplyBuffer, size_t ReplyBufferLen); DLL BOOL GetDevicesList(PUSB_DK_DEVICE_ID *DevicesArray, ULONG *NumberDevices); DLL void ReleaseDeviceList(PUSB_DK_DEVICE_ID DevicesArray); DLL BOOL ResetDevice(PUSB_DK_DEVICE_ID DeviceID);