aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/apply.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/burn/engine/apply.h')
-rw-r--r--src/burn/engine/apply.h104
1 files changed, 104 insertions, 0 deletions
diff --git a/src/burn/engine/apply.h b/src/burn/engine/apply.h
new file mode 100644
index 00000000..548e147d
--- /dev/null
+++ b/src/burn/engine/apply.h
@@ -0,0 +1,104 @@
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#ifdef __cplusplus
6extern "C" {
7#endif
8
9
10enum GENERIC_EXECUTE_MESSAGE_TYPE
11{
12 GENERIC_EXECUTE_MESSAGE_NONE,
13 GENERIC_EXECUTE_MESSAGE_ERROR,
14 GENERIC_EXECUTE_MESSAGE_PROGRESS,
15 GENERIC_EXECUTE_MESSAGE_FILES_IN_USE,
16};
17
18typedef struct _APPLY_AUTHENTICATION_REQUIRED_DATA
19{
20 BURN_USER_EXPERIENCE* pUX;
21 LPCWSTR wzPackageOrContainerId;
22 LPCWSTR wzPayloadId;
23} APPLY_AUTHENTICATION_REQUIRED_DATA;
24
25typedef struct _GENERIC_EXECUTE_MESSAGE
26{
27 GENERIC_EXECUTE_MESSAGE_TYPE type;
28 DWORD dwAllowedResults;
29
30 union
31 {
32 struct
33 {
34 DWORD dwErrorCode;
35 LPCWSTR wzMessage;
36 } error;
37 struct
38 {
39 DWORD dwPercentage;
40 } progress;
41 struct
42 {
43 DWORD cFiles;
44 LPCWSTR* rgwzFiles;
45 } filesInUse;
46 };
47} GENERIC_EXECUTE_MESSAGE;
48
49
50typedef int (*PFN_GENERICMESSAGEHANDLER)(
51 __in GENERIC_EXECUTE_MESSAGE* pMessage,
52 __in LPVOID pvContext
53 );
54
55
56void ApplyInitialize();
57void ApplyUninitialize();
58HRESULT ApplySetVariables(
59 __in BURN_VARIABLES* pVariables
60 );
61void ApplyReset(
62 __in BURN_USER_EXPERIENCE* pUX,
63 __in BURN_PACKAGES* pPackages
64 );
65HRESULT ApplyLock(
66 __in BOOL fPerMachine,
67 __out HANDLE* phLock
68 );
69HRESULT ApplyRegister(
70 __in BURN_ENGINE_STATE* pEngineState
71 );
72HRESULT ApplyUnregister(
73 __in BURN_ENGINE_STATE* pEngineState,
74 __in BOOL fFailedOrRollback,
75 __in BOOL fSuspend,
76 __in BOOTSTRAPPER_APPLY_RESTART restart
77 );
78HRESULT ApplyCache(
79 __in HANDLE hSourceEngineFile,
80 __in BURN_USER_EXPERIENCE* pUX,
81 __in BURN_VARIABLES* pVariables,
82 __in BURN_PLAN* pPlan,
83 __in HANDLE hPipe,
84 __inout DWORD* pcOverallProgressTicks,
85 __inout BOOL* pfRollback
86 );
87HRESULT ApplyExecute(
88 __in BURN_ENGINE_STATE* pEngineState,
89 __in_opt HANDLE hCacheThread,
90 __inout DWORD* pcOverallProgressTicks,
91 __out BOOL* pfRollback,
92 __out BOOL* pfSuspend,
93 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
94 );
95void ApplyClean(
96 __in BURN_USER_EXPERIENCE* pUX,
97 __in BURN_PLAN* pPlan,
98 __in HANDLE hPipe
99 );
100
101
102#ifdef __cplusplus
103}
104#endif