aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/balutil/inc/BalBaseBAFunctions.h
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2021-04-22 05:46:03 -0700
committerRob Mensching <rob@firegiant.com>2021-04-29 16:41:44 -0700
commitc00516901e6b67e398396b14fe7682d0376f8643 (patch)
treeb0d62089a1c5700c7f2c3e3790750bf2d8ea33c0 /src/api/burn/balutil/inc/BalBaseBAFunctions.h
parent8eb98efd2175d9ece2e4639d43081667af9a4990 (diff)
downloadwix-c00516901e6b67e398396b14fe7682d0376f8643.tar.gz
wix-c00516901e6b67e398396b14fe7682d0376f8643.tar.bz2
wix-c00516901e6b67e398396b14fe7682d0376f8643.zip
Move balutil into API/burn
Diffstat (limited to 'src/api/burn/balutil/inc/BalBaseBAFunctions.h')
-rw-r--r--src/api/burn/balutil/inc/BalBaseBAFunctions.h867
1 files changed, 867 insertions, 0 deletions
diff --git a/src/api/burn/balutil/inc/BalBaseBAFunctions.h b/src/api/burn/balutil/inc/BalBaseBAFunctions.h
new file mode 100644
index 00000000..ee2e452f
--- /dev/null
+++ b/src/api/burn/balutil/inc/BalBaseBAFunctions.h
@@ -0,0 +1,867 @@
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
5#include <windows.h>
6#include <msiquery.h>
7
8#include "dutil.h"
9#include "locutil.h"
10#include "thmutil.h"
11#include "BAFunctions.h"
12#include "IBAFunctions.h"
13#include "BootstrapperEngine.h"
14#include "BootstrapperApplication.h"
15#include "IBootstrapperEngine.h"
16#include "IBootstrapperApplication.h"
17
18class CBalBaseBAFunctions : public IBAFunctions
19{
20public: // IUnknown
21 virtual STDMETHODIMP QueryInterface(
22 __in REFIID riid,
23 __out LPVOID *ppvObject
24 )
25 {
26 if (!ppvObject)
27 {
28 return E_INVALIDARG;
29 }
30
31 *ppvObject = NULL;
32
33 if (::IsEqualIID(__uuidof(IBAFunctions), riid))
34 {
35 *ppvObject = static_cast<IBAFunctions*>(this);
36 }
37 else if (::IsEqualIID(__uuidof(IBootstrapperApplication), riid))
38 {
39 *ppvObject = static_cast<IBootstrapperApplication*>(this);
40 }
41 else if (::IsEqualIID(IID_IUnknown, riid))
42 {
43 *ppvObject = static_cast<IUnknown*>(this);
44 }
45 else // no interface for requested iid
46 {
47 return E_NOINTERFACE;
48 }
49
50 AddRef();
51 return S_OK;
52 }
53
54 virtual STDMETHODIMP_(ULONG) AddRef()
55 {
56 return ::InterlockedIncrement(&this->m_cReferences);
57 }
58
59 virtual STDMETHODIMP_(ULONG) Release()
60 {
61 long l = ::InterlockedDecrement(&this->m_cReferences);
62 if (0 < l)
63 {
64 return l;
65 }
66
67 delete this;
68 return 0;
69 }
70
71public: // IBootstrapperApplication
72 virtual STDMETHODIMP_(HRESULT) BAProc(
73 __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/,
74 __in const LPVOID /*pvArgs*/,
75 __inout LPVOID /*pvResults*/,
76 __in_opt LPVOID /*pvContext*/
77 )
78 {
79 return E_NOTIMPL;
80 }
81
82 virtual STDMETHODIMP_(void) BAProcFallback(
83 __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/,
84 __in const LPVOID /*pvArgs*/,
85 __inout LPVOID /*pvResults*/,
86 __inout HRESULT* /*phr*/,
87 __in_opt LPVOID /*pvContext*/
88 )
89 {
90 }
91
92 virtual STDMETHODIMP OnStartup()
93 {
94 return S_OK;
95 }
96
97 virtual STDMETHODIMP OnShutdown(
98 __inout BOOTSTRAPPER_SHUTDOWN_ACTION* /*pAction*/
99 )
100 {
101 return S_OK;
102 }
103
104 virtual STDMETHODIMP OnSystemShutdown(
105 __in DWORD /*dwEndSession*/,
106 __inout BOOL* /*pfCancel*/
107 )
108 {
109 return S_OK;
110 }
111
112 virtual STDMETHODIMP OnDetectBegin(
113 __in BOOL /*fCached*/,
114 __in BOOL /*fInstalled*/,
115 __in DWORD /*cPackages*/,
116 __inout BOOL* /*pfCancel*/
117 )
118 {
119 return S_OK;
120 }
121
122 virtual STDMETHODIMP OnDetectForwardCompatibleBundle(
123 __in_z LPCWSTR /*wzBundleId*/,
124 __in BOOTSTRAPPER_RELATION_TYPE /*relationType*/,
125 __in_z LPCWSTR /*wzBundleTag*/,
126 __in BOOL /*fPerMachine*/,
127 __in LPCWSTR /*wzVersion*/,
128 __in BOOL /*fMissingFromCache*/,
129 __inout BOOL* /*pfCancel*/
130 )
131 {
132 return S_OK;
133 }
134
135 virtual STDMETHODIMP OnDetectUpdateBegin(
136 __in_z LPCWSTR /*wzUpdateLocation*/,
137 __inout BOOL* /*pfCancel*/,
138 __inout BOOL* /*pfSkip*/
139 )
140 {
141 return S_OK;
142 }
143
144 virtual STDMETHODIMP OnDetectUpdate(
145 __in_z LPCWSTR /*wzUpdateLocation*/,
146 __in DWORD64 /*dw64Size*/,
147 __in LPCWSTR /*wzVersion*/,
148 __in_z LPCWSTR /*wzTitle*/,
149 __in_z LPCWSTR /*wzSummary*/,
150 __in_z LPCWSTR /*wzContentType*/,
151 __in_z LPCWSTR /*wzContent*/,
152 __inout BOOL* /*pfCancel*/,
153 __inout BOOL* /*pfStopProcessingUpdates*/
154 )
155 {
156 return S_OK;
157 }
158
159 virtual STDMETHODIMP OnDetectUpdateComplete(
160 __in HRESULT /*hrStatus*/,
161 __inout BOOL* /*pfIgnoreError*/
162 )
163 {
164 return S_OK;
165 }
166
167 virtual STDMETHODIMP OnDetectRelatedBundle(
168 __in_z LPCWSTR /*wzBundleId*/,
169 __in BOOTSTRAPPER_RELATION_TYPE /*relationType*/,
170 __in_z LPCWSTR /*wzBundleTag*/,
171 __in BOOL /*fPerMachine*/,
172 __in LPCWSTR /*wzVersion*/,
173 __in BOOTSTRAPPER_RELATED_OPERATION /*operation*/,
174 __in BOOL /*fMissingFromCache*/,
175 __inout BOOL* /*pfCancel*/
176 )
177 {
178 return S_OK;
179 }
180
181 virtual STDMETHODIMP OnDetectPackageBegin(
182 __in_z LPCWSTR /*wzPackageId*/,
183 __inout BOOL* /*pfCancel*/
184 )
185 {
186 return S_OK;
187 }
188
189 virtual STDMETHODIMP OnDetectRelatedMsiPackage(
190 __in_z LPCWSTR /*wzPackageId*/,
191 __in_z LPCWSTR /*wzUpgradeCode*/,
192 __in_z LPCWSTR /*wzProductCode*/,
193 __in BOOL /*fPerMachine*/,
194 __in LPCWSTR /*wzVersion*/,
195 __in BOOTSTRAPPER_RELATED_OPERATION /*operation*/,
196 __inout BOOL* /*pfCancel*/
197 )
198 {
199 return S_OK;
200 }
201
202 virtual STDMETHODIMP OnDetectPatchTarget(
203 __in_z LPCWSTR /*wzPackageId*/,
204 __in_z LPCWSTR /*wzProductCode*/,
205 __in BOOTSTRAPPER_PACKAGE_STATE /*patchState*/,
206 __inout BOOL* /*pfCancel*/
207 )
208 {
209 return S_OK;
210 }
211
212 virtual STDMETHODIMP OnDetectMsiFeature(
213 __in_z LPCWSTR /*wzPackageId*/,
214 __in_z LPCWSTR /*wzFeatureId*/,
215 __in BOOTSTRAPPER_FEATURE_STATE /*state*/,
216 __inout BOOL* /*pfCancel*/
217 )
218 {
219 return S_OK;
220 }
221
222 virtual STDMETHODIMP OnDetectPackageComplete(
223 __in_z LPCWSTR /*wzPackageId*/,
224 __in HRESULT /*hrStatus*/,
225 __in BOOTSTRAPPER_PACKAGE_STATE /*state*/,
226 __in BOOL /*fCached*/
227 )
228 {
229 return S_OK;
230 }
231
232 virtual STDMETHODIMP OnDetectComplete(
233 __in HRESULT /*hrStatus*/,
234 __in BOOL /*fEligibleForCleanup*/
235 )
236 {
237 return S_OK;
238 }
239
240 virtual STDMETHODIMP OnPlanBegin(
241 __in DWORD /*cPackages*/,
242 __inout BOOL* /*pfCancel*/
243 )
244 {
245 return S_OK;
246 }
247
248 virtual STDMETHODIMP OnPlanRelatedBundle(
249 __in_z LPCWSTR /*wzBundleId*/,
250 __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/,
251 __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/,
252 __inout BOOL* /*pfCancel*/
253 )
254 {
255 return S_OK;
256 }
257
258 virtual STDMETHODIMP OnPlanPackageBegin(
259 __in_z LPCWSTR /*wzPackageId*/,
260 __in BOOTSTRAPPER_PACKAGE_STATE /*state*/,
261 __in BOOL /*fCached*/,
262 __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT /*installCondition*/,
263 __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/,
264 __in BOOTSTRAPPER_CACHE_TYPE /*recommendedCacheType*/,
265 __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestState*/,
266 __inout BOOTSTRAPPER_CACHE_TYPE* /*pRequestedCacheType*/,
267 __inout BOOL* /*pfCancel*/
268 )
269 {
270 return S_OK;
271 }
272
273 virtual STDMETHODIMP OnPlanPatchTarget(
274 __in_z LPCWSTR /*wzPackageId*/,
275 __in_z LPCWSTR /*wzProductCode*/,
276 __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/,
277 __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/,
278 __inout BOOL* /*pfCancel*/
279 )
280 {
281 return S_OK;
282 }
283
284 virtual STDMETHODIMP OnPlanMsiFeature(
285 __in_z LPCWSTR /*wzPackageId*/,
286 __in_z LPCWSTR /*wzFeatureId*/,
287 __in BOOTSTRAPPER_FEATURE_STATE /*recommendedState*/,
288 __inout BOOTSTRAPPER_FEATURE_STATE* /*pRequestedState*/,
289 __inout BOOL* /*pfCancel*/
290 )
291 {
292 return S_OK;
293 }
294
295 virtual STDMETHODIMP OnPlanMsiPackage(
296 __in_z LPCWSTR /*wzPackageId*/,
297 __in BOOL /*fExecute*/,
298 __in BOOTSTRAPPER_ACTION_STATE /*action*/,
299 __inout BOOL* /*pfCancel*/,
300 __inout BURN_MSI_PROPERTY* /*pActionMsiProperty*/,
301 __inout INSTALLUILEVEL* /*pUiLevel*/,
302 __inout BOOL* /*pfDisableExternalUiHandler*/
303 )
304 {
305 return S_OK;
306 }
307
308 virtual STDMETHODIMP OnPlanPackageComplete(
309 __in_z LPCWSTR /*wzPackageId*/,
310 __in HRESULT /*hrStatus*/,
311 __in BOOTSTRAPPER_REQUEST_STATE /*requested*/
312 )
313 {
314 return S_OK;
315 }
316
317 virtual STDMETHODIMP OnPlannedPackage(
318 __in_z LPCWSTR /*wzPackageId*/,
319 __in BOOTSTRAPPER_ACTION_STATE /*execute*/,
320 __in BOOTSTRAPPER_ACTION_STATE /*rollback*/,
321 __in BOOL /*fPlannedCache*/,
322 __in BOOL /*fPlannedUncache*/
323 )
324 {
325 return S_OK;
326 }
327
328 virtual STDMETHODIMP OnPlanComplete(
329 __in HRESULT /*hrStatus*/
330 )
331 {
332 return S_OK;
333 }
334
335 virtual STDMETHODIMP OnApplyBegin(
336 __in DWORD /*dwPhaseCount*/,
337 __inout BOOL* /*pfCancel*/
338 )
339 {
340 return S_OK;
341 }
342
343 virtual STDMETHODIMP OnElevateBegin(
344 __inout BOOL* /*pfCancel*/
345 )
346 {
347 return S_OK;
348 }
349
350 virtual STDMETHODIMP OnElevateComplete(
351 __in HRESULT /*hrStatus*/
352 )
353 {
354 return S_OK;
355 }
356
357 virtual STDMETHODIMP OnProgress(
358 __in DWORD /*dwProgressPercentage*/,
359 __in DWORD /*dwOverallProgressPercentage*/,
360 __inout BOOL* /*pfCancel*/
361 )
362 {
363 return IDNOACTION;
364 }
365
366 virtual STDMETHODIMP OnError(
367 __in BOOTSTRAPPER_ERROR_TYPE /*errorType*/,
368 __in_z LPCWSTR /*wzPackageId*/,
369 __in DWORD /*dwCode*/,
370 __in_z LPCWSTR /*wzError*/,
371 __in DWORD /*dwUIHint*/,
372 __in DWORD /*cData*/,
373 __in_ecount_z_opt(cData) LPCWSTR* /*rgwzData*/,
374 __in int /*nRecommendation*/,
375 __inout int* /*pResult*/
376 )
377 {
378 return S_OK;
379 }
380
381 virtual STDMETHODIMP OnRegisterBegin(
382 __inout BOOL* /*pfCancel*/
383 )
384 {
385 return S_OK;
386 }
387
388 virtual STDMETHODIMP OnRegisterComplete(
389 __in HRESULT /*hrStatus*/
390 )
391 {
392 return S_OK;
393 }
394
395 virtual STDMETHODIMP OnCacheBegin(
396 __inout BOOL* /*pfCancel*/
397 )
398 {
399 return S_OK;
400 }
401
402 virtual STDMETHODIMP OnCachePackageBegin(
403 __in_z LPCWSTR /*wzPackageId*/,
404 __in DWORD /*cCachePayloads*/,
405 __in DWORD64 /*dw64PackageCacheSize*/,
406 __inout BOOL* /*pfCancel*/
407 )
408 {
409 return S_OK;
410 }
411
412 virtual STDMETHODIMP OnCacheAcquireBegin(
413 __in_z LPCWSTR /*wzPackageOrContainerId*/,
414 __in_z_opt LPCWSTR /*wzPayloadId*/,
415 __in_z LPCWSTR /*wzSource*/,
416 __in_z_opt LPCWSTR /*wzDownloadUrl*/,
417 __in_z_opt LPCWSTR /*wzPayloadContainerId*/,
418 __in BOOTSTRAPPER_CACHE_OPERATION /*recommendation*/,
419 __inout BOOTSTRAPPER_CACHE_OPERATION* /*pAction*/,
420 __inout BOOL* /*pfCancel*/
421 )
422 {
423 return S_OK;
424 }
425
426 virtual STDMETHODIMP OnCacheAcquireProgress(
427 __in_z LPCWSTR /*wzPackageOrContainerId*/,
428 __in_z_opt LPCWSTR /*wzPayloadId*/,
429 __in DWORD64 /*dw64Progress*/,
430 __in DWORD64 /*dw64Total*/,
431 __in DWORD /*dwOverallPercentage*/,
432 __inout BOOL* /*pfCancel*/
433 )
434 {
435 return S_OK;
436 }
437
438 virtual STDMETHODIMP OnCacheAcquireResolving(
439 __in_z_opt LPCWSTR /*wzPackageOrContainerId*/,
440 __in_z_opt LPCWSTR /*wzPayloadId*/,
441 __in_z LPCWSTR* /*rgSearchPaths*/,
442 __in DWORD /*cSearchPaths*/,
443 __in BOOL /*fFoundLocal*/,
444 __in DWORD /*dwRecommendedSearchPath*/,
445 __in_z_opt LPCWSTR /*wzDownloadUrl*/,
446 __in_z_opt LPCWSTR /*wzPayloadContainerId*/,
447 __in BOOTSTRAPPER_CACHE_RESOLVE_OPERATION /*recommendation*/,
448 __inout DWORD* /*pdwChosenSearchPath*/,
449 __inout BOOTSTRAPPER_CACHE_RESOLVE_OPERATION* /*pAction*/,
450 __inout BOOL* /*pfCancel*/
451 )
452 {
453 return S_OK;
454 }
455
456 virtual STDMETHODIMP OnCacheAcquireComplete(
457 __in_z LPCWSTR /*wzPackageOrContainerId*/,
458 __in_z_opt LPCWSTR /*wzPayloadId*/,
459 __in HRESULT /*hrStatus*/,
460 __in BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION /*recommendation*/,
461 __inout BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION* /*pAction*/
462 )
463 {
464 return S_OK;
465 }
466
467 virtual STDMETHODIMP OnCacheVerifyBegin(
468 __in_z LPCWSTR /*wzPackageOrContainerId*/,
469 __in_z LPCWSTR /*wzPayloadId*/,
470 __inout BOOL* /*pfCancel*/
471 )
472 {
473 return S_OK;
474 }
475
476 virtual STDMETHODIMP OnCacheVerifyProgress(
477 __in_z_opt LPCWSTR /*wzPackageOrContainerId*/,
478 __in_z_opt LPCWSTR /*wzPayloadId*/,
479 __in DWORD64 /*dw64Progress*/,
480 __in DWORD64 /*dw64Total*/,
481 __in DWORD /*dwOverallPercentage*/,
482 __in BOOTSTRAPPER_CACHE_VERIFY_STEP /*verifyStep*/,
483 __inout BOOL* /*pfCancel*/
484 )
485 {
486 return S_OK;
487 }
488
489 virtual STDMETHODIMP OnCacheVerifyComplete(
490 __in_z LPCWSTR /*wzPackageOrContainerId*/,
491 __in_z LPCWSTR /*wzPayloadId*/,
492 __in HRESULT /*hrStatus*/,
493 __in BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION /*recommendation*/,
494 __inout BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION* /*pAction*/
495 )
496 {
497 return S_OK;
498 }
499
500 virtual STDMETHODIMP OnCachePackageComplete(
501 __in_z LPCWSTR /*wzPackageId*/,
502 __in HRESULT /*hrStatus*/,
503 __in BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION /*recommendation*/,
504 __inout BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION* /*pAction*/
505 )
506 {
507 return S_OK;
508 }
509
510 virtual STDMETHODIMP OnCacheComplete(
511 __in HRESULT /*hrStatus*/
512 )
513 {
514 return S_OK;
515 }
516
517 virtual STDMETHODIMP OnExecuteBegin(
518 __in DWORD /*cExecutingPackages*/,
519 __inout BOOL* /*pfCancel*/
520 )
521 {
522 return S_OK;
523 }
524
525 virtual STDMETHODIMP OnExecutePackageBegin(
526 __in_z LPCWSTR /*wzPackageId*/,
527 __in BOOL /*fExecute*/,
528 __in BOOTSTRAPPER_ACTION_STATE /*action*/,
529 __in INSTALLUILEVEL /*uiLevel*/,
530 __in BOOL /*fDisableExternalUiHandler*/,
531 __inout BOOL* /*pfCancel*/
532 )
533 {
534 return S_OK;
535 }
536
537 virtual STDMETHODIMP OnExecutePatchTarget(
538 __in_z LPCWSTR /*wzPackageId*/,
539 __in_z LPCWSTR /*wzTargetProductCode*/,
540 __inout BOOL* /*pfCancel*/
541 )
542 {
543 return S_OK;
544 }
545
546 virtual STDMETHODIMP OnExecuteProgress(
547 __in_z LPCWSTR /*wzPackageId*/,
548 __in DWORD /*dwProgressPercentage*/,
549 __in DWORD /*dwOverallProgressPercentage*/,
550 __inout BOOL* /*pfCancel*/
551 )
552 {
553 return S_OK;
554 }
555
556 virtual STDMETHODIMP OnExecuteMsiMessage(
557 __in_z LPCWSTR /*wzPackageId*/,
558 __in INSTALLMESSAGE /*messageType*/,
559 __in DWORD /*dwUIHint*/,
560 __in_z LPCWSTR /*wzMessage*/,
561 __in DWORD /*cData*/,
562 __in_ecount_z_opt(cData) LPCWSTR* /*rgwzData*/,
563 __in int /*nRecommendation*/,
564 __inout int* /*pResult*/
565 )
566 {
567 return S_OK;
568 }
569
570 virtual STDMETHODIMP OnExecuteFilesInUse(
571 __in_z LPCWSTR /*wzPackageId*/,
572 __in DWORD /*cFiles*/,
573 __in_ecount_z(cFiles) LPCWSTR* /*rgwzFiles*/,
574 __in int /*nRecommendation*/,
575 __inout int* /*pResult*/
576 )
577 {
578 return S_OK;
579 }
580
581 virtual STDMETHODIMP OnExecutePackageComplete(
582 __in_z LPCWSTR /*wzPackageId*/,
583 __in HRESULT /*hrStatus*/,
584 __in BOOTSTRAPPER_APPLY_RESTART /*restart*/,
585 __in BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION /*recommendation*/,
586 __inout BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION* /*pAction*/
587 )
588 {
589 return S_OK;
590 }
591
592 virtual STDMETHODIMP OnExecuteComplete(
593 __in HRESULT /*hrStatus*/
594 )
595 {
596 return S_OK;
597 }
598
599 virtual STDMETHODIMP OnUnregisterBegin(
600 __in BOOL /*fKeepRegistration*/,
601 __inout BOOL* /*pfForceKeepRegistration*/
602 )
603 {
604 return S_OK;
605 }
606
607 virtual STDMETHODIMP OnUnregisterComplete(
608 __in HRESULT /*hrStatus*/
609 )
610 {
611 return S_OK;
612 }
613
614 virtual STDMETHODIMP OnApplyComplete(
615 __in HRESULT /*hrStatus*/,
616 __in BOOTSTRAPPER_APPLY_RESTART /*restart*/,
617 __in BOOTSTRAPPER_APPLYCOMPLETE_ACTION /*recommendation*/,
618 __inout BOOTSTRAPPER_APPLYCOMPLETE_ACTION* /*pAction*/
619 )
620 {
621 return S_OK;
622 }
623
624 virtual STDMETHODIMP OnLaunchApprovedExeBegin(
625 __inout BOOL* /*pfCancel*/
626 )
627 {
628 return S_OK;
629 }
630
631 virtual STDMETHODIMP OnLaunchApprovedExeComplete(
632 __in HRESULT /*hrStatus*/,
633 __in DWORD /*dwProcessId*/
634 )
635 {
636 return S_OK;
637 }
638
639 virtual STDMETHODIMP OnBeginMsiTransactionBegin(
640 __in_z LPCWSTR /*wzTransactionId*/,
641 __inout BOOL* /*pfCancel*/
642 )
643 {
644 return S_OK;
645 }
646
647 virtual STDMETHODIMP OnBeginMsiTransactionComplete(
648 __in_z LPCWSTR /*wzTransactionId*/,
649 __in HRESULT /*hrStatus*/
650 )
651 {
652 return S_OK;
653 }
654
655 virtual STDMETHODIMP OnCommitMsiTransactionBegin(
656 __in_z LPCWSTR /*wzTransactionId*/,
657 __inout BOOL* /*pfCancel*/
658 )
659 {
660 return S_OK;
661 }
662
663 virtual STDMETHODIMP OnCommitMsiTransactionComplete(
664 __in_z LPCWSTR /*wzTransactionId*/,
665 __in HRESULT /*hrStatus*/
666 )
667 {
668 return S_OK;
669 }
670
671 virtual STDMETHODIMP OnRollbackMsiTransactionBegin(
672 __in_z LPCWSTR /*wzTransactionId*/
673 )
674 {
675 return S_OK;
676 }
677
678 virtual STDMETHODIMP OnRollbackMsiTransactionComplete(
679 __in_z LPCWSTR /*wzTransactionId*/,
680 __in HRESULT /*hrStatus*/
681 )
682 {
683 return S_OK;
684 }
685
686 virtual STDMETHODIMP OnPauseAutomaticUpdatesBegin(
687 )
688 {
689 return S_OK;
690 }
691
692 virtual STDMETHODIMP OnPauseAutomaticUpdatesComplete(
693 __in HRESULT /*hrStatus*/
694 )
695 {
696 return S_OK;
697 }
698
699 virtual STDMETHODIMP OnSystemRestorePointBegin(
700 )
701 {
702 return S_OK;
703 }
704
705 virtual STDMETHODIMP OnSystemRestorePointComplete(
706 __in HRESULT /*hrStatus*/
707 )
708 {
709 return S_OK;
710 }
711
712 virtual STDMETHODIMP OnPlanForwardCompatibleBundle(
713 __in_z LPCWSTR /*wzBundleId*/,
714 __in BOOTSTRAPPER_RELATION_TYPE /*relationType*/,
715 __in_z LPCWSTR /*wzBundleTag*/,
716 __in BOOL /*fPerMachine*/,
717 __in LPCWSTR /*wzVersion*/,
718 __in BOOL /*fRecommendedIgnoreBundle*/,
719 __inout BOOL* /*pfCancel*/,
720 __inout BOOL* /*pfIgnoreBundle*/
721 )
722 {
723 return S_OK;
724 }
725
726 virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyBegin(
727 __in_z_opt LPCWSTR /*wzPackageOrContainerId*/,
728 __in_z_opt LPCWSTR /*wzPayloadId*/,
729 __inout BOOL* /*pfCancel*/
730 )
731 {
732 return S_OK;
733 }
734
735 virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyProgress(
736 __in_z_opt LPCWSTR /*wzPackageOrContainerId*/,
737 __in_z_opt LPCWSTR /*wzPayloadId*/,
738 __in DWORD64 /*dw64Progress*/,
739 __in DWORD64 /*dw64Total*/,
740 __in DWORD /*dwOverallPercentage*/,
741 __inout BOOL* /*pfCancel*/
742 )
743 {
744 return S_OK;
745 }
746
747 virtual STDMETHODIMP OnCacheContainerOrPayloadVerifyComplete(
748 __in_z_opt LPCWSTR /*wzPackageOrContainerId*/,
749 __in_z_opt LPCWSTR /*wzPayloadId*/,
750 __in HRESULT /*hrStatus*/
751 )
752 {
753 return S_OK;
754 }
755
756 virtual STDMETHODIMP OnCachePayloadExtractBegin(
757 __in_z_opt LPCWSTR /*wzPackageOrContainerId*/,
758 __in_z_opt LPCWSTR /*wzPayloadId*/,
759 __inout BOOL* /*pfCancel*/
760 )
761 {
762 return S_OK;
763 }
764
765 virtual STDMETHODIMP OnCachePayloadExtractProgress(
766 __in_z_opt LPCWSTR /*wzPackageOrContainerId*/,
767 __in_z_opt LPCWSTR /*wzPayloadId*/,
768 __in DWORD64 /*dw64Progress*/,
769 __in DWORD64 /*dw64Total*/,
770 __in DWORD /*dwOverallPercentage*/,
771 __inout BOOL* /*pfCancel*/
772 )
773 {
774 return S_OK;
775 }
776
777 virtual STDMETHODIMP OnCachePayloadExtractComplete(
778 __in_z_opt LPCWSTR /*wzPackageOrContainerId*/,
779 __in_z_opt LPCWSTR /*wzPayloadId*/,
780 __in HRESULT /*hrStatus*/
781 )
782 {
783 return S_OK;
784 }
785
786public: // IBAFunctions
787 virtual STDMETHODIMP OnPlan(
788 )
789 {
790 return S_OK;
791 }
792
793 virtual STDMETHODIMP OnThemeLoaded(
794 THEME* pTheme,
795 WIX_LOCALIZATION* pWixLoc
796 )
797 {
798 HRESULT hr = S_OK;
799
800 m_pTheme = pTheme;
801 m_pWixLoc = pWixLoc;
802
803 return hr;
804 }
805
806 virtual STDMETHODIMP WndProc(
807 __in THEME* pTheme,
808 __in HWND hWnd,
809 __in UINT uMsg,
810 __in WPARAM wParam,
811 __in LPARAM lParam,
812 __inout LRESULT* plRes
813 )
814 {
815 HRESULT hr = S_OK;
816
817 *plRes = ThemeDefWindowProc(pTheme, hWnd, uMsg, wParam, lParam);
818
819 return hr;
820 }
821
822 virtual STDMETHODIMP BAFunctionsProc(
823 __in BA_FUNCTIONS_MESSAGE /*message*/,
824 __in const LPVOID /*pvArgs*/,
825 __inout LPVOID /*pvResults*/,
826 __in_opt LPVOID /*pvContext*/
827 )
828 {
829 return E_NOTIMPL;
830 }
831
832protected:
833 CBalBaseBAFunctions(
834 __in HMODULE hModule,
835 __in IBootstrapperEngine* pEngine,
836 __in const BA_FUNCTIONS_CREATE_ARGS* pArgs
837 )
838 {
839 m_cReferences = 1;
840 m_hModule = hModule;
841 pEngine->AddRef();
842 m_pEngine = pEngine;
843
844 memcpy_s(&m_command, sizeof(m_command), pArgs->pBootstrapperCreateArgs->pCommand, sizeof(BOOTSTRAPPER_COMMAND));
845 memcpy_s(&m_baCreateArgs, sizeof(m_baCreateArgs), pArgs->pBootstrapperCreateArgs, sizeof(BOOTSTRAPPER_CREATE_ARGS));
846 memcpy_s(&m_bafCreateArgs, sizeof(m_bafCreateArgs), pArgs, sizeof(BA_FUNCTIONS_CREATE_ARGS));
847 m_baCreateArgs.pCommand = &m_command;
848 m_bafCreateArgs.pBootstrapperCreateArgs = &m_baCreateArgs;
849 }
850
851 virtual ~CBalBaseBAFunctions()
852 {
853 ReleaseNullObject(m_pEngine);
854 }
855
856private:
857 long m_cReferences;
858
859protected:
860 IBootstrapperEngine* m_pEngine;
861 HMODULE m_hModule;
862 BA_FUNCTIONS_CREATE_ARGS m_bafCreateArgs;
863 BOOTSTRAPPER_CREATE_ARGS m_baCreateArgs;
864 BOOTSTRAPPER_COMMAND m_command;
865 THEME* m_pTheme;
866 WIX_LOCALIZATION* m_pWixLoc;
867};