diff options
Diffstat (limited to 'src/burn/engine/userexperience.h')
-rw-r--r-- | src/burn/engine/userexperience.h | 545 |
1 files changed, 545 insertions, 0 deletions
diff --git a/src/burn/engine/userexperience.h b/src/burn/engine/userexperience.h new file mode 100644 index 00000000..f2453dca --- /dev/null +++ b/src/burn/engine/userexperience.h | |||
@@ -0,0 +1,545 @@ | |||
1 | #pragma once | ||
2 | // Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
3 | |||
4 | #define BAAPI HRESULT __stdcall | ||
5 | |||
6 | #if defined(__cplusplus) | ||
7 | extern "C" { | ||
8 | #endif | ||
9 | |||
10 | |||
11 | // constants | ||
12 | |||
13 | const DWORD MB_RETRYTRYAGAIN = 0xF; | ||
14 | |||
15 | |||
16 | // structs | ||
17 | |||
18 | typedef struct _BOOTSTRAPPER_ENGINE_CONTEXT BOOTSTRAPPER_ENGINE_CONTEXT; | ||
19 | |||
20 | typedef struct _BURN_USER_EXPERIENCE | ||
21 | { | ||
22 | BOOL fSplashScreen; | ||
23 | BURN_PAYLOADS payloads; | ||
24 | |||
25 | HMODULE hUXModule; | ||
26 | PFN_BOOTSTRAPPER_APPLICATION_PROC pfnBAProc; | ||
27 | LPVOID pvBAProcContext; | ||
28 | BOOL fDisableUnloading; | ||
29 | LPWSTR sczTempDirectory; | ||
30 | |||
31 | CRITICAL_SECTION csEngineActive; // Changing the engine active state in the user experience must be | ||
32 | // syncronized through this critical section. | ||
33 | // Note: The engine must never do a UX callback while in this critical section. | ||
34 | |||
35 | BOOL fEngineActive; // Indicates that the engine is currently active with one of the execution | ||
36 | // steps (detect, plan, apply), and cannot accept requests from the UX. | ||
37 | // This flag should be cleared by the engine prior to UX callbacks that | ||
38 | // allows altering of the engine state. | ||
39 | |||
40 | HRESULT hrApplyError; // Tracks is an error occurs during apply that requires the cache or | ||
41 | // execute threads to bail. | ||
42 | |||
43 | HWND hwndApply; // The window handle provided at the beginning of Apply(). Only valid | ||
44 | // during apply. | ||
45 | |||
46 | HWND hwndDetect; // The window handle provided at the beginning of Detect(). Only valid | ||
47 | // during Detect. | ||
48 | |||
49 | DWORD dwExitCode; // Exit code returned by the user experience for the engine overall. | ||
50 | } BURN_USER_EXPERIENCE; | ||
51 | |||
52 | // functions | ||
53 | |||
54 | HRESULT UserExperienceParseFromXml( | ||
55 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
56 | __in IXMLDOMNode* pixnBundle | ||
57 | ); | ||
58 | void UserExperienceUninitialize( | ||
59 | __in BURN_USER_EXPERIENCE* pUserExperience | ||
60 | ); | ||
61 | HRESULT UserExperienceLoad( | ||
62 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
63 | __in BOOTSTRAPPER_ENGINE_CONTEXT* pEngineContext, | ||
64 | __in BOOTSTRAPPER_COMMAND* pCommand | ||
65 | ); | ||
66 | HRESULT UserExperienceUnload( | ||
67 | __in BURN_USER_EXPERIENCE* pUserExperience | ||
68 | ); | ||
69 | HRESULT UserExperienceEnsureWorkingFolder( | ||
70 | __in LPCWSTR wzBundleId, | ||
71 | __deref_out_z LPWSTR* psczUserExperienceWorkingFolder | ||
72 | ); | ||
73 | HRESULT UserExperienceRemove( | ||
74 | __in BURN_USER_EXPERIENCE* pUserExperience | ||
75 | ); | ||
76 | int UserExperienceSendError( | ||
77 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
78 | __in BOOTSTRAPPER_ERROR_TYPE errorType, | ||
79 | __in_z_opt LPCWSTR wzPackageId, | ||
80 | __in HRESULT hrCode, | ||
81 | __in_z_opt LPCWSTR wzError, | ||
82 | __in DWORD uiFlags, | ||
83 | __in int nRecommendation | ||
84 | ); | ||
85 | void UserExperienceActivateEngine( | ||
86 | __in BURN_USER_EXPERIENCE* pUserExperience | ||
87 | ); | ||
88 | void UserExperienceDeactivateEngine( | ||
89 | __in BURN_USER_EXPERIENCE* pUserExperience | ||
90 | ); | ||
91 | /******************************************************************** | ||
92 | UserExperienceEnsureEngineInactive - Verifies the engine is inactive. | ||
93 | The caller MUST enter the csActive critical section before calling. | ||
94 | |||
95 | *********************************************************************/ | ||
96 | HRESULT UserExperienceEnsureEngineInactive( | ||
97 | __in BURN_USER_EXPERIENCE* pUserExperience | ||
98 | ); | ||
99 | void UserExperienceExecuteReset( | ||
100 | __in BURN_USER_EXPERIENCE* pUserExperience | ||
101 | ); | ||
102 | void UserExperienceExecutePhaseComplete( | ||
103 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
104 | __in HRESULT hrResult | ||
105 | ); | ||
106 | BAAPI UserExperienceOnApplyBegin( | ||
107 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
108 | __in DWORD dwPhaseCount | ||
109 | ); | ||
110 | BAAPI UserExperienceOnApplyComplete( | ||
111 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
112 | __in HRESULT hrStatus, | ||
113 | __in BOOTSTRAPPER_APPLY_RESTART restart, | ||
114 | __inout BOOTSTRAPPER_APPLYCOMPLETE_ACTION* pAction | ||
115 | ); | ||
116 | BAAPI UserExperienceOnBeginMsiTransactionBegin( | ||
117 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
118 | __in LPCWSTR wzTransactionId | ||
119 | ); | ||
120 | BAAPI UserExperienceOnBeginMsiTransactionComplete( | ||
121 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
122 | __in LPCWSTR wzTransactionId, | ||
123 | __in HRESULT hrStatus | ||
124 | ); | ||
125 | BAAPI UserExperienceOnCacheAcquireBegin( | ||
126 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
127 | __in_z_opt LPCWSTR wzPackageOrContainerId, | ||
128 | __in_z_opt LPCWSTR wzPayloadId, | ||
129 | __in_z LPWSTR* pwzSource, | ||
130 | __in_z LPWSTR* pwzDownloadUrl, | ||
131 | __in_z_opt LPCWSTR wzPayloadContainerId, | ||
132 | __out BOOTSTRAPPER_CACHE_OPERATION* pCacheOperation | ||
133 | ); | ||
134 | BAAPI UserExperienceOnCacheAcquireComplete( | ||
135 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
136 | __in_z_opt LPCWSTR wzPackageOrContainerId, | ||
137 | __in_z_opt LPCWSTR wzPayloadId, | ||
138 | __in HRESULT hrStatus, | ||
139 | __inout BOOL* pfRetry | ||
140 | ); | ||
141 | BAAPI UserExperienceOnCacheAcquireProgress( | ||
142 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
143 | __in_z_opt LPCWSTR wzPackageOrContainerId, | ||
144 | __in_z_opt LPCWSTR wzPayloadId, | ||
145 | __in DWORD64 dw64Progress, | ||
146 | __in DWORD64 dw64Total, | ||
147 | __in DWORD dwOverallPercentage | ||
148 | ); | ||
149 | BAAPI UserExperienceOnCacheAcquireResolving( | ||
150 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
151 | __in_z_opt LPCWSTR wzPackageOrContainerId, | ||
152 | __in_z_opt LPCWSTR wzPayloadId, | ||
153 | __in_z LPWSTR* rgSearchPaths, | ||
154 | __in DWORD cSearchPaths, | ||
155 | __in BOOL fFoundLocal, | ||
156 | __in DWORD* pdwChosenSearchPath, | ||
157 | __in_z_opt LPWSTR* pwzDownloadUrl, | ||
158 | __in_z_opt LPCWSTR wzPayloadContainerId, | ||
159 | __inout BOOTSTRAPPER_CACHE_RESOLVE_OPERATION* pCacheOperation | ||
160 | ); | ||
161 | BAAPI UserExperienceOnCacheBegin( | ||
162 | __in BURN_USER_EXPERIENCE* pUserExperience | ||
163 | ); | ||
164 | BAAPI UserExperienceOnCacheComplete( | ||
165 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
166 | __in HRESULT hrStatus | ||
167 | ); | ||
168 | BAAPI UserExperienceOnCacheContainerOrPayloadVerifyBegin( | ||
169 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
170 | __in_z_opt LPCWSTR wzPackageOrContainerId, | ||
171 | __in_z_opt LPCWSTR wzPayloadId | ||
172 | ); | ||
173 | BAAPI UserExperienceOnCacheContainerOrPayloadVerifyComplete( | ||
174 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
175 | __in_z_opt LPCWSTR wzPackageOrContainerId, | ||
176 | __in_z_opt LPCWSTR wzPayloadId, | ||
177 | __in HRESULT hrStatus | ||
178 | ); | ||
179 | BAAPI UserExperienceOnCacheContainerOrPayloadVerifyProgress( | ||
180 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
181 | __in_z_opt LPCWSTR wzPackageOrContainerId, | ||
182 | __in_z_opt LPCWSTR wzPayloadId, | ||
183 | __in DWORD64 dw64Progress, | ||
184 | __in DWORD64 dw64Total, | ||
185 | __in DWORD dwOverallPercentage | ||
186 | ); | ||
187 | BAAPI UserExperienceOnCachePackageBegin( | ||
188 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
189 | __in_z LPCWSTR wzPackageId, | ||
190 | __in DWORD cCachePayloads, | ||
191 | __in DWORD64 dw64PackageCacheSize | ||
192 | ); | ||
193 | BAAPI UserExperienceOnCachePackageComplete( | ||
194 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
195 | __in_z LPCWSTR wzPackageId, | ||
196 | __in HRESULT hrStatus, | ||
197 | __inout BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION* pAction | ||
198 | ); | ||
199 | BAAPI UserExperienceOnCachePayloadExtractBegin( | ||
200 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
201 | __in_z_opt LPCWSTR wzContainerId, | ||
202 | __in_z_opt LPCWSTR wzPayloadId | ||
203 | ); | ||
204 | BAAPI UserExperienceOnCachePayloadExtractComplete( | ||
205 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
206 | __in_z_opt LPCWSTR wzContainerId, | ||
207 | __in_z_opt LPCWSTR wzPayloadId, | ||
208 | __in HRESULT hrStatus | ||
209 | ); | ||
210 | BAAPI UserExperienceOnCachePayloadExtractProgress( | ||
211 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
212 | __in_z_opt LPCWSTR wzContainerId, | ||
213 | __in_z_opt LPCWSTR wzPayloadId, | ||
214 | __in DWORD64 dw64Progress, | ||
215 | __in DWORD64 dw64Total, | ||
216 | __in DWORD dwOverallPercentage | ||
217 | ); | ||
218 | BAAPI UserExperienceOnCacheVerifyBegin( | ||
219 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
220 | __in_z_opt LPCWSTR wzPackageOrContainerId, | ||
221 | __in_z_opt LPCWSTR wzPayloadId | ||
222 | ); | ||
223 | BAAPI UserExperienceOnCacheVerifyComplete( | ||
224 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
225 | __in_z_opt LPCWSTR wzPackageOrContainerId, | ||
226 | __in_z_opt LPCWSTR wzPayloadId, | ||
227 | __in HRESULT hrStatus, | ||
228 | __inout BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION* pAction | ||
229 | ); | ||
230 | BAAPI UserExperienceOnCacheVerifyProgress( | ||
231 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
232 | __in_z_opt LPCWSTR wzPackageOrContainerId, | ||
233 | __in_z_opt LPCWSTR wzPayloadId, | ||
234 | __in DWORD64 dw64Progress, | ||
235 | __in DWORD64 dw64Total, | ||
236 | __in DWORD dwOverallPercentage, | ||
237 | __in BOOTSTRAPPER_CACHE_VERIFY_STEP verifyStep | ||
238 | ); | ||
239 | BAAPI UserExperienceOnCommitMsiTransactionBegin( | ||
240 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
241 | __in LPCWSTR wzTransactionId | ||
242 | ); | ||
243 | BAAPI UserExperienceOnCommitMsiTransactionComplete( | ||
244 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
245 | __in LPCWSTR wzTransactionId, | ||
246 | __in HRESULT hrStatus | ||
247 | ); | ||
248 | BAAPI UserExperienceOnDetectBegin( | ||
249 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
250 | __in BOOL fCached, | ||
251 | __in BOOL fInstalled, | ||
252 | __in DWORD cPackages | ||
253 | ); | ||
254 | BAAPI UserExperienceOnDetectComplete( | ||
255 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
256 | __in HRESULT hrStatus, | ||
257 | __in BOOL fEligibleForCleanup | ||
258 | ); | ||
259 | BAAPI UserExperienceOnDetectForwardCompatibleBundle( | ||
260 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
261 | __in_z LPCWSTR wzBundleId, | ||
262 | __in BOOTSTRAPPER_RELATION_TYPE relationType, | ||
263 | __in_z LPCWSTR wzBundleTag, | ||
264 | __in BOOL fPerMachine, | ||
265 | __in VERUTIL_VERSION* pVersion, | ||
266 | __in BOOL fMissingFromCache | ||
267 | ); | ||
268 | BAAPI UserExperienceOnDetectMsiFeature( | ||
269 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
270 | __in_z LPCWSTR wzPackageId, | ||
271 | __in_z LPCWSTR wzFeatureId, | ||
272 | __in BOOTSTRAPPER_FEATURE_STATE state | ||
273 | ); | ||
274 | BAAPI UserExperienceOnDetectPackageBegin( | ||
275 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
276 | __in_z LPCWSTR wzPackageId | ||
277 | ); | ||
278 | BAAPI UserExperienceOnDetectPackageComplete( | ||
279 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
280 | __in_z LPCWSTR wzPackageId, | ||
281 | __in HRESULT hrStatus, | ||
282 | __in BOOTSTRAPPER_PACKAGE_STATE state, | ||
283 | __in BOOL fCached | ||
284 | ); | ||
285 | BAAPI UserExperienceOnDetectRelatedBundle( | ||
286 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
287 | __in_z LPCWSTR wzBundleId, | ||
288 | __in BOOTSTRAPPER_RELATION_TYPE relationType, | ||
289 | __in_z LPCWSTR wzBundleTag, | ||
290 | __in BOOL fPerMachine, | ||
291 | __in VERUTIL_VERSION* pVersion, | ||
292 | __in BOOTSTRAPPER_RELATED_OPERATION operation, | ||
293 | __in BOOL fMissingFromCache | ||
294 | ); | ||
295 | BAAPI UserExperienceOnDetectRelatedMsiPackage( | ||
296 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
297 | __in_z LPCWSTR wzPackageId, | ||
298 | __in_z LPCWSTR wzUpgradeCode, | ||
299 | __in_z LPCWSTR wzProductCode, | ||
300 | __in BOOL fPerMachine, | ||
301 | __in VERUTIL_VERSION* pVersion, | ||
302 | __in BOOTSTRAPPER_RELATED_OPERATION operation | ||
303 | ); | ||
304 | BAAPI UserExperienceOnDetectPatchTarget( | ||
305 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
306 | __in_z LPCWSTR wzPackageId, | ||
307 | __in_z LPCWSTR wzProductCode, | ||
308 | __in BOOTSTRAPPER_PACKAGE_STATE patchState | ||
309 | ); | ||
310 | BAAPI UserExperienceOnDetectUpdate( | ||
311 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
312 | __in_z_opt LPCWSTR wzUpdateLocation, | ||
313 | __in DWORD64 dw64Size, | ||
314 | __in VERUTIL_VERSION* pVersion, | ||
315 | __in_z_opt LPCWSTR wzTitle, | ||
316 | __in_z_opt LPCWSTR wzSummary, | ||
317 | __in_z_opt LPCWSTR wzContentType, | ||
318 | __in_z_opt LPCWSTR wzContent, | ||
319 | __inout BOOL* pfStopProcessingUpdates | ||
320 | ); | ||
321 | BAAPI UserExperienceOnDetectUpdateBegin( | ||
322 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
323 | __in_z LPCWSTR wzUpdateLocation, | ||
324 | __inout BOOL* pfSkip | ||
325 | ); | ||
326 | BAAPI UserExperienceOnDetectUpdateComplete( | ||
327 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
328 | __in HRESULT hrStatus, | ||
329 | __inout BOOL* pfIgnoreError | ||
330 | ); | ||
331 | BAAPI UserExperienceOnElevateBegin( | ||
332 | __in BURN_USER_EXPERIENCE* pUserExperience | ||
333 | ); | ||
334 | BAAPI UserExperienceOnElevateComplete( | ||
335 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
336 | __in HRESULT hrStatus | ||
337 | ); | ||
338 | BAAPI UserExperienceOnError( | ||
339 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
340 | __in BOOTSTRAPPER_ERROR_TYPE errorType, | ||
341 | __in_z_opt LPCWSTR wzPackageId, | ||
342 | __in DWORD dwCode, | ||
343 | __in_z_opt LPCWSTR wzError, | ||
344 | __in DWORD dwUIHint, | ||
345 | __in DWORD cData, | ||
346 | __in_ecount_z_opt(cData) LPCWSTR* rgwzData, | ||
347 | __inout int* pnResult | ||
348 | ); | ||
349 | BAAPI UserExperienceOnExecuteBegin( | ||
350 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
351 | __in DWORD cExecutingPackages | ||
352 | ); | ||
353 | BAAPI UserExperienceOnExecuteComplete( | ||
354 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
355 | __in HRESULT hrStatus | ||
356 | ); | ||
357 | BAAPI UserExperienceOnExecuteFilesInUse( | ||
358 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
359 | __in_z LPCWSTR wzPackageId, | ||
360 | __in DWORD cFiles, | ||
361 | __in_ecount_z_opt(cFiles) LPCWSTR* rgwzFiles, | ||
362 | __inout int* pnResult | ||
363 | ); | ||
364 | BAAPI UserExperienceOnExecuteMsiMessage( | ||
365 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
366 | __in_z LPCWSTR wzPackageId, | ||
367 | __in INSTALLMESSAGE messageType, | ||
368 | __in DWORD dwUIHint, | ||
369 | __in_z LPCWSTR wzMessage, | ||
370 | __in DWORD cData, | ||
371 | __in_ecount_z_opt(cData) LPCWSTR* rgwzData, | ||
372 | __inout int* pnResult | ||
373 | ); | ||
374 | BAAPI UserExperienceOnExecutePackageBegin( | ||
375 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
376 | __in_z LPCWSTR wzPackageId, | ||
377 | __in BOOL fExecute, | ||
378 | __in BOOTSTRAPPER_ACTION_STATE action, | ||
379 | __in INSTALLUILEVEL uiLevel, | ||
380 | __in BOOL fDisableExternalUiHandler | ||
381 | ); | ||
382 | BAAPI UserExperienceOnExecutePackageComplete( | ||
383 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
384 | __in_z LPCWSTR wzPackageId, | ||
385 | __in HRESULT hrStatus, | ||
386 | __in BOOTSTRAPPER_APPLY_RESTART restart, | ||
387 | __inout BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION* pAction | ||
388 | ); | ||
389 | BAAPI UserExperienceOnExecutePatchTarget( | ||
390 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
391 | __in_z LPCWSTR wzPackageId, | ||
392 | __in_z LPCWSTR wzTargetProductCode | ||
393 | ); | ||
394 | BAAPI UserExperienceOnExecuteProgress( | ||
395 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
396 | __in_z LPCWSTR wzPackageId, | ||
397 | __in DWORD dwProgressPercentage, | ||
398 | __in DWORD dwOverallPercentage, | ||
399 | __out int* pnResult | ||
400 | ); | ||
401 | BAAPI UserExperienceOnLaunchApprovedExeBegin( | ||
402 | __in BURN_USER_EXPERIENCE* pUserExperience | ||
403 | ); | ||
404 | BAAPI UserExperienceOnLaunchApprovedExeComplete( | ||
405 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
406 | __in HRESULT hrStatus, | ||
407 | __in DWORD dwProcessId | ||
408 | ); | ||
409 | BAAPI UserExperienceOnPauseAUBegin( | ||
410 | __in BURN_USER_EXPERIENCE* pUserExperience | ||
411 | ); | ||
412 | BAAPI UserExperienceOnPauseAUComplete( | ||
413 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
414 | __in HRESULT hrStatus | ||
415 | ); | ||
416 | BAAPI UserExperienceOnPlanBegin( | ||
417 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
418 | __in DWORD cPackages | ||
419 | ); | ||
420 | BAAPI UserExperienceOnPlanComplete( | ||
421 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
422 | __in HRESULT hrStatus | ||
423 | ); | ||
424 | BAAPI UserExperienceOnPlanForwardCompatibleBundle( | ||
425 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
426 | __in_z LPCWSTR wzBundleId, | ||
427 | __in BOOTSTRAPPER_RELATION_TYPE relationType, | ||
428 | __in_z LPCWSTR wzBundleTag, | ||
429 | __in BOOL fPerMachine, | ||
430 | __in VERUTIL_VERSION* pVersion, | ||
431 | __inout BOOL* pfIgnoreBundle | ||
432 | ); | ||
433 | BAAPI UserExperienceOnPlanMsiFeature( | ||
434 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
435 | __in_z LPCWSTR wzPackageId, | ||
436 | __in_z LPCWSTR wzFeatureId, | ||
437 | __inout BOOTSTRAPPER_FEATURE_STATE* pRequestedState | ||
438 | ); | ||
439 | BAAPI UserExperienceOnPlanMsiPackage( | ||
440 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
441 | __in_z LPCWSTR wzPackageId, | ||
442 | __in BOOL fExecute, | ||
443 | __in BOOTSTRAPPER_ACTION_STATE action, | ||
444 | __inout BURN_MSI_PROPERTY* pActionMsiProperty, | ||
445 | __inout INSTALLUILEVEL* pUiLevel, | ||
446 | __inout BOOL* pfDisableExternalUiHandler | ||
447 | ); | ||
448 | BAAPI UserExperienceOnPlannedPackage( | ||
449 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
450 | __in_z LPCWSTR wzPackageId, | ||
451 | __in BOOTSTRAPPER_ACTION_STATE execute, | ||
452 | __in BOOTSTRAPPER_ACTION_STATE rollback, | ||
453 | __in BOOL fPlannedCache, | ||
454 | __in BOOL fPlannedUncache | ||
455 | ); | ||
456 | BAAPI UserExperienceOnPlanPackageBegin( | ||
457 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
458 | __in_z LPCWSTR wzPackageId, | ||
459 | __in BOOTSTRAPPER_PACKAGE_STATE state, | ||
460 | __in BOOL fCached, | ||
461 | __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, | ||
462 | __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState, | ||
463 | __inout BOOTSTRAPPER_CACHE_TYPE* pRequestedCacheType | ||
464 | ); | ||
465 | BAAPI UserExperienceOnPlanPackageComplete( | ||
466 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
467 | __in_z LPCWSTR wzPackageId, | ||
468 | __in HRESULT hrStatus, | ||
469 | __in BOOTSTRAPPER_REQUEST_STATE requested | ||
470 | ); | ||
471 | BAAPI UserExperienceOnPlanRelatedBundle( | ||
472 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
473 | __in_z LPCWSTR wzBundleId, | ||
474 | __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState | ||
475 | ); | ||
476 | BAAPI UserExperienceOnPlanPatchTarget( | ||
477 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
478 | __in_z LPCWSTR wzPackageId, | ||
479 | __in_z LPCWSTR wzProductCode, | ||
480 | __inout BOOTSTRAPPER_REQUEST_STATE* pRequestedState | ||
481 | ); | ||
482 | BAAPI UserExperienceOnProgress( | ||
483 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
484 | __in BOOL fRollback, | ||
485 | __in DWORD dwProgressPercentage, | ||
486 | __in DWORD dwOverallPercentage | ||
487 | ); | ||
488 | BAAPI UserExperienceOnRegisterBegin( | ||
489 | __in BURN_USER_EXPERIENCE* pUserExperience | ||
490 | ); | ||
491 | BAAPI UserExperienceOnRegisterComplete( | ||
492 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
493 | __in HRESULT hrStatus | ||
494 | ); | ||
495 | BAAPI UserExperienceOnRollbackMsiTransactionBegin( | ||
496 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
497 | __in LPCWSTR wzTransactionId | ||
498 | ); | ||
499 | BAAPI UserExperienceOnRollbackMsiTransactionComplete( | ||
500 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
501 | __in LPCWSTR wzTransactionId, | ||
502 | __in HRESULT hrStatus | ||
503 | ); | ||
504 | BAAPI UserExperienceOnShutdown( | ||
505 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
506 | __inout BOOTSTRAPPER_SHUTDOWN_ACTION* pAction | ||
507 | ); | ||
508 | BAAPI UserExperienceOnStartup( | ||
509 | __in BURN_USER_EXPERIENCE* pUserExperience | ||
510 | ); | ||
511 | BAAPI UserExperienceOnSystemRestorePointBegin( | ||
512 | __in BURN_USER_EXPERIENCE* pUserExperience | ||
513 | ); | ||
514 | BAAPI UserExperienceOnSystemRestorePointComplete( | ||
515 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
516 | __in HRESULT hrStatus | ||
517 | ); | ||
518 | BAAPI UserExperienceOnSystemShutdown( | ||
519 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
520 | __in DWORD dwEndSession, | ||
521 | __inout BOOL* pfCancel | ||
522 | ); | ||
523 | BAAPI UserExperienceOnUnregisterBegin( | ||
524 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
525 | __inout BOOL* pfKeepRegistration | ||
526 | ); | ||
527 | BAAPI UserExperienceOnUnregisterComplete( | ||
528 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
529 | __in HRESULT hrStatus | ||
530 | ); | ||
531 | int UserExperienceCheckExecuteResult( | ||
532 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
533 | __in BOOL fRollback, | ||
534 | __in DWORD dwAllowedResults, | ||
535 | __in int nResult | ||
536 | ); | ||
537 | HRESULT UserExperienceInterpretExecuteResult( | ||
538 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
539 | __in BOOL fRollback, | ||
540 | __in DWORD dwAllowedResults, | ||
541 | __in int nResult | ||
542 | ); | ||
543 | #if defined(__cplusplus) | ||
544 | } | ||
545 | #endif | ||