diff options
Diffstat (limited to 'src/engine/userexperience.cpp')
| -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, |
