From 022beff26b46c7808eefacfebccfc1fcb5aa5256 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Mon, 22 Feb 2021 20:25:55 -0600 Subject: Integrate patch related changes in Burn headers. --- src/balutil/balutil.vcxproj | 8 ++--- src/balutil/inc/BAFunctions.h | 5 +-- src/balutil/inc/BalBaseBAFunctions.h | 16 ++++++--- src/balutil/inc/BalBaseBAFunctionsProc.h | 5 +-- src/balutil/inc/BalBaseBootstrapperApplication.h | 16 ++++++--- .../inc/BalBaseBootstrapperApplicationProc.h | 40 ++++++++++++++-------- src/balutil/inc/IBootstrapperApplication.h | 29 ++++++++++------ src/balutil/packages.config | 4 +-- 8 files changed, 80 insertions(+), 43 deletions(-) (limited to 'src/balutil') diff --git a/src/balutil/balutil.vcxproj b/src/balutil/balutil.vcxproj index 702a25c0..578586e8 100644 --- a/src/balutil/balutil.vcxproj +++ b/src/balutil/balutil.vcxproj @@ -2,8 +2,8 @@ - - + + @@ -98,8 +98,8 @@ This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - + + diff --git a/src/balutil/inc/BAFunctions.h b/src/balutil/inc/BAFunctions.h index eb6d96d8..6d36ad8c 100644 --- a/src/balutil/inc/BAFunctions.h +++ b/src/balutil/inc/BAFunctions.h @@ -23,12 +23,12 @@ enum BA_FUNCTIONS_MESSAGE BA_FUNCTIONS_MESSAGE_ONDETECTRELATEDBUNDLE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDBUNDLE, BA_FUNCTIONS_MESSAGE_ONDETECTPACKAGEBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGEBEGIN, BA_FUNCTIONS_MESSAGE_ONDETECTRELATEDMSIPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDMSIPACKAGE, - BA_FUNCTIONS_MESSAGE_ONDETECTTARGETMSIPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTTARGETMSIPACKAGE, + BA_FUNCTIONS_MESSAGE_ONDETECTPATCHTARGET = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPATCHTARGET, BA_FUNCTIONS_MESSAGE_ONDETECTMSIFEATURE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTMSIFEATURE, BA_FUNCTIONS_MESSAGE_ONDETECTPACKAGECOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGECOMPLETE, BA_FUNCTIONS_MESSAGE_ONPLANRELATEDBUNDLE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLE, BA_FUNCTIONS_MESSAGE_ONPLANPACKAGEBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGEBEGIN, - BA_FUNCTIONS_MESSAGE_ONPLANTARGETMSIPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANTARGETMSIPACKAGE, + BA_FUNCTIONS_MESSAGE_ONPLANPATCHTARGET = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPATCHTARGET, BA_FUNCTIONS_MESSAGE_ONPLANMSIFEATURE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANMSIFEATURE, BA_FUNCTIONS_MESSAGE_ONPLANPACKAGECOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGECOMPLETE, BA_FUNCTIONS_MESSAGE_ONAPPLYBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYBEGIN, @@ -72,6 +72,7 @@ enum BA_FUNCTIONS_MESSAGE BA_FUNCTIONS_MESSAGE_ONPAUSEAUTOMATICUPDATESCOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPAUSEAUTOMATICUPDATESCOMPLETE, BA_FUNCTIONS_MESSAGE_ONSYSTEMRESTOREPOINTBEGIN = BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMRESTOREPOINTBEGIN, BA_FUNCTIONS_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE, + BA_FUNCTIONS_MESSAGE_ONPLANNEDPACKAGE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDPACKAGE, BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024, BA_FUNCTIONS_MESSAGE_WNDPROC, diff --git a/src/balutil/inc/BalBaseBAFunctions.h b/src/balutil/inc/BalBaseBAFunctions.h index 10334a18..7699b8ff 100644 --- a/src/balutil/inc/BalBaseBAFunctions.h +++ b/src/balutil/inc/BalBaseBAFunctions.h @@ -177,7 +177,7 @@ public: // IBootstrapperApplication return S_OK; } - virtual STDMETHODIMP OnDetectTargetMsiPackage( + virtual STDMETHODIMP OnDetectPatchTarget( __in_z LPCWSTR /*wzPackageId*/, __in_z LPCWSTR /*wzProductCode*/, __in BOOTSTRAPPER_PACKAGE_STATE /*patchState*/, @@ -234,6 +234,8 @@ public: // IBootstrapperApplication virtual STDMETHODIMP OnPlanPackageBegin( __in_z LPCWSTR /*wzPackageId*/, + __in BOOTSTRAPPER_PACKAGE_STATE /*state*/, + __in BOOL /*fInstallCondition*/, __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestState*/, __inout BOOL* /*pfCancel*/ @@ -242,7 +244,7 @@ public: // IBootstrapperApplication return S_OK; } - virtual STDMETHODIMP OnPlanTargetMsiPackage( + virtual STDMETHODIMP OnPlanPatchTarget( __in_z LPCWSTR /*wzPackageId*/, __in_z LPCWSTR /*wzProductCode*/, __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, @@ -280,8 +282,14 @@ public: // IBootstrapperApplication virtual STDMETHODIMP OnPlanPackageComplete( __in_z LPCWSTR /*wzPackageId*/, __in HRESULT /*hrStatus*/, - __in BOOTSTRAPPER_PACKAGE_STATE /*state*/, - __in BOOTSTRAPPER_REQUEST_STATE /*requested*/, + __in BOOTSTRAPPER_REQUEST_STATE /*requested*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlannedPackage( + __in_z LPCWSTR /*wzPackageId*/, __in BOOTSTRAPPER_ACTION_STATE /*execute*/, __in BOOTSTRAPPER_ACTION_STATE /*rollback*/ ) diff --git a/src/balutil/inc/BalBaseBAFunctionsProc.h b/src/balutil/inc/BalBaseBAFunctionsProc.h index 4f0906d2..1b11c300 100644 --- a/src/balutil/inc/BalBaseBAFunctionsProc.h +++ b/src/balutil/inc/BalBaseBAFunctionsProc.h @@ -58,12 +58,12 @@ static HRESULT WINAPI BalBaseBAFunctionsProc( case BA_FUNCTIONS_MESSAGE_ONDETECTRELATEDBUNDLE: case BA_FUNCTIONS_MESSAGE_ONDETECTPACKAGEBEGIN: case BA_FUNCTIONS_MESSAGE_ONDETECTRELATEDMSIPACKAGE: - case BA_FUNCTIONS_MESSAGE_ONDETECTTARGETMSIPACKAGE: + case BA_FUNCTIONS_MESSAGE_ONDETECTPATCHTARGET: case BA_FUNCTIONS_MESSAGE_ONDETECTMSIFEATURE: case BA_FUNCTIONS_MESSAGE_ONDETECTPACKAGECOMPLETE: case BA_FUNCTIONS_MESSAGE_ONPLANRELATEDBUNDLE: case BA_FUNCTIONS_MESSAGE_ONPLANPACKAGEBEGIN: - case BA_FUNCTIONS_MESSAGE_ONPLANTARGETMSIPACKAGE: + case BA_FUNCTIONS_MESSAGE_ONPLANPATCHTARGET: case BA_FUNCTIONS_MESSAGE_ONPLANMSIFEATURE: case BA_FUNCTIONS_MESSAGE_ONPLANPACKAGECOMPLETE: case BA_FUNCTIONS_MESSAGE_ONAPPLYBEGIN: @@ -107,6 +107,7 @@ static HRESULT WINAPI BalBaseBAFunctionsProc( case BA_FUNCTIONS_MESSAGE_ONPAUSEAUTOMATICUPDATESCOMPLETE: case BA_FUNCTIONS_MESSAGE_ONSYSTEMRESTOREPOINTBEGIN: case BA_FUNCTIONS_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE: + case BA_FUNCTIONS_MESSAGE_ONPLANNEDPACKAGE: hr = BalBaseBootstrapperApplicationProc((BOOTSTRAPPER_APPLICATION_MESSAGE)message, pvArgs, pvResults, pvContext); break; case BA_FUNCTIONS_MESSAGE_ONTHEMELOADED: diff --git a/src/balutil/inc/BalBaseBootstrapperApplication.h b/src/balutil/inc/BalBaseBootstrapperApplication.h index 1b0230de..59e57de1 100644 --- a/src/balutil/inc/BalBaseBootstrapperApplication.h +++ b/src/balutil/inc/BalBaseBootstrapperApplication.h @@ -181,7 +181,7 @@ public: // IBootstrapperApplication return S_OK; } - virtual STDMETHODIMP OnDetectTargetMsiPackage( + virtual STDMETHODIMP OnDetectPatchTarget( __in_z LPCWSTR /*wzPackageId*/, __in_z LPCWSTR /*wzProductCode*/, __in BOOTSTRAPPER_PACKAGE_STATE /*patchState*/, @@ -242,6 +242,8 @@ public: // IBootstrapperApplication virtual STDMETHODIMP OnPlanPackageBegin( __in_z LPCWSTR /*wzPackageId*/, + __in BOOTSTRAPPER_PACKAGE_STATE /*state*/, + __in BOOL /*fInstallCondition*/, __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestState*/, __inout BOOL* pfCancel @@ -251,7 +253,7 @@ public: // IBootstrapperApplication return S_OK; } - virtual STDMETHODIMP OnPlanTargetMsiPackage( + virtual STDMETHODIMP OnPlanPatchTarget( __in_z LPCWSTR /*wzPackageId*/, __in_z LPCWSTR /*wzProductCode*/, __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, @@ -292,8 +294,14 @@ public: // IBootstrapperApplication virtual STDMETHODIMP OnPlanPackageComplete( __in_z LPCWSTR /*wzPackageId*/, __in HRESULT /*hrStatus*/, - __in BOOTSTRAPPER_PACKAGE_STATE /*state*/, - __in BOOTSTRAPPER_REQUEST_STATE /*requested*/, + __in BOOTSTRAPPER_REQUEST_STATE /*requested*/ + ) + { + return S_OK; + } + + virtual STDMETHODIMP OnPlannedPackage( + __in_z LPCWSTR /*wzPackageId*/, __in BOOTSTRAPPER_ACTION_STATE /*execute*/, __in BOOTSTRAPPER_ACTION_STATE /*rollback*/ ) diff --git a/src/balutil/inc/BalBaseBootstrapperApplicationProc.h b/src/balutil/inc/BalBaseBootstrapperApplicationProc.h index e16640e5..6ce8710d 100644 --- a/src/balutil/inc/BalBaseBootstrapperApplicationProc.h +++ b/src/balutil/inc/BalBaseBootstrapperApplicationProc.h @@ -135,13 +135,13 @@ static HRESULT BalBaseBAProcOnDetectRelatedMsiPackage( return pBA->OnDetectRelatedMsiPackage(pArgs->wzPackageId, pArgs->wzUpgradeCode, pArgs->wzProductCode, pArgs->fPerMachine, pArgs->wzVersion, pArgs->operation, &pResults->fCancel); } -static HRESULT BalBaseBAProcOnDetectTargetMsiPackage( +static HRESULT BalBaseBAProcOnDetectPatchTarget( __in IBootstrapperApplication* pBA, - __in BA_ONDETECTTARGETMSIPACKAGE_ARGS* pArgs, - __inout BA_ONDETECTTARGETMSIPACKAGE_RESULTS* pResults + __in BA_ONDETECTPATCHTARGET_ARGS* pArgs, + __inout BA_ONDETECTPATCHTARGET_RESULTS* pResults ) { - return pBA->OnDetectTargetMsiPackage(pArgs->wzPackageId, pArgs->wzProductCode, pArgs->patchState, &pResults->fCancel); + return pBA->OnDetectPatchTarget(pArgs->wzPackageId, pArgs->wzProductCode, pArgs->patchState, &pResults->fCancel); } static HRESULT BalBaseBAProcOnDetectMsiFeature( @@ -177,16 +177,16 @@ static HRESULT BalBaseBAProcOnPlanPackageBegin( __inout BA_ONPLANPACKAGEBEGIN_RESULTS* pResults ) { - return pBA->OnPlanPackageBegin(pArgs->wzPackageId, pArgs->recommendedState, &pResults->requestedState, &pResults->fCancel); + return pBA->OnPlanPackageBegin(pArgs->wzPackageId, pArgs->state, pArgs->fInstallCondition, pArgs->recommendedState, &pResults->requestedState, &pResults->fCancel); } -static HRESULT BalBaseBAProcOnPlanTargetMsiPackage( +static HRESULT BalBaseBAProcOnPlanPatchTarget( __in IBootstrapperApplication* pBA, - __in BA_ONPLANTARGETMSIPACKAGE_ARGS* pArgs, - __inout BA_ONPLANTARGETMSIPACKAGE_RESULTS* pResults + __in BA_ONPLANPATCHTARGET_ARGS* pArgs, + __inout BA_ONPLANPATCHTARGET_RESULTS* pResults ) { - return pBA->OnPlanTargetMsiPackage(pArgs->wzPackageId, pArgs->wzProductCode, pArgs->recommendedState, &pResults->requestedState, &pResults->fCancel); + return pBA->OnPlanPatchTarget(pArgs->wzPackageId, pArgs->wzProductCode, pArgs->recommendedState, &pResults->requestedState, &pResults->fCancel); } static HRESULT BalBaseBAProcOnPlanMsiFeature( @@ -204,7 +204,16 @@ static HRESULT BalBaseBAProcOnPlanPackageComplete( __inout BA_ONPLANPACKAGECOMPLETE_RESULTS* /*pResults*/ ) { - return pBA->OnPlanPackageComplete(pArgs->wzPackageId, pArgs->hrStatus, pArgs->state, pArgs->requested, pArgs->execute, pArgs->rollback); + return pBA->OnPlanPackageComplete(pArgs->wzPackageId, pArgs->hrStatus, pArgs->requested); +} + +static HRESULT BalBaseBAProcOnPlannedPackage( + __in IBootstrapperApplication* pBA, + __in BA_ONPLANNEDPACKAGE_ARGS* pArgs, + __inout BA_ONPLANNEDPACKAGE_RESULTS* /*pResults*/ + ) +{ + return pBA->OnPlannedPackage(pArgs->wzPackageId, pArgs->execute, pArgs->rollback); } static HRESULT BalBaseBAProcOnApplyBegin( @@ -638,8 +647,8 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc( case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDMSIPACKAGE: hr = BalBaseBAProcOnDetectRelatedMsiPackage(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); break; - case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTTARGETMSIPACKAGE: - hr = BalBaseBAProcOnDetectTargetMsiPackage(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPATCHTARGET: + hr = BalBaseBAProcOnDetectPatchTarget(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); break; case BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTMSIFEATURE: hr = BalBaseBAProcOnDetectMsiFeature(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); @@ -653,8 +662,8 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc( case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGEBEGIN: hr = BalBaseBAProcOnPlanPackageBegin(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); break; - case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANTARGETMSIPACKAGE: - hr = BalBaseBAProcOnPlanTargetMsiPackage(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPATCHTARGET: + hr = BalBaseBAProcOnPlanPatchTarget(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); break; case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANMSIFEATURE: hr = BalBaseBAProcOnPlanMsiFeature(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); @@ -784,6 +793,9 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc( case BOOTSTRAPPER_APPLICATION_MESSAGE_ONSYSTEMRESTOREPOINTCOMPLETE: hr = BalBaseBAProcOnSystemRestorePointComplete(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); break; + case BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANNEDPACKAGE: + hr = BalBaseBAProcOnPlannedPackage(pBA, reinterpret_cast(pvArgs), reinterpret_cast(pvResults)); + break; } } diff --git a/src/balutil/inc/IBootstrapperApplication.h b/src/balutil/inc/IBootstrapperApplication.h index 4569cdab..7d710b26 100644 --- a/src/balutil/inc/IBootstrapperApplication.h +++ b/src/balutil/inc/IBootstrapperApplication.h @@ -91,9 +91,9 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A __inout BOOL* pfCancel ) = 0; - // OnDetectTargetMsiPackage - called when the engine detects a target MSI package for - // an MSP package. - STDMETHOD(OnDetectTargetMsiPackage)( + // OnDetectPatchTarget - called when the engine detects a target product + // for an MSP package. + STDMETHOD(OnDetectPatchTarget)( __in_z LPCWSTR wzPackageId, __in_z LPCWSTR wzProductCode, __in BOOTSTRAPPER_PACKAGE_STATE patchState, @@ -137,17 +137,20 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A __inout BOOL* pfCancel ) = 0; - // OnPlanPackageBegin - called when the engine begins planning a package. + // OnPlanPackageBegin - called when the engine has begun getting the BA's input + // for planning a package. STDMETHOD(OnPlanPackageBegin)( __in_z LPCWSTR wzPackageId, + __in BOOTSTRAPPER_PACKAGE_STATE state, + __in BOOL fInstallCondition, __in BOOTSTRAPPER_REQUEST_STATE recommendedState, __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState, __inout BOOL* pfCancel ) = 0; - // OnPlanTargetMsiPackage - called when the engine plans an MSP package - // to apply to an MSI package. - STDMETHOD(OnPlanTargetMsiPackage)( + // OnPlanPatchTarget - called when the engine is about to plan a target + // of an MSP package. + STDMETHOD(OnPlanPatchTarget)( __in_z LPCWSTR wzPackageId, __in_z LPCWSTR wzProductCode, __in BOOTSTRAPPER_REQUEST_STATE recommendedState, @@ -177,13 +180,17 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A __inout BOOL* pfDisableExternalUiHandler ) = 0; - // OnPlanPackageComplete - called after the engine plans a package. - // + // OnPlanPackageComplete - called after the engine has completed getting the BA's input + // for planning a package. STDMETHOD(OnPlanPackageComplete)( __in_z LPCWSTR wzPackageId, __in HRESULT hrStatus, - __in BOOTSTRAPPER_PACKAGE_STATE state, - __in BOOTSTRAPPER_REQUEST_STATE requested, + __in BOOTSTRAPPER_REQUEST_STATE requested + ) = 0; + + // OnPlannedPackage - called after the engine has completed planning a package. + STDMETHOD(OnPlannedPackage)( + __in_z LPCWSTR wzPackageId, __in BOOTSTRAPPER_ACTION_STATE execute, __in BOOTSTRAPPER_ACTION_STATE rollback ) = 0; diff --git a/src/balutil/packages.config b/src/balutil/packages.config index 9a928742..68970a7e 100644 --- a/src/balutil/packages.config +++ b/src/balutil/packages.config @@ -1,6 +1,6 @@  - - + + \ No newline at end of file -- cgit v1.2.3-55-g6feb