diff options
Diffstat (limited to 'src/engine/userexperience.cpp')
-rw-r--r-- | src/engine/userexperience.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/engine/userexperience.cpp b/src/engine/userexperience.cpp index 88b07d68..84e88718 100644 --- a/src/engine/userexperience.cpp +++ b/src/engine/userexperience.cpp | |||
@@ -111,7 +111,7 @@ extern "C" HRESULT UserExperienceLoad( | |||
111 | args.pCommand = pCommand; | 111 | args.pCommand = pCommand; |
112 | args.pfnBootstrapperEngineProc = EngineForApplicationProc; | 112 | args.pfnBootstrapperEngineProc = EngineForApplicationProc; |
113 | args.pvBootstrapperEngineProcContext = pEngineContext; | 113 | args.pvBootstrapperEngineProcContext = pEngineContext; |
114 | args.qwEngineAPIVersion = MAKEQWORDVERSION(2021, 2, 18, 0); | 114 | args.qwEngineAPIVersion = MAKEQWORDVERSION(2021, 2, 24, 0); |
115 | 115 | ||
116 | results.cbSize = sizeof(BOOTSTRAPPER_CREATE_RESULTS); | 116 | results.cbSize = sizeof(BOOTSTRAPPER_CREATE_RESULTS); |
117 | 117 | ||
@@ -2011,7 +2011,8 @@ LExit: | |||
2011 | } | 2011 | } |
2012 | 2012 | ||
2013 | EXTERN_C BAAPI UserExperienceOnUnregisterBegin( | 2013 | EXTERN_C BAAPI UserExperienceOnUnregisterBegin( |
2014 | __in BURN_USER_EXPERIENCE* pUserExperience | 2014 | __in BURN_USER_EXPERIENCE* pUserExperience, |
2015 | __inout BOOL* pfKeepRegistration | ||
2015 | ) | 2016 | ) |
2016 | { | 2017 | { |
2017 | HRESULT hr = S_OK; | 2018 | HRESULT hr = S_OK; |
@@ -2019,15 +2020,16 @@ EXTERN_C BAAPI UserExperienceOnUnregisterBegin( | |||
2019 | BA_ONUNREGISTERBEGIN_RESULTS results = { }; | 2020 | BA_ONUNREGISTERBEGIN_RESULTS results = { }; |
2020 | 2021 | ||
2021 | args.cbSize = sizeof(args); | 2022 | args.cbSize = sizeof(args); |
2023 | args.fKeepRegistration = *pfKeepRegistration; | ||
2022 | 2024 | ||
2023 | results.cbSize = sizeof(results); | 2025 | results.cbSize = sizeof(results); |
2024 | 2026 | ||
2025 | hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONUNREGISTERBEGIN, &args, &results); | 2027 | hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONUNREGISTERBEGIN, &args, &results); |
2026 | ExitOnFailure(hr, "BA OnUnregisterBegin failed."); | 2028 | ExitOnFailure(hr, "BA OnUnregisterBegin failed."); |
2027 | 2029 | ||
2028 | if (results.fCancel) | 2030 | if (!args.fKeepRegistration && results.fForceKeepRegistration) |
2029 | { | 2031 | { |
2030 | hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); | 2032 | *pfKeepRegistration = TRUE; |
2031 | } | 2033 | } |
2032 | 2034 | ||
2033 | LExit: | 2035 | LExit: |