bool NtPathToDosPath(const wchar_t* ntPath, wchar_t* buffer, size_t length)
{
wchar_t device_name[3] = L"A:";
wchar_t target_path[128];
for (wchar_t i = L'A'; i <= L'Z'; ++i)
{
device_name[0] = i;
if (QueryDosDeviceW(device_name, target_path, 128))
{
size_t target_length = wcslen(target_path);
if (!_wcsnicmp(ntPath, target_path, target_length))
{
wcscpy_s(buffer, length, device_name);
wcscat_s(buffer, length, ntPath + target_length);
return true;
}
}
}
return false;
}
Comments
0 B
|👍
/👎