diff options
Diffstat (limited to 'um/libnt_path_converter/src/device.cpp')
-rw-r--r-- | um/libnt_path_converter/src/device.cpp | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/um/libnt_path_converter/src/device.cpp b/um/libnt_path_converter/src/device.cpp deleted file mode 100644 index 90cd12f..0000000 --- a/um/libnt_path_converter/src/device.cpp +++ /dev/null @@ -1,48 +0,0 @@ -// Copyright (c) 2015 Egor Tensin <Egor.Tensin@gmail.com> -// This file is part of the "Windows 7 drivers" project. -// For details, see https://github.com/egor-tensin/windows7-drivers. -// Distributed under the MIT License. - -#include "libnt_path_converter/device.hpp" - -#include "libservice/all.hpp" - -#include <Windows.h> - -#include <string> -#include <vector> - -namespace libnt_path_converter -{ - namespace - { - const char* const device_path = "\\\\.\\nt_path_converter"; - const auto control_code = CTL_CODE(0x8000, 0x800, METHOD_BUFFERED, FILE_ANY_ACCESS); - } - - Device::Device() - : libservice::Device(libservice::Device::open(device_path)) - { } - - std::wstring Device::convert_nt_path(const std::wstring& src) - { - const auto in_buf = src.c_str(); - const auto in_buf_size = (src.size() + 1) * sizeof(wchar_t); - - const auto nbreq = get_required_output_size( - control_code, - in_buf, - in_buf_size); - - std::vector<unsigned char> output(nbreq); - - send_control_code( - control_code, - in_buf, - in_buf_size, - output.data(), - nbreq); - - return reinterpret_cast<wchar_t*>(output.data()); - } -} |