aboutsummaryrefslogtreecommitdiff
path: root/src/balutil/inc/IBootstrapperEngine.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/balutil/inc/IBootstrapperEngine.h')
-rw-r--r--src/balutil/inc/IBootstrapperEngine.h128
1 files changed, 128 insertions, 0 deletions
diff --git a/src/balutil/inc/IBootstrapperEngine.h b/src/balutil/inc/IBootstrapperEngine.h
new file mode 100644
index 00000000..3fe3d401
--- /dev/null
+++ b/src/balutil/inc/IBootstrapperEngine.h
@@ -0,0 +1,128 @@
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
5DECLARE_INTERFACE_IID_(IBootstrapperEngine, IUnknown, "6480D616-27A0-44D7-905B-81512C29C2FB")
6{
7 STDMETHOD(GetPackageCount)(
8 __out DWORD* pcPackages
9 ) = 0;
10
11 STDMETHOD(GetVariableNumeric)(
12 __in_z LPCWSTR wzVariable,
13 __out LONGLONG* pllValue
14 ) = 0;
15
16 STDMETHOD(GetVariableString)(
17 __in_z LPCWSTR wzVariable,
18 __out_ecount_opt(*pcchValue) LPWSTR wzValue,
19 __inout DWORD* pcchValue
20 ) = 0;
21
22 STDMETHOD(GetVariableVersion)(
23 __in_z LPCWSTR wzVariable,
24 __out DWORD64* pqwValue
25 ) = 0;
26
27 STDMETHOD(FormatString)(
28 __in_z LPCWSTR wzIn,
29 __out_ecount_opt(*pcchOut) LPWSTR wzOut,
30 __inout DWORD* pcchOut
31 ) = 0;
32
33 STDMETHOD(EscapeString)(
34 __in_z LPCWSTR wzIn,
35 __out_ecount_opt(*pcchOut) LPWSTR wzOut,
36 __inout DWORD* pcchOut
37 ) = 0;
38
39 STDMETHOD(EvaluateCondition)(
40 __in_z LPCWSTR wzCondition,
41 __out BOOL* pf
42 ) = 0;
43
44 STDMETHOD(Log)(
45 __in BOOTSTRAPPER_LOG_LEVEL level,
46 __in_z LPCWSTR wzMessage
47 ) = 0;
48
49 STDMETHOD(SendEmbeddedError)(
50 __in DWORD dwErrorCode,
51 __in_z_opt LPCWSTR wzMessage,
52 __in DWORD dwUIHint,
53 __out int* pnResult
54 ) = 0;
55
56 STDMETHOD(SendEmbeddedProgress)(
57 __in DWORD dwProgressPercentage,
58 __in DWORD dwOverallProgressPercentage,
59 __out int* pnResult
60 ) = 0;
61
62 STDMETHOD(SetUpdate)(
63 __in_z_opt LPCWSTR wzLocalSource,
64 __in_z_opt LPCWSTR wzDownloadSource,
65 __in DWORD64 qwSize,
66 __in BOOTSTRAPPER_UPDATE_HASH_TYPE hashType,
67 __in_bcount_opt(cbHash) BYTE* rgbHash,
68 __in DWORD cbHash
69 ) = 0;
70
71 STDMETHOD(SetLocalSource)(
72 __in_z LPCWSTR wzPackageOrContainerId,
73 __in_z_opt LPCWSTR wzPayloadId,
74 __in_z LPCWSTR wzPath
75 ) = 0;
76
77 STDMETHOD(SetDownloadSource)(
78 __in_z LPCWSTR wzPackageOrContainerId,
79 __in_z_opt LPCWSTR wzPayloadId,
80 __in_z LPCWSTR wzUrl,
81 __in_z_opt LPCWSTR wzUser,
82 __in_z_opt LPCWSTR wzPassword
83 ) = 0;
84
85 STDMETHOD(SetVariableNumeric)(
86 __in_z LPCWSTR wzVariable,
87 __in LONGLONG llValue
88 ) = 0;
89
90 STDMETHOD(SetVariableString)(
91 __in_z LPCWSTR wzVariable,
92 __in_z_opt LPCWSTR wzValue
93 ) = 0;
94
95 STDMETHOD(SetVariableVersion)(
96 __in_z LPCWSTR wzVariable,
97 __in DWORD64 qwValue
98 ) = 0;
99
100 STDMETHOD(CloseSplashScreen)() = 0;
101
102 STDMETHOD(Detect)(
103 __in_opt HWND hwndParent = NULL
104 ) = 0;
105
106 STDMETHOD(Plan)(
107 __in BOOTSTRAPPER_ACTION action
108 ) = 0;
109
110 STDMETHOD(Elevate)(
111 __in_opt HWND hwndParent
112 ) = 0;
113
114 STDMETHOD(Apply)(
115 __in_opt HWND hwndParent
116 ) = 0;
117
118 STDMETHOD(Quit)(
119 __in DWORD dwExitCode
120 ) = 0;
121
122 STDMETHOD(LaunchApprovedExe)(
123 __in_opt HWND hwndParent,
124 __in_z LPCWSTR wzApprovedExeForElevationId,
125 __in_z_opt LPCWSTR wzArguments,
126 __in DWORD dwWaitForInputIdleTimeout
127 ) = 0;
128};