summaryrefslogtreecommitdiffhomepage
path: root/windows/nsis-plugins/src/driverlogic/context.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'windows/nsis-plugins/src/driverlogic/context.cpp')
-rw-r--r--windows/nsis-plugins/src/driverlogic/context.cpp20
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;