diff options
Diffstat (limited to 'src/api/burn/balutil')
6 files changed, 43 insertions, 0 deletions
diff --git a/src/api/burn/balutil/inc/BAFunctions.h b/src/api/burn/balutil/inc/BAFunctions.h index 84359d65..cbef88df 100644 --- a/src/api/burn/balutil/inc/BAFunctions.h +++ b/src/api/burn/balutil/inc/BAFunctions.h | |||
@@ -88,6 +88,7 @@ enum BA_FUNCTIONS_MESSAGE | |||
88 | BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN, | 88 | BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN, |
89 | BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE, | 89 | BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE, |
90 | BA_FUNCTIONS_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE, | 90 | BA_FUNCTIONS_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE, |
91 | BA_FUNCTIONS_MESSAGE_ONPLANRESTORERELATEDBUNDLE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRESTORERELATEDBUNDLE, | ||
91 | 92 | ||
92 | BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024, | 93 | BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024, |
93 | BA_FUNCTIONS_MESSAGE_WNDPROC, | 94 | BA_FUNCTIONS_MESSAGE_WNDPROC, |
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctions.h b/src/api/burn/balutil/inc/BalBaseBAFunctions.h index c6d0924f..e98ebc9f 100644 --- a/src/api/burn/balutil/inc/BalBaseBAFunctions.h +++ b/src/api/burn/balutil/inc/BalBaseBAFunctions.h | |||
@@ -849,6 +849,16 @@ public: // IBootstrapperApplication | |||
849 | return S_OK; | 849 | return S_OK; |
850 | } | 850 | } |
851 | 851 | ||
852 | virtual STDMETHODIMP OnPlanRestoreRelatedBundle( | ||
853 | __in_z LPCWSTR /*wzBundleId*/, | ||
854 | __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, | ||
855 | __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/, | ||
856 | __inout BOOL* /*pfCancel*/ | ||
857 | ) | ||
858 | { | ||
859 | return S_OK; | ||
860 | } | ||
861 | |||
852 | public: // IBAFunctions | 862 | public: // IBAFunctions |
853 | virtual STDMETHODIMP OnPlan( | 863 | virtual STDMETHODIMP OnPlan( |
854 | ) | 864 | ) |
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h b/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h index 5d5ff098..09cc189e 100644 --- a/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h +++ b/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h | |||
@@ -159,6 +159,7 @@ static HRESULT WINAPI BalBaseBAFunctionsProc( | |||
159 | case BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN: | 159 | case BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN: |
160 | case BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE: | 160 | case BA_FUNCTIONS_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE: |
161 | case BA_FUNCTIONS_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE: | 161 | case BA_FUNCTIONS_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE: |
162 | case BA_FUNCTIONS_MESSAGE_ONPLANRESTORERELATEDBUNDLE: | ||
162 | hr = BalBaseBootstrapperApplicationProc((BOOTSTRAPPER_APPLICATION_MESSAGE)message, pvArgs, pvResults, pvContext); | 163 | hr = BalBaseBootstrapperApplicationProc((BOOTSTRAPPER_APPLICATION_MESSAGE)message, pvArgs, pvResults, pvContext); |
163 | break; | 164 | break; |
164 | case BA_FUNCTIONS_MESSAGE_ONTHEMELOADED: | 165 | case BA_FUNCTIONS_MESSAGE_ONTHEMELOADED: |
diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h index e1a36fdf..6a24f24b 100644 --- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h +++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h | |||
@@ -1047,6 +1047,17 @@ public: // IBootstrapperApplication | |||
1047 | return S_OK; | 1047 | return S_OK; |
1048 | } | 1048 | } |
1049 | 1049 | ||
1050 | virtual STDMETHODIMP OnPlanRestoreRelatedBundle( | ||
1051 | __in_z LPCWSTR /*wzBundleId*/, | ||
1052 | __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, | ||
1053 | __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/, | ||
1054 | __inout BOOL* pfCancel | ||
1055 | ) | ||
1056 | { | ||
1057 | *pfCancel |= CheckCanceled(); | ||
1058 | return S_OK; | ||
1059 | } | ||
1060 | |||
1050 | public: //CBalBaseBootstrapperApplication | 1061 | public: //CBalBaseBootstrapperApplication |
1051 | virtual STDMETHODIMP Initialize( | 1062 | virtual STDMETHODIMP Initialize( |
1052 | __in const BOOTSTRAPPER_CREATE_ARGS* pCreateArgs | 1063 | __in const BOOTSTRAPPER_CREATE_ARGS* pCreateArgs |
diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h index 1ee5258e..d40390e5 100644 --- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h +++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h | |||
@@ -720,6 +720,15 @@ static HRESULT BalBaseBAProcOnSetUpdateComplete( | |||
720 | return pBA->OnSetUpdateComplete(pArgs->hrStatus, pArgs->wzPreviousPackageId, pArgs->wzNewPackageId); | 720 | return pBA->OnSetUpdateComplete(pArgs->hrStatus, pArgs->wzPreviousPackageId, pArgs->wzNewPackageId); |
721 | } | 721 | } |
722 | 722 | ||
723 | static HRESULT BalBaseBAProcOnPlanRestoreRelatedBundle( | ||
724 | __in IBootstrapperApplication* pBA, | ||
725 | __in BA_ONPLANRESTORERELATEDBUNDLE_ARGS* pArgs, | ||
726 | __inout BA_ONPLANRESTORERELATEDBUNDLE_RESULTS* pResults | ||
727 | ) | ||
728 | { | ||
729 | return pBA->OnPlanRestoreRelatedBundle(pArgs->wzBundleId, pArgs->recommendedState, &pResults->requestedState, &pResults->fCancel); | ||
730 | } | ||
731 | |||
723 | /******************************************************************* | 732 | /******************************************************************* |
724 | BalBaseBootstrapperApplicationProc - requires pvContext to be of type IBootstrapperApplication. | 733 | BalBaseBootstrapperApplicationProc - requires pvContext to be of type IBootstrapperApplication. |
725 | Provides a default mapping between the new message based BA interface and | 734 | Provides a default mapping between the new message based BA interface and |
@@ -976,6 +985,9 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc( | |||
976 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE: | 985 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE: |
977 | hr = BalBaseBAProcOnPlannedCompatiblePackage(pBA, reinterpret_cast<BA_ONPLANNEDCOMPATIBLEPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANNEDCOMPATIBLEPACKAGE_RESULTS*>(pvResults)); | 986 | hr = BalBaseBAProcOnPlannedCompatiblePackage(pBA, reinterpret_cast<BA_ONPLANNEDCOMPATIBLEPACKAGE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANNEDCOMPATIBLEPACKAGE_RESULTS*>(pvResults)); |
978 | break; | 987 | break; |
988 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRESTORERELATEDBUNDLE: | ||
989 | hr = BalBaseBAProcOnPlanRestoreRelatedBundle(pBA, reinterpret_cast<BA_ONPLANRESTORERELATEDBUNDLE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANRESTORERELATEDBUNDLE_RESULTS*>(pvResults)); | ||
990 | break; | ||
979 | } | 991 | } |
980 | } | 992 | } |
981 | 993 | ||
diff --git a/src/api/burn/balutil/inc/IBootstrapperApplication.h b/src/api/burn/balutil/inc/IBootstrapperApplication.h index 640f609d..5932c06e 100644 --- a/src/api/burn/balutil/inc/IBootstrapperApplication.h +++ b/src/api/burn/balutil/inc/IBootstrapperApplication.h | |||
@@ -691,4 +691,12 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A | |||
691 | __in_z_opt LPCWSTR wzPreviousPackageId, | 691 | __in_z_opt LPCWSTR wzPreviousPackageId, |
692 | __in_z_opt LPCWSTR wzNewPackageId | 692 | __in_z_opt LPCWSTR wzNewPackageId |
693 | ) = 0; | 693 | ) = 0; |
694 | |||
695 | // OnPlanRestoreRelatedBundle - called when the engine begins planning an upgrade related bundle for restoring in case of failure. | ||
696 | STDMETHOD(OnPlanRestoreRelatedBundle)( | ||
697 | __in_z LPCWSTR wzBundleId, | ||
698 | __in BOOTSTRAPPER_REQUEST_STATE recommendedState, | ||
699 | __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState, | ||
700 | __inout BOOL* pfCancel | ||
701 | ) = 0; | ||
694 | }; | 702 | }; |