diff --git a/sys/Ds4Pdo.cpp b/sys/Ds4Pdo.cpp index d0b0923..ad548ba 100644 --- a/sys/Ds4Pdo.cpp +++ b/sys/Ds4Pdo.cpp @@ -1046,6 +1046,11 @@ NTSTATUS ViGEm::Bus::Targets::EmulationTargetDS4::UsbBulkOrInterruptTransfer(_UR notify->SerialNo = this->_SerialNo; notify->Report = this->_OutputReport; + DumpAsHex("!! XUSB_REQUEST_NOTIFICATION", + notify, + sizeof(DS4_REQUEST_NOTIFICATION) + ); + WdfRequestCompleteWithInformation(notifyRequest, status, notify->Size); } else @@ -1225,6 +1230,8 @@ void ViGEm::Bus::Targets::EmulationTargetDS4::ProcessPendingNotification(WDFQUEU PVOID clientBuffer, contextBuffer; PDS4_REQUEST_NOTIFICATION notify = nullptr; + TraceDbg(TRACE_USBPDO, "%!FUNC! Entry"); + // // Loop through and drain all queued requests until buffer is empty // @@ -1262,6 +1269,11 @@ void ViGEm::Bus::Targets::EmulationTargetDS4::ProcessPendingNotification(WDFQUEU notify->SerialNo = this->_SerialNo; notify->Report = *static_cast(clientBuffer); + DumpAsHex("!! XUSB_REQUEST_NOTIFICATION", + notify, + sizeof(DS4_REQUEST_NOTIFICATION) + ); + WdfRequestCompleteWithInformation(request, status, notify->Size); } @@ -1275,6 +1287,8 @@ void ViGEm::Bus::Targets::EmulationTargetDS4::ProcessPendingNotification(WDFQUEU break; } } + + TraceDbg(TRACE_USBPDO, "%!FUNC! Exit"); } VOID ViGEm::Bus::Targets::EmulationTargetDS4::PendingUsbRequestsTimerFunc( diff --git a/sys/XusbPdo.cpp b/sys/XusbPdo.cpp index e9af202..0046af8 100644 --- a/sys/XusbPdo.cpp +++ b/sys/XusbPdo.cpp @@ -893,6 +893,11 @@ NTSTATUS ViGEm::Bus::Targets::EmulationTargetXUSB::UsbBulkOrInterruptTransfer(_U notify->LargeMotor = this->_Rumble[3]; notify->SmallMotor = this->_Rumble[4]; + DumpAsHex("!! XUSB_REQUEST_NOTIFICATION", + notify, + sizeof(XUSB_REQUEST_NOTIFICATION) + ); + WdfRequestCompleteWithInformation(notifyRequest, status, notify->Size); } else @@ -1055,6 +1060,8 @@ void ViGEm::Bus::Targets::EmulationTargetXUSB::ProcessPendingNotification(WDFQUE size_t bufferLength; PXUSB_REQUEST_NOTIFICATION notify = nullptr; + TraceDbg(TRACE_BUSENUM, "%!FUNC! Entry"); + // // Loop through and drain all queued requests until buffer is empty // @@ -1109,6 +1116,11 @@ void ViGEm::Bus::Targets::EmulationTargetXUSB::ProcessPendingNotification(WDFQUE notify->LargeMotor = static_cast(clientBuffer)[3]; notify->SmallMotor = static_cast(clientBuffer)[4]; + DumpAsHex("!! XUSB_REQUEST_NOTIFICATION", + notify, + sizeof(XUSB_REQUEST_NOTIFICATION) + ); + WdfRequestCompleteWithInformation(request, status, notify->Size); } @@ -1122,4 +1134,6 @@ void ViGEm::Bus::Targets::EmulationTargetXUSB::ProcessPendingNotification(WDFQUE break; } } + + TraceDbg(TRACE_BUSENUM, "%!FUNC! Exit"); }