aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--um/wrappers/simple/src/device.cpp4
-rw-r--r--um/wrappers/special/nt_namespace/src/device.cpp6
2 files changed, 7 insertions, 3 deletions
diff --git a/um/wrappers/simple/src/device.cpp b/um/wrappers/simple/src/device.cpp
index 2523be6..d1a0d42 100644
--- a/um/wrappers/simple/src/device.cpp
+++ b/um/wrappers/simple/src/device.cpp
@@ -23,10 +23,12 @@ namespace simple
unsigned int Device::exchange_ints(unsigned int src) const
{
+ static_assert(sizeof(exchange_ints_ctl_code) == sizeof(service::Device::Code), "CTL_CODE() must produce DWORDs");
+
unsigned int dest;
send_control_code(
- exchange_ints_ctl_code,
+ static_cast<service::Device::Code>(exchange_ints_ctl_code),
&src,
sizeof(src),
&dest,
diff --git a/um/wrappers/special/nt_namespace/src/device.cpp b/um/wrappers/special/nt_namespace/src/device.cpp
index 1697e45..4f9021b 100644
--- a/um/wrappers/special/nt_namespace/src/device.cpp
+++ b/um/wrappers/special/nt_namespace/src/device.cpp
@@ -29,15 +29,17 @@ namespace nt_namespace
const auto in_buf = src.c_str();
const auto in_buf_size = (src.size() + 1) * sizeof(wchar_t);
+ static_assert(sizeof(control_code) == sizeof(service::Device::Code), "CTL_CODE() must return DWORDs");
+
const auto nbreq = get_required_output_size(
- control_code,
+ static_cast<service::Device::Code>(control_code),
in_buf,
in_buf_size);
std::vector<unsigned char> output(nbreq);
send_control_code(
- control_code,
+ static_cast<service::Device::Code>(control_code),
in_buf,
in_buf_size,
output.data(),