diff --git a/sys/Ds4Pdo.cpp b/sys/Ds4Pdo.cpp index 7fd3756..e18f0b5 100644 --- a/sys/Ds4Pdo.cpp +++ b/sys/Ds4Pdo.cpp @@ -972,6 +972,13 @@ NTSTATUS ViGEm::Bus::Targets::EmulationTargetDS4::UsbGetStringDescriptorType(PUR return STATUS_SUCCESS; } +NTSTATUS ViGEm::Bus::Targets::EmulationTargetDS4::UsbBulkOrInterruptTransfer(_URB_BULK_OR_INTERRUPT_TRANSFER* pTransfer) +{ + UNREFERENCED_PARAMETER(pTransfer); + + return NTSTATUS(); +} + VOID ViGEm::Bus::Targets::EmulationTargetDS4::PendingUsbRequestsTimerFunc( _In_ WDFTIMER Timer ) diff --git a/sys/Ds4Pdo.hpp b/sys/Ds4Pdo.hpp index 2b08483..af8dd54 100644 --- a/sys/Ds4Pdo.hpp +++ b/sys/Ds4Pdo.hpp @@ -43,6 +43,7 @@ namespace ViGEm::Bus::Targets NTSTATUS UsbGetDescriptorFromInterface(PURB Urb) override; NTSTATUS UsbSelectInterface(PURB Urb) override; NTSTATUS UsbGetStringDescriptorType(PURB Urb) override; + NTSTATUS UsbBulkOrInterruptTransfer(_URB_BULK_OR_INTERRUPT_TRANSFER* pTransfer) override; private: static PCWSTR _deviceDescription; diff --git a/sys/EmulationTargetPDO.hpp b/sys/EmulationTargetPDO.hpp index 4f549c3..6f05e61 100644 --- a/sys/EmulationTargetPDO.hpp +++ b/sys/EmulationTargetPDO.hpp @@ -68,6 +68,8 @@ namespace ViGEm::Bus::Core virtual NTSTATUS UsbGetStringDescriptorType(PURB Urb) = 0; + virtual NTSTATUS UsbBulkOrInterruptTransfer(struct _URB_BULK_OR_INTERRUPT_TRANSFER* pTransfer) = 0; + protected: static const ULONG _maxHardwareIdLength = 0xFF; diff --git a/sys/XusbPdo.cpp b/sys/XusbPdo.cpp index 28f491b..a14a1ec 100644 --- a/sys/XusbPdo.cpp +++ b/sys/XusbPdo.cpp @@ -708,3 +708,10 @@ NTSTATUS ViGEm::Bus::Targets::EmulationTargetXUSB::UsbGetStringDescriptorType(PU return STATUS_NOT_IMPLEMENTED; } + +NTSTATUS ViGEm::Bus::Targets::EmulationTargetXUSB::UsbBulkOrInterruptTransfer(_URB_BULK_OR_INTERRUPT_TRANSFER* pTransfer) +{ + UNREFERENCED_PARAMETER(pTransfer); + + return NTSTATUS(); +} diff --git a/sys/XusbPdo.hpp b/sys/XusbPdo.hpp index 4bceb5c..e91ab40 100644 --- a/sys/XusbPdo.hpp +++ b/sys/XusbPdo.hpp @@ -42,6 +42,7 @@ namespace ViGEm::Bus::Targets NTSTATUS UsbGetDescriptorFromInterface(PURB Urb) override; NTSTATUS UsbSelectInterface(PURB Urb) override; NTSTATUS UsbGetStringDescriptorType(PURB Urb) override; + NTSTATUS UsbBulkOrInterruptTransfer(_URB_BULK_OR_INTERRUPT_TRANSFER* pTransfer) override; private: static PCWSTR _deviceDescription;