aboutsummaryrefslogtreecommitdiff
path: root/src/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/api')
-rw-r--r--src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h27
-rw-r--r--src/api/burn/WixToolset.Mba.Core/BootstrapperApplication.cs25
-rw-r--r--src/api/burn/WixToolset.Mba.Core/EventArgs.cs36
-rw-r--r--src/api/burn/WixToolset.Mba.Core/IBootstrapperApplication.cs32
-rw-r--r--src/api/burn/WixToolset.Mba.Core/IDefaultBootstrapperApplication.cs5
-rw-r--r--src/api/burn/balutil/inc/BAFunctions.h1
-rw-r--r--src/api/burn/balutil/inc/BalBaseBAFunctions.h10
-rw-r--r--src/api/burn/balutil/inc/BalBaseBAFunctionsProc.h1
-rw-r--r--src/api/burn/balutil/inc/BalBaseBootstrapperApplication.h10
-rw-r--r--src/api/burn/balutil/inc/BalBaseBootstrapperApplicationProc.h12
-rw-r--r--src/api/burn/balutil/inc/IBootstrapperApplication.h9
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
229enum BOOTSTRAPPER_APPLYCOMPLETE_ACTION 230enum 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
286enum 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
285enum BOOTSTRAPPER_SHUTDOWN_ACTION 298enum 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
1013struct BA_ONEXECUTEPROCESSCANCEL_ARGS
1014{
1015 DWORD cbSize;
1016 LPCWSTR wzPackageId;
1017 DWORD dwProcessId;
1018 BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION recommendation;
1019};
1020
1021struct BA_ONEXECUTEPROCESSCANCEL_RESULTS
1022{
1023 DWORD cbSize;
1024 BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION action;
1025};
1026
1000struct BA_ONEXECUTEPROGRESS_ARGS 1027struct 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
880public: // IBAFunctions 890public: // 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
1080public: //CBalBaseBootstrapperApplication 1090public: //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
489static 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
489static HRESULT BalBaseBAProcOnExecuteComplete( 498static 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};