diff options
Diffstat (limited to 'src/burn/engine/elevation.h')
-rw-r--r-- | src/burn/engine/elevation.h | 176 |
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 | ||
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_opt HWND hwndParent | ||
14 | ); | ||
15 | HRESULT 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 | ); | ||
23 | HRESULT ElevationApplyUninitialize( | ||
24 | __in HANDLE hPipe | ||
25 | ); | ||
26 | HRESULT 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 | ); | ||
36 | HRESULT ElevationSessionResume( | ||
37 | __in HANDLE hPipe, | ||
38 | __in_z LPCWSTR wzResumeCommandLine, | ||
39 | __in BOOL fDisableResume, | ||
40 | __in BURN_VARIABLES* pVariables | ||
41 | ); | ||
42 | HRESULT 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 | ); | ||
48 | HRESULT ElevationSaveState( | ||
49 | __in HANDLE hPipe, | ||
50 | __in_bcount(cbBuffer) BYTE* pbBuffer, | ||
51 | __in SIZE_T cbBuffer | ||
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 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 | ); | ||
87 | HRESULT 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 | ); | ||
97 | HRESULT 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 | ); | ||
107 | HRESULT 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 | ); | ||
116 | HRESULT ElevationExecutePackageProviderAction( | ||
117 | __in HANDLE hPipe, | ||
118 | __in BURN_EXECUTE_ACTION* pExecuteAction | ||
119 | ); | ||
120 | HRESULT ElevationExecutePackageDependencyAction( | ||
121 | __in HANDLE hPipe, | ||
122 | __in BURN_EXECUTE_ACTION* pExecuteAction | ||
123 | ); | ||
124 | HRESULT ElevationLaunchElevatedChild( | ||
125 | __in HANDLE hPipe, | ||
126 | __in BURN_PACKAGE* pPackage, | ||
127 | __in LPCWSTR wzPipeName, | ||
128 | __in LPCWSTR wzPipeToken, | ||
129 | __out DWORD* pdwChildPid | ||
130 | ); | ||
131 | HRESULT ElevationCleanPackage( | ||
132 | __in HANDLE hPipe, | ||
133 | __in BURN_PACKAGE* pPackage | ||
134 | ); | ||
135 | HRESULT 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. | ||
142 | HRESULT 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 | ); | ||
158 | HRESULT ElevationChildResumeAutomaticUpdates(); | ||
159 | |||
160 | |||
161 | HRESULT ElevationMsiBeginTransaction( | ||
162 | __in HANDLE hPipe, | ||
163 | __in BURN_ROLLBACK_BOUNDARY* pRollbackBoundary | ||
164 | ); | ||
165 | HRESULT ElevationMsiCommitTransaction( | ||
166 | __in HANDLE hPipe, | ||
167 | __in BURN_ROLLBACK_BOUNDARY* pRollbackBoundary | ||
168 | ); | ||
169 | HRESULT ElevationMsiRollbackTransaction( | ||
170 | __in HANDLE hPipe, | ||
171 | __in BURN_ROLLBACK_BOUNDARY* pRollbackBoundary | ||
172 | ); | ||
173 | |||
174 | #ifdef __cplusplus | ||
175 | } | ||
176 | #endif | ||