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