From cd523a62f335fd23ae334ef67d93b028c9df0722 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20H=C3=B6glinger?= Date: Sat, 12 May 2018 19:33:04 +0200 Subject: [PATCH] Converted Ds4_PreparePdo --- sys/Ds4.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/sys/Ds4.c b/sys/Ds4.c index c312947..b6b6625 100644 --- a/sys/Ds4.c +++ b/sys/Ds4.c @@ -35,14 +35,26 @@ NTSTATUS Ds4_PreparePdo(PWDFDEVICE_INIT DeviceInit, PUNICODE_STRING DeviceId, PU // prepare device description status = RtlUnicodeStringInit(DeviceDescription, L"Virtual DualShock 4 Controller"); if (!NT_SUCCESS(status)) + { + TraceEvents(TRACE_LEVEL_ERROR, + TRACE_DS4, + "RtlUnicodeStringInit failed with status %!STATUS!", + status); return status; + } // Set hardware IDs RtlUnicodeStringInit(&buffer, L"USB\\VID_054C&PID_05C4&REV_0100"); status = WdfPdoInitAddHardwareID(DeviceInit, &buffer); if (!NT_SUCCESS(status)) + { + TraceEvents(TRACE_LEVEL_ERROR, + TRACE_DS4, + "WdfPdoInitAddHardwareID failed with status %!STATUS!", + status); return status; + } RtlUnicodeStringCopy(DeviceId, &buffer); @@ -50,26 +62,50 @@ NTSTATUS Ds4_PreparePdo(PWDFDEVICE_INIT DeviceInit, PUNICODE_STRING DeviceId, PU status = WdfPdoInitAddHardwareID(DeviceInit, &buffer); if (!NT_SUCCESS(status)) + { + TraceEvents(TRACE_LEVEL_ERROR, + TRACE_DS4, + "WdfPdoInitAddHardwareID failed with status %!STATUS!", + status); return status; + } // Set compatible IDs RtlUnicodeStringInit(&buffer, L"USB\\Class_03&SubClass_00&Prot_00"); status = WdfPdoInitAddCompatibleID(DeviceInit, &buffer); if (!NT_SUCCESS(status)) + { + TraceEvents(TRACE_LEVEL_ERROR, + TRACE_DS4, + "WdfPdoInitAddCompatibleID (#01) failed with status %!STATUS!", + status); return status; + } RtlUnicodeStringInit(&buffer, L"USB\\Class_03&SubClass_00"); status = WdfPdoInitAddCompatibleID(DeviceInit, &buffer); if (!NT_SUCCESS(status)) + { + TraceEvents(TRACE_LEVEL_ERROR, + TRACE_DS4, + "WdfPdoInitAddCompatibleID (#02) failed with status %!STATUS!", + status); return status; + } RtlUnicodeStringInit(&buffer, L"USB\\Class_03"); status = WdfPdoInitAddCompatibleID(DeviceInit, &buffer); if (!NT_SUCCESS(status)) + { + TraceEvents(TRACE_LEVEL_ERROR, + TRACE_DS4, + "WdfPdoInitAddCompatibleID (#03) failed with status %!STATUS!", + status); return status; + } return STATUS_SUCCESS; }