This commit is contained in:
Benjamin Höglinger-Stelzer
2020-05-10 21:19:39 +02:00
parent 66c2efb611
commit 9cfe2f7cd4
4 changed files with 20 additions and 9 deletions

View File

@@ -2,18 +2,21 @@
#include "EmulationTargetPDO.hpp"
#include <ViGEm/km/BusShared.h>
#include "Util.h"
namespace ViGEm::Bus::Targets
{
{
class EmulationTargetDS4 : public Core::EmulationTargetPDO
{
public:
EmulationTargetDS4();
~EmulationTargetDS4() = default;
NTSTATUS PrepareDevice(PWDFDEVICE_INIT DeviceInit,
PUNICODE_STRING DeviceId, PUNICODE_STRING DeviceDescription) override;
NTSTATUS PrepareDevice(PWDFDEVICE_INIT DeviceInit,
PUNICODE_STRING DeviceId,
PUNICODE_STRING DeviceDescription) override;
NTSTATUS PrepareHardware(WDFDEVICE Device) override;
@@ -27,7 +30,7 @@ namespace ViGEm::Bus::Targets
private:
static PCWSTR _deviceDescription;
#if defined(_X86_)
static const int XUSB_CONFIGURATION_SIZE = 0x00E4;
#else
@@ -69,7 +72,7 @@ namespace ViGEm::Bus::Targets
static const int DS4_REPORT_SIZE = 0x40;
static const int DS4_QUEUE_FLUSH_PERIOD = 0x05;
//
// HID Input Report buffer
//
@@ -79,7 +82,7 @@ namespace ViGEm::Bus::Targets
// Output report cache
//
DS4_OUTPUT_REPORT OutputReport;
//
// Timer for dispatching interrupt transfer
//
@@ -104,8 +107,7 @@ namespace ViGEm::Bus::Targets
typedef struct _DS4_PDO_CONTEXT
{
EmulationTargetDS4* Context;
} DS4_PDO_CONTEXT, * PDS4_PDO_CONTEXT;
} DS4_PDO_CONTEXT, *PDS4_PDO_CONTEXT;
WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(DS4_PDO_CONTEXT, Ds4PdoGetContext)
}

View File

@@ -95,4 +95,9 @@ namespace ViGEm::Bus::Core
//
WDFQUEUE PendingNotificationRequests{};
};
typedef struct _PDO_IDENTIFICATION_DESCRIPTION
{
EmulationTargetPDO* Context;
} PDO_IDENTIFICATION_DESCRIPTION, *PPDO_IDENTIFICATION_DESCRIPTION;
}

View File

@@ -188,6 +188,7 @@
<ClInclude Include="$(SolutionDir)\Include\ViGEmBusDriver.h" />
<ClInclude Include="..\client\include\ViGEm\km\BusShared.h" />
<ClInclude Include="busenum.h" />
<ClInclude Include="BusFdoPdoCommon.hpp" />
<ClInclude Include="ByteArray.h" />
<ClInclude Include="Context.h" />
<ClInclude Include="CRTCPP.hpp" />

View File

@@ -84,6 +84,9 @@
<ClInclude Include="Ds4Pdo.hpp">
<Filter>Header Files\Targets</Filter>
</ClInclude>
<ClInclude Include="BusFdoPdoCommon.hpp">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="busenum.c">