aboutsummaryrefslogtreecommitdiff
path: root/src/api/burn/WixToolset.BootstrapperCore.Native
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2024-01-11 18:26:20 -0800
committerRob Mensching <rob@firegiant.com>2024-03-06 18:03:38 -0800
commit0d3d54992104288e9ee0c834d0b96e8502fd2d42 (patch)
tree9efa49c4983cd2ba1becab64bd1f2faccac88acf /src/api/burn/WixToolset.BootstrapperCore.Native
parent2824298d9dd817a47527c920363556b54ead5d5d (diff)
downloadwix-0d3d54992104288e9ee0c834d0b96e8502fd2d42.tar.gz
wix-0d3d54992104288e9ee0c834d0b96e8502fd2d42.tar.bz2
wix-0d3d54992104288e9ee0c834d0b96e8502fd2d42.zip
Move the BootstrapperApplication out of proc
Diffstat (limited to 'src/api/burn/WixToolset.BootstrapperCore.Native')
-rw-r--r--src/api/burn/WixToolset.BootstrapperCore.Native/inc/baenginetypes.h (renamed from src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperEngine.h)146
-rw-r--r--src/api/burn/WixToolset.BootstrapperCore.Native/inc/batypes.h (renamed from src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h)451
2 files changed, 312 insertions, 285 deletions
diff --git a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperEngine.h b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/baenginetypes.h
index 96302bd1..7af41d97 100644
--- a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperEngine.h
+++ b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/baenginetypes.h
@@ -86,6 +86,7 @@ enum BOOTSTRAPPER_UPDATE_HASH_TYPE
86 86
87enum BOOTSTRAPPER_ENGINE_MESSAGE 87enum BOOTSTRAPPER_ENGINE_MESSAGE
88{ 88{
89 BOOTSTRAPPER_ENGINE_MESSAGE_UNKNOWN,
89 BOOTSTRAPPER_ENGINE_MESSAGE_GETPACKAGECOUNT, 90 BOOTSTRAPPER_ENGINE_MESSAGE_GETPACKAGECOUNT,
90 BOOTSTRAPPER_ENGINE_MESSAGE_GETVARIABLENUMERIC, 91 BOOTSTRAPPER_ENGINE_MESSAGE_GETVARIABLENUMERIC,
91 BOOTSTRAPPER_ENGINE_MESSAGE_GETVARIABLESTRING, 92 BOOTSTRAPPER_ENGINE_MESSAGE_GETVARIABLESTRING,
@@ -112,159 +113,161 @@ enum BOOTSTRAPPER_ENGINE_MESSAGE
112 BOOTSTRAPPER_ENGINE_MESSAGE_SETUPDATESOURCE, 113 BOOTSTRAPPER_ENGINE_MESSAGE_SETUPDATESOURCE,
113 BOOTSTRAPPER_ENGINE_MESSAGE_COMPAREVERSIONS, 114 BOOTSTRAPPER_ENGINE_MESSAGE_COMPAREVERSIONS,
114 BOOTSTRAPPER_ENGINE_MESSAGE_GETRELATEDBUNDLEVARIABLE, 115 BOOTSTRAPPER_ENGINE_MESSAGE_GETRELATEDBUNDLEVARIABLE,
116
117 BOOTSTRAPPER_APPLICATION_MESSAGE_LAST = 65535
115}; 118};
116 119
117typedef struct _BAENGINE_APPLY_ARGS 120typedef struct _BAENGINE_APPLY_ARGS
118{ 121{
119 DWORD cbSize; 122 DWORD dwApiVersion;
120 HWND hwndParent; 123 DWORD64 hwndParent;
121} BAENGINE_APPLY_ARGS; 124} BAENGINE_APPLY_ARGS;
122 125
123typedef struct _BAENGINE_APPLY_RESULTS 126typedef struct _BAENGINE_APPLY_RESULTS
124{ 127{
125 DWORD cbSize; 128 DWORD dwApiVersion;
126} BAENGINE_APPLY_RESULTS; 129} BAENGINE_APPLY_RESULTS;
127 130
128typedef struct _BAENGINE_CLOSESPLASHSCREEN_ARGS 131typedef struct _BAENGINE_CLOSESPLASHSCREEN_ARGS
129{ 132{
130 DWORD cbSize; 133 DWORD dwApiVersion;
131} BAENGINE_CLOSESPLASHSCREEN_ARGS; 134} BAENGINE_CLOSESPLASHSCREEN_ARGS;
132 135
133typedef struct _BAENGINE_CLOSESPLASHSCREEN_RESULTS 136typedef struct _BAENGINE_CLOSESPLASHSCREEN_RESULTS
134{ 137{
135 DWORD cbSize; 138 DWORD dwApiVersion;
136} BAENGINE_CLOSESPLASHSCREEN_RESULTS; 139} BAENGINE_CLOSESPLASHSCREEN_RESULTS;
137 140
138typedef struct _BAENGINE_COMPAREVERSIONS_ARGS 141typedef struct _BAENGINE_COMPAREVERSIONS_ARGS
139{ 142{
140 DWORD cbSize; 143 DWORD dwApiVersion;
141 LPCWSTR wzVersion1; 144 LPCWSTR wzVersion1;
142 LPCWSTR wzVersion2; 145 LPCWSTR wzVersion2;
143} BAENGINE_COMPAREVERSIONS_ARGS; 146} BAENGINE_COMPAREVERSIONS_ARGS;
144 147
145typedef struct _BAENGINE_COMPAREVERSIONS_RESULTS 148typedef struct _BAENGINE_COMPAREVERSIONS_RESULTS
146{ 149{
147 DWORD cbSize; 150 DWORD dwApiVersion;
148 int nResult; 151 INT32 nResult;
149} BAENGINE_COMPAREVERSIONS_RESULTS; 152} BAENGINE_COMPAREVERSIONS_RESULTS;
150 153
151typedef struct _BAENGINE_DETECT_ARGS 154typedef struct _BAENGINE_DETECT_ARGS
152{ 155{
153 DWORD cbSize; 156 DWORD dwApiVersion;
154 HWND hwndParent; 157 DWORD64 hwndParent;
155} BAENGINE_DETECT_ARGS; 158} BAENGINE_DETECT_ARGS;
156 159
157typedef struct _BAENGINE_DETECT_RESULTS 160typedef struct _BAENGINE_DETECT_RESULTS
158{ 161{
159 DWORD cbSize; 162 DWORD dwApiVersion;
160} BAENGINE_DETECT_RESULTS; 163} BAENGINE_DETECT_RESULTS;
161 164
162typedef struct _BAENGINE_ELEVATE_ARGS 165typedef struct _BAENGINE_ELEVATE_ARGS
163{ 166{
164 DWORD cbSize; 167 DWORD dwApiVersion;
165 HWND hwndParent; 168 DWORD64 hwndParent;
166} BAENGINE_ELEVATE_ARGS; 169} BAENGINE_ELEVATE_ARGS;
167 170
168typedef struct _BAENGINE_ELEVATE_RESULTS 171typedef struct _BAENGINE_ELEVATE_RESULTS
169{ 172{
170 DWORD cbSize; 173 DWORD dwApiVersion;
171} BAENGINE_ELEVATE_RESULTS; 174} BAENGINE_ELEVATE_RESULTS;
172 175
173typedef struct _BAENGINE_ESCAPESTRING_ARGS 176typedef struct _BAENGINE_ESCAPESTRING_ARGS
174{ 177{
175 DWORD cbSize; 178 DWORD dwApiVersion;
176 LPCWSTR wzIn; 179 LPCWSTR wzIn;
177} BAENGINE_ESCAPESTRING_ARGS; 180} BAENGINE_ESCAPESTRING_ARGS;
178 181
179typedef struct _BAENGINE_ESCAPESTRING_RESULTS 182typedef struct _BAENGINE_ESCAPESTRING_RESULTS
180{ 183{
181 DWORD cbSize; 184 DWORD dwApiVersion;
182 LPWSTR wzOut; 185 LPWSTR wzOut;
183 // Should be initialized to the size of wzOut. 186 // Should be initialized to the size of wzOut.
184 SIZE_T cchOut; 187 DWORD cchOut;
185} BAENGINE_ESCAPESTRING_RESULTS; 188} BAENGINE_ESCAPESTRING_RESULTS;
186 189
187typedef struct _BAENGINE_EVALUATECONDITION_ARGS 190typedef struct _BAENGINE_EVALUATECONDITION_ARGS
188{ 191{
189 DWORD cbSize; 192 DWORD dwApiVersion;
190 LPCWSTR wzCondition; 193 LPCWSTR wzCondition;
191} BAENGINE_EVALUATECONDITION_ARGS; 194} BAENGINE_EVALUATECONDITION_ARGS;
192 195
193typedef struct _BAENGINE_EVALUATECONDITION_RESULTS 196typedef struct _BAENGINE_EVALUATECONDITION_RESULTS
194{ 197{
195 DWORD cbSize; 198 DWORD dwApiVersion;
196 BOOL f; 199 BOOL f;
197} BAENGINE_EVALUATECONDITION_RESULTS; 200} BAENGINE_EVALUATECONDITION_RESULTS;
198 201
199typedef struct _BAENGINE_FORMATSTRING_ARGS 202typedef struct _BAENGINE_FORMATSTRING_ARGS
200{ 203{
201 DWORD cbSize; 204 DWORD dwApiVersion;
202 LPCWSTR wzIn; 205 LPCWSTR wzIn;
203} BAENGINE_FORMATSTRING_ARGS; 206} BAENGINE_FORMATSTRING_ARGS;
204 207
205typedef struct _BAENGINE_FORMATSTRING_RESULTS 208typedef struct _BAENGINE_FORMATSTRING_RESULTS
206{ 209{
207 DWORD cbSize; 210 DWORD dwApiVersion;
208 LPWSTR wzOut; 211 LPWSTR wzOut;
209 // Should be initialized to the size of wzOut. 212 // Should be initialized to the size of wzOut.
210 SIZE_T cchOut; 213 DWORD cchOut;
211} BAENGINE_FORMATSTRING_RESULTS; 214} BAENGINE_FORMATSTRING_RESULTS;
212 215
213typedef struct _BAENGINE_GETPACKAGECOUNT_ARGS 216typedef struct _BAENGINE_GETPACKAGECOUNT_ARGS
214{ 217{
215 DWORD cbSize; 218 DWORD dwApiVersion;
216} BAENGINE_GETPACKAGECOUNT_ARGS; 219} BAENGINE_GETPACKAGECOUNT_ARGS;
217 220
218typedef struct _BAENGINE_GETPACKAGECOUNT_RESULTS 221typedef struct _BAENGINE_GETPACKAGECOUNT_RESULTS
219{ 222{
220 DWORD cbSize; 223 DWORD dwApiVersion;
221 DWORD cPackages; 224 DWORD cPackages;
222} BAENGINE_GETPACKAGECOUNT_RESULTS; 225} BAENGINE_GETPACKAGECOUNT_RESULTS;
223 226
224typedef struct _BAENGINE_GETVARIABLENUMERIC_ARGS 227typedef struct _BAENGINE_GETVARIABLENUMERIC_ARGS
225{ 228{
226 DWORD cbSize; 229 DWORD dwApiVersion;
227 LPCWSTR wzVariable; 230 LPCWSTR wzVariable;
228} BAENGINE_GETVARIABLENUMERIC_ARGS; 231} BAENGINE_GETVARIABLENUMERIC_ARGS;
229 232
230typedef struct _BAENGINE_GETVARIABLENUMERIC_RESULTS 233typedef struct _BAENGINE_GETVARIABLENUMERIC_RESULTS
231{ 234{
232 DWORD cbSize; 235 DWORD dwApiVersion;
233 LONGLONG llValue; 236 LONGLONG llValue;
234} BAENGINE_GETVARIABLENUMERIC_RESULTS; 237} BAENGINE_GETVARIABLENUMERIC_RESULTS;
235 238
236typedef struct _BAENGINE_GETVARIABLESTRING_ARGS 239typedef struct _BAENGINE_GETVARIABLESTRING_ARGS
237{ 240{
238 DWORD cbSize; 241 DWORD dwApiVersion;
239 LPCWSTR wzVariable; 242 LPCWSTR wzVariable;
240} BAENGINE_GETVARIABLESTRING_ARGS; 243} BAENGINE_GETVARIABLESTRING_ARGS;
241 244
242typedef struct _BAENGINE_GETVARIABLESTRING_RESULTS 245typedef struct _BAENGINE_GETVARIABLESTRING_RESULTS
243{ 246{
244 DWORD cbSize; 247 DWORD dwApiVersion;
245 LPWSTR wzValue; 248 LPWSTR wzValue;
246 // Should be initialized to the size of wzValue. 249 // Should be initialized to the size of wzValue.
247 SIZE_T cchValue; 250 DWORD cchValue;
248} BAENGINE_GETVARIABLESTRING_RESULTS; 251} BAENGINE_GETVARIABLESTRING_RESULTS;
249 252
250typedef struct _BAENGINE_GETVARIABLEVERSION_ARGS 253typedef struct _BAENGINE_GETVARIABLEVERSION_ARGS
251{ 254{
252 DWORD cbSize; 255 DWORD dwApiVersion;
253 LPCWSTR wzVariable; 256 LPCWSTR wzVariable;
254} BAENGINE_GETVARIABLEVERSION_ARGS; 257} BAENGINE_GETVARIABLEVERSION_ARGS;
255 258
256typedef struct _BAENGINE_GETVARIABLEVERSION_RESULTS 259typedef struct _BAENGINE_GETVARIABLEVERSION_RESULTS
257{ 260{
258 DWORD cbSize; 261 DWORD dwApiVersion;
259 LPWSTR wzValue; 262 LPWSTR wzValue;
260 // Should be initialized to the size of wzValue. 263 // Should be initialized to the size of wzValue.
261 SIZE_T cchValue; 264 DWORD cchValue;
262} BAENGINE_GETVARIABLEVERSION_RESULTS; 265} BAENGINE_GETVARIABLEVERSION_RESULTS;
263 266
264typedef struct _BAENGINE_LAUNCHAPPROVEDEXE_ARGS 267typedef struct _BAENGINE_LAUNCHAPPROVEDEXE_ARGS
265{ 268{
266 DWORD cbSize; 269 DWORD dwApiVersion;
267 HWND hwndParent; 270 DWORD64 hwndParent;
268 LPCWSTR wzApprovedExeForElevationId; 271 LPCWSTR wzApprovedExeForElevationId;
269 LPCWSTR wzArguments; 272 LPCWSTR wzArguments;
270 DWORD dwWaitForInputIdleTimeout; 273 DWORD dwWaitForInputIdleTimeout;
@@ -272,57 +275,58 @@ typedef struct _BAENGINE_LAUNCHAPPROVEDEXE_ARGS
272 275
273typedef struct _BAENGINE_LAUNCHAPPROVEDEXE_RESULTS 276typedef struct _BAENGINE_LAUNCHAPPROVEDEXE_RESULTS
274{ 277{
275 DWORD cbSize; 278 DWORD dwApiVersion;
276} BAENGINE_LAUNCHAPPROVEDEXE_RESULTS; 279} BAENGINE_LAUNCHAPPROVEDEXE_RESULTS;
277 280
278typedef struct _BAENGINE_SETUPDATESOURCE_ARGS 281typedef struct _BAENGINE_SETUPDATESOURCE_ARGS
279{ 282{
280 DWORD cbSize; 283 DWORD dwApiVersion;
281 LPCWSTR wzUrl; 284 LPCWSTR wzUrl;
285 LPCWSTR wzAuthorizationHeader;
282} BAENGINE_SETUPDATESOURCE_ARGS; 286} BAENGINE_SETUPDATESOURCE_ARGS;
283 287
284typedef struct _BAENGINE_SETUPDATESOURCE_RESULTS 288typedef struct _BAENGINE_SETUPDATESOURCE_RESULTS
285{ 289{
286 DWORD cbSize; 290 DWORD dwApiVersion;
287} BAENGINE_SETUPDATESOURCE_RESULTS; 291} BAENGINE_SETUPDATESOURCE_RESULTS;
288 292
289typedef struct _BAENGINE_LOG_ARGS 293typedef struct _BAENGINE_LOG_ARGS
290{ 294{
291 DWORD cbSize; 295 DWORD dwApiVersion;
292 BOOTSTRAPPER_LOG_LEVEL level; 296 BOOTSTRAPPER_LOG_LEVEL level;
293 LPCWSTR wzMessage; 297 LPCWSTR wzMessage;
294} BAENGINE_LOG_ARGS; 298} BAENGINE_LOG_ARGS;
295 299
296typedef struct _BAENGINE_LOG_RESULTS 300typedef struct _BAENGINE_LOG_RESULTS
297{ 301{
298 DWORD cbSize; 302 DWORD dwApiVersion;
299} BAENGINE_LOG_RESULTS; 303} BAENGINE_LOG_RESULTS;
300 304
301typedef struct _BAENGINE_PLAN_ARGS 305typedef struct _BAENGINE_PLAN_ARGS
302{ 306{
303 DWORD cbSize; 307 DWORD dwApiVersion;
304 BOOTSTRAPPER_ACTION action; 308 BOOTSTRAPPER_ACTION action;
305} BAENGINE_PLAN_ARGS; 309} BAENGINE_PLAN_ARGS;
306 310
307typedef struct _BAENGINE_PLAN_RESULTS 311typedef struct _BAENGINE_PLAN_RESULTS
308{ 312{
309 DWORD cbSize; 313 DWORD dwApiVersion;
310} BAENGINE_PLAN_RESULTS; 314} BAENGINE_PLAN_RESULTS;
311 315
312typedef struct _BAENGINE_QUIT_ARGS 316typedef struct _BAENGINE_QUIT_ARGS
313{ 317{
314 DWORD cbSize; 318 DWORD dwApiVersion;
315 DWORD dwExitCode; 319 DWORD dwExitCode;
316} BAENGINE_QUIT_ARGS; 320} BAENGINE_QUIT_ARGS;
317 321
318typedef struct _BAENGINE_QUIT_RESULTS 322typedef struct _BAENGINE_QUIT_RESULTS
319{ 323{
320 DWORD cbSize; 324 DWORD dwApiVersion;
321} BAENGINE_QUIT_RESULTS; 325} BAENGINE_QUIT_RESULTS;
322 326
323typedef struct _BAENGINE_SENDEMBEDDEDERROR_ARGS 327typedef struct _BAENGINE_SENDEMBEDDEDERROR_ARGS
324{ 328{
325 DWORD cbSize; 329 DWORD dwApiVersion;
326 DWORD dwErrorCode; 330 DWORD dwErrorCode;
327 LPCWSTR wzMessage; 331 LPCWSTR wzMessage;
328 DWORD dwUIHint; 332 DWORD dwUIHint;
@@ -330,41 +334,42 @@ typedef struct _BAENGINE_SENDEMBEDDEDERROR_ARGS
330 334
331typedef struct _BAENGINE_SENDEMBEDDEDERROR_RESULTS 335typedef struct _BAENGINE_SENDEMBEDDEDERROR_RESULTS
332{ 336{
333 DWORD cbSize; 337 DWORD dwApiVersion;
334 int nResult; 338 INT32 nResult;
335} BAENGINE_SENDEMBEDDEDERROR_RESULTS; 339} BAENGINE_SENDEMBEDDEDERROR_RESULTS;
336 340
337typedef struct _BAENGINE_SENDEMBEDDEDPROGRESS_ARGS 341typedef struct _BAENGINE_SENDEMBEDDEDPROGRESS_ARGS
338{ 342{
339 DWORD cbSize; 343 DWORD dwApiVersion;
340 DWORD dwProgressPercentage; 344 DWORD dwProgressPercentage;
341 DWORD dwOverallProgressPercentage; 345 DWORD dwOverallProgressPercentage;
342} BAENGINE_SENDEMBEDDEDPROGRESS_ARGS; 346} BAENGINE_SENDEMBEDDEDPROGRESS_ARGS;
343 347
344typedef struct _BAENGINE_SENDEMBEDDEDPROGRESS_RESULTS 348typedef struct _BAENGINE_SENDEMBEDDEDPROGRESS_RESULTS
345{ 349{
346 DWORD cbSize; 350 DWORD dwApiVersion;
347 int nResult; 351 INT32 nResult;
348} BAENGINE_SENDEMBEDDEDPROGRESS_RESULTS; 352} BAENGINE_SENDEMBEDDEDPROGRESS_RESULTS;
349 353
350typedef struct _BAENGINE_SETDOWNLOADSOURCE_ARGS 354typedef struct _BAENGINE_SETDOWNLOADSOURCE_ARGS
351{ 355{
352 DWORD cbSize; 356 DWORD dwApiVersion;
353 LPCWSTR wzPackageOrContainerId; 357 LPCWSTR wzPackageOrContainerId;
354 LPCWSTR wzPayloadId; 358 LPCWSTR wzPayloadId;
355 LPCWSTR wzUrl; 359 LPCWSTR wzUrl;
356 LPCWSTR wzUser; 360 LPCWSTR wzUser;
357 LPCWSTR wzPassword; 361 LPCWSTR wzPassword;
362 LPCWSTR wzAuthorizationHeader;
358} BAENGINE_SETDOWNLOADSOURCE_ARGS; 363} BAENGINE_SETDOWNLOADSOURCE_ARGS;
359 364
360typedef struct _BAENGINE_SETDOWNLOADSOURCE_RESULTS 365typedef struct _BAENGINE_SETDOWNLOADSOURCE_RESULTS
361{ 366{
362 DWORD cbSize; 367 DWORD dwApiVersion;
363} BAENGINE_SETDOWNLOADSOURCE_RESULTS; 368} BAENGINE_SETDOWNLOADSOURCE_RESULTS;
364 369
365typedef struct _BAENGINE_SETLOCALSOURCE_ARGS 370typedef struct _BAENGINE_SETLOCALSOURCE_ARGS
366{ 371{
367 DWORD cbSize; 372 DWORD dwApiVersion;
368 LPCWSTR wzPackageOrContainerId; 373 LPCWSTR wzPackageOrContainerId;
369 LPCWSTR wzPayloadId; 374 LPCWSTR wzPayloadId;
370 LPCWSTR wzPath; 375 LPCWSTR wzPath;
@@ -372,39 +377,40 @@ typedef struct _BAENGINE_SETLOCALSOURCE_ARGS
372 377
373typedef struct _BAENGINE_SETLOCALSOURCE_RESULTS 378typedef struct _BAENGINE_SETLOCALSOURCE_RESULTS
374{ 379{
375 DWORD cbSize; 380 DWORD dwApiVersion;
376} BAENGINE_SETLOCALSOURCE_RESULTS; 381} BAENGINE_SETLOCALSOURCE_RESULTS;
377 382
378typedef struct _BAENGINE_SETUPDATE_ARGS 383typedef struct _BAENGINE_SETUPDATE_ARGS
379{ 384{
380 DWORD cbSize; 385 DWORD dwApiVersion;
381 LPCWSTR wzLocalSource; 386 LPCWSTR wzLocalSource;
382 LPCWSTR wzDownloadSource; 387 LPCWSTR wzDownloadSource;
383 DWORD64 qwSize; 388 DWORD64 qwSize;
384 BOOTSTRAPPER_UPDATE_HASH_TYPE hashType; 389 BOOTSTRAPPER_UPDATE_HASH_TYPE hashType;
385 LPCWSTR wzHash; 390 LPCWSTR wzHash;
391 LPCWSTR wzUpdatePackageId;
386} BAENGINE_SETUPDATE_ARGS; 392} BAENGINE_SETUPDATE_ARGS;
387 393
388typedef struct _BAENGINE_SETUPDATE_RESULTS 394typedef struct _BAENGINE_SETUPDATE_RESULTS
389{ 395{
390 DWORD cbSize; 396 DWORD dwApiVersion;
391} BAENGINE_SETUPDATE_RESULTS; 397} BAENGINE_SETUPDATE_RESULTS;
392 398
393typedef struct _BAENGINE_SETVARIABLENUMERIC_ARGS 399typedef struct _BAENGINE_SETVARIABLENUMERIC_ARGS
394{ 400{
395 DWORD cbSize; 401 DWORD dwApiVersion;
396 LPCWSTR wzVariable; 402 LPCWSTR wzVariable;
397 LONGLONG llValue; 403 LONGLONG llValue;
398} BAENGINE_SETVARIABLENUMERIC_ARGS; 404} BAENGINE_SETVARIABLENUMERIC_ARGS;
399 405
400typedef struct _BAENGINE_SETVARIABLENUMERIC_RESULTS 406typedef struct _BAENGINE_SETVARIABLENUMERIC_RESULTS
401{ 407{
402 DWORD cbSize; 408 DWORD dwApiVersion;
403} BAENGINE_SETVARIABLENUMERIC_RESULTS; 409} BAENGINE_SETVARIABLENUMERIC_RESULTS;
404 410
405typedef struct _BAENGINE_SETVARIABLESTRING_ARGS 411typedef struct _BAENGINE_SETVARIABLESTRING_ARGS
406{ 412{
407 DWORD cbSize; 413 DWORD dwApiVersion;
408 LPCWSTR wzVariable; 414 LPCWSTR wzVariable;
409 LPCWSTR wzValue; 415 LPCWSTR wzValue;
410 BOOL fFormatted; 416 BOOL fFormatted;
@@ -412,42 +418,42 @@ typedef struct _BAENGINE_SETVARIABLESTRING_ARGS
412 418
413typedef struct _BAENGINE_SETVARIABLESTRING_RESULTS 419typedef struct _BAENGINE_SETVARIABLESTRING_RESULTS
414{ 420{
415 DWORD cbSize; 421 DWORD dwApiVersion;
416} BAENGINE_SETVARIABLESTRING_RESULTS; 422} BAENGINE_SETVARIABLESTRING_RESULTS;
417 423
418typedef struct _BAENGINE_SETVARIABLEVERSION_ARGS 424typedef struct _BAENGINE_SETVARIABLEVERSION_ARGS
419{ 425{
420 DWORD cbSize; 426 DWORD dwApiVersion;
421 LPCWSTR wzVariable; 427 LPCWSTR wzVariable;
422 LPCWSTR wzValue; 428 LPCWSTR wzValue;
423} BAENGINE_SETVARIABLEVERSION_ARGS; 429} BAENGINE_SETVARIABLEVERSION_ARGS;
424 430
425typedef struct _BAENGINE_SETVARIABLEVERSION_RESULTS 431typedef struct _BAENGINE_SETVARIABLEVERSION_RESULTS
426{ 432{
427 DWORD cbSize; 433 DWORD dwApiVersion;
428} BAENGINE_SETVARIABLEVERSION_RESULTS; 434} BAENGINE_SETVARIABLEVERSION_RESULTS;
429 435
430typedef struct _BAENGINE_GETRELATEDBUNDLEVARIABLE_ARGS 436typedef struct _BAENGINE_GETRELATEDBUNDLEVARIABLE_ARGS
431{ 437{
432 DWORD cbSize; 438 DWORD dwApiVersion;
433 LPCWSTR wzBundleId; 439 LPCWSTR wzBundleId;
434 LPCWSTR wzVariable; 440 LPCWSTR wzVariable;
435} BAENGINE_GETRELATEDBUNDLEVARIABLE_ARGS; 441} BAENGINE_GETRELATEDBUNDLEVARIABLE_ARGS;
436 442
437typedef struct _BAENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS 443typedef struct _BAENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS
438{ 444{
439 DWORD cbSize; 445 DWORD dwApiVersion;
440 LPWSTR wzValue; 446 LPWSTR wzValue;
441 // Should be initialized to the size of wzValue. 447 // Should be initialized to the size of wzValue.
442 SIZE_T cchValue; 448 DWORD cchValue;
443} BAENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS; 449} BAENGINE_GETRELATEDBUNDLEVARIABLE_RESULTS;
444 450
445extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_ENGINE_PROC)( 451// extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_ENGINE_PROC)(
446 __in BOOTSTRAPPER_ENGINE_MESSAGE message, 452// __in BOOTSTRAPPER_ENGINE_MESSAGE message,
447 __in const LPVOID pvArgs, 453// __in const LPVOID pvArgs,
448 __inout LPVOID pvResults, 454// __inout LPVOID pvResults,
449 __in_opt LPVOID pvContext 455// __in_opt LPVOID pvContext
450 ); 456// );
451 457
452#if defined(__cplusplus) 458#if defined(__cplusplus)
453} 459}
diff --git a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/batypes.h
index 2633a9c2..0116364c 100644
--- a/src/api/burn/WixToolset.BootstrapperCore.Native/inc/BootstrapperApplication.h
+++ b/src/api/burn/WixToolset.BootstrapperCore.Native/inc/batypes.h
@@ -2,6 +2,10 @@
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. 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 3
4 4
5const LPCWSTR BOOTSTRAPPER_APPLICATION_COMMANDLINE_SWITCH_API_VERSION = L"burn.ba.apiver";
6const LPCWSTR BOOTSTRAPPER_APPLICATION_COMMANDLINE_SWITCH_PIPE_NAME = L"burn.ba.pipe";
7const DWORD WIX_5_BOOTSTRAPPER_APPLICATION_API_VERSION = 5;
8
5enum BOOTSTRAPPER_DISPLAY 9enum BOOTSTRAPPER_DISPLAY
6{ 10{
7 BOOTSTRAPPER_DISPLAY_UNKNOWN, 11 BOOTSTRAPPER_DISPLAY_UNKNOWN,
@@ -143,27 +147,30 @@ enum BOOTSTRAPPER_MSI_FILE_VERSIONING
143 147
144enum BOOTSTRAPPER_APPLICATION_MESSAGE 148enum BOOTSTRAPPER_APPLICATION_MESSAGE
145{ 149{
146 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTBEGIN, 150 BOOTSTRAPPER_APPLICATION_MESSAGE_UNKNOWN = 65536,
147 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTCOMPLETE, 151 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCREATE,
148 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANBEGIN, 152 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDESTROY,
149 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPLETE,
150 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSTARTUP, 153 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSTARTUP,
151 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSHUTDOWN, 154 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSHUTDOWN,
155 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTBEGIN,
156 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTCOMPLETE,
152 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTFORWARDCOMPATIBLEBUNDLE, 157 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTFORWARDCOMPATIBLEBUNDLE,
158 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTMSIFEATURE,
159 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGEBEGIN,
160 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGECOMPLETE,
161 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPATCHTARGET,
162 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDBUNDLE,
163 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDMSIPACKAGE,
153 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATEBEGIN, 164 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATEBEGIN,
154 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATE, 165 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATE,
155 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATECOMPLETE, 166 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTUPDATECOMPLETE,
156 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDBUNDLE, 167 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANBEGIN,
157 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGEBEGIN, 168 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPLETE,
158 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTRELATEDMSIPACKAGE,
159 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPATCHTARGET,
160 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTMSIFEATURE,
161 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTPACKAGECOMPLETE,
162 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLE,
163 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGEBEGIN,
164 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPATCHTARGET,
165 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANMSIFEATURE, 169 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANMSIFEATURE,
170 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGEBEGIN,
166 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGECOMPLETE, 171 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPACKAGECOMPLETE,
172 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANPATCHTARGET,
173 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANRELATEDBUNDLE,
167 BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYBEGIN, 174 BOOTSTRAPPER_APPLICATION_MESSAGE_ONAPPLYBEGIN,
168 BOOTSTRAPPER_APPLICATION_MESSAGE_ONELEVATEBEGIN, 175 BOOTSTRAPPER_APPLICATION_MESSAGE_ONELEVATEBEGIN,
169 BOOTSTRAPPER_APPLICATION_MESSAGE_ONELEVATECOMPLETE, 176 BOOTSTRAPPER_APPLICATION_MESSAGE_ONELEVATECOMPLETE,
@@ -215,8 +222,6 @@ enum BOOTSTRAPPER_APPLICATION_MESSAGE
215 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE, 222 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTCOMPLETE,
216 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS, 223 BOOTSTRAPPER_APPLICATION_MESSAGE_ONCACHEPAYLOADEXTRACTPROGRESS,
217 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANROLLBACKBOUNDARY, 224 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANROLLBACKBOUNDARY,
218 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSETUPDATEBEGIN,
219 BOOTSTRAPPER_APPLICATION_MESSAGE_ONSETUPDATECOMPLETE,
220 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTCOMPATIBLEMSIPACKAGE, 225 BOOTSTRAPPER_APPLICATION_MESSAGE_ONDETECTCOMPATIBLEMSIPACKAGE,
221 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN, 226 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGEBEGIN,
222 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE, 227 BOOTSTRAPPER_APPLICATION_MESSAGE_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE,
@@ -345,7 +350,7 @@ struct BOOTSTRAPPER_COMMAND
345 BOOTSTRAPPER_DISPLAY display; 350 BOOTSTRAPPER_DISPLAY display;
346 351
347 LPWSTR wzCommandLine; 352 LPWSTR wzCommandLine;
348 int nCmdShow; 353 INT32 nCmdShow;
349 354
350 BOOTSTRAPPER_RESUME_TYPE resumeType; 355 BOOTSTRAPPER_RESUME_TYPE resumeType;
351 HWND hwndSplashScreen; 356 HWND hwndSplashScreen;
@@ -361,19 +366,19 @@ struct BOOTSTRAPPER_COMMAND
361 366
362struct BA_ONAPPLYBEGIN_ARGS 367struct BA_ONAPPLYBEGIN_ARGS
363{ 368{
364 DWORD cbSize; 369 DWORD dwApiVersion;
365 DWORD dwPhaseCount; 370 DWORD dwPhaseCount;
366}; 371};
367 372
368struct BA_ONAPPLYBEGIN_RESULTS 373struct BA_ONAPPLYBEGIN_RESULTS
369{ 374{
370 DWORD cbSize; 375 DWORD dwApiVersion;
371 BOOL fCancel; 376 BOOL fCancel;
372}; 377};
373 378
374struct BA_ONAPPLYCOMPLETE_ARGS 379struct BA_ONAPPLYCOMPLETE_ARGS
375{ 380{
376 DWORD cbSize; 381 DWORD dwApiVersion;
377 HRESULT hrStatus; 382 HRESULT hrStatus;
378 // Indicates whether any package required a reboot or initiated the reboot already. 383 // Indicates whether any package required a reboot or initiated the reboot already.
379 BOOTSTRAPPER_APPLY_RESTART restart; 384 BOOTSTRAPPER_APPLY_RESTART restart;
@@ -382,49 +387,49 @@ struct BA_ONAPPLYCOMPLETE_ARGS
382 387
383struct BA_ONAPPLYCOMPLETE_RESULTS 388struct BA_ONAPPLYCOMPLETE_RESULTS
384{ 389{
385 DWORD cbSize; 390 DWORD dwApiVersion;
386 BOOTSTRAPPER_APPLYCOMPLETE_ACTION action; 391 BOOTSTRAPPER_APPLYCOMPLETE_ACTION action;
387}; 392};
388 393
389struct BA_ONAPPLYDOWNGRADE_ARGS 394struct BA_ONAPPLYDOWNGRADE_ARGS
390{ 395{
391 DWORD cbSize; 396 DWORD dwApiVersion;
392 HRESULT hrRecommended; 397 HRESULT hrRecommended;
393}; 398};
394 399
395struct BA_ONAPPLYDOWNGRADE_RESULTS 400struct BA_ONAPPLYDOWNGRADE_RESULTS
396{ 401{
397 DWORD cbSize; 402 DWORD dwApiVersion;
398 HRESULT hrStatus; 403 HRESULT hrStatus;
399}; 404};
400 405
401struct BA_ONBEGINMSITRANSACTIONBEGIN_ARGS 406struct BA_ONBEGINMSITRANSACTIONBEGIN_ARGS
402{ 407{
403 DWORD cbSize; 408 DWORD dwApiVersion;
404 LPCWSTR wzTransactionId; 409 LPCWSTR wzTransactionId;
405}; 410};
406 411
407struct BA_ONBEGINMSITRANSACTIONBEGIN_RESULTS 412struct BA_ONBEGINMSITRANSACTIONBEGIN_RESULTS
408{ 413{
409 DWORD cbSize; 414 DWORD dwApiVersion;
410 BOOL fCancel; 415 BOOL fCancel;
411}; 416};
412 417
413struct BA_ONBEGINMSITRANSACTIONCOMPLETE_ARGS 418struct BA_ONBEGINMSITRANSACTIONCOMPLETE_ARGS
414{ 419{
415 DWORD cbSize; 420 DWORD dwApiVersion;
416 LPCWSTR wzTransactionId; 421 LPCWSTR wzTransactionId;
417 HRESULT hrStatus; 422 HRESULT hrStatus;
418}; 423};
419 424
420struct BA_ONBEGINMSITRANSACTIONCOMPLETE_RESULTS 425struct BA_ONBEGINMSITRANSACTIONCOMPLETE_RESULTS
421{ 426{
422 DWORD cbSize; 427 DWORD dwApiVersion;
423}; 428};
424 429
425struct BA_ONCACHEACQUIREBEGIN_ARGS 430struct BA_ONCACHEACQUIREBEGIN_ARGS
426{ 431{
427 DWORD cbSize; 432 DWORD dwApiVersion;
428 LPCWSTR wzPackageOrContainerId; 433 LPCWSTR wzPackageOrContainerId;
429 LPCWSTR wzPayloadId; 434 LPCWSTR wzPayloadId;
430 LPCWSTR wzSource; 435 LPCWSTR wzSource;
@@ -435,14 +440,14 @@ struct BA_ONCACHEACQUIREBEGIN_ARGS
435 440
436struct BA_ONCACHEACQUIREBEGIN_RESULTS 441struct BA_ONCACHEACQUIREBEGIN_RESULTS
437{ 442{
438 DWORD cbSize; 443 DWORD dwApiVersion;
439 BOOL fCancel; 444 BOOL fCancel;
440 BOOTSTRAPPER_CACHE_OPERATION action; 445 BOOTSTRAPPER_CACHE_OPERATION action;
441}; 446};
442 447
443struct BA_ONCACHEACQUIRECOMPLETE_ARGS 448struct BA_ONCACHEACQUIRECOMPLETE_ARGS
444{ 449{
445 DWORD cbSize; 450 DWORD dwApiVersion;
446 LPCWSTR wzPackageOrContainerId; 451 LPCWSTR wzPackageOrContainerId;
447 LPCWSTR wzPayloadId; 452 LPCWSTR wzPayloadId;
448 HRESULT hrStatus; 453 HRESULT hrStatus;
@@ -451,13 +456,13 @@ struct BA_ONCACHEACQUIRECOMPLETE_ARGS
451 456
452struct BA_ONCACHEACQUIRECOMPLETE_RESULTS 457struct BA_ONCACHEACQUIRECOMPLETE_RESULTS
453{ 458{
454 DWORD cbSize; 459 DWORD dwApiVersion;
455 BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION action; 460 BOOTSTRAPPER_CACHEACQUIRECOMPLETE_ACTION action;
456}; 461};
457 462
458struct BA_ONCACHEACQUIREPROGRESS_ARGS 463struct BA_ONCACHEACQUIREPROGRESS_ARGS
459{ 464{
460 DWORD cbSize; 465 DWORD dwApiVersion;
461 LPCWSTR wzPackageOrContainerId; 466 LPCWSTR wzPackageOrContainerId;
462 LPCWSTR wzPayloadId; 467 LPCWSTR wzPayloadId;
463 DWORD64 dw64Progress; 468 DWORD64 dw64Progress;
@@ -467,13 +472,13 @@ struct BA_ONCACHEACQUIREPROGRESS_ARGS
467 472
468struct BA_ONCACHEACQUIREPROGRESS_RESULTS 473struct BA_ONCACHEACQUIREPROGRESS_RESULTS
469{ 474{
470 DWORD cbSize; 475 DWORD dwApiVersion;
471 BOOL fCancel; 476 BOOL fCancel;
472}; 477};
473 478
474struct BA_ONCACHEACQUIRERESOLVING_ARGS 479struct BA_ONCACHEACQUIRERESOLVING_ARGS
475{ 480{
476 DWORD cbSize; 481 DWORD dwApiVersion;
477 LPCWSTR wzPackageOrContainerId; 482 LPCWSTR wzPackageOrContainerId;
478 LPCWSTR wzPayloadId; 483 LPCWSTR wzPayloadId;
479 LPCWSTR* rgSearchPaths; 484 LPCWSTR* rgSearchPaths;
@@ -487,7 +492,7 @@ struct BA_ONCACHEACQUIRERESOLVING_ARGS
487 492
488struct BA_ONCACHEACQUIRERESOLVING_RESULTS 493struct BA_ONCACHEACQUIRERESOLVING_RESULTS
489{ 494{
490 DWORD cbSize; 495 DWORD dwApiVersion;
491 DWORD dwChosenSearchPath; 496 DWORD dwChosenSearchPath;
492 BOOTSTRAPPER_CACHE_RESOLVE_OPERATION action; 497 BOOTSTRAPPER_CACHE_RESOLVE_OPERATION action;
493 BOOL fCancel; 498 BOOL fCancel;
@@ -495,42 +500,42 @@ struct BA_ONCACHEACQUIRERESOLVING_RESULTS
495 500
496struct BA_ONCACHEBEGIN_ARGS 501struct BA_ONCACHEBEGIN_ARGS
497{ 502{
498 DWORD cbSize; 503 DWORD dwApiVersion;
499}; 504};
500 505
501struct BA_ONCACHEBEGIN_RESULTS 506struct BA_ONCACHEBEGIN_RESULTS
502{ 507{
503 DWORD cbSize; 508 DWORD dwApiVersion;
504 BOOL fCancel; 509 BOOL fCancel;
505}; 510};
506 511
507struct BA_ONCACHECOMPLETE_ARGS 512struct BA_ONCACHECOMPLETE_ARGS
508{ 513{
509 DWORD cbSize; 514 DWORD dwApiVersion;
510 HRESULT hrStatus; 515 HRESULT hrStatus;
511}; 516};
512 517
513struct BA_ONCACHECOMPLETE_RESULTS 518struct BA_ONCACHECOMPLETE_RESULTS
514{ 519{
515 DWORD cbSize; 520 DWORD dwApiVersion;
516}; 521};
517 522
518struct BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_ARGS 523struct BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_ARGS
519{ 524{
520 DWORD cbSize; 525 DWORD dwApiVersion;
521 LPCWSTR wzPackageOrContainerId; 526 LPCWSTR wzPackageOrContainerId;
522 LPCWSTR wzPayloadId; 527 LPCWSTR wzPayloadId;
523}; 528};
524 529
525struct BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_RESULTS 530struct BA_ONCACHECONTAINERORPAYLOADVERIFYBEGIN_RESULTS
526{ 531{
527 DWORD cbSize; 532 DWORD dwApiVersion;
528 BOOL fCancel; 533 BOOL fCancel;
529}; 534};
530 535
531struct BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_ARGS 536struct BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_ARGS
532{ 537{
533 DWORD cbSize; 538 DWORD dwApiVersion;
534 LPCWSTR wzPackageOrContainerId; 539 LPCWSTR wzPackageOrContainerId;
535 LPCWSTR wzPayloadId; 540 LPCWSTR wzPayloadId;
536 HRESULT hrStatus; 541 HRESULT hrStatus;
@@ -538,12 +543,12 @@ struct BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_ARGS
538 543
539struct BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_RESULTS 544struct BA_ONCACHECONTAINERORPAYLOADVERIFYCOMPLETE_RESULTS
540{ 545{
541 DWORD cbSize; 546 DWORD dwApiVersion;
542}; 547};
543 548
544struct BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_ARGS 549struct BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_ARGS
545{ 550{
546 DWORD cbSize; 551 DWORD dwApiVersion;
547 LPCWSTR wzPackageOrContainerId; 552 LPCWSTR wzPackageOrContainerId;
548 LPCWSTR wzPayloadId; 553 LPCWSTR wzPayloadId;
549 DWORD64 dw64Progress; 554 DWORD64 dw64Progress;
@@ -553,13 +558,13 @@ struct BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_ARGS
553 558
554struct BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_RESULTS 559struct BA_ONCACHECONTAINERORPAYLOADVERIFYPROGRESS_RESULTS
555{ 560{
556 DWORD cbSize; 561 DWORD dwApiVersion;
557 BOOL fCancel; 562 BOOL fCancel;
558}; 563};
559 564
560struct BA_ONCACHEPACKAGEBEGIN_ARGS 565struct BA_ONCACHEPACKAGEBEGIN_ARGS
561{ 566{
562 DWORD cbSize; 567 DWORD dwApiVersion;
563 LPCWSTR wzPackageId; 568 LPCWSTR wzPackageId;
564 DWORD cCachePayloads; 569 DWORD cCachePayloads;
565 DWORD64 dw64PackageCacheSize; 570 DWORD64 dw64PackageCacheSize;
@@ -569,13 +574,13 @@ struct BA_ONCACHEPACKAGEBEGIN_ARGS
569 574
570struct BA_ONCACHEPACKAGEBEGIN_RESULTS 575struct BA_ONCACHEPACKAGEBEGIN_RESULTS
571{ 576{
572 DWORD cbSize; 577 DWORD dwApiVersion;
573 BOOL fCancel; 578 BOOL fCancel;
574}; 579};
575 580
576struct BA_ONCACHEPACKAGECOMPLETE_ARGS 581struct BA_ONCACHEPACKAGECOMPLETE_ARGS
577{ 582{
578 DWORD cbSize; 583 DWORD dwApiVersion;
579 LPCWSTR wzPackageId; 584 LPCWSTR wzPackageId;
580 HRESULT hrStatus; 585 HRESULT hrStatus;
581 BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION recommendation; 586 BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION recommendation;
@@ -583,13 +588,13 @@ struct BA_ONCACHEPACKAGECOMPLETE_ARGS
583 588
584struct BA_ONCACHEPACKAGECOMPLETE_RESULTS 589struct BA_ONCACHEPACKAGECOMPLETE_RESULTS
585{ 590{
586 DWORD cbSize; 591 DWORD dwApiVersion;
587 BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION action; 592 BOOTSTRAPPER_CACHEPACKAGECOMPLETE_ACTION action;
588}; 593};
589 594
590struct BA_ONCACHEPACKAGENONVITALVALIDATIONFAILURE_ARGS 595struct BA_ONCACHEPACKAGENONVITALVALIDATIONFAILURE_ARGS
591{ 596{
592 DWORD cbSize; 597 DWORD dwApiVersion;
593 LPCWSTR wzPackageId; 598 LPCWSTR wzPackageId;
594 HRESULT hrStatus; 599 HRESULT hrStatus;
595 BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION recommendation; 600 BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION recommendation;
@@ -597,26 +602,26 @@ struct BA_ONCACHEPACKAGENONVITALVALIDATIONFAILURE_ARGS
597 602
598struct BA_ONCACHEPACKAGENONVITALVALIDATIONFAILURE_RESULTS 603struct BA_ONCACHEPACKAGENONVITALVALIDATIONFAILURE_RESULTS
599{ 604{
600 DWORD cbSize; 605 DWORD dwApiVersion;
601 BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION action; 606 BOOTSTRAPPER_CACHEPACKAGENONVITALVALIDATIONFAILURE_ACTION action;
602}; 607};
603 608
604struct BA_ONCACHEPAYLOADEXTRACTBEGIN_ARGS 609struct BA_ONCACHEPAYLOADEXTRACTBEGIN_ARGS
605{ 610{
606 DWORD cbSize; 611 DWORD dwApiVersion;
607 LPCWSTR wzContainerId; 612 LPCWSTR wzContainerId;
608 LPCWSTR wzPayloadId; 613 LPCWSTR wzPayloadId;
609}; 614};
610 615
611struct BA_ONCACHEPAYLOADEXTRACTBEGIN_RESULTS 616struct BA_ONCACHEPAYLOADEXTRACTBEGIN_RESULTS
612{ 617{
613 DWORD cbSize; 618 DWORD dwApiVersion;
614 BOOL fCancel; 619 BOOL fCancel;
615}; 620};
616 621
617struct BA_ONCACHEPAYLOADEXTRACTCOMPLETE_ARGS 622struct BA_ONCACHEPAYLOADEXTRACTCOMPLETE_ARGS
618{ 623{
619 DWORD cbSize; 624 DWORD dwApiVersion;
620 LPCWSTR wzContainerId; 625 LPCWSTR wzContainerId;
621 LPCWSTR wzPayloadId; 626 LPCWSTR wzPayloadId;
622 HRESULT hrStatus; 627 HRESULT hrStatus;
@@ -624,12 +629,12 @@ struct BA_ONCACHEPAYLOADEXTRACTCOMPLETE_ARGS
624 629
625struct BA_ONCACHEPAYLOADEXTRACTCOMPLETE_RESULTS 630struct BA_ONCACHEPAYLOADEXTRACTCOMPLETE_RESULTS
626{ 631{
627 DWORD cbSize; 632 DWORD dwApiVersion;
628}; 633};
629 634
630struct BA_ONCACHEPAYLOADEXTRACTPROGRESS_ARGS 635struct BA_ONCACHEPAYLOADEXTRACTPROGRESS_ARGS
631{ 636{
632 DWORD cbSize; 637 DWORD dwApiVersion;
633 LPCWSTR wzContainerId; 638 LPCWSTR wzContainerId;
634 LPCWSTR wzPayloadId; 639 LPCWSTR wzPayloadId;
635 DWORD64 dw64Progress; 640 DWORD64 dw64Progress;
@@ -639,26 +644,26 @@ struct BA_ONCACHEPAYLOADEXTRACTPROGRESS_ARGS
639 644
640struct BA_ONCACHEPAYLOADEXTRACTPROGRESS_RESULTS 645struct BA_ONCACHEPAYLOADEXTRACTPROGRESS_RESULTS
641{ 646{
642 DWORD cbSize; 647 DWORD dwApiVersion;
643 BOOL fCancel; 648 BOOL fCancel;
644}; 649};
645 650
646struct BA_ONCACHEVERIFYBEGIN_ARGS 651struct BA_ONCACHEVERIFYBEGIN_ARGS
647{ 652{
648 DWORD cbSize; 653 DWORD dwApiVersion;
649 LPCWSTR wzPackageOrContainerId; 654 LPCWSTR wzPackageOrContainerId;
650 LPCWSTR wzPayloadId; 655 LPCWSTR wzPayloadId;
651}; 656};
652 657
653struct BA_ONCACHEVERIFYBEGIN_RESULTS 658struct BA_ONCACHEVERIFYBEGIN_RESULTS
654{ 659{
655 DWORD cbSize; 660 DWORD dwApiVersion;
656 BOOL fCancel; 661 BOOL fCancel;
657}; 662};
658 663
659struct BA_ONCACHEVERIFYCOMPLETE_ARGS 664struct BA_ONCACHEVERIFYCOMPLETE_ARGS
660{ 665{
661 DWORD cbSize; 666 DWORD dwApiVersion;
662 LPCWSTR wzPackageOrContainerId; 667 LPCWSTR wzPackageOrContainerId;
663 LPCWSTR wzPayloadId; 668 LPCWSTR wzPayloadId;
664 HRESULT hrStatus; 669 HRESULT hrStatus;
@@ -667,13 +672,13 @@ struct BA_ONCACHEVERIFYCOMPLETE_ARGS
667 672
668struct BA_ONCACHEVERIFYCOMPLETE_RESULTS 673struct BA_ONCACHEVERIFYCOMPLETE_RESULTS
669{ 674{
670 DWORD cbSize; 675 DWORD dwApiVersion;
671 BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION action; 676 BOOTSTRAPPER_CACHEVERIFYCOMPLETE_ACTION action;
672}; 677};
673 678
674struct BA_ONCACHEVERIFYPROGRESS_ARGS 679struct BA_ONCACHEVERIFYPROGRESS_ARGS
675{ 680{
676 DWORD cbSize; 681 DWORD dwApiVersion;
677 LPCWSTR wzPackageOrContainerId; 682 LPCWSTR wzPackageOrContainerId;
678 LPCWSTR wzPayloadId; 683 LPCWSTR wzPayloadId;
679 DWORD64 dw64Progress; 684 DWORD64 dw64Progress;
@@ -684,25 +689,25 @@ struct BA_ONCACHEVERIFYPROGRESS_ARGS
684 689
685struct BA_ONCACHEVERIFYPROGRESS_RESULTS 690struct BA_ONCACHEVERIFYPROGRESS_RESULTS
686{ 691{
687 DWORD cbSize; 692 DWORD dwApiVersion;
688 BOOL fCancel; 693 BOOL fCancel;
689}; 694};
690 695
691struct BA_ONCOMMITMSITRANSACTIONBEGIN_ARGS 696struct BA_ONCOMMITMSITRANSACTIONBEGIN_ARGS
692{ 697{
693 DWORD cbSize; 698 DWORD dwApiVersion;
694 LPCWSTR wzTransactionId; 699 LPCWSTR wzTransactionId;
695}; 700};
696 701
697struct BA_ONCOMMITMSITRANSACTIONBEGIN_RESULTS 702struct BA_ONCOMMITMSITRANSACTIONBEGIN_RESULTS
698{ 703{
699 DWORD cbSize; 704 DWORD dwApiVersion;
700 BOOL fCancel; 705 BOOL fCancel;
701}; 706};
702 707
703struct BA_ONCOMMITMSITRANSACTIONCOMPLETE_ARGS 708struct BA_ONCOMMITMSITRANSACTIONCOMPLETE_ARGS
704{ 709{
705 DWORD cbSize; 710 DWORD dwApiVersion;
706 LPCWSTR wzTransactionId; 711 LPCWSTR wzTransactionId;
707 HRESULT hrStatus; 712 HRESULT hrStatus;
708 BOOTSTRAPPER_APPLY_RESTART restart; 713 BOOTSTRAPPER_APPLY_RESTART restart;
@@ -711,13 +716,50 @@ struct BA_ONCOMMITMSITRANSACTIONCOMPLETE_ARGS
711 716
712struct BA_ONCOMMITMSITRANSACTIONCOMPLETE_RESULTS 717struct BA_ONCOMMITMSITRANSACTIONCOMPLETE_RESULTS
713{ 718{
714 DWORD cbSize; 719 DWORD dwApiVersion;
715 BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION action; 720 BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION action;
716}; 721};
717 722
723struct BA_ONCREATE_ARGS
724{
725 DWORD dwApiVersion;
726 BOOTSTRAPPER_COMMAND command;
727 // BOOTSTRAPPER_ACTION action;
728 // BOOTSTRAPPER_DISPLAY display;
729
730 // LPWSTR wzCommandLine;
731 // INT32 nCmdShow;
732
733 // BOOTSTRAPPER_RESUME_TYPE resumeType;
734 // HWND hwndSplashScreen;
735
736 // BOOTSTRAPPER_RELATION_TYPE relationType;
737 // BOOL fPassthrough;
738
739 // LPWSTR wzLayoutDirectory;
740 // LPWSTR wzBootstrapperWorkingFolder;
741 // LPWSTR wzBootstrapperApplicationDataPath;
742};
743
744struct BA_ONCREATE_RESULTS
745{
746 DWORD dwApiVersion;
747};
748
749struct BA_ONDESTROY_ARGS
750{
751 DWORD dwApiVersion;
752 BOOL fReload;
753};
754
755struct BA_ONDESTROY_RESULTS
756{
757 DWORD dwApiVersion;
758};
759
718struct BA_ONDETECTBEGIN_ARGS 760struct BA_ONDETECTBEGIN_ARGS
719{ 761{
720 DWORD cbSize; 762 DWORD dwApiVersion;
721 BOOTSTRAPPER_REGISTRATION_TYPE registrationType; 763 BOOTSTRAPPER_REGISTRATION_TYPE registrationType;
722 DWORD cPackages; 764 DWORD cPackages;
723 BOOL fCached; 765 BOOL fCached;
@@ -725,13 +767,13 @@ struct BA_ONDETECTBEGIN_ARGS
725 767
726struct BA_ONDETECTBEGIN_RESULTS 768struct BA_ONDETECTBEGIN_RESULTS
727{ 769{
728 DWORD cbSize; 770 DWORD dwApiVersion;
729 BOOL fCancel; 771 BOOL fCancel;
730}; 772};
731 773
732struct BA_ONDETECTCOMPATIBLEMSIPACKAGE_ARGS 774struct BA_ONDETECTCOMPATIBLEMSIPACKAGE_ARGS
733{ 775{
734 DWORD cbSize; 776 DWORD dwApiVersion;
735 LPCWSTR wzPackageId; 777 LPCWSTR wzPackageId;
736 LPCWSTR wzCompatiblePackageId; 778 LPCWSTR wzCompatiblePackageId;
737 LPCWSTR wzCompatiblePackageVersion; 779 LPCWSTR wzCompatiblePackageVersion;
@@ -739,25 +781,25 @@ struct BA_ONDETECTCOMPATIBLEMSIPACKAGE_ARGS
739 781
740struct BA_ONDETECTCOMPATIBLEMSIPACKAGE_RESULTS 782struct BA_ONDETECTCOMPATIBLEMSIPACKAGE_RESULTS
741{ 783{
742 DWORD cbSize; 784 DWORD dwApiVersion;
743 BOOL fCancel; 785 BOOL fCancel;
744}; 786};
745 787
746struct BA_ONDETECTCOMPLETE_ARGS 788struct BA_ONDETECTCOMPLETE_ARGS
747{ 789{
748 DWORD cbSize; 790 DWORD dwApiVersion;
749 HRESULT hrStatus; 791 HRESULT hrStatus;
750 BOOL fEligibleForCleanup; 792 BOOL fEligibleForCleanup;
751}; 793};
752 794
753struct BA_ONDETECTCOMPLETE_RESULTS 795struct BA_ONDETECTCOMPLETE_RESULTS
754{ 796{
755 DWORD cbSize; 797 DWORD dwApiVersion;
756}; 798};
757 799
758struct BA_ONDETECTFORWARDCOMPATIBLEBUNDLE_ARGS 800struct BA_ONDETECTFORWARDCOMPATIBLEBUNDLE_ARGS
759{ 801{
760 DWORD cbSize; 802 DWORD dwApiVersion;
761 LPCWSTR wzBundleId; 803 LPCWSTR wzBundleId;
762 BOOTSTRAPPER_RELATION_TYPE relationType; 804 BOOTSTRAPPER_RELATION_TYPE relationType;
763 LPCWSTR wzBundleTag; 805 LPCWSTR wzBundleTag;
@@ -768,13 +810,13 @@ struct BA_ONDETECTFORWARDCOMPATIBLEBUNDLE_ARGS
768 810
769struct BA_ONDETECTFORWARDCOMPATIBLEBUNDLE_RESULTS 811struct BA_ONDETECTFORWARDCOMPATIBLEBUNDLE_RESULTS
770{ 812{
771 DWORD cbSize; 813 DWORD dwApiVersion;
772 BOOL fCancel; 814 BOOL fCancel;
773}; 815};
774 816
775struct BA_ONDETECTMSIFEATURE_ARGS 817struct BA_ONDETECTMSIFEATURE_ARGS
776{ 818{
777 DWORD cbSize; 819 DWORD dwApiVersion;
778 LPCWSTR wzPackageId; 820 LPCWSTR wzPackageId;
779 LPCWSTR wzFeatureId; 821 LPCWSTR wzFeatureId;
780 BOOTSTRAPPER_FEATURE_STATE state; 822 BOOTSTRAPPER_FEATURE_STATE state;
@@ -782,25 +824,25 @@ struct BA_ONDETECTMSIFEATURE_ARGS
782 824
783struct BA_ONDETECTMSIFEATURE_RESULTS 825struct BA_ONDETECTMSIFEATURE_RESULTS
784{ 826{
785 DWORD cbSize; 827 DWORD dwApiVersion;
786 BOOL fCancel; 828 BOOL fCancel;
787}; 829};
788 830
789struct BA_ONDETECTPACKAGEBEGIN_ARGS 831struct BA_ONDETECTPACKAGEBEGIN_ARGS
790{ 832{
791 DWORD cbSize; 833 DWORD dwApiVersion;
792 LPCWSTR wzPackageId; 834 LPCWSTR wzPackageId;
793}; 835};
794 836
795struct BA_ONDETECTPACKAGEBEGIN_RESULTS 837struct BA_ONDETECTPACKAGEBEGIN_RESULTS
796{ 838{
797 DWORD cbSize; 839 DWORD dwApiVersion;
798 BOOL fCancel; 840 BOOL fCancel;
799}; 841};
800 842
801struct BA_ONDETECTPACKAGECOMPLETE_ARGS 843struct BA_ONDETECTPACKAGECOMPLETE_ARGS
802{ 844{
803 DWORD cbSize; 845 DWORD dwApiVersion;
804 LPCWSTR wzPackageId; 846 LPCWSTR wzPackageId;
805 HRESULT hrStatus; 847 HRESULT hrStatus;
806 BOOTSTRAPPER_PACKAGE_STATE state; 848 BOOTSTRAPPER_PACKAGE_STATE state;
@@ -809,12 +851,12 @@ struct BA_ONDETECTPACKAGECOMPLETE_ARGS
809 851
810struct BA_ONDETECTPACKAGECOMPLETE_RESULTS 852struct BA_ONDETECTPACKAGECOMPLETE_RESULTS
811{ 853{
812 DWORD cbSize; 854 DWORD dwApiVersion;
813}; 855};
814 856
815struct BA_ONDETECTRELATEDBUNDLE_ARGS 857struct BA_ONDETECTRELATEDBUNDLE_ARGS
816{ 858{
817 DWORD cbSize; 859 DWORD dwApiVersion;
818 LPCWSTR wzBundleId; 860 LPCWSTR wzBundleId;
819 BOOTSTRAPPER_RELATION_TYPE relationType; 861 BOOTSTRAPPER_RELATION_TYPE relationType;
820 LPCWSTR wzBundleTag; 862 LPCWSTR wzBundleTag;
@@ -825,13 +867,13 @@ struct BA_ONDETECTRELATEDBUNDLE_ARGS
825 867
826struct BA_ONDETECTRELATEDBUNDLE_RESULTS 868struct BA_ONDETECTRELATEDBUNDLE_RESULTS
827{ 869{
828 DWORD cbSize; 870 DWORD dwApiVersion;
829 BOOL fCancel; 871 BOOL fCancel;
830}; 872};
831 873
832struct BA_ONDETECTRELATEDBUNDLEPACKAGE_ARGS 874struct BA_ONDETECTRELATEDBUNDLEPACKAGE_ARGS
833{ 875{
834 DWORD cbSize; 876 DWORD dwApiVersion;
835 LPCWSTR wzPackageId; 877 LPCWSTR wzPackageId;
836 LPCWSTR wzBundleId; 878 LPCWSTR wzBundleId;
837 BOOTSTRAPPER_RELATION_TYPE relationType; 879 BOOTSTRAPPER_RELATION_TYPE relationType;
@@ -841,13 +883,13 @@ struct BA_ONDETECTRELATEDBUNDLEPACKAGE_ARGS
841 883
842struct BA_ONDETECTRELATEDBUNDLEPACKAGE_RESULTS 884struct BA_ONDETECTRELATEDBUNDLEPACKAGE_RESULTS
843{ 885{
844 DWORD cbSize; 886 DWORD dwApiVersion;
845 BOOL fCancel; 887 BOOL fCancel;
846}; 888};
847 889
848struct BA_ONDETECTRELATEDMSIPACKAGE_ARGS 890struct BA_ONDETECTRELATEDMSIPACKAGE_ARGS
849{ 891{
850 DWORD cbSize; 892 DWORD dwApiVersion;
851 LPCWSTR wzPackageId; 893 LPCWSTR wzPackageId;
852 LPCWSTR wzUpgradeCode; 894 LPCWSTR wzUpgradeCode;
853 LPCWSTR wzProductCode; 895 LPCWSTR wzProductCode;
@@ -858,13 +900,13 @@ struct BA_ONDETECTRELATEDMSIPACKAGE_ARGS
858 900
859struct BA_ONDETECTRELATEDMSIPACKAGE_RESULTS 901struct BA_ONDETECTRELATEDMSIPACKAGE_RESULTS
860{ 902{
861 DWORD cbSize; 903 DWORD dwApiVersion;
862 BOOL fCancel; 904 BOOL fCancel;
863}; 905};
864 906
865struct BA_ONDETECTPATCHTARGET_ARGS 907struct BA_ONDETECTPATCHTARGET_ARGS
866{ 908{
867 DWORD cbSize; 909 DWORD dwApiVersion;
868 LPCWSTR wzPackageId; 910 LPCWSTR wzPackageId;
869 LPCWSTR wzProductCode; 911 LPCWSTR wzProductCode;
870 BOOTSTRAPPER_PACKAGE_STATE patchState; 912 BOOTSTRAPPER_PACKAGE_STATE patchState;
@@ -872,13 +914,13 @@ struct BA_ONDETECTPATCHTARGET_ARGS
872 914
873struct BA_ONDETECTPATCHTARGET_RESULTS 915struct BA_ONDETECTPATCHTARGET_RESULTS
874{ 916{
875 DWORD cbSize; 917 DWORD dwApiVersion;
876 BOOL fCancel; 918 BOOL fCancel;
877}; 919};
878 920
879struct BA_ONDETECTUPDATE_ARGS 921struct BA_ONDETECTUPDATE_ARGS
880{ 922{
881 DWORD cbSize; 923 DWORD dwApiVersion;
882 LPCWSTR wzUpdateLocation; 924 LPCWSTR wzUpdateLocation;
883 DWORD64 dw64Size; 925 DWORD64 dw64Size;
884 LPCWSTR wzHash; 926 LPCWSTR wzHash;
@@ -892,61 +934,61 @@ struct BA_ONDETECTUPDATE_ARGS
892 934
893struct BA_ONDETECTUPDATE_RESULTS 935struct BA_ONDETECTUPDATE_RESULTS
894{ 936{
895 DWORD cbSize; 937 DWORD dwApiVersion;
896 BOOL fCancel; 938 BOOL fCancel;
897 BOOL fStopProcessingUpdates; 939 BOOL fStopProcessingUpdates;
898}; 940};
899 941
900struct BA_ONDETECTUPDATEBEGIN_ARGS 942struct BA_ONDETECTUPDATEBEGIN_ARGS
901{ 943{
902 DWORD cbSize; 944 DWORD dwApiVersion;
903 LPCWSTR wzUpdateLocation; 945 LPCWSTR wzUpdateLocation;
904}; 946};
905 947
906struct BA_ONDETECTUPDATEBEGIN_RESULTS 948struct BA_ONDETECTUPDATEBEGIN_RESULTS
907{ 949{
908 DWORD cbSize; 950 DWORD dwApiVersion;
909 BOOL fCancel; 951 BOOL fCancel;
910 BOOL fSkip; 952 BOOL fSkip;
911}; 953};
912 954
913struct BA_ONDETECTUPDATECOMPLETE_ARGS 955struct BA_ONDETECTUPDATECOMPLETE_ARGS
914{ 956{
915 DWORD cbSize; 957 DWORD dwApiVersion;
916 HRESULT hrStatus; 958 HRESULT hrStatus;
917}; 959};
918 960
919struct BA_ONDETECTUPDATECOMPLETE_RESULTS 961struct BA_ONDETECTUPDATECOMPLETE_RESULTS
920{ 962{
921 DWORD cbSize; 963 DWORD dwApiVersion;
922 BOOL fIgnoreError; 964 BOOL fIgnoreError;
923}; 965};
924 966
925struct BA_ONELEVATEBEGIN_ARGS 967struct BA_ONELEVATEBEGIN_ARGS
926{ 968{
927 DWORD cbSize; 969 DWORD dwApiVersion;
928}; 970};
929 971
930struct BA_ONELEVATEBEGIN_RESULTS 972struct BA_ONELEVATEBEGIN_RESULTS
931{ 973{
932 DWORD cbSize; 974 DWORD dwApiVersion;
933 BOOL fCancel; 975 BOOL fCancel;
934}; 976};
935 977
936struct BA_ONELEVATECOMPLETE_ARGS 978struct BA_ONELEVATECOMPLETE_ARGS
937{ 979{
938 DWORD cbSize; 980 DWORD dwApiVersion;
939 HRESULT hrStatus; 981 HRESULT hrStatus;
940}; 982};
941 983
942struct BA_ONELEVATECOMPLETE_RESULTS 984struct BA_ONELEVATECOMPLETE_RESULTS
943{ 985{
944 DWORD cbSize; 986 DWORD dwApiVersion;
945}; 987};
946 988
947struct BA_ONERROR_ARGS 989struct BA_ONERROR_ARGS
948{ 990{
949 DWORD cbSize; 991 DWORD dwApiVersion;
950 BOOTSTRAPPER_ERROR_TYPE errorType; 992 BOOTSTRAPPER_ERROR_TYPE errorType;
951 LPCWSTR wzPackageId; 993 LPCWSTR wzPackageId;
952 DWORD dwCode; 994 DWORD dwCode;
@@ -954,75 +996,75 @@ struct BA_ONERROR_ARGS
954 DWORD dwUIHint; 996 DWORD dwUIHint;
955 DWORD cData; 997 DWORD cData;
956 LPCWSTR* rgwzData; 998 LPCWSTR* rgwzData;
957 int nRecommendation; 999 INT32 nRecommendation;
958}; 1000};
959 1001
960struct BA_ONERROR_RESULTS 1002struct BA_ONERROR_RESULTS
961{ 1003{
962 DWORD cbSize; 1004 DWORD dwApiVersion;
963 int nResult; 1005 INT32 nResult;
964}; 1006};
965 1007
966struct BA_ONEXECUTEBEGIN_ARGS 1008struct BA_ONEXECUTEBEGIN_ARGS
967{ 1009{
968 DWORD cbSize; 1010 DWORD dwApiVersion;
969 DWORD cExecutingPackages; 1011 DWORD cExecutingPackages;
970}; 1012};
971 1013
972struct BA_ONEXECUTEBEGIN_RESULTS 1014struct BA_ONEXECUTEBEGIN_RESULTS
973{ 1015{
974 DWORD cbSize; 1016 DWORD dwApiVersion;
975 BOOL fCancel; 1017 BOOL fCancel;
976}; 1018};
977 1019
978struct BA_ONEXECUTECOMPLETE_ARGS 1020struct BA_ONEXECUTECOMPLETE_ARGS
979{ 1021{
980 DWORD cbSize; 1022 DWORD dwApiVersion;
981 HRESULT hrStatus; 1023 HRESULT hrStatus;
982}; 1024};
983 1025
984struct BA_ONEXECUTECOMPLETE_RESULTS 1026struct BA_ONEXECUTECOMPLETE_RESULTS
985{ 1027{
986 DWORD cbSize; 1028 DWORD dwApiVersion;
987}; 1029};
988 1030
989struct BA_ONEXECUTEFILESINUSE_ARGS 1031struct BA_ONEXECUTEFILESINUSE_ARGS
990{ 1032{
991 DWORD cbSize; 1033 DWORD dwApiVersion;
992 LPCWSTR wzPackageId; 1034 LPCWSTR wzPackageId;
993 DWORD cFiles; 1035 DWORD cFiles;
994 LPCWSTR* rgwzFiles; 1036 LPCWSTR* rgwzFiles;
995 int nRecommendation; 1037 INT32 nRecommendation;
996 BOOTSTRAPPER_FILES_IN_USE_TYPE source; 1038 BOOTSTRAPPER_FILES_IN_USE_TYPE source;
997}; 1039};
998 1040
999struct BA_ONEXECUTEFILESINUSE_RESULTS 1041struct BA_ONEXECUTEFILESINUSE_RESULTS
1000{ 1042{
1001 DWORD cbSize; 1043 DWORD dwApiVersion;
1002 int nResult; 1044 INT32 nResult;
1003}; 1045};
1004 1046
1005struct BA_ONEXECUTEMSIMESSAGE_ARGS 1047struct BA_ONEXECUTEMSIMESSAGE_ARGS
1006{ 1048{
1007 DWORD cbSize; 1049 DWORD dwApiVersion;
1008 LPCWSTR wzPackageId; 1050 LPCWSTR wzPackageId;
1009 INSTALLMESSAGE messageType; 1051 INSTALLMESSAGE messageType;
1010 DWORD dwUIHint; 1052 DWORD dwUIHint;
1011 LPCWSTR wzMessage; 1053 LPCWSTR wzMessage;
1012 DWORD cData; 1054 DWORD cData;
1013 LPCWSTR* rgwzData; 1055 LPCWSTR* rgwzData;
1014 int nRecommendation; 1056 INT32 nRecommendation;
1015}; 1057};
1016 1058
1017struct BA_ONEXECUTEMSIMESSAGE_RESULTS 1059struct BA_ONEXECUTEMSIMESSAGE_RESULTS
1018{ 1060{
1019 DWORD cbSize; 1061 DWORD dwApiVersion;
1020 int nResult; 1062 INT32 nResult;
1021}; 1063};
1022 1064
1023struct BA_ONEXECUTEPACKAGEBEGIN_ARGS 1065struct BA_ONEXECUTEPACKAGEBEGIN_ARGS
1024{ 1066{
1025 DWORD cbSize; 1067 DWORD dwApiVersion;
1026 LPCWSTR wzPackageId; 1068 LPCWSTR wzPackageId;
1027 BOOL fExecute; // false means rollback. 1069 BOOL fExecute; // false means rollback.
1028 BOOTSTRAPPER_ACTION_STATE action; 1070 BOOTSTRAPPER_ACTION_STATE action;
@@ -1032,13 +1074,13 @@ struct BA_ONEXECUTEPACKAGEBEGIN_ARGS
1032 1074
1033struct BA_ONEXECUTEPACKAGEBEGIN_RESULTS 1075struct BA_ONEXECUTEPACKAGEBEGIN_RESULTS
1034{ 1076{
1035 DWORD cbSize; 1077 DWORD dwApiVersion;
1036 BOOL fCancel; 1078 BOOL fCancel;
1037}; 1079};
1038 1080
1039struct BA_ONEXECUTEPACKAGECOMPLETE_ARGS 1081struct BA_ONEXECUTEPACKAGECOMPLETE_ARGS
1040{ 1082{
1041 DWORD cbSize; 1083 DWORD dwApiVersion;
1042 LPCWSTR wzPackageId; 1084 LPCWSTR wzPackageId;
1043 HRESULT hrStatus; 1085 HRESULT hrStatus;
1044 // Indicates whether this package requires a reboot or initiated the reboot already. 1086 // Indicates whether this package requires a reboot or initiated the reboot already.
@@ -1048,26 +1090,26 @@ struct BA_ONEXECUTEPACKAGECOMPLETE_ARGS
1048 1090
1049struct BA_ONEXECUTEPACKAGECOMPLETE_RESULTS 1091struct BA_ONEXECUTEPACKAGECOMPLETE_RESULTS
1050{ 1092{
1051 DWORD cbSize; 1093 DWORD dwApiVersion;
1052 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION action; 1094 BOOTSTRAPPER_EXECUTEPACKAGECOMPLETE_ACTION action;
1053}; 1095};
1054 1096
1055struct BA_ONEXECUTEPATCHTARGET_ARGS 1097struct BA_ONEXECUTEPATCHTARGET_ARGS
1056{ 1098{
1057 DWORD cbSize; 1099 DWORD dwApiVersion;
1058 LPCWSTR wzPackageId; 1100 LPCWSTR wzPackageId;
1059 LPCWSTR wzTargetProductCode; 1101 LPCWSTR wzTargetProductCode;
1060}; 1102};
1061 1103
1062struct BA_ONEXECUTEPATCHTARGET_RESULTS 1104struct BA_ONEXECUTEPATCHTARGET_RESULTS
1063{ 1105{
1064 DWORD cbSize; 1106 DWORD dwApiVersion;
1065 BOOL fCancel; 1107 BOOL fCancel;
1066}; 1108};
1067 1109
1068struct BA_ONEXECUTEPROCESSCANCEL_ARGS 1110struct BA_ONEXECUTEPROCESSCANCEL_ARGS
1069{ 1111{
1070 DWORD cbSize; 1112 DWORD dwApiVersion;
1071 LPCWSTR wzPackageId; 1113 LPCWSTR wzPackageId;
1072 DWORD dwProcessId; 1114 DWORD dwProcessId;
1073 BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION recommendation; 1115 BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION recommendation;
@@ -1075,13 +1117,13 @@ struct BA_ONEXECUTEPROCESSCANCEL_ARGS
1075 1117
1076struct BA_ONEXECUTEPROCESSCANCEL_RESULTS 1118struct BA_ONEXECUTEPROCESSCANCEL_RESULTS
1077{ 1119{
1078 DWORD cbSize; 1120 DWORD dwApiVersion;
1079 BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION action; 1121 BOOTSTRAPPER_EXECUTEPROCESSCANCEL_ACTION action;
1080}; 1122};
1081 1123
1082struct BA_ONEXECUTEPROGRESS_ARGS 1124struct BA_ONEXECUTEPROGRESS_ARGS
1083{ 1125{
1084 DWORD cbSize; 1126 DWORD dwApiVersion;
1085 LPCWSTR wzPackageId; 1127 LPCWSTR wzPackageId;
1086 DWORD dwProgressPercentage; 1128 DWORD dwProgressPercentage;
1087 DWORD dwOverallPercentage; 1129 DWORD dwOverallPercentage;
@@ -1089,24 +1131,24 @@ struct BA_ONEXECUTEPROGRESS_ARGS
1089 1131
1090struct BA_ONEXECUTEPROGRESS_RESULTS 1132struct BA_ONEXECUTEPROGRESS_RESULTS
1091{ 1133{
1092 DWORD cbSize; 1134 DWORD dwApiVersion;
1093 BOOL fCancel; 1135 BOOL fCancel;
1094}; 1136};
1095 1137
1096struct BA_ONLAUNCHAPPROVEDEXEBEGIN_ARGS 1138struct BA_ONLAUNCHAPPROVEDEXEBEGIN_ARGS
1097{ 1139{
1098 DWORD cbSize; 1140 DWORD dwApiVersion;
1099}; 1141};
1100 1142
1101struct BA_ONLAUNCHAPPROVEDEXEBEGIN_RESULTS 1143struct BA_ONLAUNCHAPPROVEDEXEBEGIN_RESULTS
1102{ 1144{
1103 DWORD cbSize; 1145 DWORD dwApiVersion;
1104 BOOL fCancel; 1146 BOOL fCancel;
1105}; 1147};
1106 1148
1107struct BA_ONLAUNCHAPPROVEDEXECOMPLETE_ARGS 1149struct BA_ONLAUNCHAPPROVEDEXECOMPLETE_ARGS
1108{ 1150{
1109 DWORD cbSize; 1151 DWORD dwApiVersion;
1110 HRESULT hrStatus; 1152 HRESULT hrStatus;
1111 // Only valid if the operation succeeded. 1153 // Only valid if the operation succeeded.
1112 DWORD dwProcessId; 1154 DWORD dwProcessId;
@@ -1114,45 +1156,45 @@ struct BA_ONLAUNCHAPPROVEDEXECOMPLETE_ARGS
1114 1156
1115struct BA_ONLAUNCHAPPROVEDEXECOMPLETE_RESULTS 1157struct BA_ONLAUNCHAPPROVEDEXECOMPLETE_RESULTS
1116{ 1158{
1117 DWORD cbSize; 1159 DWORD dwApiVersion;
1118}; 1160};
1119 1161
1120struct BA_ONPAUSEAUTOMATICUPDATESBEGIN_ARGS 1162struct BA_ONPAUSEAUTOMATICUPDATESBEGIN_ARGS
1121{ 1163{
1122 DWORD cbSize; 1164 DWORD dwApiVersion;
1123}; 1165};
1124 1166
1125struct BA_ONPAUSEAUTOMATICUPDATESBEGIN_RESULTS 1167struct BA_ONPAUSEAUTOMATICUPDATESBEGIN_RESULTS
1126{ 1168{
1127 DWORD cbSize; 1169 DWORD dwApiVersion;
1128}; 1170};
1129 1171
1130struct BA_ONPAUSEAUTOMATICUPDATESCOMPLETE_ARGS 1172struct BA_ONPAUSEAUTOMATICUPDATESCOMPLETE_ARGS
1131{ 1173{
1132 DWORD cbSize; 1174 DWORD dwApiVersion;
1133 HRESULT hrStatus; 1175 HRESULT hrStatus;
1134}; 1176};
1135 1177
1136struct BA_ONPAUSEAUTOMATICUPDATESCOMPLETE_RESULTS 1178struct BA_ONPAUSEAUTOMATICUPDATESCOMPLETE_RESULTS
1137{ 1179{
1138 DWORD cbSize; 1180 DWORD dwApiVersion;
1139}; 1181};
1140 1182
1141struct BA_ONPLANBEGIN_ARGS 1183struct BA_ONPLANBEGIN_ARGS
1142{ 1184{
1143 DWORD cbSize; 1185 DWORD dwApiVersion;
1144 DWORD cPackages; 1186 DWORD cPackages;
1145}; 1187};
1146 1188
1147struct BA_ONPLANBEGIN_RESULTS 1189struct BA_ONPLANBEGIN_RESULTS
1148{ 1190{
1149 DWORD cbSize; 1191 DWORD dwApiVersion;
1150 BOOL fCancel; 1192 BOOL fCancel;
1151}; 1193};
1152 1194
1153struct BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_ARGS 1195struct BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_ARGS
1154{ 1196{
1155 DWORD cbSize; 1197 DWORD dwApiVersion;
1156 LPCWSTR wzPackageId; 1198 LPCWSTR wzPackageId;
1157 LPCWSTR wzCompatiblePackageId; 1199 LPCWSTR wzCompatiblePackageId;
1158 LPCWSTR wzCompatiblePackageVersion; 1200 LPCWSTR wzCompatiblePackageVersion;
@@ -1161,14 +1203,14 @@ struct BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_ARGS
1161 1203
1162struct BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_RESULTS 1204struct BA_ONPLANCOMPATIBLEMSIPACKAGEBEGIN_RESULTS
1163{ 1205{
1164 DWORD cbSize; 1206 DWORD dwApiVersion;
1165 BOOL fCancel; 1207 BOOL fCancel;
1166 BOOL fRequestRemove; 1208 BOOL fRequestRemove;
1167}; 1209};
1168 1210
1169struct BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_ARGS 1211struct BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_ARGS
1170{ 1212{
1171 DWORD cbSize; 1213 DWORD dwApiVersion;
1172 LPCWSTR wzPackageId; 1214 LPCWSTR wzPackageId;
1173 LPCWSTR wzCompatiblePackageId; 1215 LPCWSTR wzCompatiblePackageId;
1174 HRESULT hrStatus; 1216 HRESULT hrStatus;
@@ -1177,23 +1219,23 @@ struct BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_ARGS
1177 1219
1178struct BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_RESULTS 1220struct BA_ONPLANCOMPATIBLEMSIPACKAGECOMPLETE_RESULTS
1179{ 1221{
1180 DWORD cbSize; 1222 DWORD dwApiVersion;
1181}; 1223};
1182 1224
1183struct BA_ONPLANCOMPLETE_ARGS 1225struct BA_ONPLANCOMPLETE_ARGS
1184{ 1226{
1185 DWORD cbSize; 1227 DWORD dwApiVersion;
1186 HRESULT hrStatus; 1228 HRESULT hrStatus;
1187}; 1229};
1188 1230
1189struct BA_ONPLANCOMPLETE_RESULTS 1231struct BA_ONPLANCOMPLETE_RESULTS
1190{ 1232{
1191 DWORD cbSize; 1233 DWORD dwApiVersion;
1192}; 1234};
1193 1235
1194struct BA_ONPLANFORWARDCOMPATIBLEBUNDLE_ARGS 1236struct BA_ONPLANFORWARDCOMPATIBLEBUNDLE_ARGS
1195{ 1237{
1196 DWORD cbSize; 1238 DWORD dwApiVersion;
1197 LPCWSTR wzBundleId; 1239 LPCWSTR wzBundleId;
1198 BOOTSTRAPPER_RELATION_TYPE relationType; 1240 BOOTSTRAPPER_RELATION_TYPE relationType;
1199 LPCWSTR wzBundleTag; 1241 LPCWSTR wzBundleTag;
@@ -1204,14 +1246,14 @@ struct BA_ONPLANFORWARDCOMPATIBLEBUNDLE_ARGS
1204 1246
1205struct BA_ONPLANFORWARDCOMPATIBLEBUNDLE_RESULTS 1247struct BA_ONPLANFORWARDCOMPATIBLEBUNDLE_RESULTS
1206{ 1248{
1207 DWORD cbSize; 1249 DWORD dwApiVersion;
1208 BOOL fCancel; 1250 BOOL fCancel;
1209 BOOL fIgnoreBundle; 1251 BOOL fIgnoreBundle;
1210}; 1252};
1211 1253
1212struct BA_ONPLANMSIFEATURE_ARGS 1254struct BA_ONPLANMSIFEATURE_ARGS
1213{ 1255{
1214 DWORD cbSize; 1256 DWORD dwApiVersion;
1215 LPCWSTR wzPackageId; 1257 LPCWSTR wzPackageId;
1216 LPCWSTR wzFeatureId; 1258 LPCWSTR wzFeatureId;
1217 BOOTSTRAPPER_FEATURE_STATE recommendedState; 1259 BOOTSTRAPPER_FEATURE_STATE recommendedState;
@@ -1219,14 +1261,14 @@ struct BA_ONPLANMSIFEATURE_ARGS
1219 1261
1220struct BA_ONPLANMSIFEATURE_RESULTS 1262struct BA_ONPLANMSIFEATURE_RESULTS
1221{ 1263{
1222 DWORD cbSize; 1264 DWORD dwApiVersion;
1223 BOOTSTRAPPER_FEATURE_STATE requestedState; 1265 BOOTSTRAPPER_FEATURE_STATE requestedState;
1224 BOOL fCancel; 1266 BOOL fCancel;
1225}; 1267};
1226 1268
1227struct BA_ONPLANMSIPACKAGE_ARGS 1269struct BA_ONPLANMSIPACKAGE_ARGS
1228{ 1270{
1229 DWORD cbSize; 1271 DWORD dwApiVersion;
1230 LPCWSTR wzPackageId; 1272 LPCWSTR wzPackageId;
1231 BOOL fExecute; // false means rollback. 1273 BOOL fExecute; // false means rollback.
1232 BOOTSTRAPPER_ACTION_STATE action; 1274 BOOTSTRAPPER_ACTION_STATE action;
@@ -1235,7 +1277,7 @@ struct BA_ONPLANMSIPACKAGE_ARGS
1235 1277
1236struct BA_ONPLANMSIPACKAGE_RESULTS 1278struct BA_ONPLANMSIPACKAGE_RESULTS
1237{ 1279{
1238 DWORD cbSize; 1280 DWORD dwApiVersion;
1239 BOOL fCancel; 1281 BOOL fCancel;
1240 BURN_MSI_PROPERTY actionMsiProperty; 1282 BURN_MSI_PROPERTY actionMsiProperty;
1241 INSTALLUILEVEL uiLevel; 1283 INSTALLUILEVEL uiLevel;
@@ -1245,7 +1287,7 @@ struct BA_ONPLANMSIPACKAGE_RESULTS
1245 1287
1246struct BA_ONPLANNEDCOMPATIBLEPACKAGE_ARGS 1288struct BA_ONPLANNEDCOMPATIBLEPACKAGE_ARGS
1247{ 1289{
1248 DWORD cbSize; 1290 DWORD dwApiVersion;
1249 LPCWSTR wzPackageId; 1291 LPCWSTR wzPackageId;
1250 LPCWSTR wzCompatiblePackageId; 1292 LPCWSTR wzCompatiblePackageId;
1251 BOOL fRemove; 1293 BOOL fRemove;
@@ -1253,12 +1295,12 @@ struct BA_ONPLANNEDCOMPATIBLEPACKAGE_ARGS
1253 1295
1254struct BA_ONPLANNEDCOMPATIBLEPACKAGE_RESULTS 1296struct BA_ONPLANNEDCOMPATIBLEPACKAGE_RESULTS
1255{ 1297{
1256 DWORD cbSize; 1298 DWORD dwApiVersion;
1257}; 1299};
1258 1300
1259struct BA_ONPLANNEDPACKAGE_ARGS 1301struct BA_ONPLANNEDPACKAGE_ARGS
1260{ 1302{
1261 DWORD cbSize; 1303 DWORD dwApiVersion;
1262 LPCWSTR wzPackageId; 1304 LPCWSTR wzPackageId;
1263 BOOTSTRAPPER_ACTION_STATE execute; 1305 BOOTSTRAPPER_ACTION_STATE execute;
1264 BOOTSTRAPPER_ACTION_STATE rollback; 1306 BOOTSTRAPPER_ACTION_STATE rollback;
@@ -1268,12 +1310,12 @@ struct BA_ONPLANNEDPACKAGE_ARGS
1268 1310
1269struct BA_ONPLANNEDPACKAGE_RESULTS 1311struct BA_ONPLANNEDPACKAGE_RESULTS
1270{ 1312{
1271 DWORD cbSize; 1313 DWORD dwApiVersion;
1272}; 1314};
1273 1315
1274struct BA_ONPLANPACKAGEBEGIN_ARGS 1316struct BA_ONPLANPACKAGEBEGIN_ARGS
1275{ 1317{
1276 DWORD cbSize; 1318 DWORD dwApiVersion;
1277 LPCWSTR wzPackageId; 1319 LPCWSTR wzPackageId;
1278 BOOTSTRAPPER_PACKAGE_STATE state; 1320 BOOTSTRAPPER_PACKAGE_STATE state;
1279 BOOL fCached; 1321 BOOL fCached;
@@ -1285,7 +1327,7 @@ struct BA_ONPLANPACKAGEBEGIN_ARGS
1285 1327
1286struct BA_ONPLANPACKAGEBEGIN_RESULTS 1328struct BA_ONPLANPACKAGEBEGIN_RESULTS
1287{ 1329{
1288 DWORD cbSize; 1330 DWORD dwApiVersion;
1289 BOOL fCancel; 1331 BOOL fCancel;
1290 BOOTSTRAPPER_REQUEST_STATE requestedState; 1332 BOOTSTRAPPER_REQUEST_STATE requestedState;
1291 BOOTSTRAPPER_CACHE_TYPE requestedCacheType; 1333 BOOTSTRAPPER_CACHE_TYPE requestedCacheType;
@@ -1293,7 +1335,7 @@ struct BA_ONPLANPACKAGEBEGIN_RESULTS
1293 1335
1294struct BA_ONPLANPACKAGECOMPLETE_ARGS 1336struct BA_ONPLANPACKAGECOMPLETE_ARGS
1295{ 1337{
1296 DWORD cbSize; 1338 DWORD dwApiVersion;
1297 LPCWSTR wzPackageId; 1339 LPCWSTR wzPackageId;
1298 HRESULT hrStatus; 1340 HRESULT hrStatus;
1299 BOOTSTRAPPER_REQUEST_STATE requested; 1341 BOOTSTRAPPER_REQUEST_STATE requested;
@@ -1301,68 +1343,68 @@ struct BA_ONPLANPACKAGECOMPLETE_ARGS
1301 1343
1302struct BA_ONPLANPACKAGECOMPLETE_RESULTS 1344struct BA_ONPLANPACKAGECOMPLETE_RESULTS
1303{ 1345{
1304 DWORD cbSize; 1346 DWORD dwApiVersion;
1305}; 1347};
1306 1348
1307struct BA_ONPLANRELATEDBUNDLE_ARGS 1349struct BA_ONPLANRELATEDBUNDLE_ARGS
1308{ 1350{
1309 DWORD cbSize; 1351 DWORD dwApiVersion;
1310 LPCWSTR wzBundleId; 1352 LPCWSTR wzBundleId;
1311 BOOTSTRAPPER_REQUEST_STATE recommendedState; 1353 BOOTSTRAPPER_REQUEST_STATE recommendedState;
1312}; 1354};
1313 1355
1314struct BA_ONPLANRELATEDBUNDLE_RESULTS 1356struct BA_ONPLANRELATEDBUNDLE_RESULTS
1315{ 1357{
1316 DWORD cbSize; 1358 DWORD dwApiVersion;
1317 BOOL fCancel; 1359 BOOL fCancel;
1318 BOOTSTRAPPER_REQUEST_STATE requestedState; 1360 BOOTSTRAPPER_REQUEST_STATE requestedState;
1319}; 1361};
1320 1362
1321struct BA_ONPLANRELATEDBUNDLETYPE_ARGS 1363struct BA_ONPLANRELATEDBUNDLETYPE_ARGS
1322{ 1364{
1323 DWORD cbSize; 1365 DWORD dwApiVersion;
1324 LPCWSTR wzBundleId; 1366 LPCWSTR wzBundleId;
1325 BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE recommendedType; 1367 BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE recommendedType;
1326}; 1368};
1327 1369
1328struct BA_ONPLANRELATEDBUNDLETYPE_RESULTS 1370struct BA_ONPLANRELATEDBUNDLETYPE_RESULTS
1329{ 1371{
1330 DWORD cbSize; 1372 DWORD dwApiVersion;
1331 BOOL fCancel; 1373 BOOL fCancel;
1332 BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE requestedType; 1374 BOOTSTRAPPER_RELATED_BUNDLE_PLAN_TYPE requestedType;
1333}; 1375};
1334 1376
1335struct BA_ONPLANRESTORERELATEDBUNDLE_ARGS 1377struct BA_ONPLANRESTORERELATEDBUNDLE_ARGS
1336{ 1378{
1337 DWORD cbSize; 1379 DWORD dwApiVersion;
1338 LPCWSTR wzBundleId; 1380 LPCWSTR wzBundleId;
1339 BOOTSTRAPPER_REQUEST_STATE recommendedState; 1381 BOOTSTRAPPER_REQUEST_STATE recommendedState;
1340}; 1382};
1341 1383
1342struct BA_ONPLANRESTORERELATEDBUNDLE_RESULTS 1384struct BA_ONPLANRESTORERELATEDBUNDLE_RESULTS
1343{ 1385{
1344 DWORD cbSize; 1386 DWORD dwApiVersion;
1345 BOOL fCancel; 1387 BOOL fCancel;
1346 BOOTSTRAPPER_REQUEST_STATE requestedState; 1388 BOOTSTRAPPER_REQUEST_STATE requestedState;
1347}; 1389};
1348 1390
1349struct BA_ONPLANROLLBACKBOUNDARY_ARGS 1391struct BA_ONPLANROLLBACKBOUNDARY_ARGS
1350{ 1392{
1351 DWORD cbSize; 1393 DWORD dwApiVersion;
1352 LPCWSTR wzRollbackBoundaryId; 1394 LPCWSTR wzRollbackBoundaryId;
1353 BOOL fRecommendedTransaction; 1395 BOOL fRecommendedTransaction;
1354}; 1396};
1355 1397
1356struct BA_ONPLANROLLBACKBOUNDARY_RESULTS 1398struct BA_ONPLANROLLBACKBOUNDARY_RESULTS
1357{ 1399{
1358 DWORD cbSize; 1400 DWORD dwApiVersion;
1359 BOOL fTransaction; 1401 BOOL fTransaction;
1360 BOOL fCancel; 1402 BOOL fCancel;
1361}; 1403};
1362 1404
1363struct BA_ONPLANPATCHTARGET_ARGS 1405struct BA_ONPLANPATCHTARGET_ARGS
1364{ 1406{
1365 DWORD cbSize; 1407 DWORD dwApiVersion;
1366 LPCWSTR wzPackageId; 1408 LPCWSTR wzPackageId;
1367 LPCWSTR wzProductCode; 1409 LPCWSTR wzProductCode;
1368 BOOTSTRAPPER_REQUEST_STATE recommendedState; 1410 BOOTSTRAPPER_REQUEST_STATE recommendedState;
@@ -1370,62 +1412,62 @@ struct BA_ONPLANPATCHTARGET_ARGS
1370 1412
1371struct BA_ONPLANPATCHTARGET_RESULTS 1413struct BA_ONPLANPATCHTARGET_RESULTS
1372{ 1414{
1373 DWORD cbSize; 1415 DWORD dwApiVersion;
1374 BOOTSTRAPPER_REQUEST_STATE requestedState;
1375 BOOL fCancel; 1416 BOOL fCancel;
1417 BOOTSTRAPPER_REQUEST_STATE requestedState;
1376}; 1418};
1377 1419
1378struct BA_ONPROGRESS_ARGS 1420struct BA_ONPROGRESS_ARGS
1379{ 1421{
1380 DWORD cbSize; 1422 DWORD dwApiVersion;
1381 DWORD dwProgressPercentage; 1423 DWORD dwProgressPercentage;
1382 DWORD dwOverallPercentage; 1424 DWORD dwOverallPercentage;
1383}; 1425};
1384 1426
1385struct BA_ONPROGRESS_RESULTS 1427struct BA_ONPROGRESS_RESULTS
1386{ 1428{
1387 DWORD cbSize; 1429 DWORD dwApiVersion;
1388 BOOL fCancel; 1430 BOOL fCancel;
1389}; 1431};
1390 1432
1391struct BA_ONREGISTERBEGIN_ARGS 1433struct BA_ONREGISTERBEGIN_ARGS
1392{ 1434{
1393 DWORD cbSize; 1435 DWORD dwApiVersion;
1394 BOOTSTRAPPER_REGISTRATION_TYPE recommendedRegistrationType; 1436 BOOTSTRAPPER_REGISTRATION_TYPE recommendedRegistrationType;
1395}; 1437};
1396 1438
1397struct BA_ONREGISTERBEGIN_RESULTS 1439struct BA_ONREGISTERBEGIN_RESULTS
1398{ 1440{
1399 DWORD cbSize; 1441 DWORD dwApiVersion;
1400 BOOL fCancel; 1442 BOOL fCancel;
1401 BOOTSTRAPPER_REGISTRATION_TYPE registrationType; 1443 BOOTSTRAPPER_REGISTRATION_TYPE registrationType;
1402}; 1444};
1403 1445
1404struct BA_ONREGISTERCOMPLETE_ARGS 1446struct BA_ONREGISTERCOMPLETE_ARGS
1405{ 1447{
1406 DWORD cbSize; 1448 DWORD dwApiVersion;
1407 HRESULT hrStatus; 1449 HRESULT hrStatus;
1408}; 1450};
1409 1451
1410struct BA_ONREGISTERCOMPLETE_RESULTS 1452struct BA_ONREGISTERCOMPLETE_RESULTS
1411{ 1453{
1412 DWORD cbSize; 1454 DWORD dwApiVersion;
1413}; 1455};
1414 1456
1415struct BA_ONROLLBACKMSITRANSACTIONBEGIN_ARGS 1457struct BA_ONROLLBACKMSITRANSACTIONBEGIN_ARGS
1416{ 1458{
1417 DWORD cbSize; 1459 DWORD dwApiVersion;
1418 LPCWSTR wzTransactionId; 1460 LPCWSTR wzTransactionId;
1419}; 1461};
1420 1462
1421struct BA_ONROLLBACKMSITRANSACTIONBEGIN_RESULTS 1463struct BA_ONROLLBACKMSITRANSACTIONBEGIN_RESULTS
1422{ 1464{
1423 DWORD cbSize; 1465 DWORD dwApiVersion;
1424}; 1466};
1425 1467
1426struct BA_ONROLLBACKMSITRANSACTIONCOMPLETE_ARGS 1468struct BA_ONROLLBACKMSITRANSACTIONCOMPLETE_ARGS
1427{ 1469{
1428 DWORD cbSize; 1470 DWORD dwApiVersion;
1429 LPCWSTR wzTransactionId; 1471 LPCWSTR wzTransactionId;
1430 HRESULT hrStatus; 1472 HRESULT hrStatus;
1431 BOOTSTRAPPER_APPLY_RESTART restart; 1473 BOOTSTRAPPER_APPLY_RESTART restart;
@@ -1434,99 +1476,76 @@ struct BA_ONROLLBACKMSITRANSACTIONCOMPLETE_ARGS
1434 1476
1435struct BA_ONROLLBACKMSITRANSACTIONCOMPLETE_RESULTS 1477struct BA_ONROLLBACKMSITRANSACTIONCOMPLETE_RESULTS
1436{ 1478{
1437 DWORD cbSize; 1479 DWORD dwApiVersion;
1438 BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION action; 1480 BOOTSTRAPPER_EXECUTEMSITRANSACTIONCOMPLETE_ACTION action;
1439}; 1481};
1440 1482
1441struct BA_ONSETUPDATEBEGIN_ARGS
1442{
1443 DWORD cbSize;
1444};
1445
1446struct BA_ONSETUPDATEBEGIN_RESULTS
1447{
1448 DWORD cbSize;
1449};
1450
1451struct BA_ONSETUPDATECOMPLETE_ARGS
1452{
1453 DWORD cbSize;
1454 HRESULT hrStatus;
1455 LPCWSTR wzPreviousPackageId;
1456 LPCWSTR wzNewPackageId;
1457};
1458
1459struct BA_ONSETUPDATECOMPLETE_RESULTS
1460{
1461 DWORD cbSize;
1462};
1463
1464struct BA_ONSHUTDOWN_ARGS 1483struct BA_ONSHUTDOWN_ARGS
1465{ 1484{
1466 DWORD cbSize; 1485 DWORD dwApiVersion;
1467}; 1486};
1468 1487
1469struct BA_ONSHUTDOWN_RESULTS 1488struct BA_ONSHUTDOWN_RESULTS
1470{ 1489{
1471 DWORD cbSize; 1490 DWORD dwApiVersion;
1472 BOOTSTRAPPER_SHUTDOWN_ACTION action; 1491 BOOTSTRAPPER_SHUTDOWN_ACTION action;
1473}; 1492};
1474 1493
1475struct BA_ONSTARTUP_ARGS 1494struct BA_ONSTARTUP_ARGS
1476{ 1495{
1477 DWORD cbSize; 1496 DWORD dwApiVersion;
1478}; 1497};
1479 1498
1480struct BA_ONSTARTUP_RESULTS 1499struct BA_ONSTARTUP_RESULTS
1481{ 1500{
1482 DWORD cbSize; 1501 DWORD dwApiVersion;
1483}; 1502};
1484 1503
1485struct BA_ONSYSTEMRESTOREPOINTBEGIN_ARGS 1504struct BA_ONSYSTEMRESTOREPOINTBEGIN_ARGS
1486{ 1505{
1487 DWORD cbSize; 1506 DWORD dwApiVersion;
1488}; 1507};
1489 1508
1490struct BA_ONSYSTEMRESTOREPOINTBEGIN_RESULTS 1509struct BA_ONSYSTEMRESTOREPOINTBEGIN_RESULTS
1491{ 1510{
1492 DWORD cbSize; 1511 DWORD dwApiVersion;
1493}; 1512};
1494 1513
1495struct BA_ONSYSTEMRESTOREPOINTCOMPLETE_ARGS 1514struct BA_ONSYSTEMRESTOREPOINTCOMPLETE_ARGS
1496{ 1515{
1497 DWORD cbSize; 1516 DWORD dwApiVersion;
1498 HRESULT hrStatus; 1517 HRESULT hrStatus;
1499}; 1518};
1500 1519
1501struct BA_ONSYSTEMRESTOREPOINTCOMPLETE_RESULTS 1520struct BA_ONSYSTEMRESTOREPOINTCOMPLETE_RESULTS
1502{ 1521{
1503 DWORD cbSize; 1522 DWORD dwApiVersion;
1504}; 1523};
1505 1524
1506struct BA_ONUNREGISTERBEGIN_ARGS 1525struct BA_ONUNREGISTERBEGIN_ARGS
1507{ 1526{
1508 DWORD cbSize; 1527 DWORD dwApiVersion;
1509 BOOTSTRAPPER_REGISTRATION_TYPE recommendedRegistrationType; 1528 BOOTSTRAPPER_REGISTRATION_TYPE recommendedRegistrationType;
1510}; 1529};
1511 1530
1512struct BA_ONUNREGISTERBEGIN_RESULTS 1531struct BA_ONUNREGISTERBEGIN_RESULTS
1513{ 1532{
1514 DWORD cbSize; 1533 DWORD dwApiVersion;
1515 BOOTSTRAPPER_REGISTRATION_TYPE registrationType; 1534 BOOTSTRAPPER_REGISTRATION_TYPE registrationType;
1516}; 1535};
1517 1536
1518struct BA_ONUNREGISTERCOMPLETE_ARGS 1537struct BA_ONUNREGISTERCOMPLETE_ARGS
1519{ 1538{
1520 DWORD cbSize; 1539 DWORD dwApiVersion;
1521 HRESULT hrStatus; 1540 HRESULT hrStatus;
1522}; 1541};
1523 1542
1524struct BA_ONUNREGISTERCOMPLETE_RESULTS 1543struct BA_ONUNREGISTERCOMPLETE_RESULTS
1525{ 1544{
1526 DWORD cbSize; 1545 DWORD dwApiVersion;
1527}; 1546};
1528 1547
1529 1548#ifdef TODO_DELETE
1530 1549
1531extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_APPLICATION_PROC)( 1550extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_APPLICATION_PROC)(
1532 __in BOOTSTRAPPER_APPLICATION_MESSAGE message, 1551 __in BOOTSTRAPPER_APPLICATION_MESSAGE message,
@@ -1537,13 +1556,13 @@ extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_APPLICATION_PROC)(
1537 1556
1538struct BOOTSTRAPPER_DESTROY_ARGS 1557struct BOOTSTRAPPER_DESTROY_ARGS
1539{ 1558{
1540 DWORD cbSize; 1559 DWORD dwApiVersion;
1541 BOOL fReload; 1560 BOOL fReload;
1542}; 1561};
1543 1562
1544struct BOOTSTRAPPER_DESTROY_RESULTS 1563struct BOOTSTRAPPER_DESTROY_RESULTS
1545{ 1564{
1546 DWORD cbSize; 1565 DWORD dwApiVersion;
1547 BOOL fDisableUnloading; // indicates the BA dll must not be unloaded after BootstrapperApplicationDestroy. 1566 BOOL fDisableUnloading; // indicates the BA dll must not be unloaded after BootstrapperApplicationDestroy.
1548}; 1567};
1549 1568
@@ -1556,7 +1575,7 @@ extern "C" typedef void (WINAPI *PFN_BOOTSTRAPPER_APPLICATION_DESTROY)(
1556 1575
1557struct BOOTSTRAPPER_CREATE_ARGS 1576struct BOOTSTRAPPER_CREATE_ARGS
1558{ 1577{
1559 DWORD cbSize; 1578 DWORD dwApiVersion;
1560 DWORD64 qwEngineAPIVersion; 1579 DWORD64 qwEngineAPIVersion;
1561 PFN_BOOTSTRAPPER_ENGINE_PROC pfnBootstrapperEngineProc; 1580 PFN_BOOTSTRAPPER_ENGINE_PROC pfnBootstrapperEngineProc;
1562 LPVOID pvBootstrapperEngineProcContext; 1581 LPVOID pvBootstrapperEngineProcContext;
@@ -1565,7 +1584,7 @@ struct BOOTSTRAPPER_CREATE_ARGS
1565 1584
1566struct BOOTSTRAPPER_CREATE_RESULTS 1585struct BOOTSTRAPPER_CREATE_RESULTS
1567{ 1586{
1568 DWORD cbSize; 1587 DWORD dwApiVersion;
1569 PFN_BOOTSTRAPPER_APPLICATION_PROC pfnBootstrapperApplicationProc; 1588 PFN_BOOTSTRAPPER_APPLICATION_PROC pfnBootstrapperApplicationProc;
1570 LPVOID pvBootstrapperApplicationProcContext; 1589 LPVOID pvBootstrapperApplicationProcContext;
1571}; 1590};
@@ -1574,3 +1593,5 @@ extern "C" typedef HRESULT(WINAPI *PFN_BOOTSTRAPPER_APPLICATION_CREATE)(
1574 __in const BOOTSTRAPPER_CREATE_ARGS* pArgs, 1593 __in const BOOTSTRAPPER_CREATE_ARGS* pArgs,
1575 __inout BOOTSTRAPPER_CREATE_RESULTS* pResults 1594 __inout BOOTSTRAPPER_CREATE_RESULTS* pResults
1576 ); 1595 );
1596
1597#endif