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