summaryrefslogtreecommitdiff
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.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/burn/engine/elevation.cpp b/src/burn/engine/elevation.cpp
index 636d67ce..3c2872f1 100644
--- a/src/burn/engine/elevation.cpp
+++ b/src/burn/engine/elevation.cpp
@@ -43,6 +43,7 @@ typedef enum _BURN_ELEVATION_MESSAGE_TYPE
43 BURN_ELEVATION_MESSAGE_TYPE_BURN_CACHE_COMPLETE, 43 BURN_ELEVATION_MESSAGE_TYPE_BURN_CACHE_COMPLETE,
44 BURN_ELEVATION_MESSAGE_TYPE_BURN_CACHE_SUCCESS, 44 BURN_ELEVATION_MESSAGE_TYPE_BURN_CACHE_SUCCESS,
45 BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_PROGRESS, 45 BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_PROGRESS,
46 BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_PROCESS_CANCEL,
46 BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_ERROR, 47 BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_ERROR,
47 BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_MSI_MESSAGE, 48 BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_MSI_MESSAGE,
48 BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_MSI_FILES_IN_USE, 49 BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_MSI_FILES_IN_USE,
@@ -1812,7 +1813,14 @@ static HRESULT ProcessGenericExecuteMessages(
1812 1813
1813 // read message parameters 1814 // read message parameters
1814 hr = BuffReadNumber((BYTE*)pMsg->pvData, pMsg->cbData, &iData, &message.progress.dwPercentage); 1815 hr = BuffReadNumber((BYTE*)pMsg->pvData, pMsg->cbData, &iData, &message.progress.dwPercentage);
1815 ExitOnFailure(hr, "Failed to progress."); 1816 ExitOnFailure(hr, "Failed to read progress.");
1817 break;
1818
1819 case BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_PROCESS_CANCEL:
1820 message.type = GENERIC_EXECUTE_MESSAGE_PROCESS_CANCEL;
1821
1822 hr = BuffReadNumber((BYTE*)pMsg->pvData, pMsg->cbData, &iData, &message.processCancel.dwProcessId);
1823 ExitOnFailure(hr, "Failed to read processId.");
1816 break; 1824 break;
1817 1825
1818 case BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_ERROR: 1826 case BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_ERROR:
@@ -3450,6 +3458,13 @@ static int GenericExecuteMessageHandler(
3450 dwMessage = BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_PROGRESS; 3458 dwMessage = BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_PROGRESS;
3451 break; 3459 break;
3452 3460
3461 case GENERIC_EXECUTE_MESSAGE_PROCESS_CANCEL:
3462 hr = BuffWriteNumber(&pbData, &cbData, pMessage->processCancel.dwProcessId);
3463 ExitOnFailure(hr, "Failed to write progress percentage to message buffer.");
3464
3465 dwMessage = BURN_ELEVATION_MESSAGE_TYPE_EXECUTE_PROCESS_CANCEL;
3466 break;
3467
3453 case GENERIC_EXECUTE_MESSAGE_ERROR: 3468 case GENERIC_EXECUTE_MESSAGE_ERROR:
3454 // serialize message data 3469 // serialize message data
3455 hr = BuffWriteNumber(&pbData, &cbData, pMessage->error.dwErrorCode); 3470 hr = BuffWriteNumber(&pbData, &cbData, pMessage->error.dwErrorCode);