aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/elevation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/burn/engine/elevation.cpp')
-rw-r--r--src/burn/engine/elevation.cpp92
1 files changed, 46 insertions, 46 deletions
diff --git a/src/burn/engine/elevation.cpp b/src/burn/engine/elevation.cpp
index f357a8fc..924d2184 100644
--- a/src/burn/engine/elevation.cpp
+++ b/src/burn/engine/elevation.cpp
@@ -420,7 +420,7 @@ extern "C" HRESULT ElevationElevate(
420 HRESULT hr = S_OK; 420 HRESULT hr = S_OK;
421 int nResult = IDOK; 421 int nResult = IDOK;
422 422
423 hr = UserExperienceOnElevateBegin(&pEngineState->userExperience); 423 hr = BACallbackOnElevateBegin(&pEngineState->userExperience);
424 ExitOnRootFailure(hr, "BA aborted elevation requirement."); 424 ExitOnRootFailure(hr, "BA aborted elevation requirement.");
425 425
426 hr = BurnPipeCreateNameAndSecret(&pEngineState->companionConnection.sczName, &pEngineState->companionConnection.sczSecret); 426 hr = BurnPipeCreateNameAndSecret(&pEngineState->companionConnection.sczName, &pEngineState->companionConnection.sczSecret);
@@ -458,7 +458,7 @@ extern "C" HRESULT ElevationElevate(
458 hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT); 458 hr = HRESULT_FROM_WIN32(ERROR_INSTALL_USEREXIT);
459 } 459 }
460 460
461 nResult = UserExperienceSendError(&pEngineState->userExperience, BOOTSTRAPPER_ERROR_TYPE_ELEVATE, NULL, hr, NULL, MB_ICONERROR | MB_RETRYCANCEL, IDNOACTION); 461 nResult = BootstrapperApplicationSendError(&pEngineState->userExperience, BOOTSTRAPPER_ERROR_TYPE_ELEVATE, NULL, hr, NULL, MB_ICONERROR | MB_RETRYCANCEL, IDNOACTION);
462 } 462 }
463 } while (IDRETRY == nResult); 463 } while (IDRETRY == nResult);
464 ExitOnFailure(hr, "Failed to elevate."); 464 ExitOnFailure(hr, "Failed to elevate.");
@@ -469,7 +469,7 @@ LExit:
469 BurnPipeConnectionUninitialize(&pEngineState->companionConnection); 469 BurnPipeConnectionUninitialize(&pEngineState->companionConnection);
470 } 470 }
471 471
472 UserExperienceOnElevateComplete(&pEngineState->userExperience, hr); 472 BACallbackOnElevateComplete(&pEngineState->userExperience, hr);
473 473
474 return hr; 474 return hr;
475} 475}
@@ -511,15 +511,15 @@ extern "C" HRESULT ElevationApplyInitialize(
511 // Best effort to keep the sequence of BA events sane. 511 // Best effort to keep the sequence of BA events sane.
512 if (context.fPauseCompleteNeeded) 512 if (context.fPauseCompleteNeeded)
513 { 513 {
514 UserExperienceOnPauseAUComplete(pBA, hr); 514 BACallbackOnPauseAUComplete(pBA, hr);
515 } 515 }
516 if (context.fSrpCompleteNeeded) 516 if (context.fSrpCompleteNeeded)
517 { 517 {
518 UserExperienceOnSystemRestorePointComplete(pBA, hr); 518 BACallbackOnSystemRestorePointComplete(pBA, hr);
519 } 519 }
520 520
521LExit: 521LExit:
522 ReleaseBuffer(pbData); 522 ReleaseMem(pbData);
523 523
524 return hr; 524 return hr;
525} 525}
@@ -540,7 +540,7 @@ extern "C" HRESULT ElevationApplyUninitialize(
540 hr = (HRESULT)dwResult; 540 hr = (HRESULT)dwResult;
541 541
542LExit: 542LExit:
543 ReleaseBuffer(pbData); 543 ReleaseMem(pbData);
544 544
545 return hr; 545 return hr;
546} 546}
@@ -598,7 +598,7 @@ extern "C" HRESULT ElevationSessionBegin(
598 hr = (HRESULT)dwResult; 598 hr = (HRESULT)dwResult;
599 599
600LExit: 600LExit:
601 ReleaseBuffer(pbData); 601 ReleaseMem(pbData);
602 602
603 return hr; 603 return hr;
604} 604}
@@ -644,7 +644,7 @@ extern "C" HRESULT ElevationSessionEnd(
644 hr = (HRESULT)dwResult; 644 hr = (HRESULT)dwResult;
645 645
646LExit: 646LExit:
647 ReleaseBuffer(pbData); 647 ReleaseMem(pbData);
648 648
649 return hr; 649 return hr;
650} 650}
@@ -693,7 +693,7 @@ extern "C" HRESULT ElevationCachePreparePackage(
693 hr = (HRESULT)dwResult; 693 hr = (HRESULT)dwResult;
694 694
695LExit: 695LExit:
696 ReleaseBuffer(pbData); 696 ReleaseMem(pbData);
697 697
698 return hr; 698 return hr;
699} 699}
@@ -743,7 +743,7 @@ extern "C" HRESULT ElevationCacheCompletePayload(
743 hr = (HRESULT)dwResult; 743 hr = (HRESULT)dwResult;
744 744
745LExit: 745LExit:
746 ReleaseBuffer(pbData); 746 ReleaseMem(pbData);
747 747
748 return hr; 748 return hr;
749} 749}
@@ -781,7 +781,7 @@ extern "C" HRESULT ElevationCacheVerifyPayload(
781 hr = (HRESULT)dwResult; 781 hr = (HRESULT)dwResult;
782 782
783LExit: 783LExit:
784 ReleaseBuffer(pbData); 784 ReleaseMem(pbData);
785 785
786 return hr; 786 return hr;
787} 787}
@@ -834,7 +834,7 @@ extern "C" HRESULT ElevationProcessDependentRegistration(
834 hr = (HRESULT)dwResult; 834 hr = (HRESULT)dwResult;
835 835
836LExit: 836LExit:
837 ReleaseBuffer(pbData); 837 ReleaseMem(pbData);
838 838
839 return hr; 839 return hr;
840} 840}
@@ -895,7 +895,7 @@ extern "C" HRESULT ElevationExecuteRelatedBundle(
895 *pRestart = context.restart; 895 *pRestart = context.restart;
896 896
897LExit: 897LExit:
898 ReleaseBuffer(pbData); 898 ReleaseMem(pbData);
899 899
900 return hr; 900 return hr;
901} 901}
@@ -959,7 +959,7 @@ extern "C" HRESULT ElevationExecuteBundlePackage(
959 *pRestart = context.restart; 959 *pRestart = context.restart;
960 960
961LExit: 961LExit:
962 ReleaseBuffer(pbData); 962 ReleaseMem(pbData);
963 963
964 return hr; 964 return hr;
965} 965}
@@ -1014,7 +1014,7 @@ extern "C" HRESULT ElevationExecuteExePackage(
1014 *pRestart = context.restart; 1014 *pRestart = context.restart;
1015 1015
1016LExit: 1016LExit:
1017 ReleaseBuffer(pbData); 1017 ReleaseMem(pbData);
1018 1018
1019 return hr; 1019 return hr;
1020} 1020}
@@ -1042,7 +1042,7 @@ extern "C" HRESULT ElevationMsiBeginTransaction(
1042 hr = static_cast<HRESULT>(dwResult); 1042 hr = static_cast<HRESULT>(dwResult);
1043 1043
1044LExit: 1044LExit:
1045 ReleaseBuffer(pbData); 1045 ReleaseMem(pbData);
1046 1046
1047 return hr; 1047 return hr;
1048} 1048}
@@ -1079,7 +1079,7 @@ extern "C" HRESULT ElevationMsiCommitTransaction(
1079 *pRestart = context.restart; 1079 *pRestart = context.restart;
1080 1080
1081LExit: 1081LExit:
1082 ReleaseBuffer(pbData); 1082 ReleaseMem(pbData);
1083 1083
1084 return hr; 1084 return hr;
1085} 1085}
@@ -1116,7 +1116,7 @@ extern "C" HRESULT ElevationMsiRollbackTransaction(
1116 *pRestart = context.restart; 1116 *pRestart = context.restart;
1117 1117
1118LExit: 1118LExit:
1119 ReleaseBuffer(pbData); 1119 ReleaseMem(pbData);
1120 1120
1121 return hr; 1121 return hr;
1122} 1122}
@@ -1203,7 +1203,7 @@ extern "C" HRESULT ElevationExecuteMsiPackage(
1203 *pRestart = context.restart; 1203 *pRestart = context.restart;
1204 1204
1205LExit: 1205LExit:
1206 ReleaseBuffer(pbData); 1206 ReleaseMem(pbData);
1207 1207
1208 return hr; 1208 return hr;
1209} 1209}
@@ -1283,7 +1283,7 @@ extern "C" HRESULT ElevationExecuteMspPackage(
1283 *pRestart = context.restart; 1283 *pRestart = context.restart;
1284 1284
1285LExit: 1285LExit:
1286 ReleaseBuffer(pbData); 1286 ReleaseMem(pbData);
1287 1287
1288 return hr; 1288 return hr;
1289} 1289}
@@ -1335,7 +1335,7 @@ extern "C" HRESULT ElevationExecuteMsuPackage(
1335 *pRestart = context.restart; 1335 *pRestart = context.restart;
1336 1336
1337LExit: 1337LExit:
1338 ReleaseBuffer(pbData); 1338 ReleaseMem(pbData);
1339 1339
1340 return hr; 1340 return hr;
1341} 1341}
@@ -1388,7 +1388,7 @@ extern "C" HRESULT ElevationUninstallMsiCompatiblePackage(
1388 *pRestart = context.restart; 1388 *pRestart = context.restart;
1389 1389
1390LExit: 1390LExit:
1391 ReleaseBuffer(pbData); 1391 ReleaseMem(pbData);
1392 1392
1393 return hr; 1393 return hr;
1394} 1394}
@@ -1425,7 +1425,7 @@ extern "C" HRESULT ElevationExecutePackageProviderAction(
1425 ExitOnFailure(hr, "Failed to send BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_PACKAGE_PROVIDER message to per-machine process."); 1425 ExitOnFailure(hr, "Failed to send BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_PACKAGE_PROVIDER message to per-machine process.");
1426 1426
1427LExit: 1427LExit:
1428 ReleaseBuffer(pbData); 1428 ReleaseMem(pbData);
1429 1429
1430 return hr; 1430 return hr;
1431} 1431}
@@ -1465,7 +1465,7 @@ extern "C" HRESULT ElevationExecutePackageDependencyAction(
1465 ExitOnFailure(hr, "Failed to send BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_PACKAGE_DEPENDENCY message to per-machine process."); 1465 ExitOnFailure(hr, "Failed to send BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_PACKAGE_DEPENDENCY message to per-machine process.");
1466 1466
1467LExit: 1467LExit:
1468 ReleaseBuffer(pbData); 1468 ReleaseMem(pbData);
1469 1469
1470 return hr; 1470 return hr;
1471} 1471}
@@ -1494,7 +1494,7 @@ extern "C" HRESULT ElevationCleanCompatiblePackage(
1494 hr = (HRESULT)dwResult; 1494 hr = (HRESULT)dwResult;
1495 1495
1496LExit: 1496LExit:
1497 ReleaseBuffer(pbData); 1497 ReleaseMem(pbData);
1498 1498
1499 return hr; 1499 return hr;
1500} 1500}
@@ -1524,7 +1524,7 @@ extern "C" HRESULT ElevationCleanPackage(
1524 hr = (HRESULT)dwResult; 1524 hr = (HRESULT)dwResult;
1525 1525
1526LExit: 1526LExit:
1527 ReleaseBuffer(pbData); 1527 ReleaseMem(pbData);
1528 1528
1529 return hr; 1529 return hr;
1530} 1530}
@@ -1559,7 +1559,7 @@ extern "C" HRESULT ElevationLaunchApprovedExe(
1559 *pdwProcessId = context.dwProcessId; 1559 *pdwProcessId = context.dwProcessId;
1560 1560
1561LExit: 1561LExit:
1562 ReleaseBuffer(pbData); 1562 ReleaseMem(pbData);
1563 1563
1564 return hr; 1564 return hr;
1565} 1565}
@@ -1756,7 +1756,7 @@ static HRESULT ProcessApplyInitializeMessages(
1756 { 1756 {
1757 case BURN_ELEVATION_MESSAGE_TYPE_APPLY_INITIALIZE_PAUSE_AU_BEGIN: 1757 case BURN_ELEVATION_MESSAGE_TYPE_APPLY_INITIALIZE_PAUSE_AU_BEGIN:
1758 pContext->fPauseCompleteNeeded = TRUE; 1758 pContext->fPauseCompleteNeeded = TRUE;
1759 hrBA = UserExperienceOnPauseAUBegin(pContext->pBA); 1759 hrBA = BACallbackOnPauseAUBegin(pContext->pBA);
1760 break; 1760 break;
1761 1761
1762 case BURN_ELEVATION_MESSAGE_TYPE_APPLY_INITIALIZE_PAUSE_AU_COMPLETE: 1762 case BURN_ELEVATION_MESSAGE_TYPE_APPLY_INITIALIZE_PAUSE_AU_COMPLETE:
@@ -1765,18 +1765,18 @@ static HRESULT ProcessApplyInitializeMessages(
1765 ExitOnFailure(hr, "Failed to read pause AU hrStatus."); 1765 ExitOnFailure(hr, "Failed to read pause AU hrStatus.");
1766 1766
1767 pContext->fPauseCompleteNeeded = FALSE; 1767 pContext->fPauseCompleteNeeded = FALSE;
1768 hrBA = UserExperienceOnPauseAUComplete(pContext->pBA, hrStatus); 1768 hrBA = BACallbackOnPauseAUComplete(pContext->pBA, hrStatus);
1769 break; 1769 break;
1770 1770
1771 case BURN_ELEVATION_MESSAGE_TYPE_APPLY_INITIALIZE_SYSTEM_RESTORE_POINT_BEGIN: 1771 case BURN_ELEVATION_MESSAGE_TYPE_APPLY_INITIALIZE_SYSTEM_RESTORE_POINT_BEGIN:
1772 if (pContext->fPauseCompleteNeeded) 1772 if (pContext->fPauseCompleteNeeded)
1773 { 1773 {
1774 pContext->fPauseCompleteNeeded = FALSE; 1774 pContext->fPauseCompleteNeeded = FALSE;
1775 hrBA = UserExperienceOnPauseAUComplete(pContext->pBA, E_INVALIDSTATE); 1775 hrBA = BACallbackOnPauseAUComplete(pContext->pBA, E_INVALIDSTATE);
1776 } 1776 }
1777 1777
1778 pContext->fSrpCompleteNeeded = TRUE; 1778 pContext->fSrpCompleteNeeded = TRUE;
1779 hrBA = UserExperienceOnSystemRestorePointBegin(pContext->pBA); 1779 hrBA = BACallbackOnSystemRestorePointBegin(pContext->pBA);
1780 break; 1780 break;
1781 1781
1782 case BURN_ELEVATION_MESSAGE_TYPE_APPLY_INITIALIZE_SYSTEM_RESTORE_POINT_COMPLETE: 1782 case BURN_ELEVATION_MESSAGE_TYPE_APPLY_INITIALIZE_SYSTEM_RESTORE_POINT_COMPLETE:
@@ -1785,7 +1785,7 @@ static HRESULT ProcessApplyInitializeMessages(
1785 ExitOnFailure(hr, "Failed to read system restore point hrStatus."); 1785 ExitOnFailure(hr, "Failed to read system restore point hrStatus.");
1786 1786
1787 pContext->fSrpCompleteNeeded = FALSE; 1787 pContext->fSrpCompleteNeeded = FALSE;
1788 hrBA = UserExperienceOnSystemRestorePointComplete(pContext->pBA, hrStatus); 1788 hrBA = BACallbackOnSystemRestorePointComplete(pContext->pBA, hrStatus);
1789 break; 1789 break;
1790 1790
1791 default: 1791 default:
@@ -1930,7 +1930,7 @@ static HRESULT ProcessGenericExecuteMessages(
1930 ExitOnFailure(hr, "Failed to read error code."); 1930 ExitOnFailure(hr, "Failed to read error code.");
1931 1931
1932 hr = BuffReadString((BYTE*)pMsg->pvData, pMsg->cbData, &iData, &sczMessage); 1932 hr = BuffReadString((BYTE*)pMsg->pvData, pMsg->cbData, &iData, &sczMessage);
1933 ExitOnFailure(hr, "Failed to read message."); 1933 ExitOnFailure(hr, "Failed to read error message.");
1934 1934
1935 message.error.wzMessage = sczMessage; 1935 message.error.wzMessage = sczMessage;
1936 break; 1936 break;
@@ -2042,7 +2042,7 @@ static HRESULT ProcessMsiPackageMessages(
2042 ExitOnFailure(hr, "Failed to read error code."); 2042 ExitOnFailure(hr, "Failed to read error code.");
2043 2043
2044 hr = BuffReadString((BYTE*)pMsg->pvData, pMsg->cbData, &iData, &sczMessage); 2044 hr = BuffReadString((BYTE*)pMsg->pvData, pMsg->cbData, &iData, &sczMessage);
2045 ExitOnFailure(hr, "Failed to read message."); 2045 ExitOnFailure(hr, "Failed to read MSI execute error message.");
2046 message.error.wzMessage = sczMessage; 2046 message.error.wzMessage = sczMessage;
2047 break; 2047 break;
2048 2048
@@ -2051,10 +2051,10 @@ static HRESULT ProcessMsiPackageMessages(
2051 message.type = WIU_MSI_EXECUTE_MESSAGE_MSI_MESSAGE; 2051 message.type = WIU_MSI_EXECUTE_MESSAGE_MSI_MESSAGE;
2052 2052
2053 hr = BuffReadNumber((BYTE*)pMsg->pvData, pMsg->cbData, &iData, (DWORD*)&message.msiMessage.mt); 2053 hr = BuffReadNumber((BYTE*)pMsg->pvData, pMsg->cbData, &iData, (DWORD*)&message.msiMessage.mt);
2054 ExitOnFailure(hr, "Failed to read message type."); 2054 ExitOnFailure(hr, "Failed to read MSI execute message type.");
2055 2055
2056 hr = BuffReadString((BYTE*)pMsg->pvData, pMsg->cbData, &iData, &sczMessage); 2056 hr = BuffReadString((BYTE*)pMsg->pvData, pMsg->cbData, &iData, &sczMessage);
2057 ExitOnFailure(hr, "Failed to read message."); 2057 ExitOnFailure(hr, "Failed to read MSI execute message.");
2058 message.msiMessage.wzMessage = sczMessage; 2058 message.msiMessage.wzMessage = sczMessage;
2059 break; 2059 break;
2060 2060
@@ -3558,7 +3558,7 @@ static HRESULT CALLBACK BurnCacheMessageHandler(
3558 hr = dwResult; 3558 hr = dwResult;
3559 3559
3560LExit: 3560LExit:
3561 ReleaseBuffer(pbData); 3561 ReleaseMem(pbData);
3562 3562
3563 return hr; 3563 return hr;
3564} 3564}
@@ -3593,7 +3593,7 @@ static DWORD CALLBACK ElevatedProgressRoutine(
3593 ExitOnFailure(hr, "Failed to send progress routine message to per-user process."); 3593 ExitOnFailure(hr, "Failed to send progress routine message to per-user process.");
3594 3594
3595LExit: 3595LExit:
3596 ReleaseBuffer(pbData); 3596 ReleaseMem(pbData);
3597 3597
3598 return dwResult; 3598 return dwResult;
3599} 3599}
@@ -3668,7 +3668,7 @@ static int GenericExecuteMessageHandler(
3668 ExitOnFailure(hr, "Failed to send message to per-user process."); 3668 ExitOnFailure(hr, "Failed to send message to per-user process.");
3669 3669
3670LExit: 3670LExit:
3671 ReleaseBuffer(pbData); 3671 ReleaseMem(pbData);
3672 3672
3673 return nResult; 3673 return nResult;
3674} 3674}
@@ -3747,7 +3747,7 @@ static int MsiExecuteMessageHandler(
3747 3747
3748 default: 3748 default:
3749 hr = E_UNEXPECTED; 3749 hr = E_UNEXPECTED;
3750 ExitOnFailure(hr, "Invalid message type: %d", pMessage->type); 3750 ExitOnFailure(hr, "Invalid MSI execute message type: %d", pMessage->type);
3751 } 3751 }
3752 3752
3753 // send message 3753 // send message
@@ -3755,7 +3755,7 @@ static int MsiExecuteMessageHandler(
3755 ExitOnFailure(hr, "Failed to send msi message to per-user process."); 3755 ExitOnFailure(hr, "Failed to send msi message to per-user process.");
3756 3756
3757LExit: 3757LExit:
3758 ReleaseBuffer(pbData); 3758 ReleaseMem(pbData);
3759 3759
3760 return nResult; 3760 return nResult;
3761} 3761}
@@ -3895,7 +3895,7 @@ static HRESULT OnLaunchApprovedExe(
3895 ExitOnFailure(hr, "Failed to send BURN_ELEVATION_MESSAGE_TYPE_LAUNCH_APPROVED_EXE_PROCESSID message to per-user process."); 3895 ExitOnFailure(hr, "Failed to send BURN_ELEVATION_MESSAGE_TYPE_LAUNCH_APPROVED_EXE_PROCESSID message to per-user process.");
3896 3896
3897LExit: 3897LExit:
3898 ReleaseBuffer(pbSendData); 3898 ReleaseMem(pbSendData);
3899 ApprovedExesUninitializeLaunch(pLaunchApprovedExe); 3899 ApprovedExesUninitializeLaunch(pLaunchApprovedExe);
3900 return hr; 3900 return hr;
3901} 3901}
@@ -4056,7 +4056,7 @@ static HRESULT ElevatedOnPauseAUComplete(
4056 ExitOnFailure(hr, "Failed to send BURN_ELEVATION_MESSAGE_TYPE_APPLY_INITIALIZE_PAUSE_AU_COMPLETE message to per-user process."); 4056 ExitOnFailure(hr, "Failed to send BURN_ELEVATION_MESSAGE_TYPE_APPLY_INITIALIZE_PAUSE_AU_COMPLETE message to per-user process.");
4057 4057
4058LExit: 4058LExit:
4059 ReleaseBuffer(pbSendData); 4059 ReleaseMem(pbSendData);
4060 4060
4061 return hr; 4061 return hr;
4062} 4062}
@@ -4092,7 +4092,7 @@ static HRESULT ElevatedOnSystemRestorePointComplete(
4092 ExitOnFailure(hr, "Failed to send BURN_ELEVATION_MESSAGE_TYPE_APPLY_INITIALIZE_SYSTEM_RESTORE_POINT_COMPLETE message to per-user process."); 4092 ExitOnFailure(hr, "Failed to send BURN_ELEVATION_MESSAGE_TYPE_APPLY_INITIALIZE_SYSTEM_RESTORE_POINT_COMPLETE message to per-user process.");
4093 4093
4094LExit: 4094LExit:
4095 ReleaseBuffer(pbSendData); 4095 ReleaseMem(pbSendData);
4096 4096
4097 return hr; 4097 return hr;
4098} 4098}
@@ -4114,7 +4114,7 @@ static HRESULT ElevatedOnExecuteActionComplete(
4114 ExitOnFailure(hr, "Failed to send BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_ACTION_COMPLETE message to per-user process."); 4114 ExitOnFailure(hr, "Failed to send BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_ACTION_COMPLETE message to per-user process.");
4115 4115
4116LExit: 4116LExit:
4117 ReleaseBuffer(pbSendData); 4117 ReleaseMem(pbSendData);
4118 4118
4119 return hr; 4119 return hr;
4120} 4120}