diff options
Diffstat (limited to 'src/api')
11 files changed, 168 insertions, 0 deletions
diff --git a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h index 0b81b35a..df8cac76 100644 --- a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h +++ b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h | |||
@@ -224,6 +224,7 @@ enum BOOTSTRAPPER_APPLICATION_MESSAGE | |||
224 | BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRESTORERELATEDBUNDLE, | 224 | BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRESTORERELATEDBUNDLE, |
225 | BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLETYPE, | 225 | BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLETYPE, |
226 | BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYDOWNGRADE, | 226 | BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYDOWNGRADE, |
227 | BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPROCESSCANCEL, | ||
227 | }; | 228 | }; |
228 | 229 | ||
229 | enum BOOTSTRAPPER_APPLYCOMPLETE_ACTION | 230 | enum BOOTSTRAPPER_APPLYCOMPLETE_ACTION |
@@ -282,6 +283,18 @@ enum BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION | |||
282 | BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION_SUSPEND, | 283 | BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION_SUSPEND, |
283 | }; | 284 | }; |
284 | 285 | ||
286 | enum BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION | ||
287 | { | ||
288 | // Instructs the engine to stop waiting for the process to exit. | ||
289 | // The package is immediately considered to have failed with ERROR_INSTALL_USEREXIT. | ||
290 | // The engine will never rollback the package. | ||
291 | BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION_ABANDON, | ||
292 | // Instructs the engine to wait for the process to exit. | ||
293 | // Once the process has exited, the package is considered to have failed with ERROR_INSTALL_USEREXIT. | ||
294 | // This allows the engine to rollback the package if necessary. | ||
295 | BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION_WAIT, | ||
296 | }; | ||
297 | |||
285 | enum BOOTSTRAPPER_SHUTDOWN_ACTION | 298 | enum BOOTSTRAPPER_SHUTDOWN_ACTION |
286 | { | 299 | { |
287 | BOOTSTRAPPER_SHUTDOWN_ACTION_NONE, | 300 | BOOTSTRAPPER_SHUTDOWN_ACTION_NONE, |
@@ -997,6 +1010,20 @@ struct BA_ONEXECUTEPATCHTARGET_RESULTS | |||
997 | BOOL fCancel; | 1010 | BOOL fCancel; |
998 | }; | 1011 | }; |
999 | 1012 | ||
1013 | struct BA_ONEXECUTEPROCESSCANCEL_ARGS | ||
1014 | { | ||
1015 | DWORD cbSize; | ||
1016 | LPCWSTR wzPackageId; | ||
1017 | DWORD dwProcessId; | ||
1018 | BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION recommendation; | ||
1019 | }; | ||
1020 | |||
1021 | struct BA_ONEXECUTEPROCESSCANCEL_RESULTS | ||
1022 | { | ||
1023 | DWORD cbSize; | ||
1024 | BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION action; | ||
1025 | }; | ||
1026 | |||
1000 | struct BA_ONEXECUTEPROGRESS_ARGS | 1027 | struct BA_ONEXECUTEPROGRESS_ARGS |
1001 | { | 1028 | { |
1002 | DWORD cbSize; | 1029 | DWORD cbSize; |
diff --git a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs index 8a2e0e93..5ed064fa 100644 --- a/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs +++ b/src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs | |||
@@ -280,6 +280,9 @@ namespace WixToolset.Mba.Core | |||
280 | /// <inheritdoc/> | 280 | /// <inheritdoc/> |
281 | public event EventHandler<PlanRestoreRelatedBundleEventArgs> PlanRestoreRelatedBundle; | 281 | public event EventHandler<PlanRestoreRelatedBundleEventArgs> PlanRestoreRelatedBundle; |
282 | 282 | ||
283 | /// <inheritdoc/> | ||
284 | public event EventHandler<ExecuteProcessCancelEventArgs> ExecuteProcessCancel; | ||
285 | |||
283 | /// <summary> | 286 | /// <summary> |
284 | /// Entry point that is called when the bootstrapper application is ready to run. | 287 | /// Entry point that is called when the bootstrapper application is ready to run. |
285 | /// </summary> | 288 | /// </summary> |
@@ -1369,6 +1372,19 @@ namespace WixToolset.Mba.Core | |||
1369 | } | 1372 | } |
1370 | } | 1373 | } |
1371 | 1374 | ||
1375 | /// <summary> | ||
1376 | /// Called by the engine, raises the <see cref="ExecuteProcessCancel"/> event. | ||
1377 | /// </summary> | ||
1378 | /// <param name="args">Additional arguments for this event.</param> | ||
1379 | protected virtual void OnExecuteProcessCancel(ExecuteProcessCancelEventArgs args) | ||
1380 | { | ||
1381 | EventHandler<ExecuteProcessCancelEventArgs> handler = this.ExecuteProcessCancel; | ||
1382 | if (null != handler) | ||
1383 | { | ||
1384 | handler(this, args); | ||
1385 | } | ||
1386 | } | ||
1387 | |||
1372 | #region IBootstrapperApplication Members | 1388 | #region IBootstrapperApplication Members |
1373 | 1389 | ||
1374 | int IBootstrapperApplication.BAProc(int message, IntPtr pvArgs, IntPtr pvResults, IntPtr pvContext) | 1390 | int IBootstrapperApplication.BAProc(int message, IntPtr pvArgs, IntPtr pvResults, IntPtr pvContext) |
@@ -2119,6 +2135,15 @@ namespace WixToolset.Mba.Core | |||
2119 | return args.HResult; | 2135 | return args.HResult; |
2120 | } | 2136 | } |
2121 | 2137 | ||
2138 | int IBootstrapperApplication.OnExecuteProcessCancel(string wzPackageId, int processId, BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION recommendation, ref BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION pAction) | ||
2139 | { | ||
2140 | ExecuteProcessCancelEventArgs args = new ExecuteProcessCancelEventArgs(wzPackageId, processId, recommendation, pAction); | ||
2141 | this.OnExecuteProcessCancel(args); | ||
2142 | |||
2143 | pAction = args.Action; | ||
2144 | return args.HResult; | ||
2145 | } | ||
2146 | |||
2122 | #endregion | 2147 | #endregion |
2123 | } | 2148 | } |
2124 | } | 2149 | } |
diff --git a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs index c93c2885..c2c73067 100644 --- a/src/api/burn/WixToolset.Mba.Core/EventArgs.cs +++ b/src/api/burn/WixToolset.Mba.Core/EventArgs.cs | |||
@@ -2488,4 +2488,40 @@ namespace WixToolset.Mba.Core | |||
2488 | /// </summary> | 2488 | /// </summary> |
2489 | public RequestState State { get; set; } | 2489 | public RequestState State { get; set; } |
2490 | } | 2490 | } |
2491 | |||
2492 | /// <summary> | ||
2493 | /// Event arguments for <see cref="IDefaultBootstrapperApplication.ExecuteProcessCancel"/> | ||
2494 | /// </summary> | ||
2495 | [Serializable] | ||
2496 | public class ExecuteProcessCancelEventArgs : HResultEventArgs | ||
2497 | { | ||
2498 | /// <summary /> | ||
2499 | public ExecuteProcessCancelEventArgs(string packageId, int processId, BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION recommendation, BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION action) | ||
2500 | { | ||
2501 | this.PackageId = packageId; | ||
2502 | this.ProcessId = processId; | ||
2503 | this.Recommendation = recommendation; | ||
2504 | this.Action = action; | ||
2505 | } | ||
2506 | |||
2507 | /// <summary> | ||
2508 | /// Gets the identity of the package. | ||
2509 | /// </summary> | ||
2510 | public string PackageId { get; private set; } | ||
2511 | |||
2512 | /// <summary> | ||
2513 | /// Gets the process id. | ||
2514 | /// </summary> | ||
2515 | public int ProcessId { get; private set; } | ||
2516 | |||
2517 | /// <summary> | ||
2518 | /// Gets the recommended action from the engine. | ||
2519 | /// </summary> | ||
2520 | public BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION Recommendation { get; private set; } | ||
2521 | |||
2522 | /// <summary> | ||
2523 | /// Gets or sets the action to be performed. This is passed back to the engine. | ||
2524 | /// </summary> | ||
2525 | public BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION Action { get; set; } | ||
2526 | } | ||
2491 | } | 2527 | } |
diff --git a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs index d4fe8320..1786eecd 100644 --- a/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs +++ b/src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs | |||
@@ -1170,6 +1170,18 @@ namespace WixToolset.Mba.Core | |||
1170 | [MarshalAs(UnmanagedType.I4)] int hrRecommended, | 1170 | [MarshalAs(UnmanagedType.I4)] int hrRecommended, |
1171 | [MarshalAs(UnmanagedType.I4)] ref int hrStatus | 1171 | [MarshalAs(UnmanagedType.I4)] ref int hrStatus |
1172 | ); | 1172 | ); |
1173 | |||
1174 | /// <summary> | ||
1175 | /// See <see cref="IDefaultBootstrapperApplication.ExecuteProcessCancel"/>. | ||
1176 | /// </summary> | ||
1177 | [PreserveSig] | ||
1178 | [return: MarshalAs(UnmanagedType.I4)] | ||
1179 | int OnExecuteProcessCancel( | ||
1180 | [MarshalAs(UnmanagedType.LPWStr)] string wzPackageId, | ||
1181 | int processId, | ||
1182 | [MarshalAs(UnmanagedType.I4)] BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION recommendation, | ||
1183 | [MarshalAs(UnmanagedType.I4)] ref BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION pAction | ||
1184 | ); | ||
1173 | } | 1185 | } |
1174 | 1186 | ||
1175 | /// <summary> | 1187 | /// <summary> |
@@ -1907,6 +1919,26 @@ namespace WixToolset.Mba.Core | |||
1907 | } | 1919 | } |
1908 | 1920 | ||
1909 | /// <summary> | 1921 | /// <summary> |
1922 | /// The available actions for <see cref="IDefaultBootstrapperApplication.ExecuteProcessCancel"/>. | ||
1923 | /// </summary> | ||
1924 | public enum BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION | ||
1925 | { | ||
1926 | /// <summary> | ||
1927 | /// Instructs the engine to stop waiting for the process to exit. | ||
1928 | /// The package is immediately considered to have failed with ERROR_INSTALL_USEREXIT. | ||
1929 | /// The engine will never rollback the package. | ||
1930 | /// </summary> | ||
1931 | Abandon, | ||
1932 | |||
1933 | /// <summary> | ||
1934 | /// Instructs the engine to wait for the process to exit. | ||
1935 | /// Once the process has exited, the package is considered to have failed with ERROR_INSTALL_USEREXIT. | ||
1936 | /// This allows the engine to rollback the package if necessary. | ||
1937 | /// </summary> | ||
1938 | Wait, | ||
1939 | } | ||
1940 | |||
1941 | /// <summary> | ||
1910 | /// The result of evaluating a condition from a package. | 1942 | /// The result of evaluating a condition from a package. |
1911 | /// </summary> | 1943 | /// </summary> |
1912 | public enum BOOTSTRAPPER_PACKAGE_CONDITION_RESULT | 1944 | public enum BOOTSTRAPPER_PACKAGE_CONDITION_RESULT |
diff --git a/src/api/burn/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs b/src/api/burn/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs index c9284b69..21d99b32 100644 --- a/src/api/burn/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs +++ b/src/api/burn/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs | |||
@@ -244,6 +244,11 @@ namespace WixToolset.Mba.Core | |||
244 | event EventHandler<ExecutePackageCompleteEventArgs> ExecutePackageComplete; | 244 | event EventHandler<ExecutePackageCompleteEventArgs> ExecutePackageComplete; |
245 | 245 | ||
246 | /// <summary> | 246 | /// <summary> |
247 | /// Fired when a package that spawned a process is cancelled. | ||
248 | /// </summary> | ||
249 | event EventHandler<ExecuteProcessCancelEventArgs> ExecuteProcessCancel; | ||
250 | |||
251 | /// <summary> | ||
247 | /// Fired when the engine executes one or more patches targeting a product. | 252 | /// Fired when the engine executes one or more patches targeting a product. |
248 | /// </summary> | 253 | /// </summary> |
249 | event EventHandler<ExecutePatchTargetEventArgs> ExecutePatchTarget; | 254 | event EventHandler<ExecutePatchTargetEventArgs> ExecutePatchTarget; |
diff --git a/src/api/burn/balutil/inc/BAFunctions.h b/src/api/burn/balutil/inc/BAFunctions.h index 58c26166..158e65b5 100644 --- a/src/api/burn/balutil/inc/BAFunctions.h +++ b/src/api/burn/balutil/inc/BAFunctions.h | |||
@@ -91,6 +91,7 @@ enum BA_FUNCTIONS_MESSAGE | |||
91 | BA_FUNCTIONS_MESSAGE_ONPLANRESTORERELATEDBUNDLE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRESTORERELATEDBUNDLE, | 91 | BA_FUNCTIONS_MESSAGE_ONPLANRESTORERELATEDBUNDLE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRESTORERELATEDBUNDLE, |
92 | BA_FUNCTIONS_MESSAGE_ONPLANRELATEDBUNDLETYPE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLETYPE, | 92 | BA_FUNCTIONS_MESSAGE_ONPLANRELATEDBUNDLETYPE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLETYPE, |
93 | BA_FUNCTIONS_MESSAGE_ONAPPLYDOWNGRADE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYDOWNGRADE, | 93 | BA_FUNCTIONS_MESSAGE_ONAPPLYDOWNGRADE = BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYDOWNGRADE, |
94 | BA_FUNCTIONS_MESSAGE_ONEXECUTEPROCESSCANCEL = BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPROCESSCANCEL, | ||
94 | 95 | ||
95 | BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024, | 96 | BA_FUNCTIONS_MESSAGE_ONTHEMELOADED = 1024, |
96 | BA_FUNCTIONS_MESSAGE_WNDPROC, | 97 | BA_FUNCTIONS_MESSAGE_WNDPROC, |
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctions.h b/src/api/burn/balutil/inc/BalBaseBAFunctions.h index fe5c99ba..614d4bcf 100644 --- a/src/api/burn/balutil/inc/BalBaseBAFunctions.h +++ b/src/api/burn/balutil/inc/BalBaseBAFunctions.h | |||
@@ -877,6 +877,16 @@ public: // IBootstrapperApplication | |||
877 | return S_OK; | 877 | return S_OK; |
878 | } | 878 | } |
879 | 879 | ||
880 | virtual STDMETHODIMP OnExecuteProcessCancel( | ||
881 | __in_z LPCWSTR /*wzPackageId*/, | ||
882 | __in DWORD /*dwProcessId*/, | ||
883 | __in BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION /*recommendation*/, | ||
884 | __inout BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION* /*pAction*/ | ||
885 | ) | ||
886 | { | ||
887 | return S_OK; | ||
888 | } | ||
889 | |||
880 | public: // IBAFunctions | 890 | public: // IBAFunctions |
881 | virtual STDMETHODIMP OnPlan( | 891 | virtual STDMETHODIMP OnPlan( |
882 | ) | 892 | ) |
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h b/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h index 100e5c30..b96a180c 100644 --- a/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h +++ b/src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h | |||
@@ -162,6 +162,7 @@ static HRESULT WINAPI BalBaseBAFunctionsProc( | |||
162 | case BA_FUNCTIONS_MESSAGE_ONPLANRESTORERELATEDBUNDLE: | 162 | case BA_FUNCTIONS_MESSAGE_ONPLANRESTORERELATEDBUNDLE: |
163 | case BA_FUNCTIONS_MESSAGE_ONPLANRELATEDBUNDLETYPE: | 163 | case BA_FUNCTIONS_MESSAGE_ONPLANRELATEDBUNDLETYPE: |
164 | case BA_FUNCTIONS_MESSAGE_ONAPPLYDOWNGRADE: | 164 | case BA_FUNCTIONS_MESSAGE_ONAPPLYDOWNGRADE: |
165 | case BA_FUNCTIONS_MESSAGE_ONEXECUTEPROCESSCANCEL: | ||
165 | hr = BalBaseBootstrapperApplicationProc((BOOTSTRAPPER_APPLICATION_MESSAGE)message, pvArgs, pvResults, pvContext); | 166 | hr = BalBaseBootstrapperApplicationProc((BOOTSTRAPPER_APPLICATION_MESSAGE)message, pvArgs, pvResults, pvContext); |
166 | break; | 167 | break; |
167 | case BA_FUNCTIONS_MESSAGE_ONTHEMELOADED: | 168 | case BA_FUNCTIONS_MESSAGE_ONTHEMELOADED: |
diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h index fd06a83f..25570ffd 100644 --- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h +++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h | |||
@@ -1077,6 +1077,16 @@ public: // IBootstrapperApplication | |||
1077 | return S_OK; | 1077 | return S_OK; |
1078 | } | 1078 | } |
1079 | 1079 | ||
1080 | virtual STDMETHODIMP OnExecuteProcessCancel( | ||
1081 | __in_z LPCWSTR /*wzPackageId*/, | ||
1082 | __in DWORD /*dwProcessId*/, | ||
1083 | __in BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION /*recommendation*/, | ||
1084 | __inout BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION* /*pAction*/ | ||
1085 | ) | ||
1086 | { | ||
1087 | return S_OK; | ||
1088 | } | ||
1089 | |||
1080 | public: //CBalBaseBootstrapperApplication | 1090 | public: //CBalBaseBootstrapperApplication |
1081 | virtual STDMETHODIMP Initialize( | 1091 | virtual STDMETHODIMP Initialize( |
1082 | __in const BOOTSTRAPPER_CREATE_ARGS* pCreateArgs | 1092 | __in const BOOTSTRAPPER_CREATE_ARGS* pCreateArgs |
diff --git a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h index 4e413e4e..b196d183 100644 --- a/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h +++ b/src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h | |||
@@ -486,6 +486,15 @@ static HRESULT BalBaseBAProcOnExecutePackageComplete( | |||
486 | return pBA->OnExecutePackageComplete(pArgs->wzPackageId, pArgs->hrStatus, pArgs->restart, pArgs->recommendation, &pResults->action); | 486 | return pBA->OnExecutePackageComplete(pArgs->wzPackageId, pArgs->hrStatus, pArgs->restart, pArgs->recommendation, &pResults->action); |
487 | } | 487 | } |
488 | 488 | ||
489 | static HRESULT BalBaseBAProcOnExecuteProcessCancel( | ||
490 | __in IBootstrapperApplication* pBA, | ||
491 | __in BA_ONEXECUTEPROCESSCANCEL_ARGS* pArgs, | ||
492 | __inout BA_ONEXECUTEPROCESSCANCEL_RESULTS* pResults | ||
493 | ) | ||
494 | { | ||
495 | return pBA->OnExecuteProcessCancel(pArgs->wzPackageId, pArgs->dwProcessId, pArgs->recommendation, &pResults->action); | ||
496 | } | ||
497 | |||
489 | static HRESULT BalBaseBAProcOnExecuteComplete( | 498 | static HRESULT BalBaseBAProcOnExecuteComplete( |
490 | __in IBootstrapperApplication* pBA, | 499 | __in IBootstrapperApplication* pBA, |
491 | __in BA_ONEXECUTECOMPLETE_ARGS* pArgs, | 500 | __in BA_ONEXECUTECOMPLETE_ARGS* pArgs, |
@@ -1012,6 +1021,9 @@ static HRESULT WINAPI BalBaseBootstrapperApplicationProc( | |||
1012 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYDOWNGRADE: | 1021 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYDOWNGRADE: |
1013 | hr = BalBaseBAProcOnApplyDowngrade(pBA, reinterpret_cast<BA_ONAPPLYDOWNGRADE_ARGS*>(pvArgs), reinterpret_cast<BA_ONAPPLYDOWNGRADE_RESULTS*>(pvResults)); | 1022 | hr = BalBaseBAProcOnApplyDowngrade(pBA, reinterpret_cast<BA_ONAPPLYDOWNGRADE_ARGS*>(pvArgs), reinterpret_cast<BA_ONAPPLYDOWNGRADE_RESULTS*>(pvResults)); |
1014 | break; | 1023 | break; |
1024 | case BOOTSTRAPPER_APPLICATION_MESSAGE_ONEXECUTEPROCESSCANCEL: | ||
1025 | hr = BalBaseBAProcOnExecuteProcessCancel(pBA, reinterpret_cast<BA_ONEXECUTEPROCESSCANCEL_ARGS*>(pvArgs), reinterpret_cast<BA_ONEXECUTEPROCESSCANCEL_RESULTS*>(pvResults)); | ||
1026 | break; | ||
1015 | } | 1027 | } |
1016 | } | 1028 | } |
1017 | 1029 | ||
diff --git a/src/api/burn/balutil/inc/IBootstrapperApplication.h b/src/api/burn/balutil/inc/IBootstrapperApplication.h index c9cf3126..6174c290 100644 --- a/src/api/burn/balutil/inc/IBootstrapperApplication.h +++ b/src/api/burn/balutil/inc/IBootstrapperApplication.h | |||
@@ -714,4 +714,13 @@ DECLARE_INTERFACE_IID_(IBootstrapperApplication, IUnknown, "53C31D56-49C0-426B-A | |||
714 | __in HRESULT hrRecommended, | 714 | __in HRESULT hrRecommended, |
715 | __inout HRESULT* phrStatus | 715 | __inout HRESULT* phrStatus |
716 | ) = 0; | 716 | ) = 0; |
717 | |||
718 | // OnExecuteProcessCancel - called when a package that spawned a process is cancelled. | ||
719 | // | ||
720 | STDMETHOD(OnExecuteProcessCancel)( | ||
721 | __in_z LPCWSTR wzPackageId, | ||
722 | __in DWORD dwProcessId, | ||
723 | __in BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION recommendation, | ||
724 | __inout BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION* pAction | ||
725 | ) = 0; | ||
717 | }; | 726 | }; |