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