diff options
Diffstat (limited to 'src/burn/engine/userexperience.cpp')
-rw-r--r-- | src/burn/engine/userexperience.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/burn/engine/userexperience.cpp b/src/burn/engine/userexperience.cpp index 1439f5f2..59988bef 100644 --- a/src/burn/engine/userexperience.cpp +++ b/src/burn/engine/userexperience.cpp | |||
@@ -2176,6 +2176,36 @@ LExit: | |||
2176 | return hr; | 2176 | return hr; |
2177 | } | 2177 | } |
2178 | 2178 | ||
2179 | EXTERN_C BAAPI UserExperienceOnPlanRestoreRelatedBundle( | ||
2180 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
2181 | __in_z LPCWSTR wzBundleId, | ||
2182 | __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState | ||
2183 | ) | ||
2184 | { | ||
2185 | HRESULT hr = S_OK; | ||
2186 | BA_ONPLANRESTORERELATEDBUNDLE_ARGS args = { }; | ||
2187 | BA_ONPLANRESTORERELATEDBUNDLE_RESULTS results = { }; | ||
2188 | |||
2189 | args.cbSize = sizeof(args); | ||
2190 | args.wzBundleId = wzBundleId; | ||
2191 | args.recommendedState = *pRequestedState; | ||
2192 | |||
2193 | results.cbSize = sizeof(results); | ||
2194 | results.requestedState = *pRequestedState; | ||
2195 | |||
2196 | hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRESTORERELATEDBUNDLE, &args, &results); | ||
2197 | ExitOnFailure(hr, "BA OnPlanRestoreRelatedBundle failed."); | ||
2198 | |||
2199 | if (results.fCancel) | ||
2200 | { | ||
2201 | hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); | ||
2202 | } | ||
2203 | *pRequestedState = results.requestedState; | ||
2204 | |||
2205 | LExit: | ||
2206 | return hr; | ||
2207 | } | ||
2208 | |||
2179 | EXTERN_C BAAPI UserExperienceOnPlanRollbackBoundary( | 2209 | EXTERN_C BAAPI UserExperienceOnPlanRollbackBoundary( |
2180 | __in BURN_USER_EXPERIENCE* pUserExperience, | 2210 | __in BURN_USER_EXPERIENCE* pUserExperience, |
2181 | __in_z LPCWSTR wzRollbackBoundaryId, | 2211 | __in_z LPCWSTR wzRollbackBoundaryId, |