diff options
Diffstat (limited to 'src/api/burn/balutil')
6 files changed, 37 insertions, 0 deletions
diff --git a/src/api/burn/balutil/inc/BAFunctions.h b/src/api/burn/balutil/inc/BAFunctions.h index f772eb3f..58c26166 100644 --- a/src/api/burn/balutil/inc/BAFunctions.h +++ b/src/api/burn/balutil/inc/BAFunctions.h | |||
@@ -90,6 +90,7 @@ enum BA_FUNCTIONS_MESSAGE | |||
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 | BA_FUNCTIONS_MESSAGE_ONPLANRESTORERELATEDBUNDLE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRESTORERELATEDBUNDLE, |
92 | BA_FUNCTIONS_MESSAGE_ONPLANRELATEDBUNDLETYPE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLETYPE, | 92 | BA_FUNCTIONS_MESSAGE_ONPLANRELATEDBUNDLETYPE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLETYPE, |
93 | BA_FUNCTIONS_MESSAGE_ONAPPLYDOWNGRADE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYDOWNGRADE, | ||
93 | 94 | ||
94 | BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024, | 95 | BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024, |
95 | BA_FUNCTIONS_MESSAGE_WNDPROC, | 96 | BA_FUNCTIONS_MESSAGE_WNDPROC, |
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctions.h b/src/api/burn/balutil/inc/BalBaseBAFunctions.h index f558828f..fe5c99ba 100644 --- a/src/api/burn/balutil/inc/BalBaseBAFunctions.h +++ b/src/api/burn/balutil/inc/BalBaseBAFunctions.h | |||
@@ -869,6 +869,14 @@ public: // IBootstrapperApplication | |||
869 | return S_OK; | 869 | return S_OK; |
870 | } | 870 | } |
871 | 871 | ||
872 | virtual STDMETHODIMP OnApplyDowngrade( | ||
873 | __in HRESULT /*hrRecommended*/, | ||
874 | __in HRESULT* /*phrStatus*/ | ||
875 | ) | ||
876 | { | ||
877 | return S_OK; | ||
878 | } | ||
879 | |||
872 | public: // IBAFunctions | 880 | public: // IBAFunctions |
873 | virtual STDMETHODIMP OnPlan( | 881 | virtual STDMETHODIMP OnPlan( |
874 | ) | 882 | ) |
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h b/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h index ede00f28..100e5c30 100644 --- a/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h +++ b/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h | |||
@@ -161,6 +161,7 @@ static HRESULT WINAPI BalBaseBAFunctionsProc( | |||
161 | case BA_FUNCTIONS_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE: | 161 | case BA_FUNCTIONS_MESSAGE_ONPLANNEDCOMPATIBLEPACKAGE: |
162 | case BA_FUNCTIONS_MESSAGE_ONPLANRESTORERELATEDBUNDLE: | 162 | case BA_FUNCTIONS_MESSAGE_ONPLANRESTORERELATEDBUNDLE: |
163 | case BA_FUNCTIONS_MESSAGE_ONPLANRELATEDBUNDLETYPE: | 163 | case BA_FUNCTIONS_MESSAGE_ONPLANRELATEDBUNDLETYPE: |
164 | case BA_FUNCTIONS_MESSAGE_ONAPPLYDOWNGRADE: | ||
164 | hr = BalBaseBootstrapperApplicationProc((BOOTSTRAPPER_APPLICATION_MESSAGE)message, pvArgs, pvResults, pvContext); | 165 | hr = BalBaseBootstrapperApplicationProc((BOOTSTRAPPER_APPLICATION_MESSAGE)message, pvArgs, pvResults, pvContext); |
165 | break; | 166 | break; |
166 | case BA_FUNCTIONS_MESSAGE_ONTHEMELOADED: | 167 | case BA_FUNCTIONS_MESSAGE_ONTHEMELOADED: |
diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h index 49f4b7ca..fd06a83f 100644 --- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h +++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h | |||
@@ -1069,6 +1069,14 @@ public: // IBootstrapperApplication | |||
1069 | return S_OK; | 1069 | return S_OK; |
1070 | } | 1070 | } |
1071 | 1071 | ||
1072 | virtual STDMETHODIMP OnApplyDowngrade( | ||
1073 | __in HRESULT /*hrRecommended*/, | ||
1074 | __in HRESULT* /*phrStatus*/ | ||
1075 | ) | ||
1076 | { | ||
1077 | return S_OK; | ||
1078 | } | ||
1079 | |||
1072 | public: //CBalBaseBootstrapperApplication | 1080 | public: //CBalBaseBootstrapperApplication |
1073 | virtual STDMETHODIMP Initialize( | 1081 | virtual STDMETHODIMP Initialize( |
1074 | __in const BOOTSTRAPPER_CREATE_ARGS* pCreateArgs | 1082 | __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 698349f7..4e413e4e 100644 --- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h +++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h | |||
@@ -738,6 +738,15 @@ static HRESULT BalBaseBAProcOnPlanRelatedBundleType( | |||
738 | return pBA->OnPlanRelatedBundleType(pArgs->wzBundleId, pArgs->recommendedType, &pResults->requestedType, &pResults->fCancel); | 738 | return pBA->OnPlanRelatedBundleType(pArgs->wzBundleId, pArgs->recommendedType, &pResults->requestedType, &pResults->fCancel); |
739 | } | 739 | } |
740 | 740 | ||
741 | static HRESULT BalBaseBAProcOnApplyDowngrade( | ||
742 | __in IBootstrapperApplication* pBA, | ||
743 | __in BA_ONAPPLYDOWNGRADE_ARGS* pArgs, | ||
744 | __inout BA_ONAPPLYDOWNGRADE_RESULTS* pResults | ||
745 | ) | ||
746 | { | ||
747 | return pBA->OnApplyDowngrade(pArgs->hrRecommended, &pResults->hrStatus); | ||
748 | } | ||
749 | |||
741 | /******************************************************************* | 750 | /******************************************************************* |
742 | BalBaseBootstrapperApplicationProc - requires pvContext to be of type IBootstrapperApplication. | 751 | BalBaseBootstrapperApplicationProc - requires pvContext to be of type IBootstrapperApplication. |
743 | Provides a default mapping between the new message based BA interface and | 752 | Provides a default mapping between the new message based BA interface and |
@@ -1000,6 +1009,9 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc( | |||
1000 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLETYPE: | 1009 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLETYPE: |
1001 | hr = BalBaseBAProcOnPlanRelatedBundleType(pBA, reinterpret_cast<BA_ONPLANRELATEDBUNDLETYPE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANRELATEDBUNDLETYPE_RESULTS*>(pvResults)); | 1010 | hr = BalBaseBAProcOnPlanRelatedBundleType(pBA, reinterpret_cast<BA_ONPLANRELATEDBUNDLETYPE_ARGS*>(pvArgs), reinterpret_cast<BA_ONPLANRELATEDBUNDLETYPE_RESULTS*>(pvResults)); |
1002 | break; | 1011 | break; |
1012 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYDOWNGRADE: | ||
1013 | hr = BalBaseBAProcOnApplyDowngrade(pBA, reinterpret_cast<BA_ONAPPLYDOWNGRADE_ARGS*>(pvArgs), reinterpret_cast<BA_ONAPPLYDOWNGRADE_RESULTS*>(pvResults)); | ||
1014 | break; | ||
1003 | } | 1015 | } |
1004 | } | 1016 | } |
1005 | 1017 | ||
diff --git a/src/api/burn/balutil/inc/IBootstrapperApplication.h b/src/api/burn/balutil/inc/IBootstrapperApplication.h index 462df0cc..c9cf3126 100644 --- a/src/api/burn/balutil/inc/IBootstrapperApplication.h +++ b/src/api/burn/balutil/inc/IBootstrapperApplication.h | |||
@@ -707,4 +707,11 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A | |||
707 | __inout BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE* pRequestedType, | 707 | __inout BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE* pRequestedType, |
708 | __inout BOOL* pfCancel | 708 | __inout BOOL* pfCancel |
709 | ) = 0; | 709 | ) = 0; |
710 | |||
711 | // OnApplyDowngrade - called when the plan determined that nothing should happen to prevent downgrading. | ||
712 | // | ||
713 | STDMETHOD(OnApplyDowngrade)( | ||
714 | __in HRESULT hrRecommended, | ||
715 | __inout HRESULT* phrStatus | ||
716 | ) = 0; | ||
710 | }; | 717 | }; |