mirror of
https://github.com/RawAccelOfficial/rawaccel.git
synced 2025-05-10 18:06:38 +02:00
make ioctls constexpr
This commit is contained in:
parent
6a9272d3af
commit
3dc64cc13a
3 changed files with 11 additions and 16 deletions
|
@ -8,8 +8,8 @@
|
|||
#include <Windows.h>
|
||||
#endif
|
||||
|
||||
#define RA_DEV_TYPE 0x8888u
|
||||
|
||||
#define RA_READ CTL_CODE(RA_DEV_TYPE, 0x888, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define RA_WRITE CTL_CODE(RA_DEV_TYPE, 0x889, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define RA_GET_VERSION CTL_CODE(RA_DEV_TYPE, 0x88a, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
namespace rawaccel {
|
||||
constexpr ULONG READ = (ULONG)CTL_CODE(0x8888u, 0x888, METHOD_BUFFERED, FILE_ANY_ACCESS);
|
||||
constexpr ULONG WRITE = (ULONG)CTL_CODE(0x8888u, 0x889, METHOD_BUFFERED, FILE_ANY_ACCESS);
|
||||
constexpr ULONG GET_VERSION = (ULONG)CTL_CODE(0x8888u, 0x88a, METHOD_BUFFERED, FILE_ANY_ACCESS);
|
||||
}
|
|
@ -5,9 +5,6 @@
|
|||
#include "rawaccel-error.hpp"
|
||||
#include "rawaccel.hpp"
|
||||
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable:4245) // int -> DWORD conversion while passing CTL_CODE
|
||||
|
||||
namespace rawaccel {
|
||||
|
||||
inline void io_control(DWORD code, void* in, DWORD in_size, void* out, DWORD out_size)
|
||||
|
@ -42,12 +39,12 @@ namespace rawaccel {
|
|||
|
||||
inline void read(io_t& args)
|
||||
{
|
||||
io_control(RA_READ, NULL, 0, &args, sizeof(io_t));
|
||||
io_control(READ, NULL, 0, &args, sizeof(io_t));
|
||||
}
|
||||
|
||||
inline void write(const io_t& args)
|
||||
{
|
||||
io_control(RA_WRITE, const_cast<io_t*>(&args), sizeof(io_t), NULL, 0);
|
||||
io_control(WRITE, const_cast<io_t*>(&args), sizeof(io_t), NULL, 0);
|
||||
}
|
||||
|
||||
inline version_t get_version()
|
||||
|
@ -55,7 +52,7 @@ namespace rawaccel {
|
|||
version_t v;
|
||||
|
||||
try {
|
||||
io_control(RA_GET_VERSION, NULL, 0, &v, sizeof(version_t));
|
||||
io_control(GET_VERSION, NULL, 0, &v, sizeof(version_t));
|
||||
}
|
||||
catch (const sys_error&) {
|
||||
// assume request is not implemented (< 1.3)
|
||||
|
@ -81,5 +78,3 @@ namespace rawaccel {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
#pragma warning(pop)
|
||||
|
|
|
@ -183,7 +183,7 @@ Return Value:
|
|||
}
|
||||
|
||||
switch (IoControlCode) {
|
||||
case RA_READ:
|
||||
case ra::READ:
|
||||
status = WdfRequestRetrieveOutputBuffer(
|
||||
Request,
|
||||
sizeof(ra::io_t),
|
||||
|
@ -207,7 +207,7 @@ Return Value:
|
|||
bytes_out = sizeof(ra::io_t);
|
||||
}
|
||||
break;
|
||||
case RA_WRITE:
|
||||
case ra::WRITE:
|
||||
status = WdfRequestRetrieveInputBuffer(
|
||||
Request,
|
||||
sizeof(ra::io_t),
|
||||
|
@ -251,7 +251,7 @@ Return Value:
|
|||
}
|
||||
|
||||
break;
|
||||
case RA_GET_VERSION:
|
||||
case ra::GET_VERSION:
|
||||
status = WdfRequestRetrieveOutputBuffer(
|
||||
Request,
|
||||
sizeof(ra::version_t),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue