36 lines
1.0 KiB
C++
36 lines
1.0 KiB
C++
// Copyright 2011-2020 Molecular Matters GmbH, all rights reserved.
|
|
|
|
#if LC_VERSION == 1
|
|
|
|
// BEGIN EPIC MOD
|
|
//#include PCH_INCLUDE
|
|
// END EPIC MOD
|
|
#include "LC_VirtualDrive.h"
|
|
// BEGIN EPIC MOD
|
|
#include "LC_Logging.h"
|
|
#include "Windows/WindowsHWrapper.h"
|
|
// END EPIC MOD
|
|
|
|
void virtualDrive::Add(const wchar_t* driveLetterPlusColon, const wchar_t* path)
|
|
{
|
|
const BOOL success = ::DefineDosDeviceW(DDD_NO_BROADCAST_SYSTEM, driveLetterPlusColon, path);
|
|
if (success == 0)
|
|
{
|
|
const DWORD error = ::GetLastError();
|
|
LC_ERROR_USER("Cannot add virtual drive %S for path %S. Error: 0x%X", driveLetterPlusColon, path, error);
|
|
}
|
|
}
|
|
|
|
|
|
void virtualDrive::Remove(const wchar_t* driveLetterPlusColon, const wchar_t* path)
|
|
{
|
|
const BOOL success = ::DefineDosDeviceW(DDD_NO_BROADCAST_SYSTEM | DDD_REMOVE_DEFINITION | DDD_EXACT_MATCH_ON_REMOVE, driveLetterPlusColon, path);
|
|
if (success == 0)
|
|
{
|
|
const DWORD error = ::GetLastError();
|
|
LC_ERROR_USER("Cannot remove virtual drive %S for path %S. Error: 0x%X", driveLetterPlusColon, path, error);
|
|
}
|
|
}
|
|
|
|
|
|
#endif |