diff options
Diffstat (limited to '')
-rw-r--r-- | src/balutil/inc/BalBaseBAFunctions.h | 700 |
1 files changed, 700 insertions, 0 deletions
diff --git a/src/balutil/inc/BalBaseBAFunctions.h b/src/balutil/inc/BalBaseBAFunctions.h new file mode 100644 index 00000000..dd190ee9 --- /dev/null +++ b/src/balutil/inc/BalBaseBAFunctions.h | |||
@@ -0,0 +1,700 @@ | |||
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 | |||
18 | class CBalBaseBAFunctions : public IBAFunctions | ||
19 | { | ||
20 | public: // 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 | |||
71 | public: // IBootstrapperApplication | ||
72 | virtual STDMETHODIMP OnStartup() | ||
73 | { | ||
74 | return S_OK; | ||
75 | } | ||
76 | |||
77 | virtual STDMETHODIMP OnShutdown( | ||
78 | __inout BOOTSTRAPPER_SHUTDOWN_ACTION* /*pAction*/ | ||
79 | ) | ||
80 | { | ||
81 | return S_OK; | ||
82 | } | ||
83 | |||
84 | virtual STDMETHODIMP OnSystemShutdown( | ||
85 | __in DWORD /*dwEndSession*/, | ||
86 | __inout BOOL* /*pfCancel*/ | ||
87 | ) | ||
88 | { | ||
89 | return S_OK; | ||
90 | } | ||
91 | |||
92 | virtual STDMETHODIMP OnDetectBegin( | ||
93 | __in BOOL /*fInstalled*/, | ||
94 | __in DWORD /*cPackages*/, | ||
95 | __inout BOOL* /*pfCancel*/ | ||
96 | ) | ||
97 | { | ||
98 | return S_OK; | ||
99 | } | ||
100 | |||
101 | virtual STDMETHODIMP OnDetectForwardCompatibleBundle( | ||
102 | __in_z LPCWSTR /*wzBundleId*/, | ||
103 | __in BOOTSTRAPPER_RELATION_TYPE /*relationType*/, | ||
104 | __in_z LPCWSTR /*wzBundleTag*/, | ||
105 | __in BOOL /*fPerMachine*/, | ||
106 | __in DWORD64 /*dw64Version*/, | ||
107 | __inout BOOL* /*pfCancel*/, | ||
108 | __inout BOOL* /*pfIgnoreBundle*/ | ||
109 | ) | ||
110 | { | ||
111 | return S_OK; | ||
112 | } | ||
113 | |||
114 | virtual STDMETHODIMP OnDetectUpdateBegin( | ||
115 | __in_z LPCWSTR /*wzUpdateLocation*/, | ||
116 | __inout BOOL* /*pfCancel*/, | ||
117 | __inout BOOL* /*pfSkip*/ | ||
118 | ) | ||
119 | { | ||
120 | return S_OK; | ||
121 | } | ||
122 | |||
123 | virtual STDMETHODIMP OnDetectUpdate( | ||
124 | __in_z LPCWSTR /*wzUpdateLocation*/, | ||
125 | __in DWORD64 /*dw64Size*/, | ||
126 | __in DWORD64 /*dw64Version*/, | ||
127 | __in_z LPCWSTR /*wzTitle*/, | ||
128 | __in_z LPCWSTR /*wzSummary*/, | ||
129 | __in_z LPCWSTR /*wzContentType*/, | ||
130 | __in_z LPCWSTR /*wzContent*/, | ||
131 | __inout BOOL* /*pfCancel*/, | ||
132 | __inout BOOL* /*pfStopProcessingUpdates*/ | ||
133 | ) | ||
134 | { | ||
135 | return S_OK; | ||
136 | } | ||
137 | |||
138 | virtual STDMETHODIMP OnDetectUpdateComplete( | ||
139 | __in HRESULT /*hrStatus*/, | ||
140 | __inout BOOL* /*pfIgnoreError*/ | ||
141 | ) | ||
142 | { | ||
143 | return S_OK; | ||
144 | } | ||
145 | |||
146 | virtual STDMETHODIMP OnDetectRelatedBundle( | ||
147 | __in_z LPCWSTR /*wzBundleId*/, | ||
148 | __in BOOTSTRAPPER_RELATION_TYPE /*relationType*/, | ||
149 | __in_z LPCWSTR /*wzBundleTag*/, | ||
150 | __in BOOL /*fPerMachine*/, | ||
151 | __in DWORD64 /*dw64Version*/, | ||
152 | __in BOOTSTRAPPER_RELATED_OPERATION /*operation*/, | ||
153 | __inout BOOL* /*pfCancel*/ | ||
154 | ) | ||
155 | { | ||
156 | return S_OK; | ||
157 | } | ||
158 | |||
159 | virtual STDMETHODIMP OnDetectPackageBegin( | ||
160 | __in_z LPCWSTR /*wzPackageId*/, | ||
161 | __inout BOOL* /*pfCancel*/ | ||
162 | ) | ||
163 | { | ||
164 | return S_OK; | ||
165 | } | ||
166 | |||
167 | virtual STDMETHODIMP OnDetectCompatibleMsiPackage( | ||
168 | __in_z LPCWSTR /*wzPackageId*/, | ||
169 | __in_z LPCWSTR /*wzCompatiblePackageId*/, | ||
170 | __in DWORD64 /*dw64CompatiblePackageVersion*/, | ||
171 | __inout BOOL* /*pfCancel*/ | ||
172 | ) | ||
173 | { | ||
174 | return S_OK; | ||
175 | } | ||
176 | |||
177 | virtual STDMETHODIMP OnDetectRelatedMsiPackage( | ||
178 | __in_z LPCWSTR /*wzPackageId*/, | ||
179 | __in_z LPCWSTR /*wzUpgradeCode*/, | ||
180 | __in_z LPCWSTR /*wzProductCode*/, | ||
181 | __in BOOL /*fPerMachine*/, | ||
182 | __in DWORD64 /*dw64Version*/, | ||
183 | __in BOOTSTRAPPER_RELATED_OPERATION /*operation*/, | ||
184 | __inout BOOL* /*pfCancel*/ | ||
185 | ) | ||
186 | { | ||
187 | return S_OK; | ||
188 | } | ||
189 | |||
190 | virtual STDMETHODIMP OnDetectTargetMsiPackage( | ||
191 | __in_z LPCWSTR /*wzPackageId*/, | ||
192 | __in_z LPCWSTR /*wzProductCode*/, | ||
193 | __in BOOTSTRAPPER_PACKAGE_STATE /*patchState*/, | ||
194 | __inout BOOL* /*pfCancel*/ | ||
195 | ) | ||
196 | { | ||
197 | return S_OK; | ||
198 | } | ||
199 | |||
200 | virtual STDMETHODIMP OnDetectMsiFeature( | ||
201 | __in_z LPCWSTR /*wzPackageId*/, | ||
202 | __in_z LPCWSTR /*wzFeatureId*/, | ||
203 | __in BOOTSTRAPPER_FEATURE_STATE /*state*/, | ||
204 | __inout BOOL* /*pfCancel*/ | ||
205 | ) | ||
206 | { | ||
207 | return S_OK; | ||
208 | } | ||
209 | |||
210 | virtual STDMETHODIMP OnDetectPackageComplete( | ||
211 | __in_z LPCWSTR /*wzPackageId*/, | ||
212 | __in HRESULT /*hrStatus*/, | ||
213 | __in BOOTSTRAPPER_PACKAGE_STATE /*state*/ | ||
214 | ) | ||
215 | { | ||
216 | return S_OK; | ||
217 | } | ||
218 | |||
219 | virtual STDMETHODIMP OnDetectComplete( | ||
220 | __in HRESULT /*hrStatus*/ | ||
221 | ) | ||
222 | { | ||
223 | return S_OK; | ||
224 | } | ||
225 | |||
226 | virtual STDMETHODIMP OnPlanBegin( | ||
227 | __in DWORD /*cPackages*/, | ||
228 | __inout BOOL* /*pfCancel*/ | ||
229 | ) | ||
230 | { | ||
231 | return S_OK; | ||
232 | } | ||
233 | |||
234 | virtual STDMETHODIMP OnPlanRelatedBundle( | ||
235 | __in_z LPCWSTR /*wzBundleId*/, | ||
236 | __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, | ||
237 | __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/, | ||
238 | __inout BOOL* /*pfCancel*/ | ||
239 | ) | ||
240 | { | ||
241 | return S_OK; | ||
242 | } | ||
243 | |||
244 | virtual STDMETHODIMP OnPlanPackageBegin( | ||
245 | __in_z LPCWSTR /*wzPackageId*/, | ||
246 | __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, | ||
247 | __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestState*/, | ||
248 | __inout BOOL* /*pfCancel*/ | ||
249 | ) | ||
250 | { | ||
251 | return S_OK; | ||
252 | } | ||
253 | |||
254 | virtual STDMETHODIMP OnPlanCompatibleMsiPackageBegin( | ||
255 | __in_z LPCWSTR /*wzPackageId*/, | ||
256 | __in_z LPCWSTR /*wzCompatiblePackageId*/, | ||
257 | __in DWORD64 /*dw64CompatiblePackageVersion*/, | ||
258 | __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, | ||
259 | __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/, | ||
260 | __inout BOOL* /*pfCancel*/ | ||
261 | ) | ||
262 | { | ||
263 | return S_OK; | ||
264 | } | ||
265 | |||
266 | virtual STDMETHODIMP OnPlanCompatibleMsiPackageComplete( | ||
267 | __in_z LPCWSTR /*wzPackageId*/, | ||
268 | __in_z LPCWSTR /*wzCompatiblePackageId*/, | ||
269 | __in HRESULT /*hrStatus*/, | ||
270 | __in BOOTSTRAPPER_PACKAGE_STATE /*state*/, | ||
271 | __in BOOTSTRAPPER_REQUEST_STATE /*requested*/, | ||
272 | __in BOOTSTRAPPER_ACTION_STATE /*execute*/, | ||
273 | __in BOOTSTRAPPER_ACTION_STATE /*rollback*/ | ||
274 | ) | ||
275 | { | ||
276 | return S_OK; | ||
277 | } | ||
278 | |||
279 | virtual STDMETHODIMP OnPlanTargetMsiPackage( | ||
280 | __in_z LPCWSTR /*wzPackageId*/, | ||
281 | __in_z LPCWSTR /*wzProductCode*/, | ||
282 | __in BOOTSTRAPPER_REQUEST_STATE /*recommendedState*/, | ||
283 | __inout BOOTSTRAPPER_REQUEST_STATE* /*pRequestedState*/, | ||
284 | __inout BOOL* /*pfCancel*/ | ||
285 | ) | ||
286 | { | ||
287 | return S_OK; | ||
288 | } | ||
289 | |||
290 | virtual STDMETHODIMP OnPlanMsiFeature( | ||
291 | __in_z LPCWSTR /*wzPackageId*/, | ||
292 | __in_z LPCWSTR /*wzFeatureId*/, | ||
293 | __in BOOTSTRAPPER_FEATURE_STATE /*recommendedState*/, | ||
294 | __inout BOOTSTRAPPER_FEATURE_STATE* /*pRequestedState*/, | ||
295 | __inout BOOL* /*pfCancel*/ | ||
296 | ) | ||
297 | { | ||
298 | return S_OK; | ||
299 | } | ||
300 | |||
301 | virtual STDMETHODIMP OnPlanPackageComplete( | ||
302 | __in_z LPCWSTR /*wzPackageId*/, | ||
303 | __in HRESULT /*hrStatus*/, | ||
304 | __in BOOTSTRAPPER_PACKAGE_STATE /*state*/, | ||
305 | __in BOOTSTRAPPER_REQUEST_STATE /*requested*/, | ||
306 | __in BOOTSTRAPPER_ACTION_STATE /*execute*/, | ||
307 | __in BOOTSTRAPPER_ACTION_STATE /*rollback*/ | ||
308 | ) | ||
309 | { | ||
310 | return S_OK; | ||
311 | } | ||
312 | |||
313 | virtual STDMETHODIMP OnPlanComplete( | ||
314 | __in HRESULT /*hrStatus*/ | ||
315 | ) | ||
316 | { | ||
317 | return S_OK; | ||
318 | } | ||
319 | |||
320 | virtual STDMETHODIMP OnApplyBegin( | ||
321 | __in DWORD /*dwPhaseCount*/, | ||
322 | __inout BOOL* /*pfCancel*/ | ||
323 | ) | ||
324 | { | ||
325 | return S_OK; | ||
326 | } | ||
327 | |||
328 | virtual STDMETHODIMP OnElevateBegin( | ||
329 | __inout BOOL* /*pfCancel*/ | ||
330 | ) | ||
331 | { | ||
332 | return S_OK; | ||
333 | } | ||
334 | |||
335 | virtual STDMETHODIMP OnElevateComplete( | ||
336 | __in HRESULT /*hrStatus*/ | ||
337 | ) | ||
338 | { | ||
339 | return S_OK; | ||
340 | } | ||
341 | |||
342 | virtual STDMETHODIMP OnProgress( | ||
343 | __in DWORD /*dwProgressPercentage*/, | ||
344 | __in DWORD /*dwOverallProgressPercentage*/, | ||
345 | __inout BOOL* /*pfCancel*/ | ||
346 | ) | ||
347 | { | ||
348 | return IDNOACTION; | ||
349 | } | ||
350 | |||
351 | virtual STDMETHODIMP OnError( | ||
352 | __in BOOTSTRAPPER_ERROR_TYPE /*errorType*/, | ||
353 | __in_z LPCWSTR /*wzPackageId*/, | ||
354 | __in DWORD /*dwCode*/, | ||
355 | __in_z LPCWSTR /*wzError*/, | ||
356 | __in DWORD /*dwUIHint*/, | ||
357 | __in DWORD /*cData*/, | ||
358 | __in_ecount_z_opt(cData) LPCWSTR* /*rgwzData*/, | ||
359 | __in int /*nRecommendation*/, | ||
360 | __inout int* /*pResult*/ | ||
361 | ) | ||
362 | { | ||
363 | return S_OK; | ||
364 | } | ||
365 | |||
366 | virtual STDMETHODIMP OnRegisterBegin( | ||
367 | __inout BOOL* /*pfCancel*/ | ||
368 | ) | ||
369 | { | ||
370 | return S_OK; | ||
371 | } | ||
372 | |||
373 | virtual STDMETHODIMP OnRegisterComplete( | ||
374 | __in HRESULT /*hrStatus*/ | ||
375 | ) | ||
376 | { | ||
377 | return S_OK; | ||
378 | } | ||
379 | |||
380 | virtual STDMETHODIMP OnCacheBegin( | ||
381 | __inout BOOL* /*pfCancel*/ | ||
382 | ) | ||
383 | { | ||
384 | return S_OK; | ||
385 | } | ||
386 | |||
387 | virtual STDMETHODIMP OnCachePackageBegin( | ||
388 | __in_z LPCWSTR /*wzPackageId*/, | ||
389 | __in DWORD /*cCachePayloads*/, | ||
390 | __in DWORD64 /*dw64PackageCacheSize*/, | ||
391 | __inout BOOL* /*pfCancel*/ | ||
392 | ) | ||
393 | { | ||
394 | return S_OK; | ||
395 | } | ||
396 | |||
397 | virtual STDMETHODIMP OnCacheAcquireBegin( | ||
398 | __in_z LPCWSTR /*wzPackageOrContainerId*/, | ||
399 | __in_z_opt LPCWSTR /*wzPayloadId*/, | ||
400 | __in BOOTSTRAPPER_CACHE_OPERATION /*operation*/, | ||
401 | __in_z LPCWSTR /*wzSource*/, | ||
402 | __inout BOOL* /*pfCancel*/ | ||
403 | ) | ||
404 | { | ||
405 | return S_OK; | ||
406 | } | ||
407 | |||
408 | virtual STDMETHODIMP OnCacheAcquireProgress( | ||
409 | __in_z LPCWSTR /*wzPackageOrContainerId*/, | ||
410 | __in_z_opt LPCWSTR /*wzPayloadId*/, | ||
411 | __in DWORD64 /*dw64Progress*/, | ||
412 | __in DWORD64 /*dw64Total*/, | ||
413 | __in DWORD /*dwOverallPercentage*/, | ||
414 | __inout BOOL* /*pfCancel*/ | ||
415 | ) | ||
416 | { | ||
417 | return S_OK; | ||
418 | } | ||
419 | |||
420 | virtual STDMETHODIMP OnResolveSource( | ||
421 | __in_z LPCWSTR /*wzPackageOrContainerId*/, | ||
422 | __in_z_opt LPCWSTR /*wzPayloadId*/, | ||
423 | __in_z LPCWSTR /*wzLocalSource*/, | ||
424 | __in_z_opt LPCWSTR /*wzDownloadSource*/, | ||
425 | __in BOOTSTRAPPER_RESOLVESOURCE_ACTION /*recommendation*/, | ||
426 | __inout BOOTSTRAPPER_RESOLVESOURCE_ACTION* /*pAction*/, | ||
427 | __inout BOOL* /*pfCancel*/ | ||
428 | ) | ||
429 | { | ||
430 | return S_OK; | ||
431 | } | ||
432 | |||
433 | virtual STDMETHODIMP OnCacheAcquireComplete( | ||
434 | __in_z LPCWSTR /*wzPackageOrContainerId*/, | ||
435 | __in_z_opt LPCWSTR /*wzPayloadId*/, | ||
436 | __in HRESULT /*hrStatus*/, | ||
437 | __in BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION /*recommendation*/, | ||
438 | __inout BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION* /*pAction*/ | ||
439 | ) | ||
440 | { | ||
441 | return S_OK; | ||
442 | } | ||
443 | |||
444 | virtual STDMETHODIMP OnCacheVerifyBegin( | ||
445 | __in_z LPCWSTR /*wzPackageId*/, | ||
446 | __in_z LPCWSTR /*wzPayloadId*/, | ||
447 | __inout BOOL* /*pfCancel*/ | ||
448 | ) | ||
449 | { | ||
450 | return S_OK; | ||
451 | } | ||
452 | |||
453 | virtual STDMETHODIMP OnCacheVerifyComplete( | ||
454 | __in_z LPCWSTR /*wzPackageId*/, | ||
455 | __in_z LPCWSTR /*wzPayloadId*/, | ||
456 | __in HRESULT /*hrStatus*/, | ||
457 | __in BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION /*recommendation*/, | ||
458 | __inout BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION* /*pAction*/ | ||
459 | ) | ||
460 | { | ||
461 | return S_OK; | ||
462 | } | ||
463 | |||
464 | virtual STDMETHODIMP OnCachePackageComplete( | ||
465 | __in_z LPCWSTR /*wzPackageId*/, | ||
466 | __in HRESULT /*hrStatus*/, | ||
467 | __in BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION /*recommendation*/, | ||
468 | __inout BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION* /*pAction*/ | ||
469 | ) | ||
470 | { | ||
471 | return S_OK; | ||
472 | } | ||
473 | |||
474 | virtual STDMETHODIMP OnCacheComplete( | ||
475 | __in HRESULT /*hrStatus*/ | ||
476 | ) | ||
477 | { | ||
478 | return S_OK; | ||
479 | } | ||
480 | |||
481 | virtual STDMETHODIMP OnExecuteBegin( | ||
482 | __in DWORD /*cExecutingPackages*/, | ||
483 | __inout BOOL* /*pfCancel*/ | ||
484 | ) | ||
485 | { | ||
486 | return S_OK; | ||
487 | } | ||
488 | |||
489 | virtual STDMETHODIMP OnExecutePackageBegin( | ||
490 | __in_z LPCWSTR /*wzPackageId*/, | ||
491 | __in BOOL /*fExecute*/, | ||
492 | __inout BOOL* /*pfCancel*/ | ||
493 | ) | ||
494 | { | ||
495 | return S_OK; | ||
496 | } | ||
497 | |||
498 | virtual STDMETHODIMP OnExecutePatchTarget( | ||
499 | __in_z LPCWSTR /*wzPackageId*/, | ||
500 | __in_z LPCWSTR /*wzTargetProductCode*/, | ||
501 | __inout BOOL* /*pfCancel*/ | ||
502 | ) | ||
503 | { | ||
504 | return S_OK; | ||
505 | } | ||
506 | |||
507 | virtual STDMETHODIMP OnExecuteProgress( | ||
508 | __in_z LPCWSTR /*wzPackageId*/, | ||
509 | __in DWORD /*dwProgressPercentage*/, | ||
510 | __in DWORD /*dwOverallProgressPercentage*/, | ||
511 | __inout BOOL* /*pfCancel*/ | ||
512 | ) | ||
513 | { | ||
514 | return S_OK; | ||
515 | } | ||
516 | |||
517 | virtual STDMETHODIMP OnExecuteMsiMessage( | ||
518 | __in_z LPCWSTR /*wzPackageId*/, | ||
519 | __in INSTALLMESSAGE /*messageType*/, | ||
520 | __in DWORD /*dwUIHint*/, | ||
521 | __in_z LPCWSTR /*wzMessage*/, | ||
522 | __in DWORD /*cData*/, | ||
523 | __in_ecount_z_opt(cData) LPCWSTR* /*rgwzData*/, | ||
524 | __in int /*nRecommendation*/, | ||
525 | __inout int* /*pResult*/ | ||
526 | ) | ||
527 | { | ||
528 | return S_OK; | ||
529 | } | ||
530 | |||
531 | virtual STDMETHODIMP OnExecuteFilesInUse( | ||
532 | __in_z LPCWSTR /*wzPackageId*/, | ||
533 | __in DWORD /*cFiles*/, | ||
534 | __in_ecount_z(cFiles) LPCWSTR* /*rgwzFiles*/, | ||
535 | __in int /*nRecommendation*/, | ||
536 | __inout int* /*pResult*/ | ||
537 | ) | ||
538 | { | ||
539 | return S_OK; | ||
540 | } | ||
541 | |||
542 | virtual STDMETHODIMP OnExecutePackageComplete( | ||
543 | __in_z LPCWSTR /*wzPackageId*/, | ||
544 | __in HRESULT /*hrStatus*/, | ||
545 | __in BOOTSTRAPPER_APPLY_RESTART /*restart*/, | ||
546 | __in BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION /*recommendation*/, | ||
547 | __inout BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION* /*pAction*/ | ||
548 | ) | ||
549 | { | ||
550 | return S_OK; | ||
551 | } | ||
552 | |||
553 | virtual STDMETHODIMP OnExecuteComplete( | ||
554 | __in HRESULT /*hrStatus*/ | ||
555 | ) | ||
556 | { | ||
557 | return S_OK; | ||
558 | } | ||
559 | |||
560 | virtual STDMETHODIMP OnUnregisterBegin( | ||
561 | __inout BOOL* /*pfCancel*/ | ||
562 | ) | ||
563 | { | ||
564 | return S_OK; | ||
565 | } | ||
566 | |||
567 | virtual STDMETHODIMP OnUnregisterComplete( | ||
568 | __in HRESULT /*hrStatus*/ | ||
569 | ) | ||
570 | { | ||
571 | return S_OK; | ||
572 | } | ||
573 | |||
574 | virtual STDMETHODIMP OnApplyComplete( | ||
575 | __in HRESULT /*hrStatus*/, | ||
576 | __in BOOTSTRAPPER_APPLY_RESTART /*restart*/, | ||
577 | __in BOOTSTRAPPER_APPLYCOMPLETE_ACTION /*recommendation*/, | ||
578 | __inout BOOTSTRAPPER_APPLYCOMPLETE_ACTION* /*pAction*/ | ||
579 | ) | ||
580 | { | ||
581 | return S_OK; | ||
582 | } | ||
583 | |||
584 | virtual STDMETHODIMP OnLaunchApprovedExeBegin( | ||
585 | __inout BOOL* /*pfCancel*/ | ||
586 | ) | ||
587 | { | ||
588 | return S_OK; | ||
589 | } | ||
590 | |||
591 | virtual STDMETHODIMP OnLaunchApprovedExeComplete( | ||
592 | __in HRESULT /*hrStatus*/, | ||
593 | __in DWORD /*dwProcessId*/ | ||
594 | ) | ||
595 | { | ||
596 | return S_OK; | ||
597 | } | ||
598 | |||
599 | virtual STDMETHODIMP_(HRESULT) BAProc( | ||
600 | __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, | ||
601 | __in const LPVOID /*pvArgs*/, | ||
602 | __inout LPVOID /*pvResults*/, | ||
603 | __in_opt LPVOID /*pvContext*/ | ||
604 | ) | ||
605 | { | ||
606 | return E_NOTIMPL; | ||
607 | } | ||
608 | |||
609 | virtual STDMETHODIMP_(void) BAProcFallback( | ||
610 | __in BOOTSTRAPPER_APPLICATION_MESSAGE /*message*/, | ||
611 | __in const LPVOID /*pvArgs*/, | ||
612 | __inout LPVOID /*pvResults*/, | ||
613 | __inout HRESULT* /*phr*/, | ||
614 | __in_opt LPVOID /*pvContext*/ | ||
615 | ) | ||
616 | { | ||
617 | } | ||
618 | |||
619 | public: // IBAFunctions | ||
620 | virtual STDMETHODIMP OnPlan( | ||
621 | ) | ||
622 | { | ||
623 | return S_OK; | ||
624 | } | ||
625 | |||
626 | virtual STDMETHODIMP OnThemeLoaded( | ||
627 | THEME* pTheme, | ||
628 | WIX_LOCALIZATION* pWixLoc | ||
629 | ) | ||
630 | { | ||
631 | HRESULT hr = S_OK; | ||
632 | |||
633 | m_pTheme = pTheme; | ||
634 | m_pWixLoc = pWixLoc; | ||
635 | |||
636 | return hr; | ||
637 | } | ||
638 | |||
639 | virtual STDMETHODIMP WndProc( | ||
640 | __in THEME* pTheme, | ||
641 | __in HWND hWnd, | ||
642 | __in UINT uMsg, | ||
643 | __in WPARAM wParam, | ||
644 | __in LPARAM lParam, | ||
645 | __inout LRESULT* plRes | ||
646 | ) | ||
647 | { | ||
648 | HRESULT hr = S_OK; | ||
649 | |||
650 | *plRes = ThemeDefWindowProc(pTheme, hWnd, uMsg, wParam, lParam); | ||
651 | |||
652 | return hr; | ||
653 | } | ||
654 | |||
655 | virtual STDMETHODIMP BAFunctionsProc( | ||
656 | __in BA_FUNCTIONS_MESSAGE /*message*/, | ||
657 | __in const LPVOID /*pvArgs*/, | ||
658 | __inout LPVOID /*pvResults*/, | ||
659 | __in_opt LPVOID /*pvContext*/ | ||
660 | ) | ||
661 | { | ||
662 | return E_NOTIMPL; | ||
663 | } | ||
664 | |||
665 | protected: | ||
666 | CBalBaseBAFunctions( | ||
667 | __in HMODULE hModule, | ||
668 | __in IBootstrapperEngine* pEngine, | ||
669 | __in const BA_FUNCTIONS_CREATE_ARGS* pArgs | ||
670 | ) | ||
671 | { | ||
672 | m_cReferences = 1; | ||
673 | m_hModule = hModule; | ||
674 | pEngine->AddRef(); | ||
675 | m_pEngine = pEngine; | ||
676 | |||
677 | memcpy_s(&m_command, sizeof(m_command), pArgs->pBootstrapperCreateArgs->pCommand, sizeof(BOOTSTRAPPER_COMMAND)); | ||
678 | memcpy_s(&m_baCreateArgs, sizeof(m_baCreateArgs), pArgs->pBootstrapperCreateArgs, sizeof(BOOTSTRAPPER_CREATE_ARGS)); | ||
679 | memcpy_s(&m_bafCreateArgs, sizeof(m_bafCreateArgs), pArgs, sizeof(BA_FUNCTIONS_CREATE_ARGS)); | ||
680 | m_baCreateArgs.pCommand = &m_command; | ||
681 | m_bafCreateArgs.pBootstrapperCreateArgs = &m_baCreateArgs; | ||
682 | } | ||
683 | |||
684 | virtual ~CBalBaseBAFunctions() | ||
685 | { | ||
686 | ReleaseNullObject(m_pEngine); | ||
687 | } | ||
688 | |||
689 | private: | ||
690 | long m_cReferences; | ||
691 | |||
692 | protected: | ||
693 | IBootstrapperEngine* m_pEngine; | ||
694 | HMODULE m_hModule; | ||
695 | BA_FUNCTIONS_CREATE_ARGS m_bafCreateArgs; | ||
696 | BOOTSTRAPPER_CREATE_ARGS m_baCreateArgs; | ||
697 | BOOTSTRAPPER_COMMAND m_command; | ||
698 | THEME* m_pTheme; | ||
699 | WIX_LOCALIZATION* m_pWixLoc; | ||
700 | }; | ||