From 8218e2bcddf8ea3ce121969f216aaa826a769d11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20H=C3=B6glinger?= Date: Sun, 13 May 2018 22:27:53 +0200 Subject: [PATCH] Introduced variables --- sys/Driver.c | 15 +++++++++++---- sys/busenum.h | 5 +++++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/sys/Driver.c b/sys/Driver.c index d81cc73..8e66b34 100644 --- a/sys/Driver.c +++ b/sys/Driver.c @@ -192,7 +192,11 @@ NTSTATUS Bus_EvtDeviceAdd(IN WDFDRIVER Driver, IN PWDFDEVICE_INIT DeviceInit) #pragma region Create timer for sweeping up orphaned requests - WDF_TIMER_CONFIG_INIT_PERIODIC(&reqTimerCfg, Bus_PlugInRequestCleanUpEvtTimerFunc, 500); + WDF_TIMER_CONFIG_INIT_PERIODIC( + &reqTimerCfg, + Bus_PlugInRequestCleanUpEvtTimerFunc, + ORC_TIMER_START_DELAY + ); WDF_OBJECT_ATTRIBUTES_INIT(&timerAttributes); timerAttributes.ParentObject = device; @@ -205,7 +209,10 @@ NTSTATUS Bus_EvtDeviceAdd(IN WDFDRIVER Driver, IN PWDFDEVICE_INIT DeviceInit) return status; } - WdfTimerStart(pFDOData->PendingPluginRequestsCleanupTimer, WDF_REL_TIMEOUT_IN_SEC(1)); + WdfTimerStart( + pFDOData->PendingPluginRequestsCleanupTimer, + WDF_REL_TIMEOUT_IN_MS(ORC_TIMER_PERIODIC_DUE_TIME) + ); #pragma endregion @@ -617,7 +624,7 @@ Bus_PlugInRequestCleanUpEvtTimerFunc( curRequest = WdfCollectionGetItem(pFdoData->PendingPluginRequests, i); pPluginData = PluginRequestGetData(curRequest); - freq = pPluginData->Frequency.QuadPart / 1000; + freq = pPluginData->Frequency.QuadPart / ORC_PC_FREQUENCY_DIVIDER; pcNow = KeQueryPerformanceCounter(NULL); ellapsed = (pcNow.QuadPart - pPluginData->Timestamp.QuadPart) / freq; @@ -626,7 +633,7 @@ Bus_PlugInRequestCleanUpEvtTimerFunc( "PDO (serial = %d) age: %llu", pPluginData->Serial, ellapsed); - if (ellapsed > 500) + if (ellapsed >= ORC_REQUEST_MAX_AGE) { WdfRequestComplete(curRequest, STATUS_SUCCESS); diff --git a/sys/busenum.h b/sys/busenum.h index ee703b6..b115d9c 100644 --- a/sys/busenum.h +++ b/sys/busenum.h @@ -58,6 +58,11 @@ SOFTWARE. #define DRIVERNAME "ViGEm: " #define MAX_HARDWARE_ID_LENGTH 0xFF +#define ORC_PC_FREQUENCY_DIVIDER 1000 +#define ORC_TIMER_START_DELAY 500 // ms +#define ORC_TIMER_PERIODIC_DUE_TIME 500 // ms +#define ORC_REQUEST_MAX_AGE 500 // ms + #pragma endregion #pragma region Helpers