aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/elevation.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/burn/engine/elevation.h')
-rw-r--r--src/burn/engine/elevation.h176
1 files changed, 176 insertions, 0 deletions
diff --git a/src/burn/engine/elevation.h b/src/burn/engine/elevation.h
new file mode 100644
index 00000000..9244f36c
--- /dev/null
+++ b/src/burn/engine/elevation.h
@@ -0,0 +1,176 @@
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
10// Parent (per-user process) side functions.
11HRESULT ElevationElevate(
12 __in BURN_ENGINE_STATE* pEngineState,
13 __in_opt HWND hwndParent
14 );
15HRESULT ElevationApplyInitialize(
16 __in HANDLE hPipe,
17 __in BURN_USER_EXPERIENCE* pBA,
18 __in BURN_VARIABLES* pVariables,
19 __in BOOTSTRAPPER_ACTION action,
20 __in BURN_AU_PAUSE_ACTION auAction,
21 __in BOOL fTakeSystemRestorePoint
22 );
23HRESULT ElevationApplyUninitialize(
24 __in HANDLE hPipe
25 );
26HRESULT ElevationSessionBegin(
27 __in HANDLE hPipe,
28 __in_z LPCWSTR wzEngineWorkingPath,
29 __in_z LPCWSTR wzResumeCommandLine,
30 __in BOOL fDisableResume,
31 __in BURN_VARIABLES* pVariables,
32 __in DWORD dwRegistrationOperations,
33 __in BURN_DEPENDENCY_REGISTRATION_ACTION dependencyRegistrationAction,
34 __in DWORD64 qwEstimatedSize
35 );
36HRESULT ElevationSessionResume(
37 __in HANDLE hPipe,
38 __in_z LPCWSTR wzResumeCommandLine,
39 __in BOOL fDisableResume,
40 __in BURN_VARIABLES* pVariables
41 );
42HRESULT ElevationSessionEnd(
43 __in HANDLE hPipe,
44 __in BURN_RESUME_MODE resumeMode,
45 __in BOOTSTRAPPER_APPLY_RESTART restart,
46 __in BURN_DEPENDENCY_REGISTRATION_ACTION dependencyRegistrationAction
47 );
48HRESULT ElevationSaveState(
49 __in HANDLE hPipe,
50 __in_bcount(cbBuffer) BYTE* pbBuffer,
51 __in SIZE_T cbBuffer
52 );
53HRESULT ElevationCacheCompletePayload(
54 __in HANDLE hPipe,
55 __in BURN_PACKAGE* pPackage,
56 __in BURN_PAYLOAD* pPayload,
57 __in_z LPCWSTR wzUnverifiedPath,
58 __in BOOL fMove,
59 __in PFN_BURNCACHEMESSAGEHANDLER pfnCacheMessageHandler,
60 __in LPPROGRESS_ROUTINE pfnProgress,
61 __in LPVOID pContext
62 );
63HRESULT ElevationCacheVerifyPayload(
64 __in HANDLE hPipe,
65 __in BURN_PACKAGE* pPackage,
66 __in BURN_PAYLOAD* pPayload,
67 __in PFN_BURNCACHEMESSAGEHANDLER pfnCacheMessageHandler,
68 __in LPPROGRESS_ROUTINE pfnProgress,
69 __in LPVOID pContext
70 );
71HRESULT ElevationCacheCleanup(
72 __in HANDLE hPipe
73 );
74HRESULT ElevationProcessDependentRegistration(
75 __in HANDLE hPipe,
76 __in const BURN_DEPENDENT_REGISTRATION_ACTION* pAction
77 );
78HRESULT ElevationExecuteExePackage(
79 __in HANDLE hPipe,
80 __in BURN_EXECUTE_ACTION* pExecuteAction,
81 __in BURN_VARIABLES* pVariables,
82 __in BOOL fRollback,
83 __in PFN_GENERICMESSAGEHANDLER pfnGenericExecuteProgress,
84 __in LPVOID pvContext,
85 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
86 );
87HRESULT ElevationExecuteMsiPackage(
88 __in HANDLE hPipe,
89 __in_opt HWND hwndParent,
90 __in BURN_EXECUTE_ACTION* pExecuteAction,
91 __in BURN_VARIABLES* pVariables,
92 __in BOOL fRollback,
93 __in PFN_MSIEXECUTEMESSAGEHANDLER pfnMessageHandler,
94 __in LPVOID pvContext,
95 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
96 );
97HRESULT ElevationExecuteMspPackage(
98 __in HANDLE hPipe,
99 __in_opt HWND hwndParent,
100 __in BURN_EXECUTE_ACTION* pExecuteAction,
101 __in BURN_VARIABLES* pVariables,
102 __in BOOL fRollback,
103 __in PFN_MSIEXECUTEMESSAGEHANDLER pfnMessageHandler,
104 __in LPVOID pvContext,
105 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
106 );
107HRESULT ElevationExecuteMsuPackage(
108 __in HANDLE hPipe,
109 __in BURN_EXECUTE_ACTION* pExecuteAction,
110 __in BOOL fRollback,
111 __in BOOL fStopWusaService,
112 __in PFN_GENERICMESSAGEHANDLER pfnGenericExecuteProgress,
113 __in LPVOID pvContext,
114 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
115 );
116HRESULT ElevationExecutePackageProviderAction(
117 __in HANDLE hPipe,
118 __in BURN_EXECUTE_ACTION* pExecuteAction
119 );
120HRESULT ElevationExecutePackageDependencyAction(
121 __in HANDLE hPipe,
122 __in BURN_EXECUTE_ACTION* pExecuteAction
123 );
124HRESULT ElevationLaunchElevatedChild(
125 __in HANDLE hPipe,
126 __in BURN_PACKAGE* pPackage,
127 __in LPCWSTR wzPipeName,
128 __in LPCWSTR wzPipeToken,
129 __out DWORD* pdwChildPid
130 );
131HRESULT ElevationCleanPackage(
132 __in HANDLE hPipe,
133 __in BURN_PACKAGE* pPackage
134 );
135HRESULT ElevationLaunchApprovedExe(
136 __in HANDLE hPipe,
137 __in BURN_LAUNCH_APPROVED_EXE* pLaunchApprovedExe,
138 __out DWORD* pdwProcessId
139 );
140
141// Child (per-machine process) side functions.
142HRESULT ElevationChildPumpMessages(
143 __in DWORD dwLoggingTlsId,
144 __in HANDLE hPipe,
145 __in HANDLE hCachePipe,
146 __in BURN_APPROVED_EXES* pApprovedExes,
147 __in BURN_CONTAINERS* pContainers,
148 __in BURN_PACKAGES* pPackages,
149 __in BURN_PAYLOADS* pPayloads,
150 __in BURN_VARIABLES* pVariables,
151 __in BURN_REGISTRATION* pRegistration,
152 __in BURN_USER_EXPERIENCE* pUserExperience,
153 __out HANDLE* phLock,
154 __out BOOL* pfDisabledAutomaticUpdates,
155 __out DWORD* pdwChildExitCode,
156 __out BOOL* pfRestart
157 );
158HRESULT ElevationChildResumeAutomaticUpdates();
159
160
161HRESULT ElevationMsiBeginTransaction(
162 __in HANDLE hPipe,
163 __in BURN_ROLLBACK_BOUNDARY* pRollbackBoundary
164 );
165HRESULT ElevationMsiCommitTransaction(
166 __in HANDLE hPipe,
167 __in BURN_ROLLBACK_BOUNDARY* pRollbackBoundary
168 );
169HRESULT ElevationMsiRollbackTransaction(
170 __in HANDLE hPipe,
171 __in BURN_ROLLBACK_BOUNDARY* pRollbackBoundary
172 );
173
174#ifdef __cplusplus
175}
176#endif