aboutsummaryrefslogtreecommitdiff
path: root/src/burn/engine/externalengine.h
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2021-04-22 17:06:54 -0700
committerRob Mensching <rob@firegiant.com>2021-04-29 16:36:06 -0700
commitaf10c45d7b3a44af0b461a557847fe03263dcc10 (patch)
tree6a5c1532304782c36ffe4200b38f3afb76789a43 /src/burn/engine/externalengine.h
parent9c2aed97299fb96aeee3f1471ce40225437aaecf (diff)
downloadwix-af10c45d7b3a44af0b461a557847fe03263dcc10.tar.gz
wix-af10c45d7b3a44af0b461a557847fe03263dcc10.tar.bz2
wix-af10c45d7b3a44af0b461a557847fe03263dcc10.zip
Move burn into burn
Diffstat (limited to 'src/burn/engine/externalengine.h')
-rw-r--r--src/burn/engine/externalengine.h181
1 files changed, 181 insertions, 0 deletions
diff --git a/src/burn/engine/externalengine.h b/src/burn/engine/externalengine.h
new file mode 100644
index 00000000..2903615d
--- /dev/null
+++ b/src/burn/engine/externalengine.h
@@ -0,0 +1,181 @@
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#define ValidateMessageParameter(x, pv, type) { x = ExternalEngineValidateMessageParameter(pv, offsetof(type, cbSize), sizeof(type)); if (FAILED(x)) { goto LExit; }}
6#define ValidateMessageArgs(x, pv, type, identifier) ValidateMessageParameter(x, pv, type); const type* identifier = reinterpret_cast<type*>(pv); UNREFERENCED_PARAMETER(identifier)
7#define ValidateMessageResults(x, pv, type, identifier) ValidateMessageParameter(x, pv, type); type* identifier = reinterpret_cast<type*>(pv); UNREFERENCED_PARAMETER(identifier)
8
9
10#if defined(__cplusplus)
11extern "C" {
12#endif
13
14void ExternalEngineGetPackageCount(
15 __in BURN_ENGINE_STATE* pEngineState,
16 __out DWORD* pcPackages
17 );
18
19HRESULT ExternalEngineGetVariableNumeric(
20 __in BURN_ENGINE_STATE* pEngineState,
21 __in_z LPCWSTR wzVariable,
22 __out LONGLONG* pllValue
23 );
24
25HRESULT ExternalEngineGetVariableString(
26 __in BURN_ENGINE_STATE* pEngineState,
27 __in_z LPCWSTR wzVariable,
28 __out_ecount_opt(*pcchValue) LPWSTR wzValue,
29 __inout SIZE_T* pcchValue
30 );
31
32HRESULT ExternalEngineGetVariableVersion(
33 __in BURN_ENGINE_STATE* pEngineState,
34 __in_z LPCWSTR wzVariable,
35 __out_ecount_opt(*pcchValue) LPWSTR wzValue,
36 __inout SIZE_T* pcchValue
37 );
38
39HRESULT ExternalEngineFormatString(
40 __in BURN_ENGINE_STATE* pEngineState,
41 __in_z LPCWSTR wzIn,
42 __out_ecount_opt(*pcchOut) LPWSTR wzOut,
43 __inout SIZE_T* pcchOut
44 );
45
46HRESULT ExternalEngineEscapeString(
47 __in_z LPCWSTR wzIn,
48 __out_ecount_opt(*pcchOut) LPWSTR wzOut,
49 __inout SIZE_T* pcchOut
50 );
51
52HRESULT ExternalEngineEvaluateCondition(
53 __in BURN_ENGINE_STATE* pEngineState,
54 __in_z LPCWSTR wzCondition,
55 __out BOOL* pf
56 );
57
58HRESULT ExternalEngineLog(
59 __in REPORT_LEVEL rl,
60 __in_z LPCWSTR wzMessage
61 );
62
63HRESULT ExternalEngineSendEmbeddedError(
64 __in BURN_ENGINE_STATE* pEngineState,
65 __in const DWORD dwErrorCode,
66 __in_z LPCWSTR wzMessage,
67 __in const DWORD dwUIHint,
68 __out int* pnResult
69 );
70
71HRESULT ExternalEngineSendEmbeddedProgress(
72 __in BURN_ENGINE_STATE* pEngineState,
73 __in const DWORD dwProgressPercentage,
74 __in const DWORD dwOverallProgressPercentage,
75 __out int* pnResult
76 );
77
78HRESULT ExternalEngineSetUpdate(
79 __in BURN_ENGINE_STATE* pEngineState,
80 __in_z_opt LPCWSTR wzLocalSource,
81 __in_z_opt LPCWSTR wzDownloadSource,
82 __in const DWORD64 qwSize,
83 __in const BOOTSTRAPPER_UPDATE_HASH_TYPE hashType,
84 __in_opt const BYTE* rgbHash,
85 __in const DWORD cbHash
86 );
87
88HRESULT ExternalEngineSetLocalSource(
89 __in BURN_ENGINE_STATE* pEngineState,
90 __in_z_opt LPCWSTR wzPackageOrContainerId,
91 __in_z_opt LPCWSTR wzPayloadId,
92 __in_z LPCWSTR wzPath
93 );
94
95HRESULT ExternalEngineSetDownloadSource(
96 __in BURN_ENGINE_STATE* pEngineState,
97 __in_z_opt LPCWSTR wzPackageOrContainerId,
98 __in_z_opt LPCWSTR wzPayloadId,
99 __in_z_opt LPCWSTR wzUrl,
100 __in_z_opt LPCWSTR wzUser,
101 __in_z_opt LPCWSTR wzPassword
102 );
103
104HRESULT ExternalEngineSetVariableNumeric(
105 __in BURN_ENGINE_STATE* pEngineState,
106 __in_z LPCWSTR wzVariable,
107 __in const LONGLONG llValue
108 );
109
110HRESULT ExternalEngineSetVariableString(
111 __in BURN_ENGINE_STATE* pEngineState,
112 __in_z LPCWSTR wzVariable,
113 __in_z_opt LPCWSTR wzValue,
114 __in const BOOL fFormatted
115 );
116
117HRESULT ExternalEngineSetVariableVersion(
118 __in BURN_ENGINE_STATE* pEngineState,
119 __in_z LPCWSTR wzVariable,
120 __in_z_opt LPCWSTR wzValue
121 );
122
123void ExternalEngineCloseSplashScreen(
124 __in BURN_ENGINE_STATE* pEngineState
125 );
126
127HRESULT ExternalEngineCompareVersions(
128 __in_z LPCWSTR wzVersion1,
129 __in_z LPCWSTR wzVersion2,
130 __out int* pnResult
131 );
132
133HRESULT ExternalEngineDetect(
134 __in const DWORD dwThreadId,
135 __in_opt const HWND hwndParent
136 );
137
138HRESULT ExternalEnginePlan(
139 __in const DWORD dwThreadId,
140 __in const BOOTSTRAPPER_ACTION action
141 );
142
143HRESULT ExternalEngineElevate(
144 __in BURN_ENGINE_STATE* pEngineState,
145 __in const DWORD dwThreadId,
146 __in_opt const HWND hwndParent
147 );
148
149HRESULT ExternalEngineApply(
150 __in const DWORD dwThreadId,
151 __in_opt const HWND hwndParent
152 );
153
154HRESULT ExternalEngineQuit(
155 __in const DWORD dwThreadId,
156 __in const DWORD dwExitCode
157 );
158
159HRESULT ExternalEngineLaunchApprovedExe(
160 __in BURN_ENGINE_STATE* pEngineState,
161 __in const DWORD dwThreadId,
162 __in_opt const HWND hwndParent,
163 __in_z LPCWSTR wzApprovedExeForElevationId,
164 __in_z_opt LPCWSTR wzArguments,
165 __in const DWORD dwWaitForInputIdleTimeout
166 );
167
168HRESULT ExternalEngineSetUpdateSource(
169 __in BURN_ENGINE_STATE* pEngineState,
170 __in_z LPCWSTR wzUrl
171 );
172
173HRESULT WINAPI ExternalEngineValidateMessageParameter(
174 __in_opt const LPVOID pv,
175 __in SIZE_T cbSizeOffset,
176 __in DWORD dwMinimumSize
177 );
178
179#if defined(__cplusplus)
180}
181#endif