diff options
Diffstat (limited to '')
-rw-r--r-- | src/engine/userexperience.cpp | 87 |
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 | ||
761 | EXTERN_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 | |||
785 | LExit: | ||
786 | return hr; | ||
787 | } | ||
788 | |||
789 | EXTERN_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 | |||
810 | LExit: | ||
811 | return hr; | ||
812 | } | ||
813 | |||
814 | EXTERN_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 | |||
844 | LExit: | ||
845 | return hr; | ||
846 | } | ||
847 | |||
761 | EXTERN_C BAAPI UserExperienceOnCacheVerifyBegin( | 848 | EXTERN_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, |