From 15a9b2c896311f50488d4e188667788de728c210 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20H=C3=B6glinger-Stelzer?= Date: Wed, 13 May 2020 21:58:37 +0200 Subject: [PATCH] Minor clean-up --- sys/Ds4Pdo.hpp | 22 +++++++++++++++------- sys/EmulationTargetPDO.hpp | 6 +++--- sys/XusbPdo.hpp | 7 +++++++ 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/sys/Ds4Pdo.hpp b/sys/Ds4Pdo.hpp index 9a8d5db..9b16e31 100644 --- a/sys/Ds4Pdo.hpp +++ b/sys/Ds4Pdo.hpp @@ -76,14 +76,28 @@ namespace ViGEm::Bus::Targets NTSTATUS SelectConfiguration(PURB Urb) override; void AbortPipe() override; + NTSTATUS UsbClassInterface(PURB Urb) override; + NTSTATUS UsbGetDescriptorFromInterface(PURB Urb) override; + NTSTATUS UsbSelectInterface(PURB Urb) override; + NTSTATUS UsbGetStringDescriptorType(PURB Urb) override; + NTSTATUS UsbBulkOrInterruptTransfer(_URB_BULK_OR_INTERRUPT_TRANSFER* pTransfer, WDFREQUEST Request) override; + NTSTATUS UsbControlTransfer(PURB Urb) override; + NTSTATUS SubmitReportImpl(PVOID NewReport) override; + private: + static EVT_WDF_TIMER PendingUsbRequestsTimerFunc; + + static VOID ReverseByteArray(PUCHAR Array, INT Length); + + static VOID GenerateRandomMacAddress(PMAC_ADDRESS Address); + static PCWSTR _deviceDescription; static const int HID_REQUEST_GET_REPORT = 0x01; @@ -134,12 +148,6 @@ namespace ViGEm::Bus::Targets // // Default MAC address of the host (not used) // - MAC_ADDRESS _HostMacAddress; - - static EVT_WDF_TIMER PendingUsbRequestsTimerFunc; - - static VOID ReverseByteArray(PUCHAR Array, INT Length); - - static VOID GenerateRandomMacAddress(PMAC_ADDRESS Address); + MAC_ADDRESS _HostMacAddress; }; } diff --git a/sys/EmulationTargetPDO.hpp b/sys/EmulationTargetPDO.hpp index 31c9cef..c5a79a8 100644 --- a/sys/EmulationTargetPDO.hpp +++ b/sys/EmulationTargetPDO.hpp @@ -126,6 +126,8 @@ namespace ViGEm::Bus::Core protected: static const ULONG _maxHardwareIdLength = 0xFF; + static const int MAX_INSTANCE_ID_LEN = 80; + static PCWSTR _deviceLocation; static BOOLEAN USB_BUSIFFN UsbInterfaceIsDeviceHighSpeed(IN PVOID BusContext); @@ -153,9 +155,7 @@ namespace ViGEm::Bus::Core static EVT_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL EvtIoInternalDeviceControl; static VOID PluginRequestCompletionWorkerRoutine(IN PVOID StartContext); - - static const int MAX_INSTANCE_ID_LEN = 80; - + virtual VOID GetConfigurationDescriptorType(PUCHAR Buffer, ULONG Length) = 0; virtual NTSTATUS SelectConfiguration(PURB Urb) = 0; diff --git a/sys/XusbPdo.hpp b/sys/XusbPdo.hpp index bc34636..ddb1ccf 100644 --- a/sys/XusbPdo.hpp +++ b/sys/XusbPdo.hpp @@ -74,14 +74,21 @@ namespace ViGEm::Bus::Targets void AbortPipe() override; NTSTATUS UsbClassInterface(PURB Urb) override; + NTSTATUS UsbGetDescriptorFromInterface(PURB Urb) override; + NTSTATUS UsbSelectInterface(PURB Urb) override; + NTSTATUS UsbGetStringDescriptorType(PURB Urb) override; + NTSTATUS UsbBulkOrInterruptTransfer(_URB_BULK_OR_INTERRUPT_TRANSFER* pTransfer, WDFREQUEST Request) override; + NTSTATUS UsbControlTransfer(PURB Urb) override; + NTSTATUS SubmitReportImpl(PVOID NewReport) override; NTSTATUS GetUserIndex(PULONG UserIndex) const; + private: static PCWSTR _deviceDescription;