summaryrefslogtreecommitdiff
path: root/driver/driver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'driver/driver.cpp')
-rw-r--r--driver/driver.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/driver/driver.cpp b/driver/driver.cpp
index a4de824..a99a70b 100644
--- a/driver/driver.cpp
+++ b/driver/driver.cpp
@@ -1,5 +1,6 @@
#include <rawaccel.hpp>
#include <rawaccel-io-def.h>
+#include <rawaccel-version.h>
#include "driver.h"
@@ -190,6 +191,20 @@ Return Value:
global.modifier = { global.args, global.lookups };
}
break;
+ case RA_GET_VERSION:
+ status = WdfRequestRetrieveOutputBuffer(
+ Request,
+ sizeof(ra::version_t),
+ &buffer,
+ NULL
+ );
+ if (!NT_SUCCESS(status)) {
+ DebugPrint(("RetrieveOutputBuffer failed: 0x%x\n", status));
+ }
+ else {
+ *reinterpret_cast<ra::version_t*>(buffer) = { RA_VER_MAJOR, RA_VER_MINOR, RA_VER_PATCH };
+ }
+ break;
default:
status = STATUS_INVALID_DEVICE_REQUEST;
break;