diff options
Diffstat (limited to 'windows/nsis-plugins/src/driverlogic/context.cpp')
| -rw-r--r-- | windows/nsis-plugins/src/driverlogic/context.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/windows/nsis-plugins/src/driverlogic/context.cpp b/windows/nsis-plugins/src/driverlogic/context.cpp index c7ef8c91cd..ff46416d0a 100644 --- a/windows/nsis-plugins/src/driverlogic/context.cpp +++ b/windows/nsis-plugins/src/driverlogic/context.cpp @@ -380,6 +380,26 @@ void Context::recordCurrentState() m_currentState = GetTapAdapters(); } +void Context::rollbackTapAliases() +{ + NciContext nci; + + for (const auto &adapter : m_currentState) + { + const auto oldInfo = m_baseline.find(adapter); + if (m_baseline.end() != oldInfo) + { + IID guidObj = { 0 }; + if (S_OK != IIDFromString(&adapter.guid[0], &guidObj)) + { + throw std::runtime_error("IIDFromString() failed"); + } + + nci.setConnectionName(guidObj, oldInfo->alias.c_str()); + } + } +} + Context::NetworkAdapter Context::getNewAdapter() { std::list<NetworkAdapter> added; |
