diff options
Diffstat (limited to 'src/burn/engine/userexperience.cpp')
-rw-r--r-- | src/burn/engine/userexperience.cpp | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/src/burn/engine/userexperience.cpp b/src/burn/engine/userexperience.cpp index 87ef4de1..a97234ef 100644 --- a/src/burn/engine/userexperience.cpp +++ b/src/burn/engine/userexperience.cpp | |||
@@ -104,7 +104,7 @@ extern "C" HRESULT UserExperienceLoad( | |||
104 | args.pCommand = pCommand; | 104 | args.pCommand = pCommand; |
105 | args.pfnBootstrapperEngineProc = EngineForApplicationProc; | 105 | args.pfnBootstrapperEngineProc = EngineForApplicationProc; |
106 | args.pvBootstrapperEngineProcContext = pEngineContext; | 106 | args.pvBootstrapperEngineProcContext = pEngineContext; |
107 | args.qwEngineAPIVersion = MAKEQWORDVERSION(2022, 3, 31, 0); | 107 | args.qwEngineAPIVersion = MAKEQWORDVERSION(2022, 6, 10, 0); |
108 | 108 | ||
109 | results.cbSize = sizeof(BOOTSTRAPPER_CREATE_RESULTS); | 109 | results.cbSize = sizeof(BOOTSTRAPPER_CREATE_RESULTS); |
110 | 110 | ||
@@ -726,7 +726,8 @@ EXTERN_C BAAPI UserExperienceOnCachePackageBegin( | |||
726 | __in BURN_USER_EXPERIENCE* pUserExperience, | 726 | __in BURN_USER_EXPERIENCE* pUserExperience, |
727 | __in_z LPCWSTR wzPackageId, | 727 | __in_z LPCWSTR wzPackageId, |
728 | __in DWORD cCachePayloads, | 728 | __in DWORD cCachePayloads, |
729 | __in DWORD64 dw64PackageCacheSize | 729 | __in DWORD64 dw64PackageCacheSize, |
730 | __in BOOL fVital | ||
730 | ) | 731 | ) |
731 | { | 732 | { |
732 | HRESULT hr = S_OK; | 733 | HRESULT hr = S_OK; |
@@ -737,6 +738,7 @@ EXTERN_C BAAPI UserExperienceOnCachePackageBegin( | |||
737 | args.wzPackageId = wzPackageId; | 738 | args.wzPackageId = wzPackageId; |
738 | args.cCachePayloads = cCachePayloads; | 739 | args.cCachePayloads = cCachePayloads; |
739 | args.dw64PackageCacheSize = dw64PackageCacheSize; | 740 | args.dw64PackageCacheSize = dw64PackageCacheSize; |
741 | args.fVital = fVital; | ||
740 | 742 | ||
741 | results.cbSize = sizeof(results); | 743 | results.cbSize = sizeof(results); |
742 | 744 | ||
@@ -783,6 +785,40 @@ LExit: | |||
783 | return hr; | 785 | return hr; |
784 | } | 786 | } |
785 | 787 | ||
788 | EXTERN_C BAAPI UserExperienceOnCachePackageNonVitalValidationFailure( | ||
789 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
790 | __in_z LPCWSTR wzPackageId, | ||
791 | __in HRESULT hrStatus, | ||
792 | __inout BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION* pAction | ||
793 | ) | ||
794 | { | ||
795 | HRESULT hr = S_OK; | ||
796 | BA_ONCACHEPACKAGENONVITALVALIDATIONFAILURE_ARGS args = { }; | ||
797 | BA_ONCACHEPACKAGENONVITALVALIDATIONFAILURE_RESULTS results = { }; | ||
798 | |||
799 | args.cbSize = sizeof(args); | ||
800 | args.wzPackageId = wzPackageId; | ||
801 | args.hrStatus = hrStatus; | ||
802 | args.recommendation = *pAction; | ||
803 | |||
804 | results.cbSize = sizeof(results); | ||
805 | results.action = *pAction; | ||
806 | |||
807 | hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPACKAGENONVITALVALIDATIONFAILURE, &args, &results); | ||
808 | ExitOnFailure(hr, "BA OnCachePackageNonVitalValidationFailure failed."); | ||
809 | |||
810 | switch (results.action) | ||
811 | { | ||
812 | case BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION_NONE: __fallthrough; | ||
813 | case BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION_ACQUIRE: | ||
814 | *pAction = results.action; | ||
815 | break; | ||
816 | } | ||
817 | |||
818 | LExit: | ||
819 | return hr; | ||
820 | } | ||
821 | |||
786 | EXTERN_C BAAPI UserExperienceOnCachePayloadExtractBegin( | 822 | EXTERN_C BAAPI UserExperienceOnCachePayloadExtractBegin( |
787 | __in BURN_USER_EXPERIENCE* pUserExperience, | 823 | __in BURN_USER_EXPERIENCE* pUserExperience, |
788 | __in_z_opt LPCWSTR wzContainerId, | 824 | __in_z_opt LPCWSTR wzContainerId, |