diff options
Diffstat (limited to 'src/burn/engine/plan.h')
| -rw-r--r-- | src/burn/engine/plan.h | 456 |
1 files changed, 456 insertions, 0 deletions
diff --git a/src/burn/engine/plan.h b/src/burn/engine/plan.h new file mode 100644 index 00000000..00ab5516 --- /dev/null +++ b/src/burn/engine/plan.h | |||
| @@ -0,0 +1,456 @@ | |||
| 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 | #if defined(__cplusplus) | ||
| 6 | extern "C" { | ||
| 7 | #endif | ||
| 8 | |||
| 9 | |||
| 10 | // constants | ||
| 11 | |||
| 12 | const DWORD BURN_PLAN_INVALID_ACTION_INDEX = 0x80000000; | ||
| 13 | |||
| 14 | enum BURN_REGISTRATION_ACTION_OPERATIONS | ||
| 15 | { | ||
| 16 | BURN_REGISTRATION_ACTION_OPERATIONS_NONE = 0x0, | ||
| 17 | BURN_REGISTRATION_ACTION_OPERATIONS_CACHE_BUNDLE = 0x1, | ||
| 18 | BURN_REGISTRATION_ACTION_OPERATIONS_WRITE_REGISTRATION = 0x2, | ||
| 19 | BURN_REGISTRATION_ACTION_OPERATIONS_UPDATE_SIZE = 0x4, | ||
| 20 | }; | ||
| 21 | |||
| 22 | enum BURN_DEPENDENCY_REGISTRATION_ACTION | ||
| 23 | { | ||
| 24 | BURN_DEPENDENCY_REGISTRATION_ACTION_NONE, | ||
| 25 | BURN_DEPENDENCY_REGISTRATION_ACTION_REGISTER, | ||
| 26 | BURN_DEPENDENCY_REGISTRATION_ACTION_UNREGISTER, | ||
| 27 | }; | ||
| 28 | |||
| 29 | enum BURN_DEPENDENT_REGISTRATION_ACTION_TYPE | ||
| 30 | { | ||
| 31 | BURN_DEPENDENT_REGISTRATION_ACTION_TYPE_NONE, | ||
| 32 | BURN_DEPENDENT_REGISTRATION_ACTION_TYPE_REGISTER, | ||
| 33 | BURN_DEPENDENT_REGISTRATION_ACTION_TYPE_UNREGISTER, | ||
| 34 | }; | ||
| 35 | |||
| 36 | enum BURN_CACHE_ACTION_TYPE | ||
| 37 | { | ||
| 38 | BURN_CACHE_ACTION_TYPE_NONE, | ||
| 39 | BURN_CACHE_ACTION_TYPE_CHECKPOINT, | ||
| 40 | BURN_CACHE_ACTION_TYPE_LAYOUT_BUNDLE, | ||
| 41 | BURN_CACHE_ACTION_TYPE_PACKAGE, | ||
| 42 | BURN_CACHE_ACTION_TYPE_ROLLBACK_PACKAGE, | ||
| 43 | BURN_CACHE_ACTION_TYPE_SIGNAL_SYNCPOINT, | ||
| 44 | BURN_CACHE_ACTION_TYPE_CONTAINER, | ||
| 45 | }; | ||
| 46 | |||
| 47 | enum BURN_EXECUTE_ACTION_TYPE | ||
| 48 | { | ||
| 49 | BURN_EXECUTE_ACTION_TYPE_NONE, | ||
| 50 | BURN_EXECUTE_ACTION_TYPE_CHECKPOINT, | ||
| 51 | BURN_EXECUTE_ACTION_TYPE_WAIT_SYNCPOINT, | ||
| 52 | BURN_EXECUTE_ACTION_TYPE_UNCACHE_PACKAGE, | ||
| 53 | BURN_EXECUTE_ACTION_TYPE_EXE_PACKAGE, | ||
| 54 | BURN_EXECUTE_ACTION_TYPE_MSI_PACKAGE, | ||
| 55 | BURN_EXECUTE_ACTION_TYPE_MSP_TARGET, | ||
| 56 | BURN_EXECUTE_ACTION_TYPE_MSU_PACKAGE, | ||
| 57 | BURN_EXECUTE_ACTION_TYPE_PACKAGE_PROVIDER, | ||
| 58 | BURN_EXECUTE_ACTION_TYPE_PACKAGE_DEPENDENCY, | ||
| 59 | BURN_EXECUTE_ACTION_TYPE_ROLLBACK_BOUNDARY, | ||
| 60 | BURN_EXECUTE_ACTION_TYPE_BEGIN_MSI_TRANSACTION, | ||
| 61 | BURN_EXECUTE_ACTION_TYPE_COMMIT_MSI_TRANSACTION, | ||
| 62 | }; | ||
| 63 | |||
| 64 | enum BURN_CLEAN_ACTION_TYPE | ||
| 65 | { | ||
| 66 | BURN_CLEAN_ACTION_TYPE_NONE, | ||
| 67 | BURN_CLEAN_ACTION_TYPE_BUNDLE, | ||
| 68 | BURN_CLEAN_ACTION_TYPE_PACKAGE, | ||
| 69 | }; | ||
| 70 | |||
| 71 | |||
| 72 | // structs | ||
| 73 | |||
| 74 | typedef struct _BURN_DEPENDENT_REGISTRATION_ACTION | ||
| 75 | { | ||
| 76 | BURN_DEPENDENT_REGISTRATION_ACTION_TYPE type; | ||
| 77 | LPWSTR sczBundleId; | ||
| 78 | LPWSTR sczDependentProviderKey; | ||
| 79 | } BURN_DEPENDENT_REGISTRATION_ACTION; | ||
| 80 | |||
| 81 | typedef struct _BURN_CACHE_CONTAINER_PROGRESS | ||
| 82 | { | ||
| 83 | LPWSTR wzId; | ||
| 84 | DWORD iIndex; | ||
| 85 | BOOL fCachedDuringApply; | ||
| 86 | BURN_CONTAINER* pContainer; | ||
| 87 | } BURN_CACHE_CONTAINER_PROGRESS; | ||
| 88 | |||
| 89 | typedef struct _BURN_CACHE_PAYLOAD_PROGRESS | ||
| 90 | { | ||
| 91 | LPWSTR wzId; | ||
| 92 | DWORD iIndex; | ||
| 93 | BOOL fCachedDuringApply; | ||
| 94 | BURN_PAYLOAD* pPayload; | ||
| 95 | } BURN_CACHE_PAYLOAD_PROGRESS; | ||
| 96 | |||
| 97 | typedef struct _BURN_CACHE_ACTION | ||
| 98 | { | ||
| 99 | BURN_CACHE_ACTION_TYPE type; | ||
| 100 | union | ||
| 101 | { | ||
| 102 | struct | ||
| 103 | { | ||
| 104 | DWORD dwId; | ||
| 105 | } checkpoint; | ||
| 106 | struct | ||
| 107 | { | ||
| 108 | LPWSTR sczExecutableName; | ||
| 109 | LPWSTR sczUnverifiedPath; | ||
| 110 | DWORD64 qwBundleSize; | ||
| 111 | BURN_PAYLOAD_GROUP* pPayloadGroup; | ||
| 112 | } bundleLayout; | ||
| 113 | struct | ||
| 114 | { | ||
| 115 | BURN_PACKAGE* pPackage; | ||
| 116 | } package; | ||
| 117 | struct | ||
| 118 | { | ||
| 119 | BURN_PACKAGE* pPackage; | ||
| 120 | } rollbackPackage; | ||
| 121 | struct | ||
| 122 | { | ||
| 123 | HANDLE hEvent; | ||
| 124 | } syncpoint; | ||
| 125 | struct | ||
| 126 | { | ||
| 127 | BURN_CONTAINER* pContainer; | ||
| 128 | } container; | ||
| 129 | }; | ||
| 130 | } BURN_CACHE_ACTION; | ||
| 131 | |||
| 132 | typedef struct _BURN_ORDERED_PATCHES | ||
| 133 | { | ||
| 134 | BURN_PACKAGE* pPackage; | ||
| 135 | |||
| 136 | BURN_MSPTARGETPRODUCT* pTargetProduct; // only valid in the unelevated engine. | ||
| 137 | } BURN_ORDERED_PATCHES; | ||
| 138 | |||
| 139 | typedef struct _BURN_EXECUTE_ACTION_CHECKPOINT | ||
| 140 | { | ||
| 141 | DWORD dwId; | ||
| 142 | BURN_ROLLBACK_BOUNDARY* pActiveRollbackBoundary; | ||
| 143 | } BURN_EXECUTE_ACTION_CHECKPOINT; | ||
| 144 | |||
| 145 | typedef struct _BURN_EXECUTE_ACTION | ||
| 146 | { | ||
| 147 | BURN_EXECUTE_ACTION_TYPE type; | ||
| 148 | BOOL fDeleted; // used to skip an action after it was planned since deleting actions out of the plan is too hard. | ||
| 149 | union | ||
| 150 | { | ||
| 151 | BURN_EXECUTE_ACTION_CHECKPOINT checkpoint; | ||
| 152 | struct | ||
| 153 | { | ||
| 154 | HANDLE hEvent; | ||
| 155 | } syncpoint; | ||
| 156 | struct | ||
| 157 | { | ||
| 158 | BURN_PACKAGE* pPackage; | ||
| 159 | } uncachePackage; | ||
| 160 | struct | ||
| 161 | { | ||
| 162 | BURN_PACKAGE* pPackage; | ||
| 163 | BOOL fFireAndForget; | ||
| 164 | BOOTSTRAPPER_ACTION_STATE action; | ||
| 165 | LPWSTR sczIgnoreDependencies; | ||
| 166 | LPWSTR sczAncestors; | ||
| 167 | } exePackage; | ||
| 168 | struct | ||
| 169 | { | ||
| 170 | BURN_PACKAGE* pPackage; | ||
| 171 | LPWSTR sczLogPath; | ||
| 172 | DWORD dwLoggingAttributes; | ||
| 173 | BURN_MSI_PROPERTY actionMsiProperty; | ||
| 174 | INSTALLUILEVEL uiLevel; | ||
| 175 | BOOL fDisableExternalUiHandler; | ||
| 176 | BOOTSTRAPPER_ACTION_STATE action; | ||
| 177 | |||
| 178 | BOOTSTRAPPER_FEATURE_ACTION* rgFeatures; | ||
| 179 | } msiPackage; | ||
| 180 | struct | ||
| 181 | { | ||
| 182 | BURN_PACKAGE* pPackage; | ||
| 183 | LPWSTR sczTargetProductCode; | ||
| 184 | BURN_PACKAGE* pChainedTargetPackage; | ||
| 185 | BOOL fSlipstream; | ||
| 186 | BOOL fPerMachineTarget; | ||
| 187 | LPWSTR sczLogPath; | ||
| 188 | BURN_MSI_PROPERTY actionMsiProperty; | ||
| 189 | INSTALLUILEVEL uiLevel; | ||
| 190 | BOOL fDisableExternalUiHandler; | ||
| 191 | BOOTSTRAPPER_ACTION_STATE action; | ||
| 192 | |||
| 193 | BURN_ORDERED_PATCHES* rgOrderedPatches; | ||
| 194 | DWORD cOrderedPatches; | ||
| 195 | } mspTarget; | ||
| 196 | struct | ||
| 197 | { | ||
| 198 | BURN_PACKAGE* pPackage; | ||
| 199 | LPWSTR sczLogPath; | ||
| 200 | BOOTSTRAPPER_ACTION_STATE action; | ||
| 201 | } msuPackage; | ||
| 202 | struct | ||
| 203 | { | ||
| 204 | BURN_ROLLBACK_BOUNDARY* pRollbackBoundary; | ||
| 205 | } rollbackBoundary; | ||
| 206 | struct | ||
| 207 | { | ||
| 208 | BURN_PACKAGE* pPackage; | ||
| 209 | BURN_DEPENDENCY_ACTION action; | ||
| 210 | } packageProvider; | ||
| 211 | struct | ||
| 212 | { | ||
| 213 | BURN_PACKAGE* pPackage; | ||
| 214 | LPWSTR sczBundleProviderKey; | ||
| 215 | BURN_DEPENDENCY_ACTION action; | ||
| 216 | } packageDependency; | ||
| 217 | struct | ||
| 218 | { | ||
| 219 | BURN_ROLLBACK_BOUNDARY* pRollbackBoundary; | ||
| 220 | } msiTransaction; | ||
| 221 | }; | ||
| 222 | } BURN_EXECUTE_ACTION; | ||
| 223 | |||
| 224 | typedef struct _BURN_CLEAN_ACTION | ||
| 225 | { | ||
| 226 | BURN_PACKAGE* pPackage; | ||
| 227 | } BURN_CLEAN_ACTION; | ||
| 228 | |||
| 229 | typedef struct _BURN_PLAN | ||
| 230 | { | ||
| 231 | BOOTSTRAPPER_ACTION action; | ||
| 232 | BURN_PAYLOADS* pPayloads; // points directly into parent the ENGINE_STATE. | ||
| 233 | LPWSTR wzBundleId; // points directly into parent the ENGINE_STATE. | ||
| 234 | LPWSTR wzBundleProviderKey; // points directly into parent the ENGINE_STATE. | ||
| 235 | BOOL fPerMachine; | ||
| 236 | BOOL fCanAffectMachineState; | ||
| 237 | DWORD dwRegistrationOperations; | ||
| 238 | BOOL fDisallowRemoval; | ||
| 239 | BOOL fDisableRollback; | ||
| 240 | BOOL fAffectedMachineState; | ||
| 241 | BOOL fIgnoreAllDependents; | ||
| 242 | LPWSTR sczLayoutDirectory; | ||
| 243 | |||
| 244 | DWORD64 qwCacheSizeTotal; | ||
| 245 | |||
| 246 | DWORD64 qwEstimatedSize; | ||
| 247 | |||
| 248 | DWORD cExecutePackagesTotal; | ||
| 249 | DWORD cOverallProgressTicksTotal; | ||
| 250 | |||
| 251 | BOOL fEnabledForwardCompatibleBundle; | ||
| 252 | BURN_PACKAGE forwardCompatibleBundle; | ||
| 253 | |||
| 254 | BURN_DEPENDENCY_REGISTRATION_ACTION dependencyRegistrationAction; | ||
| 255 | |||
| 256 | BURN_DEPENDENT_REGISTRATION_ACTION* rgRegistrationActions; | ||
| 257 | DWORD cRegistrationActions; | ||
| 258 | |||
| 259 | BURN_DEPENDENT_REGISTRATION_ACTION* rgRollbackRegistrationActions; | ||
| 260 | DWORD cRollbackRegistrationActions; | ||
| 261 | |||
| 262 | BURN_CACHE_ACTION* rgCacheActions; | ||
| 263 | DWORD cCacheActions; | ||
| 264 | |||
| 265 | BURN_CACHE_ACTION* rgRollbackCacheActions; | ||
| 266 | DWORD cRollbackCacheActions; | ||
| 267 | |||
| 268 | BURN_EXECUTE_ACTION* rgExecuteActions; | ||
| 269 | DWORD cExecuteActions; | ||
| 270 | |||
| 271 | BURN_EXECUTE_ACTION* rgRollbackActions; | ||
| 272 | DWORD cRollbackActions; | ||
| 273 | |||
| 274 | BURN_CLEAN_ACTION* rgCleanActions; | ||
| 275 | DWORD cCleanActions; | ||
| 276 | |||
| 277 | DEPENDENCY* rgPlannedProviders; | ||
| 278 | UINT cPlannedProviders; | ||
| 279 | |||
| 280 | BURN_CACHE_CONTAINER_PROGRESS* rgContainerProgress; | ||
| 281 | DWORD cContainerProgress; | ||
| 282 | STRINGDICT_HANDLE shContainerProgress; | ||
| 283 | |||
| 284 | BURN_CACHE_PAYLOAD_PROGRESS* rgPayloadProgress; | ||
| 285 | DWORD cPayloadProgress; | ||
| 286 | STRINGDICT_HANDLE shPayloadProgress; | ||
| 287 | |||
| 288 | DWORD dwNextCheckpointId; // for plan internal use | ||
| 289 | BURN_ROLLBACK_BOUNDARY* pActiveRollbackBoundary; // for plan internal use | ||
| 290 | } BURN_PLAN; | ||
| 291 | |||
| 292 | |||
| 293 | // functions | ||
| 294 | |||
| 295 | void PlanReset( | ||
| 296 | __in BURN_PLAN* pPlan, | ||
| 297 | __in BURN_CONTAINERS* pContainers, | ||
| 298 | __in BURN_PACKAGES* pPackages, | ||
| 299 | __in BURN_PAYLOAD_GROUP* pLayoutPayloads | ||
| 300 | ); | ||
| 301 | void PlanUninitializeExecuteAction( | ||
| 302 | __in BURN_EXECUTE_ACTION* pExecuteAction | ||
| 303 | ); | ||
| 304 | HRESULT PlanSetVariables( | ||
| 305 | __in BOOTSTRAPPER_ACTION action, | ||
| 306 | __in BURN_VARIABLES* pVariables | ||
| 307 | ); | ||
| 308 | HRESULT PlanDefaultPackageRequestState( | ||
| 309 | __in BURN_PACKAGE_TYPE packageType, | ||
| 310 | __in BOOTSTRAPPER_PACKAGE_STATE currentState, | ||
| 311 | __in BOOL fPermanent, | ||
| 312 | __in BOOTSTRAPPER_ACTION action, | ||
| 313 | __in BOOTSTRAPPER_PACKAGE_CONDITION_RESULT installCondition, | ||
| 314 | __in BOOTSTRAPPER_RELATION_TYPE relationType, | ||
| 315 | __out BOOTSTRAPPER_REQUEST_STATE* pRequestState | ||
| 316 | ); | ||
| 317 | HRESULT PlanLayoutBundle( | ||
| 318 | __in BURN_PLAN* pPlan, | ||
| 319 | __in_z LPCWSTR wzExecutableName, | ||
| 320 | __in DWORD64 qwBundleSize, | ||
| 321 | __in BURN_VARIABLES* pVariables, | ||
| 322 | __in BURN_PAYLOAD_GROUP* pLayoutPayloads | ||
| 323 | ); | ||
| 324 | HRESULT PlanForwardCompatibleBundles( | ||
| 325 | __in BURN_USER_EXPERIENCE* pUX, | ||
| 326 | __in BOOTSTRAPPER_COMMAND* pCommand, | ||
| 327 | __in BURN_PLAN* pPlan, | ||
| 328 | __in BURN_REGISTRATION* pRegistration, | ||
| 329 | __in BOOTSTRAPPER_ACTION action | ||
| 330 | ); | ||
| 331 | HRESULT PlanPackages( | ||
| 332 | __in BURN_USER_EXPERIENCE* pUX, | ||
| 333 | __in BURN_PACKAGES* pPackages, | ||
| 334 | __in BURN_PLAN* pPlan, | ||
| 335 | __in BURN_LOGGING* pLog, | ||
| 336 | __in BURN_VARIABLES* pVariables, | ||
| 337 | __in BOOTSTRAPPER_DISPLAY display, | ||
| 338 | __in BOOTSTRAPPER_RELATION_TYPE relationType | ||
| 339 | ); | ||
| 340 | HRESULT PlanRegistration( | ||
| 341 | __in BURN_PLAN* pPlan, | ||
| 342 | __in BURN_REGISTRATION* pRegistration, | ||
| 343 | __in BOOTSTRAPPER_RESUME_TYPE resumeType, | ||
| 344 | __in BOOTSTRAPPER_RELATION_TYPE relationType, | ||
| 345 | __inout BOOL* pfContinuePlanning | ||
| 346 | ); | ||
| 347 | HRESULT PlanPassThroughBundle( | ||
| 348 | __in BURN_USER_EXPERIENCE* pUX, | ||
| 349 | __in BURN_PACKAGE* pPackage, | ||
| 350 | __in BURN_PLAN* pPlan, | ||
| 351 | __in BURN_LOGGING* pLog, | ||
| 352 | __in BURN_VARIABLES* pVariables, | ||
| 353 | __in BOOTSTRAPPER_DISPLAY display, | ||
| 354 | __in BOOTSTRAPPER_RELATION_TYPE relationType | ||
| 355 | ); | ||
| 356 | HRESULT PlanUpdateBundle( | ||
| 357 | __in BURN_USER_EXPERIENCE* pUX, | ||
| 358 | __in BURN_PACKAGE* pPackage, | ||
| 359 | __in BURN_PLAN* pPlan, | ||
| 360 | __in BURN_LOGGING* pLog, | ||
| 361 | __in BURN_VARIABLES* pVariables, | ||
| 362 | __in BOOTSTRAPPER_DISPLAY display, | ||
| 363 | __in BOOTSTRAPPER_RELATION_TYPE relationType | ||
| 364 | ); | ||
| 365 | HRESULT PlanLayoutContainer( | ||
| 366 | __in BURN_PLAN* pPlan, | ||
| 367 | __in BURN_CONTAINER* pContainer | ||
| 368 | ); | ||
| 369 | HRESULT PlanLayoutPackage( | ||
| 370 | __in BURN_PLAN* pPlan, | ||
| 371 | __in BURN_PACKAGE* pPackage | ||
| 372 | ); | ||
| 373 | HRESULT PlanExecutePackage( | ||
| 374 | __in BOOL fPerMachine, | ||
| 375 | __in BOOTSTRAPPER_DISPLAY display, | ||
| 376 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
| 377 | __in BURN_PLAN* pPlan, | ||
| 378 | __in BURN_PACKAGE* pPackage, | ||
| 379 | __in BURN_LOGGING* pLog, | ||
| 380 | __in BURN_VARIABLES* pVariables, | ||
| 381 | __inout HANDLE* phSyncpointEvent | ||
| 382 | ); | ||
| 383 | HRESULT PlanDefaultRelatedBundleRequestState( | ||
| 384 | __in BOOTSTRAPPER_RELATION_TYPE commandRelationType, | ||
| 385 | __in BOOTSTRAPPER_RELATION_TYPE relatedBundleRelationType, | ||
| 386 | __in BOOTSTRAPPER_ACTION action, | ||
| 387 | __in VERUTIL_VERSION* pRegistrationVersion, | ||
| 388 | __in VERUTIL_VERSION* pRelatedBundleVersion, | ||
| 389 | __inout BOOTSTRAPPER_REQUEST_STATE* pRequestState | ||
| 390 | ); | ||
| 391 | HRESULT PlanRelatedBundlesBegin( | ||
| 392 | __in BURN_USER_EXPERIENCE* pUserExperience, | ||
| 393 | __in BURN_REGISTRATION* pRegistration, | ||
| 394 | __in BOOTSTRAPPER_RELATION_TYPE relationType, | ||
| 395 | __in BURN_PLAN* pPlan | ||
| 396 | ); | ||
| 397 | HRESULT PlanRelatedBundlesComplete( | ||
| 398 | __in BURN_REGISTRATION* pRegistration, | ||
| 399 | __in BURN_PLAN* pPlan, | ||
| 400 | __in BURN_LOGGING* pLog, | ||
| 401 | __in BURN_VARIABLES* pVariables, | ||
| 402 | __in DWORD dwExecuteActionEarlyIndex | ||
| 403 | ); | ||
| 404 | HRESULT PlanFinalizeActions( | ||
| 405 | __in BURN_PLAN* pPlan | ||
| 406 | ); | ||
| 407 | HRESULT PlanCleanPackage( | ||
| 408 | __in BURN_PLAN* pPlan, | ||
| 409 | __in BURN_PACKAGE* pPackage | ||
| 410 | ); | ||
| 411 | HRESULT PlanExecuteCacheSyncAndRollback( | ||
| 412 | __in BURN_PLAN* pPlan, | ||
| 413 | __in BURN_PACKAGE* pPackage, | ||
| 414 | __in HANDLE hCacheEvent | ||
| 415 | ); | ||
| 416 | HRESULT PlanExecuteCheckpoint( | ||
| 417 | __in BURN_PLAN* pPlan | ||
| 418 | ); | ||
| 419 | HRESULT PlanInsertExecuteAction( | ||
| 420 | __in DWORD dwIndex, | ||
| 421 | __in BURN_PLAN* pPlan, | ||
| 422 | __out BURN_EXECUTE_ACTION** ppExecuteAction | ||
| 423 | ); | ||
| 424 | HRESULT PlanInsertRollbackAction( | ||
| 425 | __in DWORD dwIndex, | ||
| 426 | __in BURN_PLAN* pPlan, | ||
| 427 | __out BURN_EXECUTE_ACTION** ppRollbackAction | ||
| 428 | ); | ||
| 429 | HRESULT PlanAppendExecuteAction( | ||
| 430 | __in BURN_PLAN* pPlan, | ||
| 431 | __out BURN_EXECUTE_ACTION** ppExecuteAction | ||
| 432 | ); | ||
| 433 | HRESULT PlanAppendRollbackAction( | ||
| 434 | __in BURN_PLAN* pPlan, | ||
| 435 | __out BURN_EXECUTE_ACTION** ppExecuteAction | ||
| 436 | ); | ||
| 437 | HRESULT PlanRollbackBoundaryBegin( | ||
| 438 | __in BURN_PLAN* pPlan, | ||
| 439 | __in BURN_ROLLBACK_BOUNDARY* pRollbackBoundary | ||
| 440 | ); | ||
| 441 | HRESULT PlanRollbackBoundaryComplete( | ||
| 442 | __in BURN_PLAN* pPlan | ||
| 443 | ); | ||
| 444 | HRESULT PlanSetResumeCommand( | ||
| 445 | __in BURN_REGISTRATION* pRegistration, | ||
| 446 | __in BOOTSTRAPPER_ACTION action, | ||
| 447 | __in BOOTSTRAPPER_COMMAND* pCommand, | ||
| 448 | __in BURN_LOGGING* pLog | ||
| 449 | ); | ||
| 450 | void PlanDump( | ||
| 451 | __in BURN_PLAN* pPlan | ||
| 452 | ); | ||
| 453 | |||
| 454 | #if defined(__cplusplus) | ||
| 455 | } | ||
| 456 | #endif | ||
