main
h 209 lines 6.34 KB
Raw
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
6 extern "C" {
7 #endif
8
9
10 // Parent (per-user process) side functions.
11 HRESULT ElevationElevate(
12 __in BURN_ENGINE_STATE* pEngineState,
13 __in WM_BURN reason,
14 __in_opt HWND hwndParent
15 );
16 HRESULT ElevationApplyInitialize(
17 __in HANDLE hPipe,
18 __in BURN_USER_EXPERIENCE* pBA,
19 __in BURN_VARIABLES* pVariables,
20 __in BURN_PLAN* pPlan
21 );
22 HRESULT ElevationApplyUninitialize(
23 __in HANDLE hPipe
24 );
25 HRESULT ElevationSessionBegin(
26 __in HANDLE hPipe,
27 __in_z LPCWSTR wzEngineWorkingPath,
28 __in_z LPCWSTR wzResumeCommandLine,
29 __in BOOL fDisableResume,
30 __in BURN_VARIABLES* pVariables,
31 __in DWORD dwRegistrationOperations,
32 __in BOOL fDetectedForeignProviderKeyBundleId,
33 __in DWORD64 qwEstimatedSize,
34 __in BOOTSTRAPPER_REGISTRATION_TYPE registrationType
35 );
36 HRESULT ElevationSessionEnd(
37 __in HANDLE hPipe,
38 __in BURN_RESUME_MODE resumeMode,
39 __in BOOTSTRAPPER_APPLY_RESTART restart,
40 __in BOOL fDetectedForeignProviderKeyBundleId,
41 __in DWORD64 qwEstimatedSize,
42 __in BOOTSTRAPPER_REGISTRATION_TYPE registrationType
43 );
44 HRESULT ElevationSaveState(
45 __in HANDLE hPipe,
46 __in_bcount(cbBuffer) BYTE* pbBuffer,
47 __in SIZE_T cbBuffer
48 );
49 HRESULT ElevationCachePreparePackage(
50 __in HANDLE hPipe,
51 __in BURN_PACKAGE* pPackage
52 );
53 HRESULT 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 );
63 HRESULT 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 );
71 HRESULT ElevationCacheCleanup(
72 __in HANDLE hPipe
73 );
74 HRESULT ElevationProcessDependentRegistration(
75 __in HANDLE hPipe,
76 __in const BURN_DEPENDENT_REGISTRATION_ACTION* pAction
77 );
78 HRESULT ElevationExecuteRelatedBundle(
79 __in HANDLE hPipe,
80 __in BURN_EXECUTE_ACTION* pExecuteAction,
81 __in BURN_VARIABLES* pVariables,
82 __in BOOL fRollback,
83 __in PFN_GENERICMESSAGEHANDLER pfnGenericMessageHandler,
84 __in LPVOID pvContext,
85 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
86 );
87 HRESULT ElevationExecuteBundlePackage(
88 __in HANDLE hPipe,
89 __in BURN_EXECUTE_ACTION* pExecuteAction,
90 __in BURN_VARIABLES* pVariables,
91 __in BOOL fRollback,
92 __in PFN_GENERICMESSAGEHANDLER pfnGenericExecuteProgress,
93 __in LPVOID pvContext,
94 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
95 );
96 HRESULT ElevationExecuteExePackage(
97 __in HANDLE hPipe,
98 __in BURN_EXECUTE_ACTION* pExecuteAction,
99 __in BURN_VARIABLES* pVariables,
100 __in BOOL fRollback,
101 __in PFN_GENERICMESSAGEHANDLER pfnGenericExecuteProgress,
102 __in LPVOID pvContext,
103 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
104 );
105 HRESULT ElevationExecuteMsiPackage(
106 __in HANDLE hPipe,
107 __in_opt HWND hwndParent,
108 __in BURN_EXECUTE_ACTION* pExecuteAction,
109 __in BURN_VARIABLES* pVariables,
110 __in BOOL fRollback,
111 __in PFN_MSIEXECUTEMESSAGEHANDLER pfnMessageHandler,
112 __in LPVOID pvContext,
113 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
114 );
115 HRESULT ElevationExecuteMspPackage(
116 __in HANDLE hPipe,
117 __in_opt HWND hwndParent,
118 __in BURN_EXECUTE_ACTION* pExecuteAction,
119 __in BURN_VARIABLES* pVariables,
120 __in BOOL fRollback,
121 __in PFN_MSIEXECUTEMESSAGEHANDLER pfnMessageHandler,
122 __in LPVOID pvContext,
123 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
124 );
125 HRESULT ElevationExecuteMsuPackage(
126 __in HANDLE hPipe,
127 __in BURN_EXECUTE_ACTION* pExecuteAction,
128 __in BOOL fRollback,
129 __in BOOL fStopWusaService,
130 __in PFN_GENERICMESSAGEHANDLER pfnGenericExecuteProgress,
131 __in LPVOID pvContext,
132 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
133 );
134 HRESULT ElevationUninstallMsiCompatiblePackage(
135 __in HANDLE hPipe,
136 __in_opt HWND hwndParent,
137 __in BURN_EXECUTE_ACTION* pExecuteAction,
138 __in BURN_VARIABLES* pVariables,
139 __in BOOL fRollback,
140 __in PFN_MSIEXECUTEMESSAGEHANDLER pfnMessageHandler,
141 __in LPVOID pvContext,
142 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
143 );
144 HRESULT ElevationExecutePackageProviderAction(
145 __in HANDLE hPipe,
146 __in BURN_EXECUTE_ACTION* pExecuteAction,
147 __in BOOL fRollback
148 );
149 HRESULT ElevationExecutePackageDependencyAction(
150 __in HANDLE hPipe,
151 __in BURN_EXECUTE_ACTION* pExecuteAction,
152 __in BOOL fRollback
153 );
154 HRESULT ElevationCleanCompatiblePackage(
155 __in HANDLE hPipe,
156 __in BURN_PACKAGE* pPackage
157 );
158 HRESULT ElevationCleanPackage(
159 __in HANDLE hPipe,
160 __in BURN_PACKAGE* pPackage
161 );
162 HRESULT ElevationLaunchApprovedExe(
163 __in HANDLE hPipe,
164 __in BURN_LAUNCH_APPROVED_EXE* pLaunchApprovedExe,
165 __out DWORD* pdwProcessId
166 );
167
168 // Child (per-machine process) side functions.
169 HRESULT ElevationChildPumpMessages(
170 __in HANDLE hPipe,
171 __in HANDLE hCachePipe,
172 __in BURN_APPROVED_EXES* pApprovedExes,
173 __in BURN_CACHE* pCache,
174 __in BURN_CONTAINERS* pContainers,
175 __in BURN_PACKAGES* pPackages,
176 __in BURN_PAYLOADS* pPayloads,
177 __in BURN_VARIABLES* pVariables,
178 __in BURN_REGISTRATION* pRegistration,
179 __in BURN_USER_EXPERIENCE* pUserExperience,
180 __out HANDLE* phLock,
181 __out DWORD* pdwChildExitCode,
182 __out BOOL* pfRestart,
183 __out BOOL* pfApplying
184 );
185 HRESULT ElevationChildResumeAutomaticUpdates();
186
187
188 HRESULT ElevationMsiBeginTransaction(
189 __in HANDLE hPipe,
190 __in BURN_ROLLBACK_BOUNDARY* pRollbackBoundary
191 );
192 HRESULT ElevationMsiCommitTransaction(
193 __in HANDLE hPipe,
194 __in BURN_ROLLBACK_BOUNDARY* pRollbackBoundary,
195 __in PFN_MSIEXECUTEMESSAGEHANDLER pfnMessageHandler,
196 __in LPVOID pvContext,
197 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
198 );
199 HRESULT ElevationMsiRollbackTransaction(
200 __in HANDLE hPipe,
201 __in BURN_ROLLBACK_BOUNDARY* pRollbackBoundary,
202 __in PFN_MSIEXECUTEMESSAGEHANDLER pfnMessageHandler,
203 __in LPVOID pvContext,
204 __out BOOTSTRAPPER_APPLY_RESTART* pRestart
205 );
206
207 #ifdef __cplusplus
208 }
209 #endif