aboutsummaryrefslogtreecommitdiff
path: root/src/engine/userexperience.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/userexperience.cpp')
-rw-r--r--src/engine/userexperience.cpp87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/engine/userexperience.cpp b/src/engine/userexperience.cpp
index 02c67fc5..279a00b5 100644
--- a/src/engine/userexperience.cpp
+++ b/src/engine/userexperience.cpp
@@ -758,6 +758,93 @@ LExit:
758 return hr; 758 return hr;
759} 759}
760 760
761EXTERN_C BAAPI UserExperienceOnCachePayloadExtractBegin(
762 __in BURN_USER_EXPERIENCE* pUserExperience,
763 __in_z_opt LPCWSTR wzContainerId,
764 __in_z_opt LPCWSTR wzPayloadId
765 )
766{
767 HRESULT hr = S_OK;
768 BA_ONCACHEPAYLOADEXTRACTBEGIN_ARGS args = { };
769 BA_ONCACHEPAYLOADEXTRACTBEGIN_RESULTS results = { };
770
771 args.cbSize = sizeof(args);
772 args.wzContainerId = wzContainerId;
773 args.wzPayloadId = wzPayloadId;
774
775 results.cbSize = sizeof(results);
776
777 hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTBEGIN, &args, &results);
778 ExitOnFailure(hr, "BA OnCachePayloadExtractBegin failed.");
779
780 if (results.fCancel)
781 {
782 hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT);
783 }
784
785LExit:
786 return hr;
787}
788
789EXTERN_C BAAPI UserExperienceOnCachePayloadExtractComplete(
790 __in BURN_USER_EXPERIENCE* pUserExperience,
791 __in_z_opt LPCWSTR wzContainerId,
792 __in_z_opt LPCWSTR wzPayloadId,
793 __in HRESULT hrStatus
794 )
795{
796 HRESULT hr = S_OK;
797 BA_ONCACHEPAYLOADEXTRACTCOMPLETE_ARGS args = { };
798 BA_ONCACHEPAYLOADEXTRACTCOMPLETE_RESULTS results = { };
799
800 args.cbSize = sizeof(args);
801 args.wzContainerId = wzContainerId;
802 args.wzPayloadId = wzPayloadId;
803 args.hrStatus = hrStatus;
804
805 results.cbSize = sizeof(results);
806
807 hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE, &args, &results);
808 ExitOnFailure(hr, "BA OnCachePayloadExtractComplete failed.");
809
810LExit:
811 return hr;
812}
813
814EXTERN_C BAAPI UserExperienceOnCachePayloadExtractProgress(
815 __in BURN_USER_EXPERIENCE* pUserExperience,
816 __in_z_opt LPCWSTR wzContainerId,
817 __in_z_opt LPCWSTR wzPayloadId,
818 __in DWORD64 dw64Progress,
819 __in DWORD64 dw64Total,
820 __in DWORD dwOverallPercentage
821 )
822{
823 HRESULT hr = S_OK;
824 BA_ONCACHEPAYLOADEXTRACTPROGRESS_ARGS args = { };
825 BA_ONCACHEPAYLOADEXTRACTPROGRESS_RESULTS results = { };
826
827 args.cbSize = sizeof(args);
828 args.wzContainerId = wzContainerId;
829 args.wzPayloadId = wzPayloadId;
830 args.dw64Progress = dw64Progress;
831 args.dw64Total = dw64Total;
832 args.dwOverallPercentage = dwOverallPercentage;
833
834 results.cbSize = sizeof(results);
835
836 hr = SendBAMessage(pUserExperience, BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS, &args, &results);
837 ExitOnFailure(hr, "BA OnCachePayloadExtractProgress failed.");
838
839 if (results.fCancel)
840 {
841 hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT);
842 }
843
844LExit:
845 return hr;
846}
847
761EXTERN_C BAAPI UserExperienceOnCacheVerifyBegin( 848EXTERN_C BAAPI UserExperienceOnCacheVerifyBegin(
762 __in BURN_USER_EXPERIENCE* pUserExperience, 849 __in BURN_USER_EXPERIENCE* pUserExperience,
763 __in_z_opt LPCWSTR wzPackageOrContainerId, 850 __in_z_opt LPCWSTR wzPackageOrContainerId,