diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2016-10-20 03:20:49 +0300 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2016-10-20 03:20:49 +0300 |
commit | bd3116f43658fdd4ac145693e8ff4576061f22fa (patch) | |
tree | 93f0d7f0084a26b8db9de201323192a7711fbb0b /src/resource.hpp | |
parent | code style & compiler warnings fixes (diff) | |
download | privilege-check-bd3116f43658fdd4ac145693e8ff4576061f22fa.tar.gz privilege-check-bd3116f43658fdd4ac145693e8ff4576061f22fa.zip |
refactoring
Diffstat (limited to '')
-rw-r--r-- | src/resource.hpp | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/resource.hpp b/src/resource.hpp index 0e3186c..a0f1cc3 100644 --- a/src/resource.hpp +++ b/src/resource.hpp @@ -5,13 +5,30 @@ #pragma once +#include "error.hpp" +#include "process.hpp" + #include <Windows.h> +#include <cstddef> + #include <string> namespace resource { - HMODULE load_exe_module(); + inline std::wstring load_string(unsigned int id) + { + wchar_t* s = nullptr; + + const auto ret = LoadStringW( + process::load_exe_module(), + id, + reinterpret_cast<wchar_t*>(&s), + 0); + + if (ret <= 0) + error::raise("LoadStringW"); - std::wstring load_string(unsigned int id); + return {s, static_cast<std::size_t>(ret)}; + } } |